Thea
Namespaces | Macros | Typedefs
Platform.hpp File Reference

This file must be included in every file in the project, before any other include. More...

#include <cstddef>
#include "SymbolVisibility.hpp"

Go to the source code of this file.

Namespaces

 Thea
 Root namespace for the Thea library.
 

Macros

#define THEA_BEGIN_PACKED_CLASS(byte_align)
 Use tight alignment for a class. More...
 
#define THEA_END_PACKED_CLASS(byte_align)   ;
 Mark end of class that uses tight alignment. More...
 
#define THEA_ICALL   THEA_STDCALL
 Calling convention for member functions of abstract interface classes (for talking to shared libraries). More...
 
#define THEA_PRAGMA(x)   _Pragma(#x)
 #pragma may not appear inside a macro, so this uses the pragma operator to create an equivalent statement. More...
 

Typedefs

typedef std::ptrdiff_t intx
 A signed integer suitable for indexing a structure held in memory. More...
 
typedef std::size_t uintx
 An unsigned integer suitable for indexing a structure held in memory. More...
 

Detailed Description

This file must be included in every file in the project, before any other include.

Definition in file Platform.hpp.

Macro Definition Documentation

#define THEA_BEGIN_PACKED_CLASS (   byte_align)

Use tight alignment for a class.

Useful for small classes that must be packed into an array.

Definition at line 133 of file Platform.hpp.

#define THEA_END_PACKED_CLASS (   byte_align)    ;

Mark end of class that uses tight alignment.

Definition at line 142 of file Platform.hpp.

#define THEA_ICALL   THEA_STDCALL

Calling convention for member functions of abstract interface classes (for talking to shared libraries).

Definition at line 115 of file Platform.hpp.

#define THEA_PRAGMA (   x)    _Pragma(#x)

#pragma may not appear inside a macro, so this uses the pragma operator to create an equivalent statement.

Definition at line 126 of file Platform.hpp.