diff options
Diffstat (limited to '3rdparty/bx/include/bx/bx.h')
-rw-r--r-- | 3rdparty/bx/include/bx/bx.h | 61 |
1 files changed, 33 insertions, 28 deletions
diff --git a/3rdparty/bx/include/bx/bx.h b/3rdparty/bx/include/bx/bx.h index 43ccba3cce1..838c429a8f5 100644 --- a/3rdparty/bx/include/bx/bx.h +++ b/3rdparty/bx/include/bx/bx.h @@ -6,47 +6,47 @@ #ifndef BX_H_HEADER_GUARD #define BX_H_HEADER_GUARD +#include <alloca.h> // alloca +#include <stdarg.h> // va_list #include <stdint.h> // uint32_t #include <stdlib.h> // size_t #include <stddef.h> // ptrdiff_t +#include "platform.h" #include "config.h" #include "macros.h" -namespace bx -{ - // http://cnicholson.net/2011/01/stupid-c-tricks-a-better-sizeof_array/ - template<typename T, size_t N> char (&COUNTOF_REQUIRES_ARRAY_ARGUMENT(const T(&)[N]) )[N]; +/// #define BX_COUNTOF(_x) sizeof(bx::COUNTOF_REQUIRES_ARRAY_ARGUMENT(_x) ) - // Template for avoiding MSVC: C4127: conditional expression is constant - template<bool> - inline bool isEnabled() - { - return true; - } - - template<> - inline bool isEnabled<false>() - { - return false; - } +/// +#define BX_IGNORE_C4127(_x) bx::ignoreC4127(!!(_x) ) + +/// #define BX_ENABLED(_x) bx::isEnabled<!!(_x)>() - inline bool ignoreC4127(bool _x) - { - return _x; - } -#define BX_IGNORE_C4127(_x) bx::ignoreC4127(!!(_x) ) +namespace bx +{ + /// Template for avoiding MSVC: C4127: conditional expression is constant + template<bool> + bool isEnabled(); + /// + bool ignoreC4127(bool _x); + + /// template<typename Ty> - inline void xchg(Ty& _a, Ty& _b) - { - Ty tmp = _a; _a = _b; _b = tmp; - } + void xchg(Ty& _a, Ty& _b); + + /// + void xchg(void* _a, void* _b, size_t _numBytes); + + // http://cnicholson.net/2011/01/stupid-c-tricks-a-better-sizeof_array/ + template<typename T, size_t N> + char (&COUNTOF_REQUIRES_ARRAY_ARGUMENT(const T(&)[N]) )[N]; /// - void* memCopy(void* _dst, const void* _src, size_t _numBytes); + void memCopy(void* _dst, const void* _src, size_t _numBytes); /// void memCopy(void* _dst, const void* _src, uint32_t _size, uint32_t _num, uint32_t _srcPitch, uint32_t _dstPitch); @@ -58,11 +58,16 @@ namespace bx void scatter(void* _dst, const void* _src, uint32_t _size, uint32_t _num, uint32_t _dstPitch); /// - void* memMove(void* _dst, const void* _src, size_t _numBytes); + void memMove(void* _dst, const void* _src, size_t _numBytes); /// - void* memSet(void* _dst, uint8_t _ch, size_t _numBytes); + void memSet(void* _dst, uint8_t _ch, size_t _numBytes); + + /// + int32_t memCmp(const void* _lhs, const void* _rhs, size_t _numBytes); } // namespace bx +#include "inline/bx.inl" + #endif // BX_H_HEADER_GUARD |