pars 0.2.1.99
Loading...
Searching...
No Matches
nngxx::opt_setter< opt_v, nng_t > Struct Template Reference

#include <opt_setter.h>

Public Types

using nng_type = nng_t
 

Public Member Functions

template<nng_value_c nng_value_t>
clev::expected< void > operator() (nng_type obj, nng_value_t val) noexcept
 

Static Public Attributes

static constexpr auto opt = opt_to_nng_value<opt_v>()
 
static constexpr auto overload = opt_to_nng_overload<opt_v>()
 

Detailed Description

template<opt opt_v, nng_with_set_opt_c nng_t>
struct nngxx::opt_setter< opt_v, nng_t >

Definition at line 40 of file opt_setter.h.

Member Typedef Documentation

◆ nng_type

template<opt opt_v, nng_with_set_opt_c nng_t>
using nngxx::opt_setter< opt_v, nng_t >::nng_type = nng_t

Definition at line 42 of file opt_setter.h.

Member Function Documentation

◆ operator()()

template<opt opt_v, nng_with_set_opt_c nng_t>
template<nng_value_c nng_value_t>
clev::expected< void > nngxx::opt_setter< opt_v, nng_t >::operator() ( nng_type obj,
nng_value_t val )
inlinenodiscardnoexcept

Definition at line 49 of file opt_setter.h.

51 {
52 int (*set)(nng_type, const char*, nng_value_t);
53
55 {
56 if constexpr (overload == opt_overload::boolean)
58 else if constexpr (overload == opt_overload::integer)
60 else if constexpr (overload == opt_overload::size)
62 else if constexpr (overload == opt_overload::uint64)
64 else if constexpr (overload == opt_overload::string)
66 else if constexpr (overload == opt_overload::duration)
68 else if constexpr (overload == opt_overload::sockaddr)
70 }
71 else if constexpr (std::is_same_v<nng_type, nng_ctx>)
72 {
73 if constexpr (overload == opt_overload::boolean)
75 else if constexpr (overload == opt_overload::integer)
77 else if constexpr (overload == opt_overload::size)
79 else if constexpr (overload == opt_overload::uint64)
81 else if constexpr (overload == opt_overload::string)
83 else if constexpr (overload == opt_overload::duration)
85 }
87 {
88 if constexpr (overload == opt_overload::boolean)
90 else if constexpr (overload == opt_overload::integer)
92 else if constexpr (overload == opt_overload::size)
94 else if constexpr (overload == opt_overload::uint64)
96 else if constexpr (overload == opt_overload::string)
98 else if constexpr (overload == opt_overload::duration)
100 else if constexpr (overload == opt_overload::sockaddr)
102 }
103 else if constexpr (std::is_same_v<nng_type, nng_dialer>)
104 {
105 if constexpr (overload == opt_overload::boolean)
107 else if constexpr (overload == opt_overload::integer)
109 else if constexpr (overload == opt_overload::size)
111 else if constexpr (overload == opt_overload::uint64)
113 else if constexpr (overload == opt_overload::string)
115 else if constexpr (overload == opt_overload::duration)
117 else if constexpr (overload == opt_overload::sockaddr)
119 }
120
121 return nngxx::invoke(set, obj, opt, val);
122 }
clev::expected< void > invoke(ret_t(*f)(args_t...), args_t... args) noexcept
Definition err.h:123
static constexpr auto overload
Definition opt_setter.h:46
static constexpr auto opt
Definition opt_setter.h:44

References nngxx::boolean, nngxx::duration, nngxx::integer, nngxx::invoke(), opt, overload, nngxx::size, nngxx::sockaddr, nngxx::string, and nngxx::uint64.

Here is the call graph for this function:

Member Data Documentation

◆ opt

template<opt opt_v, nng_with_set_opt_c nng_t>
auto nngxx::opt_setter< opt_v, nng_t >::opt = opt_to_nng_value<opt_v>()
staticconstexpr

Definition at line 44 of file opt_setter.h.

Referenced by operator()().

◆ overload

template<opt opt_v, nng_with_set_opt_c nng_t>
auto nngxx::opt_setter< opt_v, nng_t >::overload = opt_to_nng_overload<opt_v>()
staticconstexpr

Definition at line 46 of file opt_setter.h.

Referenced by operator()().


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