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.