NCBI C++ ToolKit
Public Types | Public Member Functions | Static Public Member Functions | List of all members
ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend > Class Template Reference

Search Toolkit Book for ct::const_map_impl

#include <util/compile_time.hpp>

+ Inheritance diagram for ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >:
+ Collaboration diagram for ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >:

Public Types

using _MyBase = const_set_map_base< _Traits, _Backend, _Multi >
 
using _MyType = const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >
 
using init_type = typename _Traits::init_type
 
using intermediate = typename _MyBase::intermediate
 
using value_type = typename _MyBase::value_type
 
using key_type = typename value_type::first_type
 
using mapped_type = typename value_type::second_type
 
- Public Types inherited from compile_time_bits::const_set_map_base< _Traits, void, tag_DuplicatesNo >
using value_type = typename _Traits::value_type
 
using size_type = std::size_t
 
using difference_type = std::ptrdiff_t
 
using reference = const value_type &
 
using const_reference = const value_type &
 
using pointer = const value_type *
 
using const_pointer = const value_type *
 
using iterator = const value_type *
 
using const_iterator = const value_type *
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 
using traits_type = _Traits
 
using hash_type = typename _Traits::hash_type
 
using intermediate = typename _Traits::key_type
 
using init_key_type = typename _Traits::init_key_type
 
using init_type = typename _Traits::init_type
 
using sorter_type = TInsertSorter< _Traits, tag_DuplicatesNo >
 
using index_type = std::conditional_t< can_index, hash_type, typename _Traits::value_type >
 
using backend_type = std::conditional_t< std::is_void< void >::value, portable_backend< index_type, value_type >, void >
 
using key_compare = typename _Traits::hashed_key_type::value_compare
 

Public Member Functions

const mapped_typeat (intermediate _key) const
 
const mapped_typeoperator[] (intermediate _key) const
 
- Public Member Functions inherited from compile_time_bits::const_set_map_base< _Traits, void, tag_DuplicatesNo >
constexpr size_type size () const noexcept
 
constexpr size_type max_size () const noexcept
 
constexpr size_type capacity () const noexcept
 
constexpr bool empty () const noexcept
 
constexpr const_iterator begin () const noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr const_iterator end () const noexcept
 
constexpr const_iterator cend () const noexcept
 
constexpr const_reverse_iterator rbegin () const noexcept
 
constexpr const_reverse_iterator rcbegin () const noexcept
 
constexpr const_reverse_iterator rend () const noexcept
 
constexpr const_reverse_iterator rcend () const noexcept
 
const_iterator lower_bound (intermediate _key) const
 
const_iterator upper_bound (intermediate _key) const
 
std::pair< const_iterator, const_iteratorequal_range (intermediate _key) const
 
const_iterator find (intermediate _key) const
 
size_t get_alignment () const
 
const auto & get_backend () const noexcept
 
constexpr const_set_map_base ()=default
 
constexpr const_set_map_base (const backend_type &backend)
 
constexpr const_set_map_base (const _Other &_other)
 

Static Public Member Functions

template<size_t N, typename _Enabled = std::enable_if<!_MyBase::is_presorted, init_type>>
static constexpr auto construct (typename _Enabled::type const (&init)[N])
 
template<size_t N, typename _Enabled = std::enable_if<!_MyBase::is_presorted, init_type>>
static constexpr auto construct (const std::array< typename _Enabled::type, N > &init)
 
template<typename _Enabled = std::enable_if<_MyBase::is_presorted, _MyType>>
static constexpr _Enabled::type construct (const const_vector< init_type > &init)
 

Additional Inherited Members

- Static Public Attributes inherited from compile_time_bits::const_set_map_base< _Traits, void, tag_DuplicatesNo >
static constexpr bool can_index
 
static constexpr bool is_presorted
 
- Static Protected Member Functions inherited from compile_time_bits::const_set_map_base< _Traits, void, tag_DuplicatesNo >
static constexpr auto make_backend (const _ArrayType &init)
 
static constexpr auto presorted (const _ArrayType &init)
 
- Protected Attributes inherited from compile_time_bits::const_set_map_base< _Traits, void, tag_DuplicatesNo >
backend_type m_backend
 

Detailed Description

