flopc::MP_index Class Reference
[Public interface]

Representation of an index. More...

#include <MP_index.hpp>

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

List of all members.

Public Member Functions

 MP_index ()
 Default constructor.
int evaluate () const

Static Public Member Functions

static MP_indexgetEmpty ()
 returns a reference to the distinct "empty" index.
static MP_indexAny ()
 returns a reference to the distinct "wildcard" index.

Private Member Functions

bool isInstantiated () const
 interrogate state of instatiation of data.
void assign (int i)
 Setter for the index.
void unInstantiate ()
 unsetter for instatiated.
void instantiate ()
 setter for instatiated.
MP_indexgetIndex () const
 getter for MP_index * data type.
virtual MP_domain getDomain (MP_set *s) const
 Getter for domain over which this index is applied.

Private Attributes

int index
bool instantiated

Static Private Attributes

static MP_indexEmpty
static MP_indexAny_index

Friends

class MP_domain_set
class MP_domain_subset

Detailed Description

Representation of an index.

This is one of the main public interface classes. It is used to iterate through, or index into an MP_domain. It is also used to share the 'current' index offsets between expressions which share an index.

Definition at line 53 of file MP_index.hpp.


Constructor & Destructor Documentation

flopc::MP_index::MP_index (  )  [inline]

Default constructor.

Definition at line 58 of file MP_index.hpp.


Member Function Documentation

int flopc::MP_index::evaluate (  )  const [inline, virtual]

Implements flopc::MP_index_base.

Definition at line 59 of file MP_index.hpp.

static MP_index& flopc::MP_index::getEmpty (  )  [static]

returns a reference to the distinct "empty" index.

Reimplemented in flopc::MP_set.

static MP_index& flopc::MP_index::Any (  )  [static]

returns a reference to the distinct "wildcard" index.

bool flopc::MP_index::isInstantiated (  )  const [inline, private]

interrogate state of instatiation of data.

Definition at line 69 of file MP_index.hpp.

void flopc::MP_index::assign ( int  i  )  [inline, private]

Setter for the index.

Todo:
should this assert "instatiated"?

Definition at line 75 of file MP_index.hpp.

void flopc::MP_index::unInstantiate (  )  [inline, private]

unsetter for instatiated.

Definition at line 80 of file MP_index.hpp.

void flopc::MP_index::instantiate (  )  [inline, private]

setter for instatiated.

Definition at line 85 of file MP_index.hpp.

MP_index* flopc::MP_index::getIndex (  )  const [inline, private, virtual]

getter for MP_index * data type.

Todo:
should this be virtual?

Implements flopc::MP_index_base.

Definition at line 91 of file MP_index.hpp.

virtual MP_domain flopc::MP_index::getDomain ( MP_set s  )  const [private, virtual]

Getter for domain over which this index is applied.

Implements flopc::MP_index_base.


Friends And Related Function Documentation

friend class MP_domain_set [friend]

Definition at line 54 of file MP_index.hpp.

friend class MP_domain_subset [friend]

Definition at line 55 of file MP_index.hpp.


Member Data Documentation

MP_index& flopc::MP_index::Empty [static, private]

Reimplemented in flopc::MP_set.

Definition at line 97 of file MP_index.hpp.

Definition at line 98 of file MP_index.hpp.

int flopc::MP_index::index [private]

Definition at line 99 of file MP_index.hpp.

Definition at line 100 of file MP_index.hpp.


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

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1