26 #ifndef __TERRALIB_COMMON_INTERNAL_HOLDER_H 
   27 #define __TERRALIB_COMMON_INTERNAL_HOLDER_H 
   30 #include <boost/noncopyable.hpp> 
   43     template<
class T> 
struct Holder : 
public boost::noncopyable
 
   86 #endif  // __TERRALIB_COMMON_INTERNAL_HOLDER_H 
An auxiliary data structure for helping to control the garbage collection of C++ objects. 
 
T * m_handle
A pointer to a C++ object. 
 
bool m_isOwner
If true it specifies that JsObject has the ownership of the C++ handle. 
 
~Holder()
The destructor will check if it is necessary to release the C++ object handle. 
 
Holder(T *handle, bool isOwner)
Initializes a new garbage collection helper object.