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

Representation of a set for indexing into some other construct. More...

#include <MP_set.hpp>

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

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 ()
 setter for 'cyclic' property More...
 
virtual int size () const
 getter for the cardinality of this MP_set. More...
 
int last ()
 
- Public Member Functions inherited from flopc::MP_set_base
 MP_set_base ()
 
void display () const
 
int check (int i) const
 
int checkStage (int i) const
 
virtual int isStage () const
 
- Public Member Functions inherited from flopc::MP_index
 MP_index ()
 Default constructor. More...
 
int evaluate () const
 
bool isInstantiated () const
 interrogate state of instatiation of data. More...
 
void assign (int i)
 Setter for the index. More...
 
void unInstantiate ()
 unsetter for instatiated. More...
 
void instantiate ()
 setter for instatiated. More...
 
MP_indexgetIndex () const
 getter for MP_index * data type. More...
 
virtual MP_domain getDomain (MP_set *s) const
 Getter for domain over which this index is applied. More...
 
- Public Member Functions inherited from flopc::Named
std::string getName () const
 
void setName (const std::string &n)
 

Static Public Member Functions

static MP_setgetEmpty ()
 gets the distinct 'empty' MP_set. More...
 
- Static Public Member Functions inherited from flopc::MP_index
static MP_indexgetEmpty ()
 returns a reference to the distinct "empty" index. More...
 

Private Attributes

int cardinality
 

Static Private Attributes

static MP_set Empty
 

Additional Inherited Members

- Public Attributes inherited from flopc::MP_set_base
bool Cyclic
 
- Static Public Attributes inherited from flopc::MP_index
static MP_indexAny
 
- Protected Member Functions inherited from flopc::MP_index_base
 MP_index_base ()
 
virtual ~MP_index_base ()
 

Detailed Description

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.

Note
term: cardinality is the number of elements in the set.
term: dimension is the number of indices used to reference into it.
there is a distince 'empty' MP_set

Definition at line 78 of file MP_set.hpp.

Constructor & Destructor Documentation

flopc::MP_set::MP_set ( int  i = 0)
inline

constructs a set with specific cardinality.

Definition at line 81 of file MP_set.hpp.

Member Function Documentation

MP_domain flopc::MP_set::operator() ( const MP_index_exp i) const
inlinevirtual

Constructs an MP_domain on the stack given an index expression into the set.

Todo:
is the internal use?

Implements flopc::MP_set_base.

Definition at line 86 of file MP_set.hpp.

flopc::MP_set::operator MP_domain ( ) const
inlinevirtual

constructs an MP_domain from the MP_set.

Implements flopc::MP_set_base.

Definition at line 90 of file MP_set.hpp.

MP_domain flopc::MP_set::such_that ( const MP_boolean b)
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.

void flopc::MP_set::cyclic ( )
inline

setter for 'cyclic' property

Todo:
better explain the use of cyclic.

Definition at line 102 of file MP_set.hpp.

virtual int flopc::MP_set::size ( ) const
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.

int flopc::MP_set::last ( )
inline

Definition at line 109 of file MP_set.hpp.

static MP_set& flopc::MP_set::getEmpty ( )
static

gets the distinct 'empty' MP_set.

Member Data Documentation

MP_set flopc::MP_set::Empty
staticprivate

Definition at line 115 of file MP_set.hpp.

int flopc::MP_set::cardinality
private

Definition at line 116 of file MP_set.hpp.


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