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:
Public Member Functions | |
MP_index () | |
Default constructor. | |
int | evaluate () const |
bool | isInstantiated () const |
void | assign (int i) |
void | unInstantiate () |
void | instantiate () |
MP_index * | getIndex () const |
virtual MP_domain | getDomain (MP_set *s) const |
Getter for domain over which this index is applied. | |
Static Public Member Functions | |
static MP_index & | getEmpty () |
returns a reference to the distinct "empty" index. | |
Static Public Attributes | |
static MP_index & | Any = *new MP_index() |
Private Attributes | |
int | index |
bool | instantiated |
Static Private Attributes | |
static MP_index & | Empty = *new MP_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.
flopc::MP_index::MP_index | ( | ) | [inline] |
void flopc::MP_index::assign | ( | int | i | ) | [inline] |
Setter for the index.
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] |
Implements flopc::MP_index_base.
Definition at line 57 of file MP_index.hpp.
References index.
Referenced by flopc::MP_subset< nbr >::evaluate(), flopc::MP_domain_set::evaluate(), flopc::VariableRef::level(), flopc::MP_variable::operator()(), and flopc::MP_data::operator()().
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.
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.
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.
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.
Definition at line 76 of file MP_index.hpp.
References instantiated.
Referenced by flopc::MP_domain_set::operator()().
MP_index & flopc::MP_index::Any = *new MP_index() [static] |
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] |
bool flopc::MP_index::instantiated [private] |
Definition at line 104 of file MP_index.hpp.
Referenced by instantiate(), isInstantiated(), and unInstantiate().