aboutsummaryrefslogtreecommitdiff
path: root/mp/src/public/vstdlib/vcover.h
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/public/vstdlib/vcover.h')
-rw-r--r--mp/src/public/vstdlib/vcover.h250
1 files changed, 125 insertions, 125 deletions
diff --git a/mp/src/public/vstdlib/vcover.h b/mp/src/public/vstdlib/vcover.h
index a705d776..156534c0 100644
--- a/mp/src/public/vstdlib/vcover.h
+++ b/mp/src/public/vstdlib/vcover.h
@@ -1,125 +1,125 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose: A simple tool for coverage tests
-//
-//=============================================================================
-
-#ifndef VCOVER_H
-#define VCOVER_H
-
-#include "tier1/utlrbtree.h"
-#include "vstdlib.h"
-
-#if defined( _WIN32 )
-#pragma once
-#endif
-
-class CVCoverage
-{
-public:
- CVCoverage() :
- m_bActive( false ),
- m_depth( 0 ),
- m_token( 1 )
- {
- }
-
- bool IsActive() const
- {
- return m_bActive;
- }
-
- void SetActive( bool bActive )
- {
- Assert( bActive != m_bActive );
- m_bActive = bActive;
- if ( bActive )
- ++m_token;
- }
-
- void Begin()
- {
- ++m_depth;
- }
-
- void End()
- {
- --m_depth;
- }
-
- void Reset()
- {
- m_locations.RemoveAll();
- }
-
- bool ShouldCover( unsigned token ) const
- {
- return ( m_bActive && m_depth > 0 && token != m_token );
- }
-
- unsigned Cover( const char *pszFile, int line )
- {
- Location_t location = { pszFile, line };
-
- m_locations.Insert( location );
-
- return m_token;
- }
-
- void Report()
- {
- for ( int i = m_locations.FirstInorder(); i != m_locations.InvalidIndex(); i = m_locations.NextInorder( i ) )
- {
- Msg( "%s(%d) :\n", m_locations[i].pszFile, m_locations[i].line );
- }
- }
-
-private:
- struct Location_t
- {
- const char *pszFile;
- int line;
-
- };
-
- class CLocationLess
- {
- public:
- CLocationLess( int ignored ) {}
- bool operator!() { return false; }
-
- bool operator()( const Location_t &lhs, const Location_t &rhs ) const
- {
- if ( lhs.line < rhs.line )
- {
- return true;
- }
-
- return CaselessStringLessThan( lhs.pszFile, rhs.pszFile );
- }
- };
-
- bool m_bActive;
- int m_depth;
- unsigned m_token;
-
- CUtlRBTree< Location_t, unsigned short, CLocationLess > m_locations;
-};
-
-VSTDLIB_INTERFACE CVCoverage g_VCoverage;
-
-#ifdef VCOVER_ENABLED
-#define VCOVER() \
- do \
- { \
- static token; \
- if ( g_VCoverage.ShouldCover( token ) ) \
- { \
- token = g_VCoverage.Cover( __FILE__, __LINE__ ); \
- } \
- } while( 0 )
-#else
-#define VCOVER() ((void)0)
-#endif
-
-#endif // VCOVER_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: A simple tool for coverage tests
+//
+//=============================================================================
+
+#ifndef VCOVER_H
+#define VCOVER_H
+
+#include "tier1/utlrbtree.h"
+#include "vstdlib.h"
+
+#if defined( _WIN32 )
+#pragma once
+#endif
+
+class CVCoverage
+{
+public:
+ CVCoverage() :
+ m_bActive( false ),
+ m_depth( 0 ),
+ m_token( 1 )
+ {
+ }
+
+ bool IsActive() const
+ {
+ return m_bActive;
+ }
+
+ void SetActive( bool bActive )
+ {
+ Assert( bActive != m_bActive );
+ m_bActive = bActive;
+ if ( bActive )
+ ++m_token;
+ }
+
+ void Begin()
+ {
+ ++m_depth;
+ }
+
+ void End()
+ {
+ --m_depth;
+ }
+
+ void Reset()
+ {
+ m_locations.RemoveAll();
+ }
+
+ bool ShouldCover( unsigned token ) const
+ {
+ return ( m_bActive && m_depth > 0 && token != m_token );
+ }
+
+ unsigned Cover( const char *pszFile, int line )
+ {
+ Location_t location = { pszFile, line };
+
+ m_locations.Insert( location );
+
+ return m_token;
+ }
+
+ void Report()
+ {
+ for ( int i = m_locations.FirstInorder(); i != m_locations.InvalidIndex(); i = m_locations.NextInorder( i ) )
+ {
+ Msg( "%s(%d) :\n", m_locations[i].pszFile, m_locations[i].line );
+ }
+ }
+
+private:
+ struct Location_t
+ {
+ const char *pszFile;
+ int line;
+
+ };
+
+ class CLocationLess
+ {
+ public:
+ CLocationLess( int ignored ) {}
+ bool operator!() { return false; }
+
+ bool operator()( const Location_t &lhs, const Location_t &rhs ) const
+ {
+ if ( lhs.line < rhs.line )
+ {
+ return true;
+ }
+
+ return CaselessStringLessThan( lhs.pszFile, rhs.pszFile );
+ }
+ };
+
+ bool m_bActive;
+ int m_depth;
+ unsigned m_token;
+
+ CUtlRBTree< Location_t, unsigned short, CLocationLess > m_locations;
+};
+
+VSTDLIB_INTERFACE CVCoverage g_VCoverage;
+
+#ifdef VCOVER_ENABLED
+#define VCOVER() \
+ do \
+ { \
+ static token; \
+ if ( g_VCoverage.ShouldCover( token ) ) \
+ { \
+ token = g_VCoverage.Cover( __FILE__, __LINE__ ); \
+ } \
+ } while( 0 )
+#else
+#define VCOVER() ((void)0)
+#endif
+
+#endif // VCOVER_H