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

#include <opt_getter.h>

Public Types

using nng_type = nng_t
 
using return_type = opt_to_nng_type_t<opt_v>
 

Public Member Functions

clev::expected< return_typeoperator() (nng_type obj) 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_get_opt_c nng_t>
struct nngxx::opt_getter< opt_v, nng_t >

Definition at line 40 of file opt_getter.h.

Member Typedef Documentation

◆ nng_type

template<opt opt_v, nng_with_get_opt_c nng_t>
using nngxx::opt_getter< opt_v, nng_t >::nng_type = nng_t

Definition at line 42 of file opt_getter.h.

◆ return_type

template<opt opt_v, nng_with_get_opt_c nng_t>
using nngxx::opt_getter< opt_v, nng_t >::return_type = opt_to_nng_type_t<opt_v>

Definition at line 48 of file opt_getter.h.

Member Function Documentation

◆ operator()()

template<opt opt_v, nng_with_get_opt_c nng_t>
clev::expected< return_type > nngxx::opt_getter< opt_v, nng_t >::operator() ( nng_type obj)
inlinenodiscardnoexcept

Definition at line 51 of file opt_getter.h.

52 {
53 int (*get)(nng_type, const char*, return_type*);
54
56 {
57 if constexpr (overload == opt_overload::boolean)
59 else if constexpr (overload == opt_overload::integer)
61 else if constexpr (overload == opt_overload::size)
63 else if constexpr (overload == opt_overload::uint64)
65 else if constexpr (overload == opt_overload::string)
67 else if constexpr (overload == opt_overload::duration)
69 else if constexpr (overload == opt_overload::sockaddr)
71 }
72 else if constexpr (std::is_same_v<nng_type, nng_ctx>)
73 {
74 if constexpr (overload == opt_overload::boolean)
76 else if constexpr (overload == opt_overload::integer)
78 else if constexpr (overload == opt_overload::size)
80 else if constexpr (overload == opt_overload::uint64)
82 else if constexpr (overload == opt_overload::string)
84 else if constexpr (overload == opt_overload::duration)
86 }
88 {
89 if constexpr (overload == opt_overload::boolean)
91 else if constexpr (overload == opt_overload::integer)
93 else if constexpr (overload == opt_overload::size)
95 else if constexpr (overload == opt_overload::uint64)
97 else if constexpr (overload == opt_overload::string)
99 else if constexpr (overload == opt_overload::duration)
101 else if constexpr (overload == opt_overload::sockaddr)
103 }
104 else if constexpr (std::is_same_v<nng_type, nng_dialer>)
105 {
106 if constexpr (overload == opt_overload::boolean)
108 else if constexpr (overload == opt_overload::integer)
110 else if constexpr (overload == opt_overload::size)
112 else if constexpr (overload == opt_overload::uint64)
114 else if constexpr (overload == opt_overload::string)
116 else if constexpr (overload == opt_overload::duration)
118 else if constexpr (overload == opt_overload::sockaddr)
120 }
121 else if constexpr (std::is_same_v<nng_type, nng_pipe>)
122 {
123 if constexpr (overload == opt_overload::boolean)
125 else if constexpr (overload == opt_overload::integer)
127 else if constexpr (overload == opt_overload::size)
129 else if constexpr (overload == opt_overload::uint64)
131 else if constexpr (overload == opt_overload::string)
133 else if constexpr (overload == opt_overload::duration)
135 else if constexpr (overload == opt_overload::sockaddr)
137 }
138
140
142 }
clev::expected< void > invoke(ret_t(*f)(args_t...), args_t... args) noexcept
Definition err.h:123
auto transform_to(to_value_t &&v) &&noexcept
Definition err.h:119
static constexpr auto overload
Definition opt_getter.h:46
opt_to_nng_type_t< opt_v > return_type
Definition opt_getter.h:48
static constexpr auto opt
Definition opt_getter.h:44

References nngxx::boolean, nngxx::duration, nngxx::integer, nngxx::invoke(), opt, overload, nngxx::size, nngxx::sockaddr, nngxx::string, clev::expected< void >::transform_to(), and nngxx::uint64.

Here is the call graph for this function:

Member Data Documentation

◆ opt

template<opt opt_v, nng_with_get_opt_c nng_t>
auto nngxx::opt_getter< opt_v, nng_t >::opt = opt_to_nng_value<opt_v>()
staticconstexpr

Definition at line 44 of file opt_getter.h.

Referenced by operator()().

◆ overload

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

Definition at line 46 of file opt_getter.h.

Referenced by operator()().


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