FLOPC++
|
Representation of a set for indexing into some other construct.This is one of the main public interface classes. One uses this when constructing MP_domains, and subsets. It is frequent that one would directly construct sets of indices, then use expressions to subset or slice the data. More...
#include <MP_set.hpp>
Public Member Functions | |
MP_set (int i=0) | |
constructs a set with specific cardinality. More... | |
MP_domain | operator() (const MP_index_exp &i) const |
Constructs an MP_domain on the stack given an index expression into the set. More... | |
operator MP_domain () const | |
constructs an MP_domain from the MP_set. More... | |
MP_domain | such_that (const MP_boolean &b) |
constructs a domain by subsetting this MP_set where the MP_boolean evaluates to 'true' More... | |
void | cyclic () |
virtual int | size () const |
getter for the cardinality of this MP_set. More... | |
int | last () |
![]() | |
MP_set_base () | |
void | display () const |
int | check (int i) const |
int | checkStage (int i) const |
virtual int | isStage () const |
![]() | |
MP_index () | |
Default constructor. More... | |
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. More... | |
![]() | |
std::string | getName () const |
void | setName (const std::string &n) |
Static Public Member Functions | |
static MP_set & | getEmpty () |
gets the distinct 'empty' MP_set. More... | |
![]() | |
static MP_index & | getEmpty () |
returns a reference to the distinct "empty" index. More... | |
Private Attributes | |
int | cardinality |
Static Private Attributes | |
static MP_set | Empty = *new MP_set(1) |
Additional Inherited Members | |
![]() | |
bool | Cyclic |
![]() | |
static MP_index & | Any = *new MP_index() |
![]() | |
MP_index_base () | |
virtual | ~MP_index_base () |
Representation of a set for indexing into some other construct.
This is one of the main public interface classes. One uses this when constructing MP_domains, and subsets. It is frequent that one would directly construct sets of indices, then use expressions to subset or slice the data.
Definition at line 78 of file MP_set.hpp.
|
inline |
constructs a set with specific cardinality.
Definition at line 81 of file MP_set.hpp.
|
inline |
setter for 'cyclic' property
Definition at line 102 of file MP_set.hpp.
References flopc::MP_set_base::Cyclic.
|
static |
gets the distinct 'empty' MP_set.
Definition at line 17 of file MP_set.cpp.
Referenced by flopc::MP_domain::getEmpty(), flopc::MP_data::operator()(), and flopc::MP_variable::operator()().
|
inline |
Definition at line 109 of file MP_set.hpp.
References cardinality.
|
inlinevirtual |
constructs an MP_domain from the MP_set.
Implements flopc::MP_set_base.
Definition at line 90 of file MP_set.hpp.
|
inlinevirtual |
Constructs an MP_domain on the stack given an index expression into the set.
Implements flopc::MP_set_base.
Definition at line 86 of file MP_set.hpp.
|
inlinevirtual |
getter for the cardinality of this MP_set.
Implements flopc::MP_set_base.
Reimplemented in flopc::MP_subset< nbr >.
Definition at line 106 of file MP_set.hpp.
References cardinality.
Referenced by flopc::MP_domain_set::operator()().
|
inline |
constructs a domain by subsetting this MP_set where the MP_boolean evaluates to 'true'
Definition at line 96 of file MP_set.hpp.
References flopc::MP_domain::such_that().
|
private |
Definition at line 116 of file MP_set.hpp.
Definition at line 115 of file MP_set.hpp.