61 lines
1.6 KiB
C++
61 lines
1.6 KiB
C++
#pragma once
|
|
#include "FTAPI_Define.h"
|
|
using namespace Futu;
|
|
#ifdef _WIN32
|
|
# define OM_Win32
|
|
#endif
|
|
#ifdef __linux__
|
|
# define OM_Linux
|
|
#endif
|
|
#ifdef __APPLE__
|
|
# define OM_Apple
|
|
# include <TargetConditionals.h>
|
|
# if (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || (defined(TARGET_IPHONE_SIMULATOR) && TARGET_IPHONE_SIMULATOR)
|
|
# define OM_Apple_iOS
|
|
# else
|
|
# define OM_Apple_Mac
|
|
# endif
|
|
#endif
|
|
#ifdef __ANDROID__
|
|
# define OM_Android
|
|
#endif
|
|
#if (defined(OM_Win32) && defined(_DEBUG))
|
|
# define OM_Debug
|
|
#endif
|
|
#if (defined(OM_Linux) && defined(DEBUG) && DEBUG)
|
|
# define OM_Debug
|
|
#endif
|
|
#if (defined(OM_Apple) && defined(DEBUG) && DEBUG)
|
|
# define OM_Debug
|
|
#endif
|
|
#if (defined(OM_Android) && !defined(NDEBUG))
|
|
# define OM_Debug
|
|
#endif
|
|
#if (!defined(OM_Debug) && !defined(NDEBUG))
|
|
# define NDEBUG
|
|
#endif
|
|
typedef std::string Buf_t;
|
|
typedef std::string Str_t;
|
|
#ifdef OM_Debug
|
|
# ifdef OM_Win32
|
|
# define OMWarn (__debugbreak(), 0)
|
|
# else
|
|
# ifdef OM_Apple
|
|
# define OMWarn { assert(false); }
|
|
# else
|
|
# define OMWarn
|
|
# endif
|
|
# endif
|
|
#else
|
|
# define OMWarn
|
|
#endif
|
|
#define IsNullPtr(p) ((p) == nullptr)
|
|
#define IsNotNullPtr(p) (!IsNullPtr(p))
|
|
#define If_Do(b, d) { if (b) { d; } }
|
|
#define If_Return(b, r) { if (b) { return r; } }
|
|
#define If_ReturnVoid(b) { if (b) { return; } }
|
|
#define If_OMWarn(b) { if (b) { OMWarn; } }
|
|
#define If_OMWarn_Return(b, r) { if (b) { OMWarn; return r; } }
|
|
#define If_Do_OMWarn_Return(b, d, r) { if (b) { d; OMWarn; return r; } }
|
|
#define ContainerSize(container) ((i32_t)(container).size())
|
|
#define Foreach_Iter(iterName, container) for (auto iterName = (container).begin(); iterName != (container).end(); iterName++) |