Metafunctions
Metafunctions - also known as "traits" or "trait classes" - return types, constants or functions for a set of given types or constants. They can be seen as part of a (meta-)program that is evaluated at compile time to produce a C++ program.
Read here an introduction to metafunctions and how to use them.
Aggregates

MakePacked | Return the corresponding packed type of a type.

Alignments

Col | Type of a column in an alignment.
Cols | Type of column container of an alignment.
GappedValueType | Returns a value type that contains a blank value '-'.
Row | Type of a row in an alignment.
Rows | Type of row container of an alignment.
SequenceEntryForScore (Score) | Returns representation type for a character of a position in a sequence.
Source | Return underlying sequence of Gaps/Alignments.
Source | Return underlying sequence of Gaps/Alignments.
StringSetType | Return type of stringSet function.

Alphabets

Convert | Return type of a conversion.
HasQualities | Return whether the given type stores qualities besides the alphabet.
IsCharType | Return whether the argument is char, wchar_t, char const, or wchar_t const.
QualityValueSize | Return the number of quality values in characters from alphabet with qualities.
SourceValue | Returns underlying value for ProfileChar.

Basic

BitsPerValue | Number of bits needed to store a value.
BytesPerValue | Number of bytes needed to store a value.
Cargo | Type of additional data stored in an object.
Comparator | Type of comparator object
CompareType | Type to convert other types for comparisons.
CompareTypeImpl | Implementation of CompareType.
Find | A metafunction to retrieve the index of a tag in the TagList.
Find | A metafunction to retrieve the index of a tag in the TagList.
Host | Type of the object a given object depends on.
IntegralForValue | Returns an itegral type that provides sufficient space to store a value.
IsInteger | Tests for a type to be of integral aue.
IsIntegral | Tests for a type to be of integral aue.
IsSignedInteger | Tests for a type to be of signed integral aue.
IsSimple | Tests type to be simple.
IsUnsignedInteger | Tests for a type to be of unsigned integral aue.
IterComplementConst | Complement the "constness" of the container of an iterator.
IterMakeConst | Make the container of an Iter const.
LENGTH | Number of elements in a fixed-size container.
MakeSigned | Converts an integral value into a signed integral value.
MakeUnsigned | Converts an integral value into an unsigned integral value.
Pointer | Returns pointer to an object, required for operator->, for example.
RemoveConst | Converts a (const) type into the corresponding non-const type.
RemoveReference | Converts a (reference) type into the same type without reference.
TagListValue | A metafunction to retrieve a tag from a TagList.
TagListValue | A metafunction to retrieve a tag from a TagList.
ValueSize | Number of different values a value type object can have.

Concepts

Is | Returns whether a concept is fulfilled.

Content Manipulation

HasMoveConstructor | Query whether a class has a move constructor.

Fundamental

DeepestSpec | The deepest spec of a class with nested template arguments.
Difference | Type of an object that stores the difference between two iterators.
GetValue | Type for reading values.
Position | Type of an object that represents a position in a container.
Reference | Reference type.
Size | Type of an object that is suitable to hold size information.
Spec | The spec of a class.
Value | Type of the items in the container or behind an iterator.

Graph

Alphabet | Access to the Alphabet type.
Cargo | Type of additional data stored in an object.
EdgeDescriptor | Type of an object that represents an edge descriptor.
EdgeIdHandler | Type of an object that represents an Id Manager.
EdgeType | Edge type of a graph object.
Id | Type of an object that represents an id.
Key | Key type of a key to cargo mapping.
VertexDescriptor | Type of an object that represents a vertex descriptor.
VertexIdHandler | Type of an object that represents an Id Manager.

Index

DefaultIndexCreator | Default algorithm to create a demanded and not yet existing Fibre.
DefaultIndexSpec | Default Index specialization type.
DefaultIndexStringSpec | Default String specialization type of the Fibre of an Index.
Fibre | Type of a specific container member (fibre).
GetVSTreeIteratorTraits | Default behaviour of goNext when no second parameter is given.
SAValue | The default alphabet type of a suffix array, i.e. the type to store a position of a string or string set.
WEIGHT | Number of relevant positions in a shape.

Input/Output

HasStreamFeature | Query features of a stream type.
Position (RecordReader) | Returns the position type to use in position and setPosition.

Iteration

Container | Type of the container given an iterator.
Iterator | Type of iterator objects that are used to traverse the container.

Map

MapValue | Type of the map value type.

Metafunctions

IsLightWeight | Determines whether an object can efficiently be passed by copy.

Metaprogramming

And | Metaprogramming "and" operator.
AndC | Metaprogramming boolean "and" operatand, value variant.
Eval | Convert from bool values to types (True and False).
If | Metaprogramming "if".
IfC | Metaprogramming "if", value based version.
IsSameType | Metaprogramming type comparison.
Log2 | Compute ceiled logarithm to base 2 using metaprogramming.
Log2Floor | Compute floored logarithm to base 2 using metaprogramming.
Loop | Metafunction returning a function that iterates over a static integer range.
LoopReverse | Metafunction returning a function that iterates over a static integer range in reverse order.
Not | Metaprogramming boolean "not" operator.
NotC | Metaprogramming boolean "not" operator, value variant.
Or | Metaprogramming boolean "or" operator.
OrC | Metaprogramming boolean "or" operator, value variant.
Power | Compute power of a number.
Switch | Metaprogramming switch expression.

Miscellaneous

ListType | Type of lists in tree nodes.
MaxValue | Supremum for a given type.
MinValue | Infimum for a given type.
Result | Return the result of a computation.

Motif Search

Motif | The string type of the finder.

Random

GetDefaultRng | Return the default Random Number Generator to use in a given class, spezialiation or algorithm.

Searching

DefaultFindBeginPatternSpec | Type of the default findBegin pattern specialization, given a score.
DefaultFinder | Default Finder specialization type.
DefaultPattern | Default Pattern specialization type.
Haystack | Returns the haystack type of a Finder type.
Needle | Returns the needle type of a Pattern type.
PexMultiFinder | Determines the multiple exact string matching algorithm used by the Pex algorithm.
ScoringScheme | Returns the scoring scheme of an approximate searching algorithm.

Seed Handling

Diagonal (Seed) | Returns type of the value for the diagonal of a seed.
Iterator (Chained Seed) | The seed diagonal iterator type.
Position (Seed) | The position type of a Seed.
Position (SeedDiagonal) | The position type of a SeedDiagonal.
Reference (Chained Seed) | The seed diagonal reference type.
SeedScore (Seed) | Returns type of the value for the score of a seed.
Size (Seed) | The size type of a Seed.
Size (SeedDiagonal) | The position type of a SeedDiagonal.
Value (Chained Seed) | The seed diagonal type.

Segments

Infix | Infix sequence type.
Prefix | Prefix sequence type.
Suffix | Suffix sequence type.

Sequences

AllowsFastRandomAccess | Determines whether a sequence efficiently supports random access.
Concatenator | Returns the type of the concatenation sequence of all sequences in a StringSet.
InsertionBuffer | Return type of insertion buffer string for a journaled string.
IsContiguous | Determines whether a container stores its elements in a contiguous array.
IsSequence | Determines whether a container stores its elements in sequential order.
JournalType | Metafunction for returning the type of the journal of a Journaled String.
StdContainerIterator | Returns type of the STL container iterator.

SeqAn - Sequence Analysis Library - www.seqan.de

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