UCommon
|
Various miscellaneous platform specific headers and defines. More...
#include <cstdlib>
#include <cstddef>
#include <stdexcept>
#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 | __ALIGNED(x) __attribute__(align(x)) |
#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 | __PROGRAM(c, v) extern "C" int main(int c, char **v) |
#define | __PROTOCOL virtual |
#define | __SCANF(x, y) |
#define | __SERVICE(id, c, v) void service_##id(int c, char **v) |
#define | __SHARED __attribute__ ((visibility("default"))) |
#define | __THROW_ALLOC() throw std::bad_alloc() |
#define | __THROW_DEREF(v) |
#define | __THROW_RANGE(x) throw std::out_of_range(x) |
#define | __THROW_RUNTIME(x) throw std::runtime_error(x) |
#define | __THROW_SIZE(x) throw std::length_error(x) |
#define | __THROW_UNDEF(v, x) if(v == nullptr) throw std::runtime_error(x) |
#define | __UNUSED(x) (void)x |
#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 7 |
#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 , typename S > | |
T | protocol_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 160 of file platform.h.
#define __DELETE_DEFAULTS | ( | x | ) |
Definition at line 162 of file platform.h.
#define __THROW_DEREF | ( | v | ) |
Definition at line 53 of file platform.h.
typedef void(* sighandler_t) (int) |
Convenient typedef for signal handlers.
Definition at line 451 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 551 of file platform.h.
|
inline |
Matching function for strdup().
string | to release from allocated memory. |
Definition at line 563 of file platform.h.