source: branches/help/CONVERTALN/fun.h

Last change on this file was 16763, checked in by westram, 7 years ago
File size: 1.3 KB
Line 
1#ifndef FUN_H
2#define FUN_H
3
4#ifndef ARBTOOLS_H
5#include <arbtools.h>
6#endif
7
8// forward decls for prototypes
9
10enum Format {
11    // input/output formats
12    EMBL,
13    GENBANK,
14    MACKE,
15    SWISSPROT,
16    LAST_INPUT_FORMAT = SWISSPROT,
17
18    // output-only formats
19    GCG,
20    NEXUS,
21    PHYLIP,
22    FASTDNAML,
23    PRINTABLE,
24
25    UNKNOWN,
26};
27
28CONSTEXPR_INLINE bool is_input_format(Format inType) { return inType <= LAST_INPUT_FORMAT; }
29
30class Reader;
31class Writer;
32
33struct Embl;
34struct Emblref;
35struct EmblSwissprotReader;
36struct GenBank;
37struct GenbankRef;
38struct GenbankReader;
39struct Macke;
40struct MackeReader;
41struct Paup;
42struct Seq;
43struct Alignment;
44
45struct RDP_comments;
46struct OrgInfo;
47struct SeqInfo;
48
49typedef void (*RDP_comment_parser)(char*& datastring, int start_index, Reader& reader);
50
51class FormattedFile : virtual Noncopyable {
52    char   *name_;
53    Format  type_;
54public:
55    FormattedFile() : name_(NULp), type_(UNKNOWN) {}
56    FormattedFile(const char *Name, Format Type);
57    ~FormattedFile();
58
59    void init(const char *Name, Format Type);
60
61    const char *name() const { return name_; }
62    Format type() const { return type_; }
63};
64
65#ifndef BUFFEREDFILEREADER_H
66#include <BufferedFileReader.h>
67#endif
68#ifndef PROTOTYPES_H
69#include "prototypes.h"
70#endif
71
72#else
73#error fun.h included twice
74#endif // FUN_H
75
Note: See TracBrowser for help on using the repository browser.