# flopc::MP_data Class Reference
[Public interface]

Input data set. More...

`#include <MP_data.hpp>`

Inheritance diagram for flopc::MP_data:
[legend]
Collaboration diagram for flopc::MP_data:
[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, but does not initialize the 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())
| 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.
DataRef & | 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())
| returns a DataRef which refers into the MP_data.
void | display (std::string s="")
| For displaying data in a human readable format.
## Protected Attributes
std::vector< DataRef * > | myrefs
## Private Member Functions
| MP_data (const MP_data &)
MP_data & | operator= (const MP_data &)
## Private Attributes
MP_index | i1
MP_index | i2
MP_index | i3
MP_index | i4
MP_index | i5
const MP_set_base & | S1
const MP_set_base & | S2
const MP_set_base & | S3
const MP_set_base & | S4
const MP_set_base & | S5
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 :

- objective coefficients
- constraint coefficients
- 'right hand sides'

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, but does not initialize the data.

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]`

Todo:
  determine cause of seg fault.

Definition at line 114 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 124 of file MP_data.hpp.

flopc::MP_data::operator double | ( |  | ) | `[inline]`

Todo:
  purpose?

Definition at line 131 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 139 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 158 of file MP_data.hpp.

void flopc::MP_data::display | ( | std::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

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

Definition at line 173 of file MP_data.hpp.

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

Definition at line 178 of file MP_data.hpp.

MP_index flopc::MP_data::i1`[private]`

Definition at line 180 of file MP_data.hpp.

MP_index flopc::MP_data::i2`[private]`

Definition at line 180 of file MP_data.hpp.

MP_index flopc::MP_data::i3`[private]`

Definition at line 180 of file MP_data.hpp.

MP_index flopc::MP_data::i4`[private]`

Definition at line 180 of file MP_data.hpp.

MP_index flopc::MP_data::i5`[private]`

Definition at line 180 of file MP_data.hpp.

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

Definition at line 181 of file MP_data.hpp.

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

Definition at line 181 of file MP_data.hpp.

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

Definition at line 181 of file MP_data.hpp.

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

Definition at line 181 of file MP_data.hpp.

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

Definition at line 181 of file MP_data.hpp.

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

Definition at line 182 of file MP_data.hpp.

bool flopc::MP_data::manageData`[private]`

Definition at line 183 of file MP_data.hpp.

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

- /home/coin/svn-release/Smi-0.93.1/FlopCpp/src/MP_data.hpp