kblib 0.2.3
General utilities library for modern C++
direct_map.h File Reference

Provides direct_map. More...

#include <kblib/fakestd.h>
#include <kblib/iterators.h>
#include <kblib/tdecl.h>
#include <array>
#include <bitset>
#include <cinttypes>
#include <climits>
#include <limits>
#include <new>
#include <optional>
Include dependency graph for direct_map.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kblib::detail_direct_map::storage_for< T, bool >
 
struct  kblib::detail_direct_map::storage_for< T, true >
 
class  kblib::direct_map< Key, T, allocator >
 
class  kblib::direct_map< Key, T, void >
 

Namespaces

namespace  kblib
 The main namespace in which all entities from kblib are defined.
 
namespace  detail_direct_map
 
namespace  kblib::detail_direct_map
 

Macros

#define LAUNDER(x)   (x)
 
#define DECL_OP(op)
 
#define DECL_OP(op)
 

Variables

template<typename T >
KBLIB_CONSTANT auto kblib::detail_direct_map::range_of
 

Detailed Description

Provides direct_map.

Author
killerbee
Date
2019-2021

Definition in file direct_map.h.

Macro Definition Documentation

◆ DECL_OP [1/2]

#define DECL_OP (   op)
Value:
KBLIB_NODISCARD friend constexpr auto operator op(iter l, \
iter r) noexcept->bool { \
assert(l.storage == r.storage); \
return l.pos op r.pos; \
}
#define KBLIB_NODISCARD
This internal macro is used to provide a fallback for [[nodiscard]] in C++14.
Definition: tdecl.h:129

Definition at line 799 of file direct_map.h.

◆ DECL_OP [2/2]

#define DECL_OP (   op)
Value:
KBLIB_NODISCARD friend constexpr auto operator op(iter l, \
iter r) noexcept->bool { \
assert(l.map == r.map); \
return l.pos op r.pos; \
}

Definition at line 799 of file direct_map.h.

◆ LAUNDER

#define LAUNDER (   x)    (x)

Definition at line 90 of file direct_map.h.