Am Samstag, 23. November 2019, 23:08:48 CET schrieb Jin Li: > Hi all, > > I am trying to adapt SeqAn2 in my program. I have a problem to find > out class definitions in SeqAn2. For example, in the following > tutorial, > https://seqan.readthedocs.io/en/master/Tutorial/InputOutput/SamAndBamIO.html > #accessing-the-header > > `TBamContext` is used to define a variable for header information, and > I want to extract the reference names (such as chr1, chr2, xxx) from > it, and save them as std::string in native C++. However, the class's > definition is not clear, and the interfaces for the conversion are not > directly available either. Can you help point out documentation about > these class type definitions in SeqAn2? Thank you. TBamContext is defined just in the line above where it is used. In general all class names that are in the form TFooBar are either template parameters or are local aliases (typedefs) for longer typenames that are tedious to write everytime. In the example mentioned by you, TBamContext is defined as FormattedFileContext<BamFileIn, void>::Type which is a "metafunction" that returns the context-type from BamFileIn which is typically BamIOContext. Best regards, -- Hannes Hauswedell Scientific staff & PhD candidate Freie Universität Berlin / Max Planck Institute for Molecular Genetics address Institut für Informatik Takustraße 9 Room 019 14195 Berlin telephone +49 (0)30 838-75241 fax +49 (0)30 838-75218 e-mail hannes.hauswedell@fu-berlin.de