80 os <<
"(" << lim.
i_ <<
", " << ((lim.
type_ == Lower) ?
"+" : ((lim.
type_ == Cut) ?
"|" :
"-")) <<
")";
94 bool empty()
const {
return limits_.size() == 0; }
102 const std::vector<Range> &
ranges(
bool splitOncountDiff =
false)
const;
110 using It = std::list<Limit>::iterator;
115 bool moveToFirstAfter(
const Limit & val, It & it,
int & depth,
int depthCut = 0)
const;
121 void insert(
const Limit & val, It & it,
int & depth);
124 bool recompute(
bool change);
126 bool isValid()
const;
137 std::list<Limit> limits_;
138 mutable bool recompute_ =
false;
139 mutable bool recomputeSplit_ =
false;
140 mutable std::vector<Range> intervals_;
#define TVM_DLLAPI
Definition: api.h:35
Definition: RangeCounting.h:55
bool remove(const Range &r)
bool empty() const
Definition: RangeCounting.h:94
const std::list< Limit > & limits() const
const std::vector< Range > & ranges(bool splitOncountDiff=false) const
Definition: CallbackManager.h:12
Definition: RangeCounting.h:59
bool operator>(const Limit &other) const
Definition: RangeCounting.h:75
bool operator<=(const Limit &other) const
Definition: RangeCounting.h:74
Type
Definition: RangeCounting.h:61
friend std::ostream & operator<<(std::ostream &os, const Limit &lim)
Definition: RangeCounting.h:78
bool operator>=(const Limit &other) const
Definition: RangeCounting.h:76
Limit(int i, Type type)
Definition: RangeCounting.h:67
bool operator<(const Limit &other) const
Definition: RangeCounting.h:73
bool operator==(const Limit &other) const
Definition: RangeCounting.h:72
int i_
Definition: RangeCounting.h:69
Type type_
Definition: RangeCounting.h:70