ImageStateNonModVisitor< FNC > Class Template Reference

non-modifying image state visitor More...

#include <image_state_visitor.hh>

Inherits ost::img::image_state::ImageStateNonModVisitorBase.

Public Member Functions

 ImageStateNonModVisitor ()
template<class P0 >
 ImageStateNonModVisitor (const P0 &p0)
template<class P0 , class P1 >
 ImageStateNonModVisitor (const P0 &p0, const P1 &p1)
template<class P0 , class P1 , class P2 >
 ImageStateNonModVisitor (const P0 &p0, const P1 &p1, const P2 &p2)
template<class P0 , class P1 , class P2 , class P3 >
 ImageStateNonModVisitor (const P0 &p0, const P1 &p1, const P2 &p2, const P3 &p3)
template<class P0 , class P1 , class P2 , class P3 , class P4 >
 ImageStateNonModVisitor (const P0 &p0, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4)
template<class P0 , class P1 , class P2 , class P3 , class P4 , class P5 >
 ImageStateNonModVisitor (const P0 &p0, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4, const P5 &p5)
template<class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 >
 ImageStateNonModVisitor (const P0 &p0, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4, const P5 &p5, const P6 &p6)
template<class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 >
 ImageStateNonModVisitor (const P0 &p0, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4, const P5 &p5, const P6 &p6, const P7 &p7)
template<class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 >
 ImageStateNonModVisitor (const P0 &p0, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4, const P5 &p5, const P6 &p6, const P7 &p7, const P8 &p8)
template<class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 >
 ImageStateNonModVisitor (const P0 &p0, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4, const P5 &p5, const P6 &p6, const P7 &p7, const P8 &p8, const P9 &p9)
template<class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class PA >
 ImageStateNonModVisitor (const P0 &p0, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4, const P5 &p5, const P6 &p6, const P7 &p7, const P8 &p8, const P9 &p9, const PA &pa)
template<class P0 , class P1 , class P2 , class P3 , class P4 , class P5 , class P6 , class P7 , class P8 , class P9 , class PA , class PB >
 ImageStateNonModVisitor (const P0 &p0, const P1 &p1, const P2 &p2, const P3 &p3, const P4 &p4, const P5 &p5, const P6 &p6, const P7 &p7, const P8 &p8, const P9 &p9, const PA &pa, const PB &pb)
virtual void Visit_ (const RealSpatialImageState &is)
virtual void Visit_ (const ComplexSpatialImageState &is)
virtual void Visit_ (const RealFrequencyImageState &is)
virtual void Visit_ (const ComplexFrequencyImageState &is)
virtual void Visit_ (const ComplexHalfFrequencyImageState &is)
virtual void Visit_ (const WordSpatialImageState &is)

Detailed Description

template<class FNC>
class ost::img::image_state::ImageStateNonModVisitor< FNC >

non-modifying image state visitor

Expects a class with a public VisitState() method, having the following signature:

  class MyVisitorFnc {
  public:
    template<typename T, class D>
    void VisitState(const img::image_state::ImageStateImpl<T,D>& isi);
  };

Full specialization is supported, but not partial one, since the member function is templated, not the overall class.

To use the visitor itself:

  // definition
  typedef img::image_state::ConstVisitor<MyVisitorFnc> MyVisitor;
  // creating an instance
  MyVisitor my_visitor;

  // applying it to some image
  some_image_handle.StateApply(my_visitor);

