| Macro SEQAN_CONCEPT_REFINE Defines a new concept as a refinement of existing concepts. SEQAN_CONCEPT_REFINE(name, params, refinedConcepts) Include Headers seqan/basic.h Parameters
name | Concept identifier. Non-trivial concepts should have an identifier with a "Concept"-suffix.
params | 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.
refinedConcepts | 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 SEQAN_CONCEPT_REFINE(AlphabetConcept, (TValue), (Assignable)(DefaultConstructible)(CopyConstructible)) { TValue val, val2; SEQAN_CONCEPT_USAGE(AlphabetConcept) { assign(val, val2); } }; See Also SEQAN_CONCEPT_USAGE SeqAn - Sequence Analysis Library - www.seqan.de

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