UCommon
|
Various miscellaneous platform specific headers and defines. More...
#include <cstdlib>
#include <cstddef>
#include <pthread.h>
#include <signal.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <stdint.h>
#include <unistd.h>
#include <stdio.h>
#include <cctype>
#include <climits>
#include <cerrno>
#include <new>
#include <assert.h>
Go to the source code of this file.
Namespaces | |
ucommon | |
Common namespace for all ucommon objects. | |
Macros | |
#define | __DELETE_COPY(x) |
#define | __DELETE_DEFAULTS(x) |
#define | __DELETED |
#define | __EXPORT __attribute__ ((visibility("default"))) |
#define | __FINAL |
#define | __GNUC_PREREQ__(maj, min) 0 |
#define | __LOCAL __attribute__ ((visibility("hidden"))) |
#define | __MALLOC |
#define | __OVERRIDE |
#define | __PRINTF(x, y) |
#define | __SCANF(x, y) |
#define | __SHARED __attribute__ ((visibility("default"))) |
#define | _POSIX_PTHREAD_SEMANTICS |
#define | _REENTRANT 1 |
#define | _THREADSAFE 1 |
#define | _UCOMMON_EXTENDED_ |
#define | _UCOMMON_PLATFORM_H_ |
#define | crit(x, text) if(!(x)) cpr_runtime_error(text) |
#define | END_NAMESPACE } |
#define | INVALID_HANDLE_VALUE -1 |
#define | INVALID_SOCKET -1 |
#define | NAMESPACE_UCOMMON namespace ucommon { |
#define | NDEBUG |
#define | PROGRAM_EXIT(code) return code |
#define | PROGRAM_MAIN(argc, argv) extern "C" int main(int argc, char **argv) |
#define | SERVICE_MAIN(id, argc, argv) void service_##id(int argc, char **argv) |
#define | UCOMMON_ABI 6 |
#define | UCOMMON_NAMESPACE ucommon |
#define | UCOMMON_RTTI 1 |
Typedefs | |
typedef void(* | cpr_service_t )(int argc, char **argv) |
typedef int | fd_t |
typedef long | Integer |
typedef double | Real |
typedef void(* | sighandler_t )(int) |
Convenient typedef for signal handlers. More... | |
typedef int | socket_t |
typedef size_t | socksize_t |
typedef size_t | stacksize_t |
typedef unsigned long | timeout_t |
typedef uint8_t | ubyte_t |
typedef unsigned long | Unsigned |
Functions | |
template<typename T > | |
const T | immutable_cast (T p) |
template<class T > | |
T * | init (T *memory) |
Template function to initialize memory by invoking default constructor. More... | |
template<class T , class S > | |
T | polyconst_cast (S *s) |
template<class T , class S > | |
T | polydynamic_cast (S *s) |
template<class T , class S > | |
T | polypointer_cast (S *s) |
template<class T , class S > | |
T & | polyreference_cast (S *s) |
template<class T , class S > | |
T | polystatic_cast (S *s) |
template<typename T > | |
T & | reference_cast (T *pointer) |
void | strfree (char *str) |
Matching function for strdup(). More... | |
Variables | |
const class nullptr_t | nullptr = {} |
Various miscellaneous platform specific headers and defines.
This is used to support ucommon on different platforms. The ucommon library assumes at least a real posix threading library is present or will build thread support native on Microsoft Windows legacy platform. This header also deals with issues related to common base types.
Definition in file platform.h.
#define __DELETE_COPY | ( | x | ) |
Definition at line 114 of file platform.h.
#define __DELETE_DEFAULTS | ( | x | ) |
Definition at line 116 of file platform.h.
typedef void(* sighandler_t)(int) |
Convenient typedef for signal handlers.
Definition at line 412 of file platform.h.
|
inline |
Template function to initialize memory by invoking default constructor.
If NULL is passed, then NULL is returned without any constructor called.
memory | to initialize. |
Definition at line 510 of file platform.h.
|
inline |
Matching function for strdup().
string | to release from allocated memory. |
Definition at line 522 of file platform.h.