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 `operator 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

  v | The value to clamp.
  lo | The lower boundary to clamp v to.
  hi | The upper boundary to clamp v to.

Definition at line 109 of file minmax.

## max() [1/2]

template<typename A, typename ... ARGS>

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

  a1 | The first value.
  a2 | The second value.
  ...a | Arbitrary number of additional parameters.

Matches with automatic argument type deduction.

Definition at line 78 of file minmax.

## max() [2/2]

template<typename A, typename ... ARGS>

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

  a1 | The first value.
  a2 | The second value.
  ...a | Arbitrary number of additional parameters.

Matches with explicit template type A.

Definition at line 93 of file minmax.

## min() [1/2]

template<typename A, typename ... ARGS>

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

  a1 | The first value.
  a2 | The second value.
  ...a | Arbitrary number of additional parameters.

Matches with automatic argument type deduction.

Definition at line 36 of file minmax.

## min() [2/2]

template<typename A, typename ... ARGS>

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

  a1 | The first value.
  a2 | The second value.
  ...a | Arbitrary number of additional parameters.

Matches with explicit template type A.

Definition at line 53 of file minmax.

## operator new()

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

inlinenoexcept

Simple placement new operator.

Parameters

  mem | the address of the memory block to place the new object.

Returns
  the address given by mem.

Definition at line 28 of file std_alloc.