Domain Class Reference

Define a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO structure. More...

#include <domain.hpp>

Collaboration diagram for Domain:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Domain ()
 basic constructor
 Domain (const Domain &src)
 copy constructor
 ~Domain ()
 destructor
void push (int dim, CouNumber *x, CouNumber *lb, CouNumber *ub, bool copy=true)
 save current point and start using another
void push (int dim, const CouNumber *x, const CouNumber *lb, const CouNumber *ub)
 save current point and start using another
void push (const DomainPoint &dp, bool copy=true)
 save current point and start using another
void pop ()
 restore previous point
DomainPointcurrent ()
 return current point
CouNumberx (register int index)
 current variable
CouNumberlb (register int index)
 current lower bound
CouNumberub (register int index)
 current upper bound
CouNumberx ()
 return current variable vector
CouNumberlb ()
 return current lower bound vector
CouNumberub ()
 return current upper bound vector

Protected Attributes

DomainPointpoint_
 current point
std::stack< DomainPoint * > domStack_
 stack of saved points

Detailed Description

Define a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO structure.

Definition at line 92 of file domain.hpp.


Constructor & Destructor Documentation

Domain::Domain (  )  [inline]

basic constructor

Definition at line 102 of file domain.hpp.

Domain::Domain ( const Domain src  )  [inline]

copy constructor

Definition at line 105 of file domain.hpp.

References point_.

Domain::~Domain (  ) 

destructor

Definition at line 144 of file domain.cpp.

References domStack_, and point_.


Member Function Documentation

void Domain::push ( int  dim,
CouNumber x,
CouNumber lb,
CouNumber ub,
bool  copy = true 
)

save current point and start using another

Definition at line 157 of file domain.cpp.

References domStack_, lb(), point_, ub(), and x().

Referenced by CouenneSolver::buildSolverInstance(), CouenneProblem::checkNLP(), CouenneProblem::getAuxs(), CouenneProblem::getIntegerCandidate(), CouenneProblem::reformulate(), and CouenneProblem::restoreUnusedOriginals().

void Domain::push ( int  dim,
const CouNumber x,
const CouNumber lb,
const CouNumber ub 
)

save current point and start using another

Definition at line 171 of file domain.cpp.

References domStack_, and point_.

void Domain::push ( const DomainPoint dp,
bool  copy = true 
)

save current point and start using another

Definition at line 184 of file domain.cpp.

References domStack_, and point_.

void Domain::pop (  ) 

restore previous point

Definition at line 193 of file domain.cpp.

References domStack_, and point_.

Referenced by CouenneProblem::checkNLP(), CouenneProblem::getAuxs(), and CouenneProblem::getIntegerCandidate().

DomainPoint* Domain::current (  )  [inline]

return current point

Definition at line 135 of file domain.hpp.

References point_.

Referenced by CouenneProblem::checkNLP(), CouenneProblem::initAuxs(), CouenneProblem::reformulate(), and CouenneProblem::standardize().

CouNumber& Domain::x ( register int  index  )  [inline]

current variable

Definition at line 137 of file domain.hpp.

References point_, and x().

Referenced by CouenneProblem::checkNLP(), CouenneProblem::standardize(), and CouenneProblem::X().

CouNumber& Domain::lb ( register int  index  )  [inline]

current lower bound

Definition at line 138 of file domain.hpp.

References lb(), and point_.

Referenced by CouenneProblem::checkNLP(), CouenneProblem::getAuxs(), CouenneProblem::impliedBounds(), CouenneProblem::Lb(), CouenneProblem::print(), CouenneProblem::reformulate(), and CouenneProblem::standardize().

CouNumber& Domain::ub ( register int  index  )  [inline]

current upper bound

Definition at line 139 of file domain.hpp.

References point_, and ub().

Referenced by CouenneProblem::checkNLP(), CouenneProblem::getAuxs(), CouenneProblem::impliedBounds(), CouenneProblem::print(), CouenneProblem::standardize(), and CouenneProblem::Ub().

CouNumber* Domain::x (  )  [inline]

return current variable vector

Definition at line 141 of file domain.hpp.

References point_.

Referenced by push(), and x().

CouNumber* Domain::lb (  )  [inline]

return current lower bound vector

Definition at line 142 of file domain.hpp.

References point_.

Referenced by exprGroup::isInteger(), exprOp::isInteger(), lb(), and push().

CouNumber* Domain::ub (  )  [inline]

return current upper bound vector

Definition at line 143 of file domain.hpp.

References point_.

Referenced by exprGroup::isInteger(), exprOp::isInteger(), push(), and ub().


Member Data Documentation

DomainPoint* Domain::point_ [protected]

current point

Definition at line 96 of file domain.hpp.

Referenced by current(), Domain(), lb(), pop(), push(), ub(), x(), and ~Domain().

std::stack<DomainPoint *> Domain::domStack_ [protected]

stack of saved points

Definition at line 97 of file domain.hpp.

Referenced by pop(), push(), and ~Domain().


The documentation for this class was generated from the following files:
Generated on Mon May 3 03:11:59 2010 by  doxygen 1.4.7