19 return MP_domain(const_cast<MP_domain_set*>(
this));
25 : F(f), Condition(condition) {}
29 for (
size_t i = 0; i<Condition.size(); i++) {
30 if (Condition[i]->
evaluate()==
false) {
44 using namespace flopc;
70 ss<<
"domain_base::display() size="<<
size()<<std::ends;
79 if (b.operator ->() != 0) {
106 return I->evaluate();
110 if (I->isInstantiated() ==
true) {
114 for (
int k=0; k<S->size(); k++) {
static MP_set & getEmpty()
gets the distinct 'empty' MP_set.
MP_domain such_that(const MP_boolean &b)
Special conditional creation of a subset.
Handle< MP_domain_base * > last
MP_domain getDomain(MP_set *s) const
std::vector< MP_boolean > Condition
static const MP_domain * Empty
Functor_conditional(const Functor *f, const std::vector< MP_boolean > &condition)
static MP_model * getCurrentModel()
MP_domain_set(const MP_set *s, MP_index *i)
Constructor taking a set pointer and an index pointer.
Messenger * getMessenger()
Representation of an index.This is one of the main public interface classes. It is used to iterate th...
Utility for doing reference counted pointers.
Reference to a set of index values.
void forall(const Functor *op) const
Special conditional operation on the domain.
std::vector< MP_boolean > condition
All flopc++ code is contained within the flopc namespace.
const T & operator->() const
size_t size() const
returns number of elements in the domain.
Reference counted class for all "boolean" types of data.This contains counters to ConstantBase pointe...
const MP_set_base * getSet() const
Getter for the set used in construction.
Range over which some other constuct is defined.This is one of the main public interface classes...
virtual Functor * makeInsertFunctor() const
MP_index * getIndex() const
Getter for the index used in construction.
static const MP_domain & getEmpty()
returns a reference to the "empty" set.
Function object. Often used.
Representation of a set for indexing into some other construct.This is one of the main public interfa...
virtual ~Functor_conditional()
Constant operator*(const Constant &a, const Constant &b)
Returns the product of two constants.This is used in the formation of an expression.
Internal representation of a "set".
virtual size_t size() const
virtual void logMessage(int level, const char *const msg)
virtual ~MP_domain_base()