36 if(sCreated.count(
info.hash_code()) != 0){
37 if(sCreated[
info.hash_code()].count(
rids) != 0){
46 sCreated[
info.hash_code()][
rids] = r;
51 CXZ_ASSERT(r !=
nullptr,
"got range ptr to null");
52 auto&
rx = sCreated[
info.hash_code()][r->key()];
96 return this->
index(0);
115 CXZ_ASSERT(a !=
nullptr,
"first operand not initialized");
116 CXZ_ASSERT(
b !=
nullptr,
"second operand not initialized");
124 CXZ_ASSERT(a !=
nullptr,
"first operand not initialized");
127 o.
mRs.insert(o.mRs.end(),
b.mRs.begin(),
b.mRs.end());
133 CXZ_ASSERT(
b !=
nullptr,
"first operand not initialized");
143 o.
mRs.insert(o.
mRs.end(),
b.mRs.begin(),
b.mRs.end());
150 CXZ_ASSERT(o !=
nullptr,
"try to access empty subrange at position " <<
num);
157 CXZ_ASSERT(o.
range() !=
nullptr,
"try to access subrange of single range");
#define CXZ_ASSERT(statement, errmsg)
virtual RangePtr range() const
virtual MArray< RangePtr > sub() const
bool operator!=(const RangeBase &in) const
virtual SizeT size() const =0
bool operator==(const RangeBase &in) const
virtual DIndex index(SizeT pos=0) const =0
RangePtr fromCreated(const TypeInfo &info, const Vector< Uuid > &rids) const
void addToCreated(const TypeInfo &info, const Vector< Uuid > &rids, const RangePtr &r)
static RangePtr getRegistered(const TypeInfo &info, const RangePtr &r)
Sptr< RangeBase > RangePtr
RangePtr getSub(const RangePtr &r, SizeT num)
std::vector< T, Allocator< T > > Vector
Sptr< Range > rangeCast(const RangePtr r)
constexpr decltype(auto) operator*(const COpInterface< Op1 > &op1, const COpInterface< Op2 > &op2)