Class
SimpleType
Implementation for "simple" types.
SimpleType<TValue, TSpec>
Parameters
TValue
Type that stores the values of an instance.
Metafunctions: Value
Remarks: TValue must be a simple type.
TSpec
Specialization tag.
Metafunctions: Spec
Implements
Specializations
AminoAcidIupac code for amino acids.
DnaAlphabet for DNA.
Dna5Alphabet for DNA including 'N' character.
FiniteA finite alphabet of a fixed size.
IupacIupac code for DNA.
TraceBack Trace back values.
Metafunctions
IsSimpleTests type to be simple.
SpecThe spec of a class.
ValueType of the items in the container.
Functions
assignAssigns one object to another object.
ordValueMaps an alphabet 1-to-1 to the interval [0..ValueSize).
Remarks
A "simple type" is a C++ type that can be constructed without constructor, destructed without destructor and copied without copy constructor or assignment operator. All basic types (like char, int or float) are simple. Pointers, references and arrays of simple types are simple. POD types ("plain old data types"), that are - simplified spoken - C++-types that already existed in C, are simple too.
Arrays of simple types can be copied very fast by memory manipulation routines, but the default implementation of functions like arrayCopyForward and arrayCopy are not optimized for simple types this way. But for classes derived from SimpleType, optimized variants of array manipulation functions are applied.
Note that simple types need not to be derived or specialized from SimpleType, but it could be convenient to do so.
SeqAn - Sequence Analysis Library - www.seqan.de