template<typename _Key, typename _Ty, typename _Traits, typename _Multi = tag_DuplicatesNo, typename _Backend = void>
class ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >

Definition at line 53 of file compile_time.hpp.

Member Typedef Documentation

◆ _MyBase

template<typename _Key , typename _Ty , typename _Traits , typename _Multi = tag_DuplicatesNo, typename _Backend = void>
using ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >::_MyBase = const_set_map_base<_Traits, _Backend, _Multi>

Definition at line 56 of file compile_time.hpp.

◆ _MyType

template<typename _Key , typename _Ty , typename _Traits , typename _Multi = tag_DuplicatesNo, typename _Backend = void>
using ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >::_MyType = const_map_impl<_Key, _Ty, _Traits, _Multi, _Backend>

Definition at line 57 of file compile_time.hpp.

◆ init_type

template<typename _Key , typename _Ty , typename _Traits , typename _Multi = tag_DuplicatesNo, typename _Backend = void>
using ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >::init_type = typename _Traits::init_type

Definition at line 59 of file compile_time.hpp.

◆ intermediate

template<typename _Key , typename _Ty , typename _Traits , typename _Multi = tag_DuplicatesNo, typename _Backend = void>
using ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >::intermediate = typename _MyBase::intermediate

Definition at line 60 of file compile_time.hpp.

◆ key_type

template<typename _Key , typename _Ty , typename _Traits , typename _Multi = tag_DuplicatesNo, typename _Backend = void>
using ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >::key_type = typename value_type::first_type

Definition at line 63 of file compile_time.hpp.

◆ mapped_type

template<typename _Key , typename _Ty , typename _Traits , typename _Multi = tag_DuplicatesNo, typename _Backend = void>
using ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >::mapped_type = typename value_type::second_type

Definition at line 64 of file compile_time.hpp.

◆ value_type

template<typename _Key , typename _Ty , typename _Traits , typename _Multi = tag_DuplicatesNo, typename _Backend = void>
using ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >::value_type = typename _MyBase::value_type

Definition at line 62 of file compile_time.hpp.

Member Function Documentation

◆ at()

template<typename _Key , typename _Ty , typename _Traits , typename _Multi = tag_DuplicatesNo, typename _Backend = void>
const mapped_type& ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >::at ( intermediate  _key) const
inline

Definition at line 68 of file compile_time.hpp.

◆ construct() [1/3]

template<typename _Key , typename _Ty , typename _Traits , typename _Multi = tag_DuplicatesNo, typename _Backend = void>
template<typename _Enabled = std::enable_if<_MyBase::is_presorted, _MyType>>
static constexpr _Enabled::type ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >::construct ( const const_vector< init_type > &  init)
inlinestaticconstexpr

Definition at line 94 of file compile_time.hpp.

References init().

◆ construct() [2/3]

template<typename _Key , typename _Ty , typename _Traits , typename _Multi = tag_DuplicatesNo, typename _Backend = void>
template<size_t N, typename _Enabled = std::enable_if<!_MyBase::is_presorted, init_type>>
static constexpr auto ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >::construct ( const std::array< typename _Enabled::type, N > &  init)
inlinestaticconstexpr

Definition at line 88 of file compile_time.hpp.

References init().

◆ construct() [3/3]

template<typename _Key , typename _Ty , typename _Traits , typename _Multi = tag_DuplicatesNo, typename _Backend = void>
template<size_t N, typename _Enabled = std::enable_if<!_MyBase::is_presorted, init_type>>
static constexpr auto ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >::construct ( typename _Enabled::type const (&)  init[N])
inlinestaticconstexpr

Definition at line 83 of file compile_time.hpp.

References init(), and compile_time_bits::make_array().

◆ operator[]()

template<typename _Key , typename _Ty , typename _Traits , typename _Multi = tag_DuplicatesNo, typename _Backend = void>
const mapped_type& ct::const_map_impl< _Key, _Ty, _Traits, _Multi, _Backend >::operator[] ( intermediate  _key) const
inline

Definition at line 77 of file compile_time.hpp.


The documentation for this class was generated from the following file:
Modified on Sat Dec 02 09:23:51 2023 by modify_doxy.py rev. 669887