Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
flopc::MP_domain Class Reference

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]

Public Member Functions

 MP_domain ()
 a set which points to nothing. More...
 
 ~MP_domain ()
 
 MP_domain (MP_domain_base *r)
 For internal use. More...
 
MP_domain such_that (const MP_boolean &b)
 Special conditional creation of a subset. More...
 
void Forall (const Functor *op) const
 Special conditional operation on the domain. More...
 
size_t size () const
 returns number of elements in the domain. More...
 
- Public Member Functions inherited from flopc::Handle< T >
const T & operator-> () const
 
 Handle (const T &r)
 
 Handle (const Handle &h)
 
const Handleoperator= (const Handle &h)
 
 ~Handle ()
 

Static Public Member Functions

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

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. More...
 

Additional Inherited Members

- Protected Member Functions inherited from flopc::Handle< T >
void increment ()
 
void decrement ()
 

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.

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.

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.

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 95 of file MP_domain.hpp.

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

Definition at line 96 of file MP_domain.hpp.

const MP_domain* flopc::MP_domain::Empty
staticprivate

Definition at line 97 of file MP_domain.hpp.


The documentation for this class was generated from the following file: