halapi
hierarchichalalignmentformatapi
 All Classes Namespaces Functions Pages
halDefs.h
1 /*
2  * Copyright (C) 2012 by Glenn Hickey (hickey@soe.ucsc.edu)
3  *
4  * Released under the MIT license, see LICENSE.txt
5  */
6 
7 #ifndef _HALDEFS_H
8 #define _HALDEFS_H
9 
10 #include <stdint.h>
11 #include <stdexcept>
12 #include <cstdlib>
13 #include <cmath>
14 #include <algorithm>
15 #include <limits>
16 #include "halCountedPtr.h"
17 
25 #define HAL_VERSION 2.1
26 
31 typedef int64_t hal_index_t;
32 
36 typedef uint64_t hal_offset_t;
37 
41 typedef uint64_t hal_size_t;
42 
43 /*
44  * General usage exception class, used for all critical errors.
45  */
46 typedef std::runtime_error hal_exception;
47 
48 namespace hal {
49 
50 extern const hal_index_t NULL_INDEX;
51 
52 // FORWARD DECLARATIONS
53 #define HAL_FORWARD_DEC_CLASS(T) \
54  class T;\
55  typedef counted_ptr<T> T ## Ptr;\
56  typedef counted_ptr<const T> T ## ConstPtr;
57 
58 HAL_FORWARD_DEC_CLASS(Alignment)
59 HAL_FORWARD_DEC_CLASS(CLParser)
60 HAL_FORWARD_DEC_CLASS(Genome)
61 HAL_FORWARD_DEC_CLASS(MetaData)
62 HAL_FORWARD_DEC_CLASS(TopSegment)
63 HAL_FORWARD_DEC_CLASS(BottomSegment)
64 HAL_FORWARD_DEC_CLASS(Segment)
65 HAL_FORWARD_DEC_CLASS(Sequence)
66 HAL_FORWARD_DEC_CLASS(SlicedSegment)
67 HAL_FORWARD_DEC_CLASS(MappedSegment)
68 HAL_FORWARD_DEC_CLASS(SegmentIterator)
69 HAL_FORWARD_DEC_CLASS(GappedSegmentIterator)
70 HAL_FORWARD_DEC_CLASS(TopSegmentIterator)
71 HAL_FORWARD_DEC_CLASS(GappedTopSegmentIterator)
72 HAL_FORWARD_DEC_CLASS(BottomSegmentIterator)
73 HAL_FORWARD_DEC_CLASS(GappedBottomSegmentIterator)
74 HAL_FORWARD_DEC_CLASS(DNAIterator)
75 HAL_FORWARD_DEC_CLASS(SequenceIterator)
76 HAL_FORWARD_DEC_CLASS(ColumnIterator)
77 HAL_FORWARD_DEC_CLASS(Rearrangement)
78 
79 
80 }
81 #endif