Image Component Library (ICL)
Public Member Functions | Private Attributes | List of all members
icl::core::ImgBasePtrPtr< T > Struct Template Reference

utility class that helps for an implicit conversion between Img<T>* to ImgBase** More...

#include <Img.h>

Public Member Functions

 ImgBasePtrPtr (Img< T > &i)
 1st private constructor More...
 
 ImgBasePtrPtr (Img< T > *i)
 2nd private constructor More...
 
 ~ImgBasePtrPtr ()
 Destructor. More...
 
 operator ImgBase ** ()
 Implicit cast operator (allows to place an ImgBasePtrPtr where an ImgBase** is expected) More...
 

Private Attributes

ImgBaseo
 Internal image pointers. More...
 
ImgBaser
 
ImgBaserbef
 

Detailed Description

template<class T>
struct icl::core::ImgBasePtrPtr< T >

utility class that helps for an implicit conversion between Img<T>* to ImgBase**

See also
bpp(Img<T> &)
bpp(Img<T> *)

Constructor & Destructor Documentation

◆ ImgBasePtrPtr() [1/2]

template<class T >
icl::core::ImgBasePtrPtr< T >::ImgBasePtrPtr ( Img< T > &  i)

1st private constructor

◆ ImgBasePtrPtr() [2/2]

template<class T >
icl::core::ImgBasePtrPtr< T >::ImgBasePtrPtr ( Img< T > *  i)

2nd private constructor

◆ ~ImgBasePtrPtr()

template<class T >
icl::core::ImgBasePtrPtr< T >::~ImgBasePtrPtr ( )

Destructor.

In this class, the destrutctor does all of the work: if the pointer returned by the implicit cast to ImgBase** operator was chnaged (reallocated) it is detected here, and a warnig is writte to std::out. To ensure compability for later computation, the reallocated images data is converted into the given source image. By this means, the result image gets all parameters of the source image except its depth. Images, that are not further needed, are deleted automatically.

Member Function Documentation

◆ operator ImgBase **()

template<class T >
icl::core::ImgBasePtrPtr< T >::operator ImgBase ** ( )
inline

Implicit cast operator (allows to place an ImgBasePtrPtr where an ImgBase** is expected)

Member Data Documentation

◆ o

template<class T >
ImgBase* icl::core::ImgBasePtrPtr< T >::o
private

Internal image pointers.

◆ r

template<class T >
ImgBase * icl::core::ImgBasePtrPtr< T >::r
private

◆ rbef

template<class T >
ImgBase * icl::core::ImgBasePtrPtr< T >::rbef
private

The documentation for this struct was generated from the following file: