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);
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.