NCBI C++ ToolKit
Classes | Namespaces | Macros | Typedefs | Functions
compile_time.hpp File Reference
#include "impl/compile_time_bits.hpp"
#include "impl/ct_bitset_cxx17.hpp"
+ Include dependency graph for compile_time.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Go to the SVN repository for this file.

Classes

class  ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >
 
class  ct::const_set< _Ty, _Backend >
 
struct  ct::const_map_twoway< T1, T2 >
 

Namespaces

 ct
 

Macros

#define DEBUG_MAKE_CONST_MAP(name)
 
#define DEBUG_MAKE_TWOWAY_CONST_MAP(name)
 
#define DEBUG_MAKE_CONST_SET(name)
 
#define MAKE_CONST_MAP(name, type1, type2, ...)
 
#define MAKE_TWOWAY_CONST_MAP(name, type1, type2, ...)
 
#define MAKE_CONST_SET(name, type, ...)
 
#define MAKE_CONST_SET1(name, type, ...)
 
#define MAKE_CONST_MAP_COMPAT   MAKE_CONST_MAP
 

Typedefs

template<typename _Key , typename _Ty >
using ct::const_map = const_map_impl< _Key, _Ty, straight_map_traits< _Key, _Ty >, tag_DuplicatesNo, void >
 
template<typename _Key , typename _Ty >
using ct::const_multi_map = const_map_impl< _Key, _Ty, straight_map_traits< _Key, _Ty >, tag_DuplicatesYes, void >
 
template<typename _Key , typename _Ty >
using ct::const_map_presorted = const_map_impl< _Key, _Ty, straight_map_traits< _Key, _Ty >, tag_DuplicatesNo, presorted_backend< const_vector< typename straight_map_traits< _Key, _Ty >::value_type > >>
 
template<typename _Ty >
using ct::const_unordered_set = const_set< DeduceHashedType< _Ty > >
 
template<typename _Key , typename _Ty >
using ct::const_unordered_map = const_map< DeduceHashedType< _Key >, _Ty >
 
template<typename T1 , typename T2 >
using ct::const_unordered_map_twoway = const_map_twoway< DeduceHashedType< T1 >, DeduceHashedType< T2 > >
 

Functions

template<typename _Init , typename _Elem = array_elem_t<_Init>>
constexpr auto ct::sort (_Init &&init)
 

Macro Definition Documentation

◆ DEBUG_MAKE_CONST_MAP

#define DEBUG_MAKE_CONST_MAP (   name)

Definition at line 190 of file compile_time.hpp.

◆ DEBUG_MAKE_CONST_SET

#define DEBUG_MAKE_CONST_SET (   name)

Definition at line 196 of file compile_time.hpp.

◆ DEBUG_MAKE_TWOWAY_CONST_MAP

#define DEBUG_MAKE_TWOWAY_CONST_MAP (   name)

Definition at line 193 of file compile_time.hpp.

◆ MAKE_CONST_MAP

#define MAKE_CONST_MAP (   name,
  type1,
  type2,
  ... 
)
Value:
static constexpr auto name = ct::const_map<type1, type2>::construct(__VA_ARGS__); \
DEBUG_MAKE_CONST_MAP(name)
static constexpr auto construct(typename _Enabled::type const (&init)[N])

Definition at line 203 of file compile_time.hpp.

◆ MAKE_CONST_MAP_COMPAT

#define MAKE_CONST_MAP_COMPAT   MAKE_CONST_MAP

Definition at line 223 of file compile_time.hpp.

◆ MAKE_CONST_SET

#define MAKE_CONST_SET (   name,
  type,
  ... 
)
Value:
static constexpr ct::const_set<type>::init_type name ## _init [] = __VA_ARGS__; \
static constexpr auto name = ct::const_set<type>::construct(name ## _init); \
DEBUG_MAKE_CONST_SET(name)
typename _MyBase::init_type init_type
static constexpr auto construct(init_type const (&init)[N])

Definition at line 211 of file compile_time.hpp.

◆ MAKE_CONST_SET1

#define MAKE_CONST_SET1 (   name,
  type,
  ... 
)
Value:
static constexpr auto name = ct::const_set<type>::construct(__VA_ARGS__); \
DEBUG_MAKE_CONST_SET(name)

Definition at line 216 of file compile_time.hpp.

◆ MAKE_TWOWAY_CONST_MAP

#define MAKE_TWOWAY_CONST_MAP (   name,
  type1,
  type2,
  ... 
)
Value:
static constexpr auto name = ct::const_map_twoway<type1, type2>::construct(__VA_ARGS__); \
DEBUG_MAKE_TWOWAY_CONST_MAP(name)
static constexpr auto construct(init_type const (&init)[N])

Definition at line 207 of file compile_time.hpp.

Modified on Wed Sep 04 14:59:47 2024 by modify_doxy.py rev. 669887