SimpleConcepts: A Lightweight Extension to C++ to Support Constraints on Generic Types.

Saved in:
Bibliographic Details
Title: SimpleConcepts: A Lightweight Extension to C++ to Support Constraints on Generic Types.
Authors: Milewicz, Reed1 rmmilewi@cis.uab.edu, Mernik, Marjan2 marjan.mernik@uni-mb.si, Pirkelbauer, Peter1 pirkelbauer@uab.edu
Source: Computer Science & Information Systems. Oct2014, Vol. 11 Issue 4, p1361-1379. 19p.
Subjects: Generic programming (Computer science), Computer programming, Design templates, Grammar, Committees
Abstract: Generic programming plays an essential role in C++ software through the use of templates. However, both the creation and use of template libraries is hindered by the fact that the language does not allow programmers to specify constraints on generic types. To date, no proposal to update the language to provide concepts has survived the committee process. Until that time comes, as a form of early support, this paper introduces SimpleConcepts, an extension to C++11 that provides support for concepts, sets of constraints on generic types. SimpleConcepts features are parsed according to an island grammar and source-to-source translation is used to lower concepts to pure C++11 code. [ABSTRACT FROM AUTHOR]
Copyright of Computer Science & Information Systems is the property of ComSIS Consortium and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Links:
  – Type: pdflink
Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 99577360
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: SimpleConcepts: A Lightweight Extension to C++ to Support Constraints on Generic Types.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Milewicz%2C+Reed%22">Milewicz, Reed</searchLink><relatesTo>1</relatesTo><i> rmmilewi@cis.uab.edu</i><br /><searchLink fieldCode="AR" term="%22Mernik%2C+Marjan%22">Mernik, Marjan</searchLink><relatesTo>2</relatesTo><i> marjan.mernik@uni-mb.si</i><br /><searchLink fieldCode="AR" term="%22Pirkelbauer%2C+Peter%22">Pirkelbauer, Peter</searchLink><relatesTo>1</relatesTo><i> pirkelbauer@uab.edu</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Computer+Science+%26+Information+Systems%22">Computer Science & Information Systems</searchLink>. Oct2014, Vol. 11 Issue 4, p1361-1379. 19p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Generic+programming+%28Computer+science%29%22">Generic programming (Computer science)</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+programming%22">Computer programming</searchLink><br /><searchLink fieldCode="DE" term="%22Design+templates%22">Design templates</searchLink><br /><searchLink fieldCode="DE" term="%22Grammar%22">Grammar</searchLink><br /><searchLink fieldCode="DE" term="%22Committees%22">Committees</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Generic programming plays an essential role in C++ software through the use of templates. However, both the creation and use of template libraries is hindered by the fact that the language does not allow programmers to specify constraints on generic types. To date, no proposal to update the language to provide concepts has survived the committee process. Until that time comes, as a form of early support, this paper introduces SimpleConcepts, an extension to C++11 that provides support for concepts, sets of constraints on generic types. SimpleConcepts features are parsed according to an island grammar and source-to-source translation is used to lower concepts to pure C++11 code. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Computer Science & Information Systems is the property of ComSIS Consortium and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=99577360
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.2298/CSIS131209053M
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 19
        StartPage: 1361
    Subjects:
      – SubjectFull: Generic programming (Computer science)
        Type: general
      – SubjectFull: Computer programming
        Type: general
      – SubjectFull: Design templates
        Type: general
      – SubjectFull: Grammar
        Type: general
      – SubjectFull: Committees
        Type: general
    Titles:
      – TitleFull: SimpleConcepts: A Lightweight Extension to C++ to Support Constraints on Generic Types.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Milewicz, Reed
      – PersonEntity:
          Name:
            NameFull: Mernik, Marjan
      – PersonEntity:
          Name:
            NameFull: Pirkelbauer, Peter
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 10
              Text: Oct2014
              Type: published
              Y: 2014
          Identifiers:
            – Type: issn-print
              Value: 18200214
          Numbering:
            – Type: volume
              Value: 11
            – Type: issue
              Value: 4
          Titles:
            – TitleFull: Computer Science & Information Systems
              Type: main
ResultId 1