Lunchbox
1.12.0
Multi-threaded C++ toolbox library for all application developers creating high-performance multi-threaded programs.
|
Abstraction layer and common utilities for multi-threaded programming. More...
Classes | |
class | Any |
A class which can hold instances of any type. More... | |
class | Array |
A wrapper for C arrays without any memory management. More... | |
class | Atomic |
A variable with atomic semantics and standalone atomic operations. More... | |
class | bad_any_cast |
A specialization for exceptions thrown by an unsuccessful any_cast. More... | |
class | Buffer |
A simple memory buffer with some helper functions. More... | |
class | Clock |
A class for time measurements. More... | |
class | Condition |
A condition variable and associated lock. More... | |
class | DSO |
Helper to access dynamic shared objects (DSO) More... | |
class | Future |
A future represents a asynchronous operation. More... | |
class | Future< void > |
Future template specialization for void. More... | |
class | FutureBool |
A boolean future with a known value. More... | |
class | FutureFunction |
A Future implementation using a boost::function for fulfilment. More... | |
class | FutureImpl |
Base class to implement the wait method fulfilling the future. More... | |
class | FutureTimeout |
struct | hashRefPtr |
A hash function for RefPtr keys. More... | |
struct | hasInitDataT |
Helper class to statically register derived plugin classes. More... | |
class | IndexIterator |
Counter-based, as opposed to pointer-based, iterator for any container. More... | |
class | Launcher |
The launcher executes a command from a separate process. More... | |
class | LFQueue |
A thread-safe, lock-free queue with non-blocking access. More... | |
class | LFVector |
STL-like vector implementation providing certain thread-safety guarantees. More... | |
class | LFVectorIterator |
An iterator for LFVector. More... | |
class | Lock |
A lock (mutex) primitive. More... | |
class | Lockable |
A convenience structure to hold data together with a lock for access. More... | |
class | Log |
The logging class. More... | |
class | MemoryMap |
Helper to map a file to a memory address (mmap). More... | |
class | Monitor |
A monitor primitive. More... | |
class | MPI |
MPI functionality wrapper. More... | |
class | MTQueue |
A thread-safe queue with a blocking read access. More... | |
class | NonCopyable |
Base class to make objects non-copyable. More... | |
class | OMP |
Base class for OpenMP functionality. More... | |
class | PersistentMap |
Unified interface to save key-value pairs in a persistent store. More... | |
class | PerThread |
Implements thread-specific storage for C++ objects. More... | |
class | PerThreadRef |
Thread-specific storage for a RefPtr. More... | |
class | Plugin |
Manages a class deriving from a PluginT interface. More... | |
class | PluginFactory |
Factory for Plugin classes. More... | |
class | PluginRegisterer |
class | PluginRegisterer< Impl, false > |
Specialized PluginRegisterer for plugin implementations which don't have the InitDataT definition. More... | |
class | PluginRegisterer< Impl, true > |
Specialized PluginRegisterer for implementations which have the InitDataT definition. More... | |
class | Pool |
An object allocation pool. More... | |
class | PtrHash |
A hash for pointer keys. More... | |
class | Referenced |
Base class for referenced objects. More... | |
class | RefPtr |
A smart reference pointer, aka boost::intrusive_ptr. More... | |
class | RefPtrHash |
A hash for RefPtr keys. More... | |
class | Request |
A Future implementation for a RequestHandler request. More... | |
class | RequestHandler |
A thread-safe request handler. More... | |
class | Result |
A result returns an error code and behaves like a boolean. More... | |
class | RNG |
A random number generator. More... | |
class | ScopedMutex |
A scoped mutex. More... | |
class | SpinLock |
A fast lock for uncontended memory access. More... | |
class | Thread |
Utility class to execute code in a separate execution thread. More... | |
class | ThreadID |
An utility class to wrap OS-specific thread identifiers. More... | |
class | TimedLock |
A mutex with timeout capabilities. More... | |
class | TLS |
Provides thread-local storage API used by PerThread and PerThreadRef. More... | |
class | UnorderedIntervalSet |
A container to store intervals of elements efficently. More... | |
class | UnregisteredRequest |
class | Version |
Information about the current Lunchbox version. More... | |
Typedefs | |
typedef boost::mpl::list< int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, float, double, bool, std::string, servus::uint128_t > | podTypes |
List of supported POD types for lunchbox::Any serialization. More... | |
typedef Future< bool > | f_bool_t |
A boolean future. More... | |
typedef Monitor< bool > | Monitorb |
A boolean monitor variable. | |
typedef Monitor< uint32_t > | Monitoru |
An unsigned 32bit integer monitor. | |
typedef ScopedMutex< SpinLock, ReadOp > | ScopedFastRead |
A scoped mutex for a fast uncontended read operation. More... | |
typedef ScopedMutex< SpinLock, WriteOp > | ScopedFastWrite |
A scoped mutex for a fast uncontended write operation. More... | |
typedef ScopedMutex< Lock, ReadOp > | ScopedRead |
A scoped mutex for a read operation. More... | |
typedef ScopedMutex< Lock, WriteOp > | ScopedWrite |
A scoped mutex for a write operation. More... | |
typedef ScopedMutex< Condition, WriteOp > | ScopedCondition |
A scoped mutex for a write operation on a condition. More... | |
typedef std::vector< std::string > | Strings |
A vector of std::strings. More... | |
typedef Strings::const_iterator | StringsCIter |
typedef Strings::iterator | StringsIter |
typedef Atomic< int32_t > | a_int32_t |
An atomic 32 bit integer variable. | |
typedef Atomic< ssize_t > | a_ssize_t |
An atomic signed size variable. | |
typedef Buffer< uint8_t > | Bufferb |
a byte buffer | |
typedef Future< uint32_t > | f_uint32_t |
A future 32 bit unsigned promise. | |
typedef Future< ssize_t > | f_ssize_t |
A future signed size promise. | |
typedef Future< void > | f_void_t |
A future signed size promise. | |
typedef std::vector< DSO * > | DSOs |
Enumerations | |
enum | LogLevel { LOG_ERROR = 1, LOG_WARN = LOG_ERROR, LOG_INFO, LOG_DEBUG, LOG_VERB, LOG_ALL } |
The logging levels. More... | |
enum | LogTopic { LOG_EXCEPTION = 0x01, LOG_BUG = 0x04, LOG_CUSTOM = 0x10, LOG_ANY = 0xffffu } |
The logging topics. More... | |
enum | VisitorResult { TRAVERSE_CONTINUE, TRAVERSE_TERMINATE, TRAVERSE_PRUNE } |
The result code from any visit operation. More... | |
Functions | |
template<typename T > | |
std::vector< T >::iterator | find (std::vector< T > &container, const T &element) |
Find the element in the given vector. More... | |
template<typename T > | |
std::vector< T >::const_iterator | find (const std::vector< T > &container, const T &element) |
Find the element in the given vector. More... | |
template<typename T , typename P > | |
std::vector< T >::iterator | find_if (std::vector< T > &container, const P &predicate) |
Find the element matching the predicate. More... | |
template<typename T , typename P > | |
std::vector< T >::const_iterator | find_if (std::vector< const T > &container, const P &predicate) |
Find the element matching the predicate. More... | |
template<typename C > | |
void | usort (C &c) |
Uniquely sort and eliminate duplicates in a container. More... | |
template<typename ValueType > | |
ValueType * | any_cast (Any *operand) |
Retrieve the value stored in an Any including type checking. More... | |
template<typename ValueType > | |
const ValueType * | any_cast (const Any *operand) |
Retrieve the value stored in an Any including type checking. More... | |
template<typename ValueType > | |
ValueType | any_cast (Any &operand) |
Retrieve the value stored in an Any including type checking. More... | |
template<typename ValueType > | |
ValueType | any_cast (const Any &operand) |
Retrieve the value stored in an Any including type checking. More... | |
template<typename ValueType > | |
ValueType * | unsafe_any_cast (Any *operand) |
Retrieve the value stored in an Any without type checking. More... | |
template<typename ValueType > | |
const ValueType * | unsafe_any_cast (const Any *operand) |
Retrieve the value stored in an Any without type checking. More... | |
template<typename ValueType > | |
ValueType | unsafe_any_cast (Any &operand) |
Retrieve the value stored in an Any without type checking. More... | |
template<typename ValueType > | |
ValueType | unsafe_any_cast (const Any &operand) |
Retrieve the value stored in an Any without type checking. More... | |
template<class TypeList , class Archive > | |
void | registerTypelist (Archive &ar) |
Registers the types from the given type list for serializing it inside a lunchbox::Any through the given archive. | |
template<class Archive , class Object , class Stream > | |
void | serializeAny (Object &object, Stream &stream) |
Serializes the given object which can be a lunchbox::Any through the given archive type to/from the given stream. | |
template<class Archive , class Object , class Stream > | |
void | saveAny (Object &object, Stream &stream) |
Saves the given object which can be a lunchbox::Any through the given archive type to/from the given stream. | |
template<class Archive , class Object , class Stream > | |
void | loadAny (Object &object, Stream &stream) |
Loads the given object which can be a lunchbox::Any through the given archive type to/from the given stream. | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const Array< T > &array) |
Pretty-print all members of the array. More... | |
void | memoryBarrier () |
Perform a full memory barrier. More... | |
void | memoryBarrierAcquire () |
Perform a load-with-acquire memory barrier. More... | |
void | memoryBarrierRelease () |
Perform a store-with-release memory barrier. More... | |
template<class T > | |
int32_t | getIndexOfLastBit (T value) |
template<class T > | |
void | byteswap (T &value) |
Swap the byte order of the given value. More... | |
bool | daemonize () |
Turn the calling process into a daemon. More... | |
LUNCHBOX_API void | abort () |
LUNCHBOX_API void | checkHeap () |
LUNCHBOX_API std::ostream & | sysError (std::ostream &os) |
Print a textual description of the current system error. More... | |
LUNCHBOX_API std::string | sysError () |
LUNCHBOX_API std::string | backtrace (const size_t skipFrames) |
Get the current call stack. More... | |
LUNCHBOX_API std::ostream & | backtrace (std::ostream &os) |
Print the current call stack. More... | |
LUNCHBOX_API std::string | demangleTypeID (const char *mangled) |
template<class T > | |
std::string | className (const T *object) |
Print the RTTI name of the given class. More... | |
template<class T > | |
std::string | className (const T &object) |
Print the RTTI name of the given class. More... | |
template<class T > | |
std::string | format (const T *data, const size_t num) |
Format the given array in a human-readable form. More... | |
template<> | |
std::string | format (const uint8_t *data, const size_t num) |
template<> | |
std::string | format (const void *data, const size_t num) |
template<class T > | |
std::string | format (const std::vector< T > &data) |
LUNCHBOX_API Strings | searchDirectory (const std::string &directory, const std::string &pattern) |
Retrieve a list of files in a directory matching a boost::regex pattern. More... | |
LUNCHBOX_API std::string | getFilename (const std::string &filename) |
LUNCHBOX_API std::string | getDirname (const std::string &filename) LB_DEPRECATED |
LUNCHBOX_API std::string | getExecutablePath () |
Get the absolute path to the current executable. More... | |
LUNCHBOX_API std::string | getRootPath () |
Get the absolute path to the root path of the current executable. More... | |
LUNCHBOX_API std::string | getLibraryPath () |
LUNCHBOX_API Strings | getLibraryPaths () |
LUNCHBOX_API bool | init (const int argc, char **argv) |
Initialize the Lunchbox base classes. More... | |
LUNCHBOX_API bool | exit () |
De-initialize the Lunchbox base classes. More... | |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, const LFVector< T > &v) |
Output the vector and up to 256 items to the ostream. More... | |
template<class D , class L > | |
std::ostream & | operator<< (std::ostream &os, const Lockable< D, L > &l) |
Print the data to the given output stream. More... | |
LUNCHBOX_API std::ostream & | indent (std::ostream &os) |
Increases the indentation level of the Log stream, causing subsequent lines to be intended by four characters. More... | |
LUNCHBOX_API std::ostream & | exdent (std::ostream &os) |
Decrease the indentation level of the Log stream. More... | |
LUNCHBOX_API std::ostream & | disableFlush (std::ostream &os) |
Disable flushing of the Log stream. More... | |
LUNCHBOX_API std::ostream & | enableFlush (std::ostream &os) |
Re-enable flushing of the Log stream. More... | |
LUNCHBOX_API std::ostream & | forceFlush (std::ostream &os) |
Flush the Log stream regardless of the auto-flush state. More... | |
LUNCHBOX_API std::ostream & | disableHeader (std::ostream &os) |
Disable printing of the Log header for subsequent lines. More... | |
LUNCHBOX_API std::ostream & | enableHeader (std::ostream &os) |
Re-enable printing of the Log header. More... | |
std::ostream & | startBlock (std::ostream &os) |
Indent, disable flush and header for block printing. More... | |
std::ostream & | stopBlock (std::ostream &os) |
Exdent, denable flush and header to stop block print. More... | |
std::ostream & | operator<< (std::ostream &os, const MemoryMap &m) |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const Monitor< T > &monitor) |
Print the monitor to the given output stream. More... | |
static void | setZero (void *ptr, const size_t size) |
OS-independent call to bzero(3). More... | |
LUNCHBOX_API std::string | getHostname () |
template<class T > | |
void | perThreadDelete (T *object) |
Default PerThread destructor deleting the object. More... | |
template<class T > | |
void | perThreadNoDelete (T *) |
Empty PerThread destructor. More... | |
Future< bool > | makeTrueFuture () |
Future< bool > | makeFalseFuture () |
template<class T > | |
std::ostream & | operator<< (std::ostream &os, RefPtr< T > rp) |
Print the reference pointer to the given output stream. More... | |
template<class T > | |
std::string | className (const RefPtr< T > &rp) |
LUNCHBOX_API std::ostream & | operator<< (std::ostream &, const RequestHandler &) |
std::ostream & | operator<< (std::ostream &os, const Result &result) |
LUNCHBOX_API void | sleep (const uint32_t milliSeconds) |
Sleep the current thread for a number of milliseconds. More... | |
LUNCHBOX_API std::ostream & | operator<< (std::ostream &, const Thread::Affinity) |
Output the affinity setting in human-readable form. More... | |
LUNCHBOX_API std::ostream & | operator<< (std::ostream &, const ThreadID &) |
Print the thread to the given output stream. More... | |
std::ostream & | operator<< (std::ostream &os, const VisitorResult &result) |
Variables | |
class lunchbox::NonCopyable | LB_DEPRECATED |
Abstraction layer and common utilities for multi-threaded programming.
Lunchbox provides C++ classes to abstract the underlying operating system and to implement common utilities for multi-threaded C++ programs. Classes with non-virtual destructors are not intended to be subclassed.
typedef Future< bool > lunchbox::f_bool_t |
typedef boost::mpl::list< int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t, uint64_t, float, double, bool, std::string, servus::uint128_t > lunchbox::podTypes |
List of supported POD types for lunchbox::Any serialization.
Definition at line 49 of file anySerialization.h.
typedef ScopedMutex< Condition, WriteOp > lunchbox::ScopedCondition |
A scoped mutex for a write operation on a condition.
Definition at line 126 of file scopedMutex.h.
typedef ScopedMutex< SpinLock, ReadOp > lunchbox::ScopedFastRead |
A scoped mutex for a fast uncontended read operation.
Definition at line 114 of file scopedMutex.h.
typedef ScopedMutex< SpinLock, WriteOp > lunchbox::ScopedFastWrite |
A scoped mutex for a fast uncontended write operation.
Definition at line 117 of file scopedMutex.h.
typedef ScopedMutex< Lock, ReadOp > lunchbox::ScopedRead |
typedef ScopedMutex< Lock, WriteOp > lunchbox::ScopedWrite |
typedef std::vector< std::string > lunchbox::Strings |
enum lunchbox::LogLevel |
enum lunchbox::LogTopic |
The result code from any visit operation.
Enumerator | |
---|---|
TRAVERSE_CONTINUE |
continue the traversal |
TRAVERSE_TERMINATE |
abort the traversal |
TRAVERSE_PRUNE |
do not traverse current entity downwards |
Definition at line 29 of file visitorResult.h.
ValueType* lunchbox::any_cast | ( | Any * | operand | ) |
Retrieve the value stored in an Any including type checking.
Definition at line 235 of file any.h.
References lunchbox::Any::type().
Referenced by any_cast().
|
inline |
Retrieve the value stored in an Any including type checking.
Definition at line 254 of file any.h.
References any_cast().
ValueType lunchbox::any_cast | ( | Any & | operand | ) |
Retrieve the value stored in an Any including type checking.
bad_any_cast | if types are not matching |
Definition at line 267 of file any.h.
References any_cast(), and lunchbox::Any::type().
|
inline |
Retrieve the value stored in an Any including type checking.
bad_any_cast | if types are not matching |
Definition at line 287 of file any.h.
References any_cast().
LUNCHBOX_API std::string lunchbox::backtrace | ( | const size_t | skipFrames | ) |
Get the current call stack.
May not be implemented on all platforms.
skipFrames | the number of most recent stack frames to ignore. |
Referenced by lunchbox::Referenced::ref().
LUNCHBOX_API std::ostream& lunchbox::backtrace | ( | std::ostream & | os | ) |
Print the current call stack.
|
inline |
Print the RTTI name of the given class.
Definition at line 74 of file debug.h.
Referenced by format(), lunchbox::PerThread< T, D >::operator*(), lunchbox::RefPtr< FutureImpl< void > >::operator*(), lunchbox::RefPtr< FutureImpl< void > >::operator->(), and operator<<().
|
inline |
|
inline |
Turn the calling process into a daemon.
Only the forked child process returns from this function. A new session is created and the standard file descriptors are closed. The current working directory is unchanged, and the Log output is not redirected to a file.
Definition at line 39 of file daemon.h.
References exit(), LBWARN, and sysError().
LUNCHBOX_API std::ostream& lunchbox::disableFlush | ( | std::ostream & | os | ) |
Disable flushing of the Log stream.
Referenced by operator<<(), and startBlock().
LUNCHBOX_API std::ostream& lunchbox::disableHeader | ( | std::ostream & | os | ) |
Disable printing of the Log header for subsequent lines.
Referenced by startBlock().
LUNCHBOX_API std::ostream& lunchbox::enableFlush | ( | std::ostream & | os | ) |
Re-enable flushing of the Log stream.
Referenced by operator<<(), and stopBlock().
LUNCHBOX_API std::ostream& lunchbox::enableHeader | ( | std::ostream & | os | ) |
Re-enable printing of the Log header.
Referenced by stopBlock().
LUNCHBOX_API std::ostream& lunchbox::exdent | ( | std::ostream & | os | ) |
Decrease the indentation level of the Log stream.
Referenced by stopBlock().
LUNCHBOX_API bool lunchbox::exit | ( | ) |
De-initialize the Lunchbox base classes.
Referenced by daemonize().
std::vector< T >::iterator lunchbox::find | ( | std::vector< T > & | container, |
const T & | element | ||
) |
std::vector< T >::const_iterator lunchbox::find | ( | const std::vector< T > & | container, |
const T & | element | ||
) |
std::vector< T >::iterator lunchbox::find_if | ( | std::vector< T > & | container, |
const P & | predicate | ||
) |
std::vector<T>::const_iterator lunchbox::find_if | ( | std::vector< const T > & | container, |
const P & | predicate | ||
) |
LUNCHBOX_API std::ostream& lunchbox::forceFlush | ( | std::ostream & | os | ) |
Flush the Log stream regardless of the auto-flush state.
|
inline |
Format the given array in a human-readable form.
Depending on the data type, a different formatting may be used.
data | The pointer to the data to print. |
num | The number of elements of T to print, for T==void the number of bytes. |
Definition at line 93 of file debug.h.
References className().
Referenced by operator<<().
LUNCHBOX_API std::string lunchbox::getDirname | ( | const std::string & | filename | ) |
LUNCHBOX_API std::string lunchbox::getExecutablePath | ( | ) |
Get the absolute path to the current executable.
On Mac OS X, this returns the path to the app bundle, i.e., the directory where the Foo.app is located, not Foo.app/Contents/MacOS.
LUNCHBOX_API std::string lunchbox::getFilename | ( | const std::string & | filename | ) |
LUNCHBOX_API std::string lunchbox::getHostname | ( | ) |
LUNCHBOX_API std::string lunchbox::getLibraryPath | ( | ) |
LUNCHBOX_API Strings lunchbox::getLibraryPaths | ( | ) |
LUNCHBOX_API std::string lunchbox::getRootPath | ( | ) |
Get the absolute path to the root path of the current executable.
On all platforms, this returns the root path of the installation/distribution of the current executable. Can be empty, if getExecutablePath() is empty.
On Linux and Mac OS X, this returns the path one level up of getExecutablePath(). On Windows, this returns the path one or two levels up of getExecutablePath(), depending if ${BuildType} is in the path.
LUNCHBOX_API std::ostream& lunchbox::indent | ( | std::ostream & | os | ) |
Increases the indentation level of the Log stream, causing subsequent lines to be intended by four characters.
Referenced by startBlock().
LUNCHBOX_API bool lunchbox::init | ( | const int | argc, |
char ** | argv | ||
) |
Initialize the Lunchbox base classes.
exit() should be called independent of the return value of this function.
argc | the command line argument count. |
argv | the command line argument values. |
|
inline |
Definition at line 39 of file readyFuture.h.
|
inline |
Definition at line 35 of file readyFuture.h.
|
inline |
Perform a full memory barrier.
Definition at line 38 of file atomic.h.
Referenced by memoryBarrierAcquire(), memoryBarrierRelease(), lunchbox::Atomic< T >::operator!=(), lunchbox::Atomic< T >::operator=(), and lunchbox::Atomic< T >::operator==().
|
inline |
Perform a load-with-acquire memory barrier.
Definition at line 54 of file atomic.h.
References memoryBarrier().
Referenced by lunchbox::Atomic< T >::addAndGet(), lunchbox::Atomic< T >::getAndAdd(), lunchbox::Atomic< T >::getAndSub(), lunchbox::Atomic< T >::operator T(), and lunchbox::Atomic< T >::subAndGet().
|
inline |
Perform a store-with-release memory barrier.
Definition at line 65 of file atomic.h.
References memoryBarrier().
Referenced by lunchbox::Atomic< T >::addAndGet(), lunchbox::Atomic< T >::getAndAdd(), lunchbox::Atomic< T >::getAndSub(), and lunchbox::Atomic< T >::subAndGet().
|
inline |
|
inline |
Print the data to the given output stream.
Definition at line 68 of file lockable.h.
References disableFlush(), and enableFlush().
LUNCHBOX_API std::ostream& lunchbox::operator<< | ( | std::ostream & | , |
const ThreadID & | |||
) |
Print the thread to the given output stream.
LUNCHBOX_API std::ostream& lunchbox::operator<< | ( | std::ostream & | , |
const Thread::Affinity | |||
) |
Output the affinity setting in human-readable form.
|
inline |
Print the reference pointer to the given output stream.
Definition at line 182 of file refPtr.h.
References disableFlush(), and enableFlush().
std::ostream & lunchbox::operator<< | ( | std::ostream & | os, |
const LFVector< T > & | v | ||
) |
Output the vector and up to 256 items to the ostream.
Definition at line 423 of file lfVector.ipp.
References className().
|
inline |
Print the monitor to the given output stream.
Definition at line 421 of file monitor.h.
References lunchbox::Monitor< T >::get().
void lunchbox::perThreadDelete | ( | T * | object | ) |
Default PerThread destructor deleting the object.
Definition at line 29 of file perThread.h.
void lunchbox::perThreadNoDelete | ( | T * | ) |
LUNCHBOX_API Strings lunchbox::searchDirectory | ( | const std::string & | directory, |
const std::string & | pattern | ||
) |
Retrieve a list of files in a directory matching a boost::regex pattern.
|
inlinestatic |
OS-independent call to bzero(3).
Definition at line 74 of file os.h.
Referenced by lunchbox::LFVector< T, nSlots >::LFVector().
LUNCHBOX_API void lunchbox::sleep | ( | const uint32_t | milliSeconds | ) |
Sleep the current thread for a number of milliseconds.
|
inline |
Indent, disable flush and header for block printing.
Definition at line 178 of file log.h.
References disableFlush(), disableHeader(), and indent().
|
inline |
Exdent, denable flush and header to stop block print.
Definition at line 181 of file log.h.
References enableFlush(), enableHeader(), and exdent().
LUNCHBOX_API std::ostream& lunchbox::sysError | ( | std::ostream & | os | ) |
Print a textual description of the current system error.
The current system error is OS-specific, e.g., errno or GetLastError().
Referenced by daemonize().
LUNCHBOX_API std::string lunchbox::sysError | ( | ) |
|
inline |
Retrieve the value stored in an Any without type checking.
Definition at line 301 of file any.h.
Referenced by unsafe_any_cast().
|
inline |
Retrieve the value stored in an Any without type checking.
Definition at line 314 of file any.h.
References unsafe_any_cast().
ValueType lunchbox::unsafe_any_cast | ( | Any & | operand | ) |
Retrieve the value stored in an Any without type checking.
Definition at line 326 of file any.h.
References unsafe_any_cast().
ValueType lunchbox::unsafe_any_cast | ( | const Any & | operand | ) |
Retrieve the value stored in an Any without type checking.
Definition at line 339 of file any.h.
References unsafe_any_cast().
void lunchbox::usort | ( | C & | c | ) |
Uniquely sort and eliminate duplicates in a container.
Definition at line 62 of file algorithm.h.
Referenced by usort().