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
AggregateConceptAggregate types contain a fixed number of fixed-size values.
AllocatorObject that manages memory allocation.
ContainerObject that contains other objects.
ContainerConceptConcept for mutable containers.
FinderObject that stores information about the haystack of a search and the current search position.
HostedConcept TypeConcept for types that have a host.
PatternObject that stores information about the needle of a search.
SequenceConceptConcept for sequences.
Simple TypeObject that does not need constructors, destructors or copy assignment operators.
StreamConceptConcept 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.
Basic
AssignableConceptA type with an assignment operator.
CopyConstructibleConceptA type with a copy-constructor.
DefaultConstructibleConceptA type with a default constructor.
DestructibleConceptA type with a destructor.
IntegerConceptAn integral type.
SignedIntegerConceptAn integral type with a sign.
UnsignedIntegerConceptAn integral type without a sign.
Comparisons
ComparableConceptA type that can be compared.
EqualityComparableConceptA type that can be equality compared.
LessThanComparableConceptA 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 @2013/07/11 09:12:15