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
Siek, J. G., & Lumsdaine, A. (2000). Concept Checking: Binding Parametric Polymorphism in C++.
Siek, Jeremy G., and Andrew Lumsdaine. “Concept Checking: Binding Parametric Polymorphism in C++.” 2000.
Siek, Jeremy G., and Andrew Lumsdaine. 2000. “Concept Checking: Binding Parametric Polymorphism in C++.”
Siek, J.G. and Lumsdaine, A. (2000) ‘Concept Checking: Binding Parametric Polymorphism in C++’.
@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.
Related papers
A Formalization of Concepts for Generic Programming
Jeremiah James Willcock, Jaakko Järvi, Andrew Lumsdaine et al. · 2004
Cited by 14
Concepts: linguistic support for generic programming in C++
Douglas Gregor, Jaakko Järvi, Jeremy G. Siek et al. · ACM SIGPLAN Notices · 2006
Cited by 28
Constrained Templates in C
Braden L Obrzut · 2015
Cited by 0
Generic Programming with Concepts
Marcin Zalewski · Chalmers Publication Library (Chalmers University of Technology) · 2008
Cited by 9
Essential language support for generic programming
Jeremy G. Siek, Andrew Lumsdaine · ACM SIGPLAN Notices · 2005
Cited by 50
SimpleConcepts: A lightweight extension to C++ to support constraints on generic types
Reed M. Milewicz, Marjan Mernik, Peter Pirkelbauer · Computer Science and Information Systems · 2014
Cited by 0Open access
Towards a General Template Introspection Library
István Zólyomi, Zoltán Porkoláb · Lecture notes in computer science · 2004
Cited by 22