CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
OdAlloc.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2022 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24
25#ifndef _OD_ALLOC_INCLUDED_
26#define _OD_ALLOC_INCLUDED_
27
28#include "OdAllocExport.h"
29
30#if (defined(__GNUC__) && __GNUC__ >= 5 && __cpp_sized_deallocation >= 201309) || (defined(_MSC_VER) && _MSC_VER >= 1800) //VS2015 and newer or GCC 5 and newer (support C++ 11)
31
32#define NEW_HANDLER()\
33{\
34 std::new_handler handler = std::get_new_handler ();\
35 if (!handler)\
36 throw std::bad_alloc();\
37 handler();\
38}
39
40#else
41#define NEW_HANDLER()\
42 throw std::bad_alloc();
43#endif
44
49//DD:EXPORT_ON
50
51#ifdef __cplusplus
52 extern "C" {
53#endif
54
63 extern ALLOCDLL_EXPORT void* odrxAlloc (size_t nBytes);
74 extern ALLOCDLL_EXPORT void* odrxRealloc(void* pMemBlock, size_t newSize, size_t oldSize);
81 extern ALLOCDLL_EXPORT void odrxFree (void* pMemBlock);
86
87#ifdef __cplusplus
88 } // extern "C"
89#endif
90
91//DD:EXPORT_OFF
92
93#endif
ALLOCDLL_EXPORT void * odrxRealloc(void *pMemBlock, size_t newSize, size_t oldSize)
ALLOCDLL_EXPORT void * odrxAlloc(size_t nBytes)
ALLOCDLL_EXPORT OdUInt64 GetMemoryUsageInternalInfo(OdUInt32 target)
ALLOCDLL_EXPORT void odrxFree(void *pMemBlock)
#define ALLOCDLL_EXPORT
Definition: OdAllocExport.h:42
unsigned int OdUInt32