Initial commit.
[pdfium.git] / core / src / fxcodec / jbig2 / JBig2_Object.h
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4  \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #ifndef _JBIG2_OBJECT_H_\r
8 #define _JBIG2_OBJECT_H_\r
9 #include "JBig2_Define.h"\r
10 class CJBig2_Module;\r
11 #define _JBIG2_NO_EXPECTION_\r
12 class CJBig2_Object\r
13 {\r
14 public:\r
15 \r
16     void *operator new(size_t size, CJBig2_Module *pModule, FX_LPCSTR filename, int line);\r
17 \r
18     void operator delete(void *p, CJBig2_Module *pModule, FX_LPCSTR filename, int line);\r
19 \r
20     void *operator new(size_t size, CJBig2_Module *pModule);\r
21 \r
22     void operator delete(void *p);\r
23 \r
24     void operator delete(void *p, CJBig2_Module *pModule);\r
25 \r
26     void *operator new[](size_t size, CJBig2_Module *pModule, size_t unit_size,\r
27                          FX_LPCSTR filename, int line);\r
28 \r
29     void operator delete[](void *p, CJBig2_Module *pModule, size_t unit_size,\r
30                            FX_LPCSTR filename, int line);\r
31 \r
32     void *operator new[](size_t size, CJBig2_Module *pModule, size_t unit_size);\r
33 \r
34     void operator delete[](void* p);\r
35 \r
36     void operator delete[](void *p, CJBig2_Module *pModule, size_t unit_size);\r
37 public:\r
38 \r
39     CJBig2_Module *m_pModule;\r
40 };\r
41 #define JBIG2_NEW new(m_pModule)\r
42 #define JBIG2_ALLOC(p, a) p = JBIG2_NEW a; p->m_pModule = m_pModule;\r
43 #endif\r