1 #ifndef _RHEOLEF_INDEX_SET_BODY_ICC
2 #define _RHEOLEF_INDEX_SET_BODY_ICC
38 for (std::set<size_type>::const_iterator iter = x.base::begin(), last = x.base::end(); iter != last; iter++) {
46 for (std::set<size_type>::const_iterator iter = x.base::begin(), last = x.base::end(); iter != last; iter++) {
54 for (std::set<size_type>::const_iterator iter = x.base::begin(), last = x.base::end(); iter != last; iter++) {
77 os << x.base::size() <<
"\t";
78 for (std::set<size_type>::const_iterator iter = x.base::begin(), last = x.base::end(); iter != last; iter++) {
87 c.erase(
c.begin(),
c.end());
94 c.erase(
c.begin(),
c.end());
101 const size_type infty = std::numeric_limits<size_type>::max();
102 iterator iter_a = begin();
103 iterator last_a = end();
104 const_iterator iter_b =
b.begin();
105 const_iterator last_b =
b.end();
106 while (iter_a != last_a || iter_b != last_b) {
107 if (iter_b == last_b)
return;
108 if (iter_a == last_a) {
109 base::insert(iter_b,last_b);
117 }
else if (ia < ib) {
131 const size_type infty = std::numeric_limits<size_type>::max();
132 iterator iter_a = begin();
133 iterator last_a = end();
134 const_iterator iter_b =
b.begin();
135 const_iterator last_b =
b.end();
136 while (iter_a != last_a || iter_b != last_b) {
137 if (iter_a == last_a)
return;
138 if (iter_b == last_b) {
139 base::erase(iter_a, last_a);
147 }
else if (ia < ib) {
150 iterator curr_a = iter_a++;
std::set< std::size_t > base
void inplace_intersection(const index_set &b)
void inplace_union(const index_set &b)
void insert(size_type dis_i)
index_set & operator=(const index_set &x)
index_set & operator+=(size_type dis_i)
This file is part of Rheolef.
std::istream & operator>>(std::istream &is, const catchmark &m)
void set_intersection(const index_set &a, const index_set &b, index_set &c)
std::ostream & operator<<(std::ostream &os, const catchmark &m)
void set_union(const index_set &a, const index_set &b, index_set &c)