Chromium Code Reviews| 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 |
| { |