diff --git a/src/public/tier1/depthcounter.h b/src/public/tier1/depthcounter.h new file mode 100644 index 00000000..269d5ff0 --- /dev/null +++ b/src/public/tier1/depthcounter.h @@ -0,0 +1,31 @@ +//=============================================================================// +// +// Purpose: simple class that could be used to manage depths of nested elements +// +//=============================================================================// +#ifndef TIER1_DEPTHCOUNTER_H +#define TIER1_DEPTHCOUNTER_H + +template +class CDepthCounter +{ +public: + CDepthCounter(T& counter) : ref(counter) + { + ref++; + } + ~CDepthCounter() + { + ref--; + } + + T Get() + { + return ref; + } + +private: + T& ref; +}; + +#endif // TIER1_DEPTHCOUNTER_H