EasyLocal++ Documentation


 
Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

easylocal::Solver Class Template Reference

#include <EasyLocal.h>

Inheritance diagram for easylocal::Solver

Inheritance graph
[legend]
Collaboration diagram for easylocal::Solver:

Collaboration graph
[legend]
List of all members.

Public Methods

Protected Methods

Protected Attributes


Detailed Description

template<class Input, class Output> class easylocal::Solver

A Solver represents the external layer of EasyLocal++; it implements the Abstract Solver interface and furthermore is parametrized with the Input and Output of the problem. @ingroup Solvers

Definition at line 804 of file EasyLocal.h.


Constructor & Destructor Documentation

template<class Input, class Output>
easylocal::Solver< Input, Output >::Solver<Input, Output> ( Input * in = NULL,
Output * out = NULL ) [protected]
 

Constructs a solver by providing it an input and an output objects.

Parameters:
in   a pointer to an input object
out   a pointer to an output object

Definition at line 1583 of file EasyLocalTemplates.cpp.


Member Function Documentation

template<class Input, class Output>
void easylocal::Solver<Input, Output>::DeliverOutput ( ) [protected, pure virtual]
 

Updates the output by translating the best state found by the solver to an output object.

Reimplemented in easylocal::LocalSearchSolver.

template<class Input, class Output>
Input * easylocal::Solver< Input, Output >::GetInput ( )
 

Returns the input pointer which the object is attached to.

Returns:
the pointer to the input

Definition at line 1593 of file EasyLocalTemplates.cpp.

Referenced by easylocal::TokenRingSolver::Check().

template<class Input, class Output>
Output * easylocal::Solver< Input, Output >::GetOutput ( )
 

Returns the output pointer which the object is attached to.

Returns:
the pointer to the output

Definition at line 1602 of file EasyLocalTemplates.cpp.

template<class Input, class Output>
void easylocal::Solver< Input, Output >::SetInput ( Input * in ) [virtual]
 

Sets the internal input pointer to the new value passed as parameter.

Parameters:
in   a pointer to the new input object

Reimplemented in easylocal::LocalSearchSolver.

Definition at line 1564 of file EasyLocalTemplates.cpp.

template<class Input, class Output>
void easylocal::Solver< Input, Output >::SetOutput ( Output * out )
 

Sets the internal output pointer to the new value passed as parameter.

Parameters:
out   a pointer to the new output object

Definition at line 1573 of file EasyLocalTemplates.cpp.

template<class Input, class Output>
virtual void easylocal::Solver<Input, Output>::Solve ( ) [pure virtual]
 

Performs a full solving procedure by finding an initial state, running the attached runner and delivering the output.

Reimplemented from easylocal::AbstractSolver.

Reimplemented in easylocal::LocalSearchSolver.


Member Data Documentation

template<class Input, class Output>
Input * easylocal::Solver<Input, Output>::p_in [protected]
 

A pointer to the input object.

Definition at line 817 of file EasyLocal.h.

template<class Input, class Output>
Output * easylocal::Solver<Input, Output>::p_out [protected]
 

A pointer to the output object.

Definition at line 818 of file EasyLocal.h.


The documentation for this class was generated from the following files:
 
Go to: the Main Page of the documentation.