flopc::MP_domain Class Reference
[Public interface]

Range over which some other constuct is defined. More...

#include <MP_domain.hpp>

Inheritance diagram for flopc::MP_domain:

Inheritance graph
[legend]
Collaboration diagram for flopc::MP_domain:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MP_domain ()
 a set which points to nothing.
 ~MP_domain ()
 MP_domain (MP_domain_base *r)
 For internal use.
MP_domain such_that (const MP_boolean &b)
 Special conditional creation of a subset.
void forall (const Functor *op) const
 Special conditional operation on the domain.
void forall (const Functor &op) const
size_t size () const
 returns number of elements in the domain.

Static Public Member Functions

static const MP_domaingetEmpty ()
 returns a reference to the "empty" set.

Private Attributes

std::vector< MP_booleancondition
Handle< MP_domain_base * > last

Static Private Attributes

static const MP_domainEmpty

Friends

class MP_constraint
class MP_index_exp
MP_domain operator * (const MP_domain &a, const MP_domain &b)
 operator which creates a new domain as the pairwise combinations of two input domains.

Detailed Description

Range over which some other constuct is defined.

This is one of the main public interface classes. One uses this in the context of a constraint, objective, variable, or data. It is usually used in conjunction with an MP_set, or a subset, but can be used without one. It is the range over which the other construct is defined.

Definition at line 61 of file MP_domain.hpp.


Constructor & Destructor Documentation

flopc::MP_domain::MP_domain (  ) 

a set which points to nothing.

Note:
This is not the same as the "empty" set.

flopc::MP_domain::~MP_domain (  ) 

flopc::MP_domain::MP_domain ( MP_domain_base r  ) 

For internal use.

Todo:
make this constructor private?


Member Function Documentation

MP_domain flopc::MP_domain::such_that ( const MP_boolean b  ) 

Special conditional creation of a subset.

This method allows for a test for inclusion of a condition during construction of a subset. The output MP_domain will include references where the condition is satisfied.

Referenced by flopc::MP_set::such_that().

void flopc::MP_domain::forall ( const Functor op  )  const

Special conditional operation on the domain.

This method will call the functor for each member of the MP_domain.

Referenced by flopc::forall(), and flopc::operator<<=().

void flopc::MP_domain::forall ( const Functor op  )  const

size_t flopc::MP_domain::size (  )  const

returns number of elements in the domain.

static const MP_domain& flopc::MP_domain::getEmpty (  )  [static]

returns a reference to the "empty" set.

Referenced by flopc::forall(), and flopc::SUBSETREF::getDomain().


Friends And Related Function Documentation

friend class MP_constraint [friend]

Definition at line 64 of file MP_domain.hpp.

friend class MP_index_exp [friend]

Definition at line 65 of file MP_domain.hpp.

MP_domain operator * ( const MP_domain a,
const MP_domain b 
) [friend]

operator which creates a new domain as the pairwise combinations of two input domains.


Member Data Documentation

std::vector<MP_boolean> flopc::MP_domain::condition [private]

Definition at line 96 of file MP_domain.hpp.

Handle<MP_domain_base*> flopc::MP_domain::last [private]

Definition at line 97 of file MP_domain.hpp.

const MP_domain* flopc::MP_domain::Empty [static, private]

Definition at line 98 of file MP_domain.hpp.


The documentation for this class was generated from the following file:
Generated on Sun Nov 14 14:15:38 2010 for Coin-All by  doxygen 1.4.7