Re: [Seqan-dev] The definition of classes in SeqAn2.


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