35 #ifndef MULTOVL_REGLIMIT_HEADER
36 #define MULTOVL_REGLIMIT_HEADER
50 #include "boost/serialization/shared_ptr.hpp"
74 explicit RegLimit(
const boost::shared_ptr<AncestorRegion>& regp,
76 : _regp(regp), _isfirst(isfirst) {}
98 unsigned int track_id()
const
100 return _regp->track_id();
107 return (
is_first()? _regp->first(): _regp->last());
114 return (
is_first()? _regp->last(): _regp->first());
132 # if !defined(NDEBUG) || (defined(_MSC_VER) && defined(_DEBUG))
133 #define REGLIMIT_RAWPTR
136 #ifdef REGLIMIT_RAWPTR
138 const AncestorRegion* const_raw_region_ptr()
const {
return _regp.get(); }
139 AncestorRegion* raw_region_ptr() {
return _regp.get(); }
145 boost::shared_ptr<AncestorRegion> _regp;
149 friend class boost::serialization::access;
150 template <
class Archive>
151 void serialize(Archive& ar,
const unsigned int version)
161 #endif // MULTOVL_REGLIMIT_HEADER
unsigned int other_pos() const
Definition: reglimit.hh:112
void first(bool isfirst)
Sets the first attribute of the calling object.
Definition: reglimit.hh:93
RegLimit(const boost::shared_ptr< AncestorRegion > ®p, bool isfirst=true)
Definition: reglimit.hh:74
Ancestor regions representing the regions giving rise to overlaps.
bool is_first() const
Definition: reglimit.hh:87
AncestorRegion objects represent the regions that give rise to overlaps. They are essentially Region-...
Definition: ancregion.hh:68
Definition: reglimit.hh:64
RegLimit()
Init to empty.
Definition: reglimit.hh:69
bool operator<(const RegLimit &other) const
Ordering according to position, or first before last if the same position.
unsigned int this_pos() const
Definition: reglimit.hh:105
const AncestorRegion & region() const
Definition: reglimit.hh:81
RegLimit deep_copy() const
Definition: reglimit.hh:126