|
| struct | Arg |
| | parameter storage for type T within a parameter pack More...
|
| |
| struct | CanConvertTo |
| |
| struct | ConstRefWrap |
| | signifies the parameter should be passed by const reference More...
|
| |
| struct | ContainsTag |
| | template meta-function contains a static boolean variable 'result' which is true if Tag is in the list of kwargs and false if not More...
|
| |
| struct | ContainsTag< Tag > |
| | specialization for when Tag is not in the type list More...
|
| |
| struct | ContainsTag< Tag, Arg< Tag, T >, Rest...> |
| | specialization for when the Arg<Tag,T> type is found More...
|
| |
| struct | ContainsTag< Tag, First, Rest...> |
| | specialization for recursion More...
|
| |
| struct | GetImpl |
| | provides static member Get() with implementations depending on whether or not Tag is in Args... More...
|
| |
| struct | GetImpl< Tag, false, Default, Args...> |
| | specialization for when Tag is not in Args..., returns the default value More...
|
| |
| struct | GetImpl< Tag, true, Default, Args...> |
| | specialization for when Tag is in Args... returns the value corresponding to Tag More...
|
| |
| class | has_member |
| | Template metafunction, ::result evaluates to true if Type has a function call operator member. More...
|
| |
| struct | is_call_possible |
| |
| struct | Key |
| | assignment operator sentinal used as a key for key-values pairs in the kwargs parameter pack More...
|
| |
| struct | ParamPack |
| | storage for kwargs parameter pack More...
|
| |
| struct | ParamPack< Head, Tail...> |
| | specialization for recursion, provides storage for the current type in the type list, then recursively derives from the remaining types in the type list More...
|
| |
| struct | ParamPack< Tail > |
| | specialization for base case, provides storage for the last type in the type list More...
|
| |
| struct | RefWrap |
| | signifies that the parameter should be passed by reference More...
|
| |
| class | Tag |
| | constexpr string, used to implement tagging with strings More...
|
| |
| struct | TypeOfTagDefault |
| | template meta function provides a member typedef Result which evaluates to T if Arg<Tag,T> is in Args... or Default if it is not More...
|
| |
| struct | TypeOfTagDefault< Tag, Default > |
| | specialization for when Arg<Tag,T> is not in the type list More...
|
| |
| struct | TypeOfTagDefault< Tag, Default, Arg< Tag, T >, Tail...> |
| | specialization for when Arg<Tag,T> is found More...
|
| |
| struct | TypeOfTagDefault< Tag, Default, Head, Tail...> |
| | specialization for recursion More...
|
| |
|
| template<typename T > |
| const ConstRefWrap< T > | ConstRef (const T &v) |
| | forces an argument to be passed by const reference More...
|
| |
| constexpr bool | ContainsTagFn (uint64_t tag) |
| | Function version of ContainsTag. More...
|
| |
| template<uint64_t Tag, typename T , typename... Rest> |
| constexpr bool | ContainsTagFn (uint64_t tag, Arg< Tag, T > first, Rest...rest) |
| |
| template<uint64_t Tag, typename Default , typename... Args> |
TypeOfTagDefault< Tag, Default,
Args...>::Result | Get (ParamPack< Args...> &pack, Default d) |
| | given a parameter pack, retrieves and return sthe parameter tagged with tag, or else returns a default value if tag is not in Args... More...
|
| |
| template<uint64_t Tag, typename Default , typename... Args> |
TypeOfTagDefault< Tag, Default,
Args...>::Result | Get (ParamPack< Args...> &pack, const Key< Tag > &key, Default d) |
| | given a parameter pack, retrieves and return sthe parameter tagged with tag, or else returns a default value if tag is not in Args... More...
|
| |
| template<uint32_t N> |
| constexpr uint64_t | Hash (const char(&string)[N]) |
| | returns a 64bit hash of string More...
|
| |
| uint64_t | HashString (const std::string &str, int i, uint64_t hash) |
| | Return an unsigned 64bit hash of string. More...
|
| |
| uint64_t | HashString (const std::string &str) |
| |
| template<typename T > |
| RefWrap< T > | Ref (T &v) |
| | forces an argument to be passed by reference More...
|
| |
| template<typename T , typename ReturnType > |
| ReturnType | SafeReturn (T query, ReturnType default_value) |
| | SFINAE to safely iterate over params in a parampack since we cannot use the ?: operator on any old pairs of types. More...
|
| |
classes and templates used by kwargs library
template<uint64_t Tag, typename Default , typename... Args>
| TypeOfTagDefault<Tag,Default,Args...>::Result kw::Get |
( |
ParamPack< Args...> & |
pack, |
|
|
Default |
d |
|
) |
| |
|
inline |
given a parameter pack, retrieves and return sthe parameter tagged with tag, or else returns a default value if tag is not in Args...
Definition at line 84 of file kwargs.h.
template<uint64_t Tag, typename Default , typename... Args>
| TypeOfTagDefault<Tag,Default,Args...>::Result kw::Get |
( |
ParamPack< Args...> & |
pack, |
|
|
const Key< Tag > & |
key, |
|
|
Default |
d |
|
) |
| |
|
inline |
given a parameter pack, retrieves and return sthe parameter tagged with tag, or else returns a default value if tag is not in Args...
Definition at line 93 of file kwargs.h.