MyVisitorFnc will be a base class of MyVisitor, so any additional interface components remain fully accessible! Also, due to some template and compiler cleverness, the constructor paramers for MyVisitorFnc are automagically available in MyVisitor. Using the example above:

  class MyVisitorFnc {
  public:
    MyVisitorFnc(); // default ctor
    MyVisitorFnc(int a, int b); //initialize with two ints
    template<typename T, class D>
    void VisitState(const img::image_state::ImageStateImpl<T,D>& isi);
  };

  typedef img::image_state::ConstVisitor<MyVisitorFnc> MyVisitor;

  void f() {
    MyVisitor my_visitor1; // using default ctor
    MyVisitor my_visitor2(17,29); // using other ctor

See also common algorithms, e.g. img::alg::Stat

Definition at line 302 of file image_state_visitor.hh.


Constructor & Destructor Documentation

ImageStateNonModVisitor (  )  [inline]

Definition at line 305 of file image_state_visitor.hh.

ImageStateNonModVisitor ( const P0 &  p0  )  [inline]

Definition at line 305 of file image_state_visitor.hh.

ImageStateNonModVisitor ( const P0 &  p0,
const P1 &  p1 
) [inline]

Definition at line 305 of file image_state_visitor.hh.

ImageStateNonModVisitor ( const P0 &  p0,
const P1 &  p1,
const P2 &  p2 
) [inline]

Definition at line 305 of file image_state_visitor.hh.

ImageStateNonModVisitor ( const P0 &  p0,
const P1 &  p1,
const P2 &  p2,
const P3 &  p3 
) [inline]

Definition at line 305 of file image_state_visitor.hh.

ImageStateNonModVisitor ( const P0 &  p0,
const P1 &  p1,
const P2 &  p2,
const P3 &  p3,
const P4 &  p4 
) [inline]

Definition at line 305 of file image_state_visitor.hh.

ImageStateNonModVisitor ( const P0 &  p0,
const P1 &  p1,
const P2 &  p2,
const P3 &  p3,
const P4 &  p4,
const P5 &  p5 
) [inline]

Definition at line 305 of file image_state_visitor.hh.

ImageStateNonModVisitor ( const P0 &  p0,
const P1 &  p1,
const P2 &  p2,
const P3 &  p3,
const P4 &  p4,
const P5 &  p5,
const P6 &  p6 
) [inline]

Definition at line 305 of file image_state_visitor.hh.

ImageStateNonModVisitor ( const P0 &  p0,
const P1 &  p1,
const P2 &  p2,
const P3 &  p3,
const P4 &  p4,
const P5 &  p5,
const P6 &  p6,
const P7 &  p7 
) [inline]

Definition at line 305 of file image_state_visitor.hh.

ImageStateNonModVisitor ( const P0 &  p0,
const P1 &  p1,
const P2 &  p2,
const P3 &  p3,
const P4 &  p4,
const P5 &  p5,
const P6 &  p6,
const P7 &  p7,
const P8 &  p8 
) [inline]

Definition at line 305 of file image_state_visitor.hh.

ImageStateNonModVisitor ( const P0 &  p0,
const P1 &  p1,
const P2 &  p2,
const P3 &  p3,
const P4 &  p4,
const P5 &  p5,
const P6 &  p6,
const P7 &  p7,
const P8 &  p8,
const P9 &  p9 
) [inline]

Definition at line 305 of file image_state_visitor.hh.

ImageStateNonModVisitor ( const P0 &  p0,
const P1 &  p1,
const P2 &  p2,
const P3 &  p3,
const P4 &  p4,
const P5 &  p5,
const P6 &  p6,
const P7 &  p7,
const P8 &  p8,
const P9 &  p9,
const PA &  pa 
) [inline]

Definition at line 305 of file image_state_visitor.hh.

ImageStateNonModVisitor ( const P0 &  p0,
const P1 &  p1,
const P2 &  p2,
const P3 &  p3,
const P4 &  p4,
const P5 &  p5,
const P6 &  p6,
const P7 &  p7,
const P8 &  p8,
const P9 &  p9,
const PA &  pa,
const PB &  pb 
) [inline]

Definition at line 305 of file image_state_visitor.hh.


Member Function Documentation

virtual void Visit_ ( const WordSpatialImageState is  )  [inline, virtual]

Implements ImageStateNonModVisitorBase.

Definition at line 313 of file image_state_visitor.hh.

virtual void Visit_ ( const ComplexHalfFrequencyImageState is  )  [inline, virtual]

Implements ImageStateNonModVisitorBase.

Definition at line 312 of file image_state_visitor.hh.

virtual void Visit_ ( const ComplexFrequencyImageState is  )  [inline, virtual]

Implements ImageStateNonModVisitorBase.

Definition at line 311 of file image_state_visitor.hh.

virtual void Visit_ ( const RealFrequencyImageState is  )  [inline, virtual]

Implements ImageStateNonModVisitorBase.

Definition at line 310 of file image_state_visitor.hh.

virtual void Visit_ ( const ComplexSpatialImageState is  )  [inline, virtual]

Implements ImageStateNonModVisitorBase.

Definition at line 309 of file image_state_visitor.hh.

virtual void Visit_ ( const RealSpatialImageState is  )  [inline, virtual]

Implements ImageStateNonModVisitorBase.

Definition at line 308 of file image_state_visitor.hh.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated on 10 Nov 2016 for OpenStructure by  doxygen 1.6.1