Container to hold list of Data_Interval; implements nested interval reduction. More...
#include <data_intervaller.hpp>
Public Member Functions | |
Data_Intervaller (const Data_Intervaller &tin) | |
Data_Interval< IDXTYPE > *const | getFirstBlock (const unsigned int loopdepth=0) |
Data_Interval< IDXTYPE > *const | getNextBlock (const unsigned int loopdepth=0) |
bool | check_validity (const IDXTYPE maxidx) |
checks whether all intervals are non-overlapping, ordered ascending, and all fit to <0,maxidx> (maxidx==0 disables maxidx test) | |
IDXTYPE | sum () |
sums the sizes of all contained intervals | |
IDXTYPE | max_idx () |
returns maximum of all startidx+count values | |
void | reduce (const boost::shared_ptr< Data_Intervaller< CONTAINER, IDXTYPE > > reducer, boost::shared_ptr< Data_Intervaller< CONTAINER, IDXTYPE > > target) |
splits the "mass" contained here in intervals according to the "reducer" and store the reduced result in target | |
Private Types | |
typedef Data_Intervaller < CONTAINER, IDXTYPE > ::iterator | TCI |
Private Attributes | |
std::vector< TCI > | blockiter |
to enable multiple independent get*Block() loops | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Data_Intervaller< CONTAINER, IDXTYPE > &ia) |
Container to hold list of Data_Interval; implements nested interval reduction.
demo10.cpp, demo11.cpp, demo11t.cpp, demo12t.cpp, demo20.cpp, demo21.cpp, demo22.cpp, demo23.cpp, demo24.cpp, demo24t.cpp, demo25t.cpp, demo26.cpp, demo30.cpp, demo31.cpp, demo32t.cpp, demo33.cpp, demo33t.cpp, demo34.cpp, demo35t.cpp, demo40.cpp, demo40t.cpp, demo41.cpp, demo42.cpp, demo43.cpp, demo50.cpp, demo51.cpp, demo52t.cpp, demo53.cpp, demo54.cpp, demo55.cpp, demo56.cpp, demo60.cpp, demo61.cpp, demo62.cpp, and demo63.cpp.