Lunchbox  1.15.0
Multi-threaded C++ toolbox library for all application developers creating high-performance multi-threaded programs.
types.h File Reference

Basic type definitions not provided by the operating system. More...

#include <lunchbox/defines.h>
#include <servus/types.h>
#include <string>
#include <vector>
#include <sys/types.h>
#include <stdint.h>
+ Include dependency graph for types.h:

Go to the source code of this file.

Classes

class  lunchbox::Array< T >
 A wrapper for C arrays without any memory management. More...
 
class  lunchbox::Atomic< T >
 A variable with atomic semantics and standalone atomic operations. More...
 
class  lunchbox::Buffer< T >
 A simple memory buffer with some helper functions. More...
 
class  lunchbox::Future< T >
 A future represents a asynchronous operation. More...
 
class  lunchbox::Monitor< T >
 A monitor primitive. More...
 
class  lunchbox::Request< T >
 A Future implementation for a RequestHandler request. More...
 
class  lunchbox::LFVectorIterator< V, T >
 An iterator for LFVector. More...
 
class  lunchbox::Lockable< D, L >
 A convenience structure to hold data together with a lock for access. More...
 
class  lunchbox::Plugin< T >
 Manages a class deriving from a T interface. More...
 
class  lunchbox::PluginFactory< T >
 Factory for Plugin classes. More...
 
class  lunchbox::LFVector< T, nSlots >
 STL-like vector implementation providing certain thread-safety guarantees. More...
 

Namespaces

 lunchbox
 Abstraction layer and common utilities for multi-threaded programming.
 

Macros

#define LB_UNDEFINED_UINT16   (0xffffu)
 A 'NULL' value for an uint16. More...
 
#define LB_UNDEFINED_UINT32   (0xffffffffu)
 A 'NULL' value for an uint32. More...
 
#define LB_UNDEFINED_UINT64   (0xffffffffffffffffull)
 A 'NULL' value for an uint64. More...
 
#define LB_MAX_UINT32   (0xfffffff0u)
 The biggest usable value when using special uint32 values. More...
 
#define LB_TIMEOUT_INDEFINITE   0xffffffffu
 Constant defining 'wait forever' in methods with wait parameters. More...
 
#define LB_TIMEOUT_DEFAULT   0xfffffffeu
 Constant defining use global default in methods with wait parameters. More...
 
#define LB_MAX(a, b)   ((a)>(b)?(a):(b))
 returns the maximum of two values
 
#define LB_MIN(a, b)   ((a)<(b)?(a):(b))
 returns the minimum of two values
 
#define LB_BIT1   (0x00000001u)
 
#define LB_BIT2   (0x00000002u)
 
#define LB_BIT3   (0x00000004u)
 
#define LB_BIT4   (0x00000008u)
 
#define LB_BIT5   (0x00000010u)
 
#define LB_BIT6   (0x00000020u)
 
#define LB_BIT7   (0x00000040u)
 
#define LB_BIT8   (0x00000080u)
 
#define LB_BIT9   (0x00000100u)
 
#define LB_BIT10   (0x00000200u)
 
#define LB_BIT11   (0x00000400u)
 
#define LB_BIT12   (0x00000800u)
 
#define LB_BIT13   (0x00001000u)
 
#define LB_BIT14   (0x00002000u)
 
#define LB_BIT15   (0x00004000u)
 
#define LB_BIT16   (0x00008000u)
 
#define LB_BIT17   (0x00010000u)
 
#define LB_BIT18   (0x00020000u)
 
#define LB_BIT19   (0x00040000u)
 
#define LB_BIT20   (0x00080000u)
 
#define LB_BIT21   (0x00100000u)
 
#define LB_BIT22   (0x00200000u)
 
#define LB_BIT23   (0x00400000u)
 
#define LB_BIT24   (0x00800000u)
 
#define LB_BIT25   (0x01000000u)
 
#define LB_BIT26   (0x02000000u)
 
#define LB_BIT27   (0x04000000u)
 
#define LB_BIT28   (0x08000000u)
 
#define LB_BIT29   (0x10000000u)
 
#define LB_BIT30   (0x20000000u)
 
#define LB_BIT31   (0x40000000u)
 
#define LB_BIT32   (0x80000000u)
 
#define LB_BIT33   (0x0000000100000000ull)
 
#define LB_BIT34   (0x0000000200000000ull)
 
#define LB_BIT35   (0x0000000400000000ull)
 
#define LB_BIT36   (0x0000000800000000ull)
 
#define LB_BIT37   (0x0000001000000000ull)
 
#define LB_BIT38   (0x0000002000000000ull)
 
#define LB_BIT39   (0x0000004000000000ull)
 
#define LB_BIT40   (0x0000008000000000ull)
 
#define LB_BIT41   (0x0000010000000000ull)
 
