cgatools::util::FastRangeSet Class Reference

the class is designed to support a relatively small set of ranges and answer the questions:

More...

#include <RangeSet.hpp>

List of all members.

Classes

class  RangeSet

Public Types

typedef std::pair< uint32_t,
uint32_t
Range
typedef std::vector< RangeSetChromosomeRanges

Public Member Functions

 FastRangeSet (const reference::CrrFile &ref)
bool intersects (const reference::Range &inRange) const
 Returns true if there is a range in this set that overlaps the specified range.
bool contains (const reference::Location &loc) const
 Returns true if any range of this set contains the given location.
void add (const reference::Range &r)
void add (const std::string &rangeStr)
 add a string range into the set
void add (const StringVector &rangeStrSet)
void addWholeReference (size_t extendRangeLength=0)
 Fills the range set to cover the whole reference.
const ChromosomeRanges & getRanges () const
void clear ()
bool empty () const
void regressionTest ()

Protected Attributes

const reference::CrrFilereference_
ChromosomeRanges ranges_

Detailed Description

the class is designed to support a relatively small set of ranges and answer the questions:


Member Function Documentation

bool cgatools::util::FastRangeSet::intersects ( const reference::Range inRange  )  const

Returns true if there is a range in this set that overlaps the specified range.

Zero-length overlap is allowed for empty ranges, therefore an empty range overlaps with itself. An empty range overlap includes begin of other range: [b,b) overlaps [a,b) and [b,c) and vise versa.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated by  doxygen 1.6.2