27 #ifndef IMG_DATA_ALG_H
28 #define IMG_DATA_ALG_H
40 namespace ost {
namespace img {
AlgorithmBase & operator=(const AlgorithmBase &b)
AlgorithmBase(const AlgorithmBase &a)
AlgorithmBase(const String &n)
Constructor must be initialized with algorithm name.
const String & GetName() const
Return name of algorithm.
read-only ImageHandle implementation
In-place modification const algorithm.
ConstModIPAlgorithm & operator=(const ConstModIPAlgorithm &a)
ConstModIPAlgorithm(const String &name)
ConstModIPAlgorithm(const ConstModIPAlgorithm &a)
virtual void Visit(ImageHandle &ih) const =0
out-of-place modification const algorithm
ConstModOPAlgorithm & operator=(const ConstModOPAlgorithm &a)
ConstModOPAlgorithm(const String &name)
ConstModOPAlgorithm(const ConstModOPAlgorithm &a)
virtual ImageHandle Visit(const ConstImageHandle &ih) const =0
Manage shared instances of images.
In-place modification algorithm.
ModIPAlgorithm & operator=(const ModIPAlgorithm &a)
ModIPAlgorithm(const ModIPAlgorithm &a)
ModIPAlgorithm(const String &name)
virtual void Visit(ImageHandle &ih)=0
out-of-place modification algorithm
virtual ImageHandle Visit(const ConstImageHandle &ih)=0
ModOPAlgorithm(const String &name)
ModOPAlgorithm(const ModOPAlgorithm &a)
ModOPAlgorithm & operator=(const ModOPAlgorithm &a)
Non-modifying Algorithm, abstract base class.
NonModAlgorithm(const String &name)
ctor, must be initialized with name
NonModAlgorithm & operator=(const NonModAlgorithm &a)
assignement op
virtual void Visit(const ConstImageHandle &i)=0
visitor implementation for images
NonModAlgorithm(const NonModAlgorithm &a)
copy ctor
#define DLLEXPORT_OST_IMG_BASE