OZO 「お象」
Boost.Asio and libpq based asynchronous PostgreSQL unofficial header-only C++17 client library.
ozo::unwrap_impl< T, When > Struct Template Reference

#include <ozo/core/unwrap.h>

Description

template<typename T, typename When = hana::when<true>>
struct ozo::unwrap_impl< T, When >

Default implementation of ozo::unwrap()

This functional class defines how to unwrap an object of type T by means of static member function apply. E.g. in most common cases it may be defined in general way like:

template <typename Arg>
constexpr static decltype(auto) apply(Arg&& v);

In case if you want to specify different behaviour for different type of references the function may be implemented in specific way like:

constexpr static decltype(auto) apply(T&& v);
constexpr static decltype(auto) apply(T& v);
constexpr static decltype(auto) apply(const T& v);
Template Parameters
T— decayed type to apply function to.
When— boost::hana::when specified condition for the overloading.

Inherits ozo::detail::functional::forward.