1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #ifndef _zadapt_H_
- #define _zadapt_H_
- /////////////////////////////////////////////////////////////////////////////
- // An adapter to allow classes like TRefs to be stored in STL containers
- // (the operator & was breaking things). This was shamelessly stolen from
- // the ATL class CAdapt and modified for our purposes.
- //
- template <class T>
- class ZAdapt
- {
- public:
- ZAdapt()
- {
- }
- ZAdapt(const T& rSrc) :
- m_T(rSrc)
- {
- }
- ZAdapt(const ZAdapt& rSrCA) :
- m_T(rSrCA.m_T)
- {
- }
- ZAdapt& operator=(const T& rSrc)
- {
- m_T = rSrc;
- return *this;
- }
- bool operator<(const T& rSrc) const
- {
- return m_T < rSrc;
- }
- bool operator==(const T& rSrc) const
- {
- return m_T == rSrc;
- }
- operator T&()
- {
- return m_T;
- }
- operator const T&() const
- {
- return m_T;
- }
- T& operator->()
- {
- return m_T;
- }
- const T& operator->() const
- {
- return m_T;
- }
- T m_T;
- };
- /////////////////////////////////////////////////////////////////////////////
- #endif
|