| 30 | | The term ''concept'' is often used in GGL documentation. It is one of fundamental terms. |
| | 28 | The term ''concept'' is often used in GGL documentation. It is one of the fundamentals of generic programming in C++ where class and function template parameters are used to represent abstract data types, and these types usually must satisfy a set of requirements. |
| | 29 | |
| | 30 | [http://www.boost.org/users/people/dave_abrahams.html David Abrahams] and [http://www.boost.org/users/people/jeremy_siek.html Jeremy Siek] from [http://www.boost.org/ Boost] project explained the idea of ''concept'' very well in [http://www.boost.org/community/generic_programming.html Generic Programming Techniques] article: |
| | 31 | |
| | 32 | ''A concept is a set of requirements consisting of valid expressions, associated types, invariants, and complexity guarantees. A type that satisfies the requirements is said to model the concept.'' |
| | 33 | |
| | 34 | GGL uses [http://www.boost.org/doc/libs/release/libs/concept_check/concept_check.htm Boost Concept Check Library (BCCL)] to define concept checking classes, specify and verify concept requirements. The mechanism of concepts use standard C++ and introduce no run-time overhead as it is compile-time technique. |