SliceStrategy Class Referenceabstract

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

`#include <SliceStrategy.h>`

Inheritance diagram for SliceStrategy:

## Public Member Functions

virtual | ~SliceStrategy ()
virtual void | run (const Ideal &ideal)=0
| Run the Slice algorithm.
virtual bool | processSlice (TaskEngine &tasks, unique_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 (unique_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 | ( | unique_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

Implemented in DebugStrategy, SliceStrategyCommon, and StatisticsStrategy.

## processSlice()

virtual bool SliceStrategy::processSlice | ( | TaskEngine & | tasks,
|  | unique_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:

- src/SliceStrategy.h
- src/SliceStrategy.cpp