25 #ifndef IMG_IMAGE_STATE_ALGORITHM_HH
26 #define IMG_IMAGE_STATE_ALGORITHM_HH
33 namespace ost {
namespace img {
namespace image_state {
44 #define IMAGE_STATE_VISITOR_CTOR_ADAPTERS(CLASS, BASE ) \
46 CLASS (): FNC(), BASE (FNC::GetAlgorithmName()) {} \
49 CLASS (const P0& p0): \
50 FNC(p0), BASE (FNC::GetAlgorithmName()) {} \
54 CLASS (const P0& p0, \
56 FNC(p0,p1), BASE (FNC::GetAlgorithmName()) {} \
61 CLASS (const P0& p0, \
64 FNC(p0,p1,p2), BASE (FNC::GetAlgorithmName()) {} \
70 CLASS (const P0& p0, \
74 FNC(p0,p1,p2,p3), BASE (FNC::GetAlgorithmName()) {} \
81 CLASS (const P0& p0, \
86 FNC(p0,p1,p2,p3,p4), BASE (FNC::GetAlgorithmName()) {} \
94 CLASS (const P0& p0, \
100 FNC(p0,p1,p2,p3,p4,p5), BASE (FNC::GetAlgorithmName()) {} \
102 template <class P0, \
109 CLASS (const P0& p0, \
116 FNC(p0,p1,p2,p3,p4,p5,p6), BASE (FNC::GetAlgorithmName()) {} \
118 template <class P0, \
126 CLASS (const P0& p0, \
134 FNC(p0,p1,p2,p3,p4,p5,p6,p7), BASE (FNC::GetAlgorithmName()) {} \
136 template <class P0, \
145 CLASS (const P0& p0, \
154 FNC(p0,p1,p2,p3,p4,p5,p6,p7,p8), BASE (FNC::GetAlgorithmName()) {} \
156 template <class P0, \
166 CLASS (const P0& p0, \
176 FNC(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9), BASE (FNC::GetAlgorithmName()) {} \
178 template <class P0, \
189 CLASS (const P0& p0, \
200 FNC(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,pa), BASE (FNC::GetAlgorithmName()) {} \
202 template <class P0, \
214 CLASS (const P0& p0, \
226 FNC(p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,pa,pb), BASE (FNC::GetAlgorithmName()) {}
279 template <
typename T,
class D>
281 this->VisitState(isi);
324 template <
typename T,
class D>
326 this->VisitState(isi);
369 template <
typename T,
class D>
371 this->VisitState(isi);
395 template <
typename T,
class D>
397 return this->VisitState(isi);
423 template <
typename T,
class D>
425 return this->VisitState(isi);
450 template <
typename T,
class D>
452 return this->VisitState(isi);
456 #undef IMAGE_STATE_VISITOR_CTOR_ADAPTERS
read-only ImageHandle implementation
void StateApply(ImageStateNonModVisitorBase &v) const
see ImageHandle::StateApply(ImageStateNonModVisitorBase&)
In-place modification const algorithm.
out-of-place modification const algorithm
Manage shared instances of images.
void StateApplyIP(ImageStateModIPVisitorBase &v)
Applies in-place visitor in-place.
void StateApply(ImageStateNonModVisitorBase &v) const
Apply non-modifying state visitor.
In-place modification algorithm.
out-of-place modification algorithm
Non-modifying Algorithm, abstract base class.
in-place modifying image state const visitor plus ip algorithm
virtual void Visit_(ComplexSpatialImageState &is) const
virtual void Visit(ImageHandle &h) const
virtual void Visit_(ComplexFrequencyImageState &is) const
virtual void Visit_(RealFrequencyImageState &is) const
virtual void Visit_(ComplexHalfFrequencyImageState &is) const
virtual void Visit_(WordSpatialImageState &is) const
in-place modifying image state const visitor base class
out-of-place modifying image state const visitor plus op algorithm
virtual ImageStateBasePtr Visit_(const WordSpatialImageState &is) const
virtual ImageStateBasePtr Visit_(const ComplexFrequencyImageState &is) const
virtual ImageStateBasePtr Visit_(const RealFrequencyImageState &is) const
virtual ImageHandle Visit(const ConstImageHandle &h) const
virtual ImageStateBasePtr Visit_(const ComplexHalfFrequencyImageState &is) const
virtual ImageStateBasePtr Visit_(const ComplexSpatialImageState &is) const
out-of-place modifying image state const visitor base class
in-place modifying image state visitor plus ip algorithm
virtual void Visit_(WordSpatialImageState &is)
virtual void Visit_(ComplexSpatialImageState &is)
virtual void Visit_(ComplexHalfFrequencyImageState &is)
virtual void Visit_(RealFrequencyImageState &is)
virtual void Visit_(ComplexFrequencyImageState &is)
virtual void Visit(ImageHandle &h)
in-place modifying image state visitor base class
out-of-place modifying image state visitor plus op algorithm
virtual ImageStateBasePtr Visit_(const ComplexFrequencyImageState &is)
virtual ImageHandle Visit(const ConstImageHandle &h)
virtual ImageStateBasePtr Visit_(const WordSpatialImageState &is)
virtual ImageStateBasePtr Visit_(const ComplexHalfFrequencyImageState &is)
virtual ImageStateBasePtr Visit_(const ComplexSpatialImageState &is)
virtual ImageStateBasePtr Visit_(const RealFrequencyImageState &is)
out-of-place modifying image state visitor base class
morph visitor plus ip algorithm
virtual ImageStateBasePtr Visit_(ComplexSpatialImageState &is)
virtual ImageStateBasePtr Visit_(RealFrequencyImageState &is)
virtual ImageStateBasePtr Visit_(ComplexHalfFrequencyImageState &is)
virtual ImageStateBasePtr Visit_(ComplexFrequencyImageState &is)
virtual ImageStateBasePtr Visit_(WordSpatialImageState &is)
virtual void Visit(ImageHandle &h)
morphing image state visitor base class
non-modifying image state visitor plus non-mod algorithm
virtual void Visit_(const RealFrequencyImageState &is)
virtual void Visit_(const WordSpatialImageState &is)
virtual void Visit_(const ComplexHalfFrequencyImageState &is)
virtual void Visit(const ConstImageHandle &h)
visitor implementation for images
virtual void Visit_(const ComplexFrequencyImageState &is)
virtual void Visit_(const ComplexSpatialImageState &is)
non-modifying image state visitor base class
#define IMAGE_STATE_VISITOR_CTOR_ADAPTERS(CLASS, BASE)
boost::shared_ptr< ImageStateBase > ImageStateBasePtr