flopc::MP_index Class Reference
[Public interface]

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. 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
bool isInstantiated () const
void assign (int i)
void unInstantiate ()
void instantiate ()
MP_indexgetIndex () const
virtual MP_domain getDomain (MP_set *s) const
 Getter for domain over which this index is applied.

Static Public Member Functions

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

Static Public Attributes

static MP_indexAny = *new MP_index()

Private Attributes

int index
bool instantiated

Static Private Attributes

static MP_indexEmpty = *new MP_index()

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 56 of file MP_index.hpp.


Member Function Documentation

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

Setter for the index.

Todo:

should this be private?

should this assert "instatiated"?

Definition at line 70 of file MP_index.hpp.

References index.

Referenced by flopc::MP_domain_set::operator()().

int flopc::MP_index::evaluate (  )  const [inline, virtual]
MP_domain MP_index::getDomain ( MP_set s  )  const [virtual]

Getter for domain over which this index is applied.

Implements flopc::MP_index_base.

Definition at line 97 of file MP_index.cpp.

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

returns a reference to the distinct "empty" index.

Reimplemented in flopc::MP_set.

Definition at line 20 of file MP_index.cpp.

References Empty.

Referenced by flopc::MP_domain_subset< nbr >::operator()().

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

getter for MP_index * data type.

Todo:

should this be private?

should this be virtual?

Implements flopc::MP_index_base.

Definition at line 89 of file MP_index.hpp.

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

setter for instatiated.

Todo:
should this be private?

Definition at line 82 of file MP_index.hpp.

References instantiated.

Referenced by flopc::MP_domain_set::operator()().

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

interrogate state of instatiation of data.

Todo:
should this be private?

Definition at line 63 of file MP_index.hpp.

References instantiated.

Referenced by flopc::MP_domain_set::operator()().

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

unsetter for instatiated.

Todo:
should this be private?

Definition at line 76 of file MP_index.hpp.

References instantiated.

Referenced by flopc::MP_domain_set::operator()().


Member Data Documentation

MP_index & flopc::MP_index::Any = *new MP_index() [static]
Todo:

should this be private?

doc purpose.

Definition at line 97 of file MP_index.hpp.

MP_index & flopc::MP_index::Empty = *new MP_index() [static, private]

Reimplemented in flopc::MP_set.

Definition at line 102 of file MP_index.hpp.

Referenced by getEmpty().

int flopc::MP_index::index [private]

Definition at line 103 of file MP_index.hpp.

Referenced by assign(), and evaluate().

Definition at line 104 of file MP_index.hpp.

Referenced by instantiate(), isInstantiated(), and unInstantiate().


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

Generated on 11 Feb 2012 for FLOPC++ by  doxygen 1.6.1