flopc::MP_data Class Reference
[Public interface]

Input data set. More...

#include <MP_data.hpp>

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

List of all members.

Public Member Functions

void operator() () const
void initialize (double d)
 similar to value() but copies the same value to all entries.
 MP_data (const MP_set_base &s1=MP_set::getEmpty(), const MP_set_base &s2=MP_set::getEmpty(), const MP_set_base &s3=MP_set::getEmpty(), const MP_set_base &s4=MP_set::getEmpty(), const MP_set_base &s5=MP_set::getEmpty())
 Constructs the MP_data object, and allocates space for data, and initialize the data to zero.
 MP_data (double *value, const MP_set_base &s1=MP_set::getEmpty(), const MP_set_base &s2=MP_set::getEmpty(), const MP_set_base &s3=MP_set::getEmpty(), const MP_set_base &s4=MP_set::getEmpty(), const MP_set_base &s5=MP_set::getEmpty())
 Construct the object, and uses the data in the original array (shallow copy).
 ~MP_data ()
void value (const double *d)
 Used to bind and deep copy data into the MP_data data structure.
 operator double ()
double & operator() (int lcli1, int lcli2=0, int lcli3=0, int lcli4=0, int lcli5=0)
 Looks up the data based on the index values passed in.
DataRefoperator() (const MP_index_exp &lcli1=MP_index_exp::getEmpty(), const MP_index_exp &lcli2=MP_index_exp::getEmpty(), const MP_index_exp &lcli3=MP_index_exp::getEmpty(), const MP_index_exp &lcli4=MP_index_exp::getEmpty(), const MP_index_exp &lcli5=MP_index_exp::getEmpty())
 returns a DataRef which refers into the MP_data.
void display (string s="")
 For displaying data in a human readable format.

Protected Attributes

vector< DataRef * > myrefs

Private Member Functions

 MP_data (const MP_data &)
MP_dataoperator= (const MP_data &)

Private Attributes

MP_index i1
MP_index i2
MP_index i3
MP_index i4
MP_index i5
const MP_set_baseS1
const MP_set_baseS2
const MP_set_baseS3
const MP_set_baseS4
const MP_set_baseS5
double * v
bool manageData

Static Private Attributes

static double outOfBoundData

Friends

class MP_variable
class DisplayData
class DataRef
class MP_model

Detailed Description

Input data set.

This is one of the main public interface classes. It is normally directly constructed given a set of indices (domain) over which it is valid. If the data is not bound at construction, either the value() or initialize() method must be called which (deep) copies in the actual data. If one wishes to refer to external data instead rather than doing a deep copy, use the constructor which takes the value pointer as an argument. This copies the original data pointer value (rather than a deep copy).
This is used for construction of :

Definition at line 71 of file MP_data.hpp.


Constructor & Destructor Documentation

flopc::MP_data::MP_data ( const MP_set_base s1 = MP_set::getEmpty(),
const MP_set_base s2 = MP_set::getEmpty(),
const MP_set_base s3 = MP_set::getEmpty(),
const MP_set_base s4 = MP_set::getEmpty(),
const MP_set_base s5 = MP_set::getEmpty() 
) [inline]

Constructs the MP_data object, and allocates space for data, and initialize the data to zero.

Definition at line 87 of file MP_data.hpp.

flopc::MP_data::MP_data ( double *  value,
const MP_set_base s1 = MP_set::getEmpty(),
const MP_set_base s2 = MP_set::getEmpty(),
const MP_set_base s3 = MP_set::getEmpty(),
const MP_set_base s4 = MP_set::getEmpty(),
const MP_set_base s5 = MP_set::getEmpty() 
) [inline]

Construct the object, and uses the data in the original array (shallow copy).

Definition at line 102 of file MP_data.hpp.

flopc::MP_data::~MP_data (  )  [inline]

Definition at line 113 of file MP_data.hpp.

flopc::MP_data::MP_data ( const MP_data  )  [private]

Member Function Documentation

void flopc::MP_data::operator() (  )  const [virtual]

Implements flopc::Functor.

void flopc::MP_data::initialize ( double  d  )  [inline]

similar to value() but copies the same value to all entries.

Definition at line 79 of file MP_data.hpp.

void flopc::MP_data::value ( const double *  d  )  [inline]

Used to bind and deep copy data into the MP_data data structure.

Definition at line 118 of file MP_data.hpp.

flopc::MP_data::operator double (  )  [inline]
Todo:
purpose?

Definition at line 125 of file MP_data.hpp.

double& flopc::MP_data::operator() ( int  lcli1,
int  lcli2 = 0,
int  lcli3 = 0,
int  lcli4 = 0,
int  lcli5 = 0 
) [inline]

Looks up the data based on the index values passed in.

Note:
this is used internally, but may also be useful for spot checking data or in other expressions.

Definition at line 133 of file MP_data.hpp.

DataRef& flopc::MP_data::operator() ( const MP_index_exp lcli1 = MP_index_exp::getEmpty(),
const MP_index_exp lcli2 = MP_index_exp::getEmpty(),
const MP_index_exp lcli3 = MP_index_exp::getEmpty(),
const MP_index_exp lcli4 = MP_index_exp::getEmpty(),
const MP_index_exp lcli5 = MP_index_exp::getEmpty() 
) [inline]

returns a DataRef which refers into the MP_data.

Note:
For internal use.
Todo:
can this be private?

Reimplemented in flopc::MP_stochastic_data.

Definition at line 152 of file MP_data.hpp.

void flopc::MP_data::display ( string  s = ""  ) 

For displaying data in a human readable format.

MP_data& flopc::MP_data::operator= ( const MP_data  )  [private]

Reimplemented from flopc::Functor.


Friends And Related Function Documentation

friend class MP_variable [friend]

Definition at line 72 of file MP_data.hpp.

friend class DisplayData [friend]

Definition at line 73 of file MP_data.hpp.

friend class DataRef [friend]

Definition at line 74 of file MP_data.hpp.

friend class MP_model [friend]

Definition at line 75 of file MP_data.hpp.


Member Data Documentation

vector<DataRef*> flopc::MP_data::myrefs [protected]

Definition at line 167 of file MP_data.hpp.

double flopc::MP_data::outOfBoundData [static, private]

Definition at line 172 of file MP_data.hpp.

Definition at line 174 of file MP_data.hpp.

Definition at line 174 of file MP_data.hpp.

Definition at line 174 of file MP_data.hpp.

Definition at line 174 of file MP_data.hpp.

Definition at line 174 of file MP_data.hpp.

const MP_set_base& flopc::MP_data::S1 [private]

Definition at line 175 of file MP_data.hpp.

const MP_set_base & flopc::MP_data::S2 [private]

Definition at line 175 of file MP_data.hpp.

const MP_set_base & flopc::MP_data::S3 [private]

Definition at line 175 of file MP_data.hpp.

const MP_set_base & flopc::MP_data::S4 [private]

Definition at line 175 of file MP_data.hpp.

const MP_set_base & flopc::MP_data::S5 [private]

Definition at line 175 of file MP_data.hpp.

double* flopc::MP_data::v [private]

Definition at line 176 of file MP_data.hpp.

Definition at line 177 of file MP_data.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