Frobby  0.9.5
Public Member Functions | List of all members
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. More...
 
virtual bool processSlice (TaskEngine &tasks, auto_ptr< Slice > slice)=0
 Process the parameter slice. More...
 
virtual void setUseIndependence (bool use)=0
 This method should only be called before calling run(). More...
 
virtual void setUseSimplification (bool use)=0
 This method should only be called before calling run(). More...
 
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. More...
 

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 StatisticsStrategy, SliceStrategyCommon, and DebugStrategy.

◆ 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 StatisticsStrategy, MsmStrategy, HilbertStrategy, and DebugStrategy.

◆ run()

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

Run the Slice algorithm.

Implemented in StatisticsStrategy, MsmStrategy, HilbertStrategy, and DebugStrategy.

◆ setUseIndependence()

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

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

Implemented in StatisticsStrategy, SliceStrategyCommon, OptimizeStrategy, and DebugStrategy.

◆ setUseSimplification()

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

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

Implemented in StatisticsStrategy, SliceStrategyCommon, and DebugStrategy.


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