List of Concepts
|1||DefaultConstructible||Concept requiring T to have a default constructor.|
|2||CopyConstructible||Concept requiring T to have a copy constructor.|
|3||Convertible||Concept requiring T1 to be convertible to T2.|
|4||Assignable||Concept requiring T to have operator =.|
|5||LessThanComparable||Concept requiring T to have operator <.|
|6||EqualityComparable||Concept requiring T to have operators == and !=.|
|7||Comparable||Concept requiring T to have operators <, >, <=, >=, ==, !=.|
|8||AdditiveOperators||Concept requiring T to have operators +, -, +=, -=.|
|9||MultiplicativeOperators||Concept requiring T to have operators *, /, *=, /=.|
|10||Signed||Concept requiring T to be signed.|
|11||SameType||Concept requiring T1 and T2 to be the same type.|
|12||SameDimension||Concept requiring D1 and D2 to be the same dimension.|
Proposed concept additions
Additional concepts for requiring integer or noninteger datatypes should be added to the toolkit. NumericTraits defines static boolean constants
- is_iec559 (???)
These traits can be used to define concepts in a manner similar to the Signed concept. We should consider separating the concepts of integer, non-integer, floating point so that we can expand our native datatypes to include a fixed point representation.
The concepts below are poorly named. We should not have a concept called Integer since a user could confuse the name of the concept with a datatype. Unfortunately, none of the current concepts have the word concept in their name. We could follow NumericTraits, and make the new concepts called IsInteger.
|13||Integer||Concept requiring T to be an integer.|
|14||Noninteger||Concept requiring T to be noninteger (floating point or fixed point).|
|15||FloatingPoint||Concept requiring T to be floating point (not integer and not fixed point)|
Integration into Filters
Please follow the link below for a detailed list of filters and their associated concepts.