6 #ifndef IROHA_COMMON_BIND_HPP 7 #define IROHA_COMMON_BIND_HPP 10 #include <type_traits> 41 template <
typename T,
typename Transform>
42 auto operator|(T &&t, Transform &&f) -> std::enable_if_t<
44 decltype(std::forward<Transform>(f)(*std::forward<T>(t))),
46 decltype(std::forward<Transform>(f)(*std::forward<T>(t)))> {
47 if (std::forward<T>(t)) {
48 return std::forward<Transform>(f)(*std::forward<T>(t));
77 template <
typename T,
typename Transform>
78 auto operator|(T &&t, Transform &&f) -> std::enable_if_t<
79 std::is_same<decltype(std::forward<Transform>(f)(*std::forward<T>(t))),
81 if (std::forward<T>(t)) {
82 std::forward<Transform>(f)(*std::forward<T>(t));
87 #endif // IROHA_COMMON_BIND_HPP auto operator|(T &&t, Transform &&f) -> std::enable_if_t< not std::is_same< decltype(std::forward< Transform >(f)(*std::forward< T >(t))), void >::value, decltype(std::forward< Transform >(f)(*std::forward< T >(t)))>
Definition: bind.hpp:42
Definition: block_query.hpp:15