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

AggregateConcept | Aggregate types contain a fixed number of fixed-size values.
Allocator | Object that manages memory allocation.
Container | Object that contains other objects.
ContainerConcept | Concept for mutable containers.
Finder | Object that stores information about the haystack of a search and the current search position.
HostedConcept Type | Concept for types that have a host.
Pattern | Object that stores information about the needle of a search.
SequenceConcept | Concept for sequences.
Simple Type | Object that does not need constructors, destructors or copy assignment operators.
StreamConcept | Concept for I/O streams.

Alphabets

AlphabetConcept | Natural container value.
AlphabetWithGapsConcept | An alphabet that includes a specific gap character.
AlphabetWithQualitiesConcept | An alphabet where qualities can be attached to the characters.
AlphabetWithUnknownValueConcept | An alphabet which includes a specific "unknown" character.
FiniteOrderedAlphabetConcept | An type that is of finite domain and totally ordered and thus has a minimum and maximum value.
OrderedAlphabetConcept | Totally strict ordered alphabet.

Basic

AssignableConcept | A type with an assignment operator.
CopyConstructibleConcept | A type with a copy-constructor.
DefaultConstructibleConcept | A type with a default constructor.
DestructibleConcept | A type with a destructor.
IntegerConcept | An integral type.
SignedIntegerConcept | An integral type with a sign.
UnsignedIntegerConcept | An integral type without a sign.

Comparisons

ComparableConcept | A type that can be compared.
EqualityComparableConcept | A type that can be equality compared.
LessThanComparableConcept | A type that can be less-than compared.

Iterators

BasicOutputIteratorConcept | Iterator that allows dereferenced writing.
BidirectionalIteratorConcept | Iterator that can be both incremented and decremented.
ForwardIteratorConcept | Iterator that allows passing over a linear sequence multiple times.
InputIteratorConcept | Iterator that allows dereferenced reading.
IteratorAssociatedTypesConcept | Requires metafunctions for the associated types used in the iterator concepts.
MutableBidirectionalIteratorConcept | A Bidirectional Iterator that allows dereferenced assignment
MutableForwardIteratorConcept | A Forward Iterator that allows dereferenced assignment.
MutableRandomAccessIteratorConcept | A RandomAccessIteratorConcept that allows assignable derefentiation.
MutableRootedIteratorConcept | A Rooted Iterator that allows dereferenced assignment.
MutableRootedRandomAccessIteratorConcept | A Rooted Iterator that allows dereferenced assignment.
RandomAccessIteratorConcept | An iterator allowing random access.
RootedIteratorConcept | Iterator that knows its container.
RootedRandomAccessIteratorConcept | An iterator that is both rooted and random access, allowing to implement position.

SeqAn - Sequence Analysis Library - www.seqan.de

Page built @2014/10/13 16:12:55