Skip to content
Free planNo credit card requiredStart writing

article · 2000

Concept Checking: Binding Parametric Polymorphism in C++

Jeremy G. Siek, Andrew Lumsdaine

Cited by 90Abstract and details only

Abstract

. Generic programming in C++ is characterized by the use of template parameters to represent abstract data types (or "concepts"). However, the C++ language itself does not provide a mechanism for explicitly handling concepts. As a result, it can be difficult to insure that a concrete type meets the requirements of the concept it is supposed to represent. Error messages resulting from incorrect use of a concrete type can be particularly difficult to decipher. In this paper we present techniques to check parameters in generic C++ libraries. Our techniques use standard C++ and introduce no run-time overhead. 1 Introduction A concept is a set of requirements (valid expressions, associated types, semantic invariants, complexity guarantees, etc.) that a type must fulfill to be correctly used within the context of a generic algorithm. In C++, concepts are represented by formal template parameters to function templates (generic algorithms). However, C++ has no explicit mechanism for ...

Cite this paper

APA 7

Siek, J. G., & Lumsdaine, A. (2000). Concept Checking: Binding Parametric Polymorphism in C++.

MLA 9

Siek, Jeremy G., and Andrew Lumsdaine. “Concept Checking: Binding Parametric Polymorphism in C++.” 2000.

Chicago

Siek, Jeremy G., and Andrew Lumsdaine. 2000. “Concept Checking: Binding Parametric Polymorphism in C++.”

Harvard

Siek, J.G. and Lumsdaine, A. (2000) ‘Concept Checking: Binding Parametric Polymorphism in C++’.

BibTeX
@article{siek2000concept,
  title = {{Concept Checking: Binding Parametric Polymorphism in C++}},
  author = {Siek, Jeremy G. and Lumsdaine, Andrew},
  year = {2000}
}

Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.