<
classRange,
classPosition>
50 bool operator()(
constRange &R1,
constRange &R2)
const{
returnR1.GetToOpen() < R2.GetToOpen(); }
61 template<
classPosition>
78 if(
r.NotEmpty() ) {
156length +=
r.GetLength();
266 boolb_contains = it !=
end() && it->GetFrom() <= pos;
267 returnmake_pair(it, b_contains);
273 boolintersects = it !=
end() &&
r.NotEmpty() && it->GetFrom() <
r.GetToOpen();
274 returnmake_pair(it, intersects);
280 boolcontains = it !=
end() && it->GetFrom() <=
r.GetFrom() && it->GetToOpen() >=
r.GetToOpen();
281 returnmake_pair(it, contains);
290 if( it->GetFrom() >= keep_from ) {
295 if( to_open > keep_from ) {
308 if( it->GetToOpen() <= trim_at ) {
313 if( from < trim_at ) {
339 if( pos_from >
r.GetPositionMin() ) {
341it_begin =
find(pos_from-1);
342 if( it_begin ==
m_Ranges.
end() || it_begin->GetFrom() > pos_to_open ) {
347 if( it_begin->GetFrom() < pos_from ) {
348pos_from = it_begin->GetFrom();
352 while( it_begin !=
m_Ranges.
end() && it_begin->GetFrom() <= pos_to_open ) {
353 if( it_begin->GetToOpen() > pos_to_open ) {
354pos_to_open = it_begin->GetToOpen();
367 if( it !=
m_Ranges.
end() && it->GetFrom() <
r.GetFrom() ) {
372 while( it !=
m_Ranges.
end() && it->GetFrom() <
r.GetToOpen() ) {
375 if( pos_to_open >
r.GetToOpen() ) {
386c_iterator = c.
begin();
387 while(my_iterator !=
end() && c_iterator != c.
end()) {
390intersection_ranges.
insert(intersection);
391 if(my_iterator->GetTo() < c_iterator->GetTo())
396 m_Ranges= std::move(intersection_ranges);
405 if( from_pos <= p && to_pos > p) {
423 const TRange& rr = *add_it;
439 if( it->GetFrom() >= stop_pos ) {
const_reverse_iterator rend() const
void x_Subtract(const TRange &r)
PRangeLessPos2< TRange, position_type > TLess
position_type GetFrom() const
pair< const_iterator, bool > x_Intersects(const TRange &r) const
const_iterator end() const
position_type GetCoveredLength(void) const
Returns total length covered by ranges in this collection, i.e.
TThisType & operator+=(const TRange &r)
pair< const_iterator, bool > x_Find(position_type pos) const
set< TRange, TLess > TRanges
TThisType & IntersectWith(const TRange &r)
CRangeSet(const TRange &r)
TThisType & Subtract(const TRange &r)
iterator find_nc(position_type pos)
pair< const_iterator, bool > x_Contains(const TRange &r) const
TThisType & operator-=(const TRange &r)
void x_IntersectWith(const TRange &r)
bool Contains(const TRange &r) const
TRanges::iterator iterator
position_type GetToOpen() const
void x_TrimStartingWith(position_type trim_at)
TThisType & CombineWithAndKeepAbutting(const TThisType &c)
TRanges::const_reverse_iterator const_reverse_iterator
void x_IntersectWith(const TThisType &c)
TRanges::const_iterator const_iterator
position_type GetTo() const
const_iterator find(position_type pos) const
TThisType & CombineWith(const TRange &r)
TRanges::size_type size_type
bool IntersectingWith(const TRange &r) const
TThisType & IntersectWith(const TThisType &c)
TThisType & Subtract(const TThisType &c)
void x_Divide(const position_type &p)
void x_CombineWithAndKeepAbutting(const TThisType &c)
position_type GetLength(void) const
const_reverse_iterator rbegin() const
void x_TrimBefore(position_type keep_from)
TThisType & operator&=(const TRange &r)
COpenRange< position_type > TOpenRange
const_iterator begin() const
void x_Subtract(const TThisType &c)
void x_CombineWith(const TThisType &c)
CRangeSet< position_type > TThisType
TThisType & CombineWith(const TThisType &c)
TRanges::reverse_iterator reverse_iterator
TThisType & DivideAfter(const position_type &p)
If position is in middle of range, divide into two consecutive ranges after this position.
iterator x_CombineWith(const TRange &r)
CRange< position_type > TRange
iterator_bool insert(const value_type &val)
const_iterator begin() const
parent_type::iterator iterator
const_iterator end() const
const_iterator lower_bound(const key_type &key) const
parent_type::size_type size_type
parent_type::const_iterator const_iterator
Include a standard set of the NCBI C++ Toolkit most basic headers.
static DLIST_TYPE *DLIST_NAME() prev(DLIST_LIST_TYPE *list, DLIST_TYPE *item)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
bool NotEmpty(void) const
TThisType IntersectionWith(const TThisType &r) const
static TThisType GetEmpty(void)
static position_type GetEmptyFrom(void)
static position_type GetEmptyTo(void)
static position_type GetEmptyToOpen(void)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
TFrom GetFrom(void) const
Get the From member data.
The NCBI C++/STL use hints.
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
bool operator()(const Range &R, Position Pos) const
bool operator()(const Range &R1, const Range &R2) const
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4