Concept SignedIntegerConceptAn integral type with a sign.
An integral type with a sign.
Extends | IntegerConcept |
---|---|
All Extended | AssignableConcept, ComparableConcept, CopyConstructibleConcept, DefaultConstructibleConcept, DestructibleConcept, EqualityComparableConcept, IntegerConcept, LessThanComparableConcept |
Defined in | <seqan/basic.h> |
Signature |
SignedIntegerConcept<T>
|
Detailed Description
Expects an instance of type T to represent (possibly negative) integral values and to provide the same operations as int. Every type T that fulfills the IntegerConcept fulfills either the SignedIntegerConcept or the UnsignedIntegerConcept.
Examples
SEQAN_CONCEPT_ASSERT((SignedIntegerConcept<int>));
//SEQAN_CONCEPT_ASSERT((SignedIntegerConcept<unsigned short>)); // fails to compile
std::cout << Is<SignedIntegerConcept<char> >::VALUE << std::endl; // 0
std::cout << Is<SignedIntegerConcept<int> >::VALUE << std::endl; // 0
std::cout << Is<SignedIntegerConcept<unsigned short> >::VALUE << std::endl; // 1
std::cout << Is<SignedIntegerConcept<double> >::VALUE << std::endl; // 0
Valid Expressions
T a;
int b;
a = -1;
b = a;
a = a - a;
a = a + 1;
a = a - 1;
a = a / 2;
static_cast<T>(-1) < static_cast<T>(0);