L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
Small C++ Template Library

Namespaces

namespace  cxx
 Our C++ library.
 

Data Structures

class  L4::Alloc_list
 A simple list-based allocator. More...
 
class  cxx::List_item
 Basic list item. More...
 
struct  cxx::Pair< First, Second >
 Pair of two values. More...
 
class  cxx::Base_slab< Obj_size, Slab_size, Max_free, Alloc >
 Basic slab allocator. More...
 
class  cxx::Slab< Type, Slab_size, Max_free, Alloc >
 Slab allocator for object of type Type. More...
 
class  cxx::Base_slab_static< Obj_size, Slab_size, Max_free, Alloc >
 Merged slab allocator (allocators for objects of the same size are merged together). More...
 
class  cxx::Slab_static< Type, Slab_size, Max_free, Alloc >
 Merged slab allocator (allocators for objects of the same size are merged together). More...
 
class  cxx::Nothrow
 Helper type to distinguish the oeprator new version that does not throw exceptions. More...
 
class  cxx::New_allocator< _Type >
 Standard allocator based on operator new () . More...
 
class  L4::String
 A null-terminated string container class. More...
 

Functions

template<typename A , typename ... ARGS>
constexpr A const & cxx::min (A const &a1, A const &a2, ARGS const &...a)
 Get the minimum of a1 and a2 upt to aN.
 
template<typename A , typename ... ARGS>
constexpr A const & cxx::min (cxx::identity_t< A > const &a1, cxx::identity_t< A > const &a2, ARGS const &...a)
 Get the minimum of a1 and a2 upt to aN.
 
template<typename A , typename ... ARGS>
constexpr A const & cxx::max (A const &a1, A const &a2, ARGS const &...a)
 Get the maximum of a1 and a2 upt to aN.
 
template<typename A , typename ... ARGS>
constexpr A const & cxx::max (cxx::identity_t< A > const &a1, cxx::identity_t< A > const &a2, ARGS const &...a)
 Get the maximum of a1 and a2 upt to aN.
 
template<typename T1 >
T1 cxx::clamp (T1 v, T1 lo, T1 hi)
 Limit v to the range given by lo and hi.
 
void * operator new (size_t, void *mem, cxx::Nothrow const &) noexcept
 Simple placement new operator.
 
void * operator new (size_t, cxx::Nothrow const &) noexcept
 New operator that does not throw exceptions.
 
void operator delete (void *, cxx::Nothrow const &) noexcept
 Delete operator complementing the new operator not throwing exceptions.
 

Detailed Description

Function Documentation

◆ clamp()

template<typename T1 >
T1 cxx::clamp ( T1  v,
T1  lo,
T1  hi 
)
inline

Limit v to the range given by lo and hi.

Parameters
vThe value to clamp.
loThe lower boundary to clamp v to.
hiThe upper boundary to clamp v to.

Definition at line 120 of file minmax.

◆ max() [1/2]

template<typename A , typename ... ARGS>
constexpr A const & cxx::max ( A const &  a1,
A const &  a2,
ARGS const &...  a 
)
constexpr

Get the maximum of a1 and a2 upt to aN.

Parameters
a1The first value.
a2The second value.
...aArbitrary number of additional parameters.

Matches with automatic argument type deduction.

Definition at line 89 of file minmax.

◆ max() [2/2]

template<typename A , typename ... ARGS>
constexpr A const & cxx::max ( cxx::identity_t< A > const &  a1,
cxx::identity_t< A > const &  a2,
ARGS const &...  a 
)
constexpr

Get the maximum of a1 and a2 upt to aN.

Parameters
a1The first value.
a2The second value.
...aArbitrary number of additional parameters.

Matches with explicit template type A.

Definition at line 104 of file minmax.

◆ min() [1/2]

template<typename A , typename ... ARGS>
constexpr A const & cxx::min ( A const &  a1,
A const &  a2,
ARGS const &...  a 
)
constexpr

Get the minimum of a1 and a2 upt to aN.

Parameters
a1The first value.
a2The second value.
...aArbitrary number of additional parameters.

Matches with automatic argument type deduction.

Definition at line 47 of file minmax.

◆ min() [2/2]

template<typename A , typename ... ARGS>
constexpr A const & cxx::min ( cxx::identity_t< A > const &  a1,
cxx::identity_t< A > const &  a2,
ARGS const &...  a 
)
constexpr

Get the minimum of a1 and a2 upt to aN.

Parameters
a1The first value.
a2The second value.
...aArbitrary number of additional parameters.

Matches with explicit template type A.

Definition at line 64 of file minmax.

◆ operator new()

void * operator new ( size_t  ,
void *  mem,
cxx::Nothrow const &   
)
inlinenoexcept

Simple placement new operator.

Parameters
memthe address of the memory block to place the new object.
Returns
the address given by mem.

Definition at line 39 of file std_alloc.