FLOPC++
Public Member Functions | Private Attributes | Friends | List of all members
flopc::MP_domain_subset< nbr > Class Template Reference

Range over which some other constuct is defined. Uses subsetting.This is one of the main public interface classes. One uses this in the context of a constraint, objective, variable, or data. This class in the MP_domain family uses an MP_subset and a vector of indexes for defining the Range over which the construct is defined. More...

#include <MP_domain.hpp>

Inheritance diagram for flopc::MP_domain_subset< nbr >:
Inheritance graph
[legend]
Collaboration diagram for flopc::MP_domain_subset< nbr >:
Collaboration graph
[legend]

Public Member Functions

 MP_domain_subset (MP_subset< nbr > *s, const std::vector< MP_index * > &i)
 
int evaluate () const
 
MP_set_basegetSet () const
 getter for obtaining the set used in construction More...
 
MP_indexgetIndex () const
 getter for obtaining the index used in construction More...
 
MP_domain getDomain (MP_set *s) const
 
void operator() () const
 
FunctormakeInsertFunctor () const
 
- Public Member Functions inherited from flopc::MP_domain_base
 MP_domain_base ()
 
virtual ~MP_domain_base ()
 
void display () const
 
virtual size_t size () const
 

Private Attributes

MP_subset< nbr > * S
 
std::vector< MP_index * > I
 

Friends

class insertFunctor< nbr >
 

Additional Inherited Members

- Public Attributes inherited from flopc::MP_domain_base
const Functordonext
 
- Protected Member Functions inherited from flopc::Functor
 Functor ()
 
virtual ~Functor ()
 
- Protected Member Functions inherited from flopc::MP_index_base
 MP_index_base ()
 
virtual ~MP_index_base ()
 

Detailed Description

template<int nbr>
class flopc::MP_domain_subset< nbr >

Range over which some other constuct is defined. Uses subsetting.

This is one of the main public interface classes. One uses this in the context of a constraint, objective, variable, or data. This class in the MP_domain family uses an MP_subset and a vector of indexes for defining the Range over which the construct is defined.

Definition at line 134 of file MP_domain.hpp.

Constructor & Destructor Documentation

template<int nbr>
flopc::MP_domain_subset< nbr >::MP_domain_subset ( MP_subset< nbr > *  s,
const std::vector< MP_index * > &  i 
)
inline

Definition at line 169 of file MP_domain.hpp.

Member Function Documentation

template<int nbr>
int flopc::MP_domain_subset< nbr >::evaluate ( ) const
inlinevirtual

Evaluates the index within the domain.

Note
For internal use

Implements flopc::MP_index_base.

Definition at line 175 of file MP_domain.hpp.

References flopc::MP_domain_subset< nbr >::I, and flopc::MP_domain_subset< nbr >::S.

Referenced by flopc::MP_domain_subset< nbr >::operator()().

template<int nbr>
MP_domain flopc::MP_domain_subset< nbr >::getDomain ( MP_set s) const
inlinevirtual
Note
Internal use.
Todo:
Is internal? can be private? or needs more doc.

Implements flopc::MP_index_base.

Definition at line 189 of file MP_domain.hpp.

References flopc::MP_domain_base::MP_domain.

template<int nbr>
MP_index* flopc::MP_domain_subset< nbr >::getIndex ( ) const
inlinevirtual

getter for obtaining the index used in construction

Implements flopc::MP_domain_base.

Definition at line 183 of file MP_domain.hpp.

References flopc::MP_domain_subset< nbr >::S.

template<int nbr>
MP_set_base* flopc::MP_domain_subset< nbr >::getSet ( ) const
inlinevirtual

getter for obtaining the set used in construction

Implements flopc::MP_domain_base.

Definition at line 179 of file MP_domain.hpp.

References flopc::MP_domain_subset< nbr >::S.

template<int nbr>
Functor* flopc::MP_domain_subset< nbr >::makeInsertFunctor ( ) const
inlinevirtual
Todo:
should this be public? Should it be called? If so, needs doc.

Reimplemented from flopc::MP_domain_base.

Definition at line 240 of file MP_domain.hpp.

template<int nbr>
void flopc::MP_domain_subset< nbr >::operator() ( ) const
inlinevirtual
Todo:
should this be public? Should it be called? If so, needs doc.

Implements flopc::Functor.

Definition at line 193 of file MP_domain.hpp.

References flopc::MP_domain_subset< nbr >::evaluate(), flopc::MP_index::getEmpty(), flopc::MP_domain_subset< nbr >::I, and flopc::MP_domain_subset< nbr >::S.

Friends And Related Function Documentation

template<int nbr>
friend class insertFunctor< nbr >
friend

Definition at line 167 of file MP_domain.hpp.

Member Data Documentation

template<int nbr>
std::vector<MP_index*> flopc::MP_domain_subset< nbr >::I
private
template<int nbr>
MP_subset<nbr>* flopc::MP_domain_subset< nbr >::S
private

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