userver: utils::TrivialSet< BuilderFunc > Class Template Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
utils::TrivialSet< BuilderFunc > Class Template Referencefinal

#include <userver/utils/trivial_map.hpp>

Detailed Description

template<typename BuilderFunc>
class utils::TrivialSet< BuilderFunc >

Unordered set for trivial types, including string literals.

For a two-value Case statements or efficiency notes see utils::TrivialBiMap.

Definition at line 846 of file trivial_map.hpp.

Public Types

using First = typename TypesPair::first_type
 
using Second = typename TypesPair::second_type
 

Public Member Functions

constexpr TrivialSet (BuilderFunc &&func) noexcept
 
constexpr bool Contains (DecayToStringView< First > value) const noexcept
 
constexpr bool ContainsICase (std::string_view value) const noexcept
 
constexpr std::size_t size () const noexcept
 
std::string Describe () const
 
constexpr std::optional< std::size_t > GetIndex (DecayToStringView< First > value) const
 
constexpr std::optional< std::size_t > GetIndexICase (std::string_view value) const
 

Member Typedef Documentation

◆ First

template<typename BuilderFunc>
using utils::TrivialSet< BuilderFunc >::First = typename TypesPair::first_type

Definition at line 850 of file trivial_map.hpp.

◆ Second

template<typename BuilderFunc>
using utils::TrivialSet< BuilderFunc >::Second = typename TypesPair::second_type

Definition at line 851 of file trivial_map.hpp.

Constructor & Destructor Documentation

◆ TrivialSet()

template<typename BuilderFunc>
utils::TrivialSet< BuilderFunc >::TrivialSet ( BuilderFunc && func)
inlineconstexprnoexcept

Definition at line 853 of file trivial_map.hpp.

Member Function Documentation

◆ Contains()

template<typename BuilderFunc>
bool utils::TrivialSet< BuilderFunc >::Contains ( DecayToStringView< First > value) const
inlineconstexprnoexcept

Definition at line 859 of file trivial_map.hpp.

◆ ContainsICase()

template<typename BuilderFunc>
bool utils::TrivialSet< BuilderFunc >::ContainsICase ( std::string_view value) const
inlineconstexprnoexcept

Definition at line 863 of file trivial_map.hpp.

◆ Describe()

template<typename BuilderFunc>
std::string utils::TrivialSet< BuilderFunc >::Describe ( ) const
inline

Returns a string of comma separated quoted values of Case parameters.

Example: "'a', 'b', 'c'"

Parameters of Case should be formattable.

Definition at line 881 of file trivial_map.hpp.

◆ GetIndex()

template<typename BuilderFunc>
std::optional< std::size_t > utils::TrivialSet< BuilderFunc >::GetIndex ( DecayToStringView< First > value) const
inlineconstexpr

Returns index of the value in Case parameters or std::nullopt if no such value.

Definition at line 887 of file trivial_map.hpp.

◆ GetIndexICase()

template<typename BuilderFunc>
std::optional< std::size_t > utils::TrivialSet< BuilderFunc >::GetIndexICase ( std::string_view value) const
inlineconstexpr

Returns index of the case insensitive value in Case parameters or std::nullopt if no such value.

Definition at line 893 of file trivial_map.hpp.

◆ size()

template<typename BuilderFunc>
std::size_t utils::TrivialSet< BuilderFunc >::size ( ) const
inlineconstexprnoexcept

Definition at line 872 of file trivial_map.hpp.


The documentation for this class was generated from the following file: