Macro
SEQAN_CONCEPT_REFINE
Defines a new concept as a refinement of existing concepts.
Include Headers
seqan/basic.h
Parameters
Concept identifier. Non-trivial concepts should have an identifier with a "Concept"-suffix. | |
Template paramter list in parantheses, e.g. (T) or (T1)(T2).
Typically, template parameters are models, i.e. one or multiple classes that should be checked for fulfilling a concept. Remarks: This is a sequence of the Boost Preprocessor Library, read more. | |
Identifiers of concepts that are refined by the new concept. Remarks: Refined concepts are implicitly integrated into the requirements of the new concept. This is a sequence of the Boost Preprocessor Library, read more. |
Remarks
A concept is implemented as a template struct with name name and arguments params .
The struct inherits all refined concept structs.
The concept checking should be part of the struct definition.
For more information, see SEQAN_CONCEPT.
Examples
{
TValue val, val2;
SEQAN_CONCEPT_USAGE(AlphabetConcept)
{
assign(val, val2);
}
};
See Also
SeqAn - Sequence Analysis Library - www.seqan.de