48#if !defined(MRC_DEPRECATED) && !defined(MRC_DEPRECATED_REASON)
49# if defined(__cplusplus)
50# ifdef __has_cpp_attribute
51# if __has_cpp_attribute(deprecated)
52# define MRC_DEPRECATED [[deprecated]]
54# define MRC_DEPRECATED_REASON(str) [[deprecated("is deprecated: " str)]]
56# define MRC_DEPRECATED_REASON(str) [[deprecated(str)]]
60# elif defined(_MSC_VER)
61# if _MSC_VER >= 1937 && __STDC_VERSION__ >= 202312
62# define MRC_DEPRECATED [[deprecated]]
63# define MRC_DEPRECATED_REASON(str) [[deprecated("is deprecated: " str)]]
65# define MRC_DEPRECATED __declspec(deprecated)
66# define MRC_DEPRECATED_REASON(str) __declspec(deprecated("is deprecated: " str))
69# if defined(__has_c_attribute) && (__STDC_VERSION__ >= 202311 || !defined(__GNUC__))
70# if __has_c_attribute(deprecated)
71# define MRC_DEPRECATED [[deprecated]]
72# define MRC_DEPRECATED_REASON(str) [[deprecated(str)]]
75# if !defined(MRC_DEPRECATED) && defined(__GNUC__)
76# define MRC_DEPRECATED __attribute__((__deprecated__))
77# define MRC_DEPRECATED_REASON(str) __attribute__((__deprecated__(str)))
80# ifndef MRC_DEPRECATED
81# define MRC_DEPRECATED
83# ifndef MRC_DEPRECATED_REASON
84# define MRC_DEPRECATED_REASON(str) MRC_DEPRECATED
MRC_API void * MR_AllocArray(size_t num_bytes)
MRC_API void MR_FreeArray(void *ptr)
Deallocates memory that was previously allocated with MR_AllocArray(). Does nothing if the pointer is...
int64_t MR_int64_t
Definition common.h:17
MR_PassBy
Definition common.h:23
@ MR_PassBy_NoObject
Definition common.h:29
@ MR_PassBy_DefaultConstruct
Definition common.h:24
@ MR_PassBy_MoveAndDestroy
Definition common.h:27
@ MR_PassBy_DefaultArgument
Definition common.h:28
@ MR_PassBy_Move
Definition common.h:26
@ MR_PassBy_Copy
Definition common.h:25
MRC_API void * MR_Alloc(size_t num_bytes)
Allocates n bytes of memory, which can then be freed using MR_Free().
MRC_API void MR_Free(void *ptr)
Deallocates memory that was previously allocated with MR_Alloc(). Does nothing if the pointer is null...
uint64_t MR_uint64_t
Definition common.h:18
#define MRC_API
Definition include/MRCMisc/exports.h:11