Frobby 0.9.5
SliceStrategy Class Referenceabstract

This class describes the interface of a strategy object for the Slice Algorithm. More...

#include <SliceStrategy.h>

Inheritance diagram for SliceStrategy:
DebugStrategy SliceStrategyCommon StatisticsStrategy HilbertStrategy MsmStrategy OptimizeStrategy

Public Member Functions

virtual ~SliceStrategy ()
 
virtual void run (const Ideal &ideal)=0
 Run the Slice algorithm.
 
virtual bool processSlice (TaskEngine &tasks, auto_ptr< Slice > slice)=0
 Process the parameter slice.
 
virtual void setUseIndependence (bool use)=0
 This method should only be called before calling run().
 
virtual void setUseSimplification (bool use)=0
 This method should only be called before calling run().
 
virtual bool getUseSimplification () const =0
 
virtual void freeSlice (auto_ptr< Slice > slice)=0
 It is allowed to delete returned slices directly, but it is better to use freeSlice.
 

Detailed Description

This class describes the interface of a strategy object for the Slice Algorithm.

It determines what goes on when the algorithm runs, allowing to specialize the algorithm to do several different computations.

Todo
Inspect comments.

Definition at line 33 of file SliceStrategy.h.

Constructor & Destructor Documentation

◆ ~SliceStrategy()

SliceStrategy::~SliceStrategy ( )
virtual

Definition at line 20 of file SliceStrategy.cpp.

Member Function Documentation

◆ freeSlice()

virtual void SliceStrategy::freeSlice ( auto_ptr< Slice > slice)
pure virtual

It is allowed to delete returned slices directly, but it is better to use freeSlice.

freeSlice can only be called on slices obtained from a method of the same strategy. This allows caching of slices to avoid frequent allocation and deallocation.

Implemented in DebugStrategy, SliceStrategyCommon, and StatisticsStrategy.

◆ getUseSimplification()

virtual bool SliceStrategy::getUseSimplification ( ) const
pure virtual

◆ processSlice()

virtual bool SliceStrategy::processSlice ( TaskEngine & tasks,
auto_ptr< Slice > slice )
pure virtual

Process the parameter slice.

Returns true if this is a base case and false otherwise.

Implemented in DebugStrategy, HilbertStrategy, MsmStrategy, and StatisticsStrategy.

◆ run()

virtual void SliceStrategy::run ( const Ideal & ideal)
pure virtual

Run the Slice algorithm.

Implemented in DebugStrategy, HilbertStrategy, MsmStrategy, and StatisticsStrategy.

◆ setUseIndependence()

virtual void SliceStrategy::setUseIndependence ( bool use)
pure virtual

This method should only be called before calling run().

Implemented in DebugStrategy, OptimizeStrategy, SliceStrategyCommon, and StatisticsStrategy.

◆ setUseSimplification()

virtual void SliceStrategy::setUseSimplification ( bool use)
pure virtual

This method should only be called before calling run().

Implemented in DebugStrategy, SliceStrategyCommon, and StatisticsStrategy.


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