70template <
class Key,
class T ,
class Touches,
class Contains,
class Split >
156 Left =
new Node( left_domain,
this );
186 Left =
new Node( left_domain,
this );
225 class const_iterator;
247 return (
p==rhs.
p)&&((
p==0)||(
v==rhs.
v));
251 return !(*
this == rhs);
275 if ( (++
v) ==
p->cont.end() ) {
288 while (y && (
p==y->
Right)) {
295 }
while (
p && ((
v=
p->cont.begin())==
p->cont.end()));
299 typename Node::cont_type::iterator
v;
320 return (
p==rhs.
p)&&((
p==0)||(
v==rhs.
v));
324 return !(*
this == rhs);
348 if ( (++
v) ==
p->cont.end() ) {
362 while (y && (
p==y->
Right)) {
369 }
while (
p && ((
v=
p->cont.begin())==
p->cont.end()));
373 typename Node::cont_type::iterator
v;
394 return (
p==rhs.
p)&&((
p==0)||(
v==rhs.
v));
398 return !(*
this == rhs);
435 while ( (++
v) !=
p->cont.end() )
460 for (
v =
p->cont.begin() ;
v !=
p->cont.end() ; ++
v )
469 typename Node::cont_type::iterator
v;
503 void insert(
const value_type& d,
bool noSplit=
false);
506 std::pair<touch_iterator,touch_iterator>
touch_range(
const Key& t)
const;
513 friend class iterator;
514 friend class const_iterator;
515 friend class touch_iterator;
DomainMap< Key, T, Touches, Contains, Split > DomainMap_t
void operator=(const DomainMap< Key, T, Touches, Contains, Split > &)
const_iterator end() const
DomainMap(const DomainMap< Key, T, Touches, Contains, Split > &)
const_iterator begin() const
friend class const_iterator
void insert(const value_type &d, bool noSplit=false)
std::pair< touch_iterator, touch_iterator > touch_range(const Key &t) const
void insert_noupdate(const value_type &d)
value_type(const Key &k, const T &t)
std::list< value_type > cont_type
void insert(const value_type &d, bool noSplit=false)
Node(const Key &d, Node *p=0)
bool operator==(const iterator &rhs) const
iterator(Node *pp, typename Node::cont_type::iterator vv)
friend class const_iterator
Node::cont_type::iterator v
bool operator!=(const iterator &rhs) const
const_iterator & operator++()
bool operator==(const const_iterator &rhs) const
const_iterator(const iterator &iter)
const_iterator(Node *pp, typename Node::cont_type::iterator vv)
bool operator!=(const const_iterator &rhs) const
value_type operator*() const
Node::cont_type::iterator v
value_type * operator->()
Node::cont_type::iterator v
bool operator!=(const touch_iterator &rhs) const
touch_iterator & operator++()
bool operator==(const touch_iterator &rhs) const
std::forward_iterator_tag iterator_category
DomainMap_t::value_type & reference
ptrdiff_t difference_type
DomainMap_t::value_type value_type
DomainMap_t::value_type * pointer
static bool test(const NDIndex< Dim > &a, const NDIndex< Dim > &b)
static bool test(const NDIndex< Dim > &a, const NDIndex< Dim > &b)
static bool test(NDIndex< Dim > &l, NDIndex< Dim > &r, const NDIndex< Dim > &a)