lean cpp library
A lean C++ library providing efficient utility classes for high-performance C++ applications.
Namespaces | Functions
lean Namespace Reference

Main namespace of the lean library. More...

Namespaces

namespace  concurrent
 

Defines classes and utilities for multi-threaded environments such as spin locks, atomic operations, etc.


namespace  containers
 

Provides optimized container classes and wrappers.


namespace  functional
 

Defines helper templates that may be useful in a functional programming context.


namespace  io
 

Provides I/O utilities such as intrinsic endian conversion, serialization and file classes, etc.


namespace  logging
 

Provides utility functions and classes, automatically logging raised exceptions, redirecting logged output to various targets, enhancing logged informtion by source information (caller file and line), etc.


namespace  memory
 

Provides a flexible heap concept, memory alignment facilities and a comprehensive way of handling out-of-memory situations.


namespace  meta
 

Defines helper templates that may be useful in a meta-programming context.


namespace  pimpl
 

Defines classes that allow for the decoupling of modules, especially when it comes to the hiding of private dependencies.


namespace  properties
 

Defines classes that allow for the specification of enhanced type information, e.g. making named setter and getter methods enumerable at run-time, to be used in a generic way while at the same time retaining type safety.


namespace  smart
 

Defines RAII-style classes that automatically take care of resource handling, (un)locking and other common and tedious tasks.


namespace  strings
 

Provides a generic character range type as well as conversion and streaming facilities to both simplify and generalize string passing and handling in your code.


namespace  tags
 

Defines tag classes that describe the behavior of certain classes.


namespace  time
 

Defines time-related classes such as timers, e.g. to be used in profiling.


namespace  types
 

Defines fixed-width and other standard types.


namespace  xml
 

Provides XML utility classes built on the rapidxml library.


Functions

template<class Iterator >
LEAN_INLINE Iterator next (Iterator iterator)
 Returns the next iterator.
template<class Iterator >
LEAN_INLINE Iterator prev (Iterator iterator)
 Returns the previous iterator.
LEAN_INLINE void check (bool value)
 Asserts that the given value is always true.
template<class Type >
LEAN_INLINE const Type & min (const Type &a, const Type &b)
 Returns the smaller of both arguments.
template<class Type >
LEAN_INLINE const Type & max (const Type &a, const Type &b)
 Returns the larger of both arguments.
template<class Type >
LEAN_INLINE Type * addressof (Type &value)
 Returns the address of the given reference.
template<class Type , size_t Size>
LEAN_INLINE size_t arraylen (Type(&)[Size])
 Returns the length of the given array.

Detailed Description

Main namespace of the lean library.