All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
AllocHelper.h
1 #pragma once
2 
3 
4 namespace Eegeo
5 {
6  class AllocHelper
7  {
8  public:
9 
10  AllocHelper(const char* type, const char* file, int line, int elementCount = -1) :
11  m_type(type),
12  m_file(file),
13  m_line(line),
14  m_elementCount(elementCount)
15  {
16  }
17 
18  template <class T>
19  T* operator << (T* rhs)
20  {
21  AnnotateAllocation(rhs);
22 
23  return rhs;
24  }
25 
26  private:
27 
28  void AnnotateAllocation(void*);
29 
30  const char* m_type;
31  const char* m_file;
32  int m_line;
33  int m_elementCount;
34  };
35 };