1 #ifndef CARMA_UTIL_AUTO_FREED_MALLOC_PTR_H
2 #define CARMA_UTIL_AUTO_FREED_MALLOC_PTR_H
16 template <
typename T >
27 template <
typename S >
29 tPtr_( rhs.release() )
35 template <
typename S >
39 reset( rhs.release() );
43 T & operator*( )
const;
45 T * operator->( )
const;
51 void reset( T * tPtr = 0 );
53 template <
typename S >
70 template <
typename T >
77 template <
typename T >
84 template <
typename T >
86 tPtr_( rhs.release() )
91 template <
typename T >
103 template <
typename T >
107 reset( rhs.release() );
113 template <
typename T >
118 throw CARMA_ERROR(
"AutoFreedMallocPtr pointer is NULL" );
124 template <
typename T >
129 throw CARMA_ERROR(
"AutoFreedMallocPtr pointer is NULL" );
135 template <
typename T >
143 template <
typename T >
154 template <
typename T >
158 if ( tPtr != tPtr_ ) {
Exception class for errors.
AutoFreedMallocPtr< T > works like ::std::auto_ptr< T > except that the pointer is ::free'ed (if it is no...
#define CARMA_ERROR(y)
Trick to get the file name and line number passed to the exception handler.