Index: core/include/fxcrt/fx_basic.h |
diff --git a/core/include/fxcrt/fx_basic.h b/core/include/fxcrt/fx_basic.h |
index 62324f5b2a6f53a7dc82c963cf25b09f5797e48c..f5d18c56f96d808118d633aba37bf8716bd39221 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: |
+ CFX_AutoRestorer(T* location) { |
Lei Zhang
2015/01/27 00:43:32
nit: explicit
Tom Sepez
2015/01/27 00:50:45
Done.
|
+ 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 |
{ |