BitMagic-C++
Data Structures | Namespaces | Functions
bmintervals.h File Reference

Algorithms for bit ranges and intervals. More...

#include "bmdef.h"
Include dependency graph for bmintervals.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  bm::interval_enumerator< BV >
 forward iterator class to traverse bit-vector as ranges More...
 

Namespaces

namespace  bm
 

Functions

template<class BV >
bool bm::is_interval (const BV &bv, typename BV::size_type left, typename BV::size_type right) BMNOEXCEPT
 Returns true if range is all 1s flanked with 0s Function performs the test on a closed range [left, right] true interval is all 1s AND test(left-1)==false AND test(right+1)==false Examples: 01110 [1,3] - true 11110 [0,3] - true 11110 [1,3] - false. More...
 
template<class BV >
bool bm::find_interval_start (const BV &bv, typename BV::size_type from, typename BV::size_type &pos) BMNOEXCEPT
 Reverse find index of first 1 bit gap (01110) starting from position Reverse scan for the first 1 in a block of continious 1s. Method employs closed interval semantics: 0[pos..from]. More...
 
template<typename BV >
bool bm::find_interval_end (const BV &bv, typename BV::size_type from, typename BV::size_type &pos) BMNOEXCEPT
 Reverse find index of first 1 bit gap (01110) starting from position Reverse scan for the first 1 in a block of continious 1s. Method employs closed interval semantics: 0[pos..from]. More...
 

Detailed Description

Algorithms for bit ranges and intervals.

Definition in file bmintervals.h.