Macro
SEQAN_CONCEPT_ASSERT
Perform a concept check.
Include Headers
seqan/basic.h
Parameters
Concept specialized with a the type that should be checked. |
Remarks
This macro is a compile-time assertion and requires the concept specialized with the tested types to compile.
The check neither consumes memory nor running time.
The macro can be used at the beginning of a function or within a struct/class definition.
The checked concepts should be as restrictive and generic as possible to on the one hand
cover all used functionality and on the other hand not limit the applicability of a function/class.
Examples
typedef typename Position<TContainer>::Type TPosition;
typedef typename Difference<TContainer>::Type TDifference;
SEQAN_CONCEPT_ASSERT((AlphabetConcept<TValue>));
SEQAN_CONCEPT_ASSERT((SignedIntegerConcept<TDifference>));
SEQAN_CONCEPT_ASSERT((UnsignedIntegerConcept<TSize>));
See Also
SeqAn - Sequence Analysis Library - www.seqan.de