Concepts
Concepts are a sort of 'interfaces' in generic programming. They are not formulated as C++ constructs, but they are part of the documentation. A concept is defined by a set of functions and metafunctions, and a class implements a concept if it implements the functions and metafunctions of this concept.
Note: The list of concepts is not complete yet. Completing it is ongoing work.
Concepts
AggregateAggregate types contain a fixed number of fixed-size values.
AllocatorObject that manages memory allocation.
ContainerConcept for mutable containers. Object that contains other objects.
FinderObject that stores information about the haystack of a search and the current search position.
Hosted TypeConcept for types that have a host.
IteratorAssociated 
PatternObject that stores information about the needle of a search.
SequenceConcept for sequences.
Simple TypeObject that does not need constructors, destructors or copy assignment operators.
StreamConcept for I/O streams.
Alphabets
AlphabetConceptNatural container value.
AlphabetWithGapsConceptAn alphabet that includes a specific gap character.
AlphabetWithQualitiesConceptAn alphabet where qualities can be attached to the characters.
AlphabetWithUnknownValueConceptAn alphabet which includes a specific "unknown" character.
FiniteOrderedAlphabetConceptAn type that is of finite domain and totally ordered and thus has a minimum and maximum value.
OrderedAlphabetConceptTotally strict ordered alphabet. Ordered alphabet value.
Basic
AssignableA type with an assignment operator.
CopyConstructibleA type with a copy-constructor.
DefaultConstructibleA type with a default constructor.
DestructibleA type with a destructor.
IntegerConceptAn integral type.
SignedIntegerConceptAn integral type with a sign.
UnsignedIntegerConceptAn integral type without a sign.
Comparisons
ComparableA type that can be compared.
EqualityComparableA type that can be equality compared.
LessThanComparableA type that can be less-than compared.
Iterators
BasicOutputIteratorConceptIterator that allows dereferenced writing.
BidirectionalIteratorConceptIterator that can be both incremented and decremented.
ForwardIteratorConceptIterator that allows passing over a linear sequence multiple times.
InputIteratorConceptIterator that allows dereferenced reading.
IteratorAssociatedTypesConceptRequires metafunctions for the associated types used in the iterator concepts.
MutableBidirectionalIteratorConceptA Bidirectional Iterator that allows dereferenced assignment
MutableForwardIteratorConceptA Forward Iterator that allows dereferenced assignment.
MutableRandomAccessIteratorConceptA RandomAccessIteratorConcept that allows assignable derefentiation.
MutableRootedIteratorConceptA Rooted Iterator that allows dereferenced assignment.
MutableRootedRandomAccessIteratorConceptA Rooted Iterator that allows dereferenced assignment.
RandomAccessIteratorConceptAn iterator allowing random access.
RootedIteratorConceptIterator that knows its container.
RootedRandomAccessIteratorConceptAn iterator that is both rooted and random access, allowing to implement position.
SeqAn - Sequence Analysis Library - www.seqan.de
 

Page built @2012/10/02 11:10:27