#define LB_BIT42   (0x0000020000000000ull)
 
#define LB_BIT43   (0x0000040000000000ull)
 
#define LB_BIT44   (0x0000080000000000ull)
 
#define LB_BIT45   (0x0000100000000000ull)
 
#define LB_BIT46   (0x0000200000000000ull)
 
#define LB_BIT47   (0x0000400000000000ull)
 
#define LB_BIT48   (0x0000800000000000ull)
 
#define LB_BIT49   (0x0001000000000000ull)
 
#define LB_BIT50   (0x0002000000000000ull)
 
#define LB_BIT51   (0x0004000000000000ull)
 
#define LB_BIT52   (0x0008000000000000ull)
 
#define LB_BIT53   (0x0010000000000000ull)
 
#define LB_BIT54   (0x0020000000000000ull)
 
#define LB_BIT55   (0x0040000000000000ull)
 
#define LB_BIT56   (0x0080000000000000ull)
 
#define LB_BIT57   (0x0100000000000000ull)
 
#define LB_BIT58   (0x0200000000000000ull)
 
#define LB_BIT59   (0x0400000000000000ull)
 
#define LB_BIT60   (0x0800000000000000ull)
 
#define LB_BIT61   (0x1000000000000000ull)
 
#define LB_BIT62   (0x2000000000000000ull)
 
#define LB_BIT63   (0x4000000000000000ull)
 
#define LB_BIT64   (0x8000000000000000ull)
 
#define LB_BIT_ALL_32   (0xffffffffu)
 
#define LB_BIT_ALL_64   (0xffffffffffffffffull)
 
#define LB_BIT_NONE   (0)
 
#define LB_1KB   (1024)
 
#define LB_10KB   (10240)
 
#define LB_100KB   (102400)
 
#define LB_1MB   (1048576)
 
#define LB_10MB   (10485760)
 
#define LB_100MB   (104857600)
 
#define LB_1GB   (1073741824)
 
#define LB_2KB   (2048)
 
#define LB_4KB   (4096)
 
#define LB_8KB   (8192)
 
#define LB_16KB   (16384)
 
#define LB_32KB   (32768)
 
#define LB_64KB   (65536)
 
#define LB_128KB   (131072)
 
#define LB_256KB   (262144)
 
#define LB_512KB   (524288)
 
#define LB_2MB   (2097152)
 
#define LB_4MB   (4194304)
 
#define LB_8MB   (8388608)
 
#define LB_16MB   (16777216)
 
#define LB_32MB   (33554432)
 
#define LB_48MB   (50331648)
 
#define LB_64MB   (67108864)
 
#define LB_128MB   (134217728)
 
#define LB_256MB   (268435456)
 
#define LB_512MB   (536870912)
 

Typedefs

typedef std::vector< std::string > lunchbox::Strings
 A vector of std::strings. More...
 
typedef Strings::const_iterator lunchbox::StringsCIter
 
typedef Strings::iterator lunchbox::StringsIter
 
typedef Atomic< int32_t > lunchbox::a_int32_t
 An atomic 32 bit integer variable.
 
typedef Atomic< ssize_t > lunchbox::a_ssize_t
 An atomic signed size variable.
 
typedef Buffer< uint8_t > lunchbox::Bufferb
 a byte buffer
 
typedef Future< uint32_t > lunchbox::f_uint32_t
 A future 32 bit unsigned promise.
 
typedef Future< ssize_t > lunchbox::f_ssize_t
 A future signed size promise.
 
typedef Future< void > lunchbox::f_void_t
 A future signed size promise.
 
typedef std::vector< DSO * > lunchbox::DSOs
 A vector of DSO. More...
 

Detailed Description

Basic type definitions not provided by the operating system.

Definition in file types.h.

Macro Definition Documentation

#define LB_MAX_UINT32   (0xfffffff0u)

The biggest usable value when using special uint32 values.

Definition at line 77 of file types.h.

#define LB_TIMEOUT_DEFAULT   0xfffffffeu

Constant defining use global default in methods with wait parameters.

Definition at line 83 of file types.h.

#define LB_TIMEOUT_INDEFINITE   0xffffffffu

Constant defining 'wait forever' in methods with wait parameters.

Definition at line 80 of file types.h.

Referenced by lunchbox::RequestHandler::registerRequest(), and lunchbox::FutureImpl< bool >::~FutureImpl().

#define LB_UNDEFINED_UINT16   (0xffffu)

A 'NULL' value for an uint16.

Definition at line 68 of file types.h.

#define LB_UNDEFINED_UINT32   (0xffffffffu)

A 'NULL' value for an uint32.

Definition at line 71 of file types.h.

#define LB_UNDEFINED_UINT64   (0xffffffffffffffffull)

A 'NULL' value for an uint64.

Definition at line 74 of file types.h.