Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Attributes
icl::core::ImgBasePtrPtr< T > Struct Template Reference

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

#include <Img.h>

List of all members.

Public Member Functions

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

Private Attributes

ImgBaseo
 Internal image pointers.
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

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

1st private constructor

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

2nd private constructor

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

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

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

Internal image pointers.

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

The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines