25 #ifndef __TERRALIB_COMMON_INTERNAL_DECORATOR_H    26 #define __TERRALIB_COMMON_INTERNAL_DECORATOR_H    56         Decorator(T* decorated, 
bool deleteDecorated = 
false);
   105         m_decorated(decorated),
   106         m_delDecorated(deleteDecorated)
   119       : m_decorated(rhs.m_decorated),
   120         m_delDecorated(rhs.m_delDecorated)
   142       if(decorated == m_decorated)
   148         return findDecorator(d);
   156       if(decorated == 
this)
   158         m_delDecorated = 
false;
   162       T* fd = findDecorator(decorated);
   166       if(aux != 0 && fd != 0)
   178 #endif //__TERRALIB_COMMON_INTERNAL_DECORATOR_H Decorator(T *decorated, bool deleteDecorated=false)
Constructor. 
 
T * removeDecorator(T *decorated)
Removes The decorator of the decorated. 
 
bool m_delDecorated
If true, also delete decorated pointer. 
 
T * getDecorated()
Returns the pointer of decorated object.   
 
Decorator & operator=(const Decorator &rhs)
Copy operator. 
 
T * m_decorated
The object decorated. 
 
T * findDecorator(T *decorated)
Returns the Decorator that decorates this item. 
 
virtual ~Decorator()
Virtual destructor.