| Index: core/include/fxcrt/fx_basic.h
|
| diff --git a/core/include/fxcrt/fx_basic.h b/core/include/fxcrt/fx_basic.h
|
| index 1c828cea48c8a4aff001b110cee80869b414b669..b63327c9c2aa6795b839e32954071d78b05beaab 100644
|
| --- a/core/include/fxcrt/fx_basic.h
|
| +++ b/core/include/fxcrt/fx_basic.h
|
| @@ -1414,6 +1414,21 @@ protected:
|
|
|
| CFX_DataFilter* m_pDestFilter;
|
| };
|
| +
|
| +template<typename T>
|
| +class CFX_AutoRestorer {
|
| +public:
|
| + explicit CFX_AutoRestorer(T* location) {
|
| + m_Location = location;
|
| + m_OldValue = *location;
|
| + }
|
| + ~CFX_AutoRestorer() { *m_Location = m_OldValue; }
|
| +
|
| +private:
|
| + T* m_Location;
|
| + T m_OldValue;
|
| +};
|
| +
|
| template <class T>
|
| class CFX_SmartPointer
|
| {
|
|
|