IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseLineYStripRgbColor2dParser.h
1 // BaseLineYStripRgbColor2dParser.h:
3 // ---------------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASELINEYSTRIPRGBCOLOR2DPARSER_H__
16 #define __IPSDKIMAGEPROCESSING_BASELINEYSTRIPRGBCOLOR2DPARSER_H__
17 
18 #include <IPSDKImageProcessing/Algorithm/Parser/Strip/LineYStripColor2d/BaseLineYStripColor2dParser.h>
19 
20 namespace ipsdk {
21 namespace imaproc {
22 
25 
26 template <typename BaseStripAttributeClassType>
28 {
29 public:
33  virtual ~BaseLineYStripRgbColor2dParser() = 0;
35 
36 // methods
37 public:
40  {
42  }
43 
48  template <typename T>
49  typename boost::enable_if<typename boost::mpl::not_equal_to<boost::mpl::int_<BaseLineYStripColor2dParser<BaseStripAttributeClassType>::g_attributeIO>,
50  boost::mpl::int_<eIOStatus::eIOS_Output> >::type,
51  const T*>::type
52  getBuffer(const image::eRgbColorComponent& colorComponent) const
53  {
54  return static_cast<const T*>(this->accessBuffer(colorComponent.value()));
55  }
56  template <typename T>
57  typename boost::enable_if<typename boost::mpl::not_equal_to<boost::mpl::int_<BaseLineYStripColor2dParser<BaseStripAttributeClassType>::g_attributeIO>,
58  boost::mpl::int_<eIOStatus::eIOS_Input> >::type,
59  T*>::type
60  getBuffer(const image::eRgbColorComponent& colorComponent)
61  {
62  return static_cast<T*>(this->accessBuffer(colorComponent.value()));
63  }
65 
66 // attributes
67 protected:
68 
69 };
70 
73 
74 } // end of namespace imaproc
75 } // end of namespace ipsdk
76 
77 #endif // __IPSDKIMAGEPROCESSING_BASELINEYSTRIPRGBCOLOR2DPARSER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
rgb color geometry
Definition: GeometryComponentTypes.h:49
Base class for color y strip 2d parsed line by line.
Definition: BaseLineYStripColor2dParser.h:43
boost::enable_if< typename boost::mpl::not_equal_to< boost::mpl::int_< BaseLineYStripColor2dParser< BaseStripAttributeClassType >::g_attributeIO >, boost::mpl::int_< eIOStatus::eIOS_Input > >::type, T * >::type getBuffer(const image::eRgbColorComponent &colorComponent)
retrieve buffer associated to current operation
Definition: BaseLineYStripRgbColor2dParser.h:60
eColorGeometryType
Color geometry type.
Definition: GeometryComponentTypes.h:45
boost::enable_if< typename boost::mpl::not_equal_to< boost::mpl::int_< BaseLineYStripColor2dParser< BaseStripAttributeClassType >::g_attributeIO >, boost::mpl::int_< eIOStatus::eIOS_Output > >::type, const T * >::type getBuffer(const image::eRgbColorComponent &colorComponent) const
retrieve buffer associated to current operation
Definition: BaseLineYStripRgbColor2dParser.h:52
eRgbColorComponent
Color components associated to RGB color geometry.
Definition: GeometryComponentTypes.h:92
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Base class for line rgb color y strip 2d parsing.
Definition: BaseLineYStripRgbColor2dParser.h:27
image::eColorGeometryType getColorGeometryType() const
retrieve color geometry type associated to derived class
Definition: BaseLineYStripRgbColor2dParser.h:39