omw  0.2.1-beta

Compiler

#include <omw/defs.h>

Only one is defined, depending which compiler is used.

#define OMW_CXX_CLANG   (1)
 
#define OMW_CXX_GCC   (1)
 
#define OMW_CXX_MSVC   (1)
 
#define OMW_CXX_MINGW32   (1)
 
#define OMW_CXX_MINGW64   (1)
 
#define OMW_CXX_EMSCRIPTEN   (1)
 
#define OMW_CXX_UNKNOWN   (1)
 

Platform

#include <omw/defs.h>

Defined as 1 or undefined, depending on the target platform. Multiple definitions possible.

#define OMW_PLAT_WIN   (1)
 
#define OMW_PLAT_WIN32   (1)
 
#define OMW_PLAT_WIN64   (1)
 
#define OMW_PLAT_UNIX   (1)
 
#define OMW_PLAT_POSIX   (1)
 
#define OMW_PLAT_LINUX   (1)
 
#define OMW_PLAT_APPLE   (1)
 
#define OMW_PLAT_BSD   (1)
 
#define OMW_PLAT_UNKNOWN   (1)
 

Processor Architecture

#include <omw/defs.h>

Only one is defined, depending on the targeted processor architecture.

#define OMW_PARCH_x86_32   (1)
 
#define OMW_PARCH_x86_64   (1)
 
#define OMW_PARCH_ARM32   (1)
 
#define OMW_PARCH_ARM64   (1)
 
#define OMW_PARCH_POWERPC   (1)
 
#define OMW_PARCH_UNKNOWN   (1)
 

C++ Standard Version

#include <omw/defs.h>

#define OMW_CPPSTD
 
#define OMW_CPPSTD_98   (199711L)
 
#define OMW_CPPSTD_11   (201103L)
 
#define OMW_CPPSTD_14   (201402L)
 
#define OMW_CPPSTD_17   (201703L)
 
#define OMW_CPPSTD_20   (202002L)
 
#define OMW_CPPSTD_23   (202100L)
 

Misc

#include <omw/defs.h>

#define OMW_DEBUG   (1)
 
#define OMW__FILENAME__
 

OMW Info

#include <omw/omw.h>

#define OMW_VERSION_ID   (5)
 
#define OMW_VERSION_MAJ   (0)
 
#define OMW_VERSION_MIN   (2)
 
#define OMW_VERSION_PAT   (1)
 
#define OMW_VERSION_PRSTR   ("beta")
 
#define OMW_VERSION_ID_0_2_0   (1)
 
#define OMW_VERSION_ID_0_2_1_ALPHA   (2)
 
#define OMW_VERSION_ID_0_2_1_ALPHA_1   (3)
 
#define OMW_VERSION_ID_0_2_1_ALPHA_2   (4)
 
#define OMW_VERSION_ID_0_2_1_BETA   (5)
 

Detailed Description

See also omw/defs.h and omw/omw.h.

Macro Definition Documentation

◆ OMW__FILENAME__

#define OMW__FILENAME__

since C++14

Returns the filename of the current file as const char*. Similar to __FILE__, but does not contain the full path.

◆ OMW_CPPSTD

#define OMW_CPPSTD

Used to compare to OMW_CPPSTD_xx.

If MSVC is used it's defined as an alias for the MSVC specific macro _MSVC_LANG, otherwise it's an alias for __cplusplus.

◆ OMW_CPPSTD_23

#define OMW_CPPSTD_23   (202100L)

C++23 isn't released yet. Thus the value may change in the future!

The current value is from GCC 11.1.0

◆ OMW_DEBUG

#define OMW_DEBUG   (1)

Defined as 1 if _DEBUG is defined, otherwise undefined.

◆ OMW_PLAT_POSIX

#define OMW_PLAT_POSIX   (1)

Defined as 1 if the Unix is POSIX compliant, otherwise undefined.

◆ OMW_PLAT_WIN

#define OMW_PLAT_WIN   (1)

Defined as 1 if OMW_PLAT_WIN32 or OMW_PLAT_WIN64 is defined, otherwise undefined.

◆ OMW_PLAT_WIN32

#define OMW_PLAT_WIN32   (1)

Defined as 1 if target is 32-bit Windows, otherwise undefined.

◆ OMW_PLAT_WIN64

#define OMW_PLAT_WIN64   (1)

Defined as 1 if target is 64-bit Windows, otherwise undefined.

◆ OMW_VERSION_ID

#define OMW_VERSION_ID   (5)

Uniqe version ID, always greater than the ID of the last version.

Can be compared to OMW_VERSION_ID_..

Version Version ID
v0.2.0 1
v0.2.1-alpha 2
v0.2.1-alpha.1 3
v0.2.1-alpha.2 4
v0.2.1-beta 5