5#ifndef INCLUDE_GUARD_ARENE_BASE_STDLIB_INCLUDE_STDLIB_DETAIL_LOGICAL_OR_HPP_
6#define INCLUDE_GUARD_ARENE_BASE_STDLIB_INCLUDE_STDLIB_DETAIL_LOGICAL_OR_HPP_
14#include "arene/base/compiler_support/diagnostics.hpp"
15#include "stdlib/include/stdlib_detail/declval.hpp"
16#include "stdlib/include/stdlib_detail/forward.hpp"
17#include "stdlib/include/stdlib_detail/is_fundamental.hpp"
18#include "stdlib/include/stdlib_detail/void_t.hpp"
27template <
class T =
void>
31 using result_type =
bool;
33 using first_argument_type = T;
35 using second_argument_type = T;
44 constexpr auto operator()(T
const& lhs, T
const& rhs)
const
60 using is_transparent =
void;
71 template <
class T,
class U>
72 constexpr auto operator()(T&& lhs, U&& rhs)
const
76 return std::forward<T>(lhs) || std::forward<U>(rhs);
constexpr auto operator()(T &&lhs, U &&rhs) const noexcept(noexcept(std::declval< T && >()||std::declval< U && >())) ->
Returns the logical OR of lhs and rhs.
Definition logical_or.hpp:72
ARENE_IGNORE_ARMCLANG("-Wnull-conversion", "The standard expects the conversions here")
Function object for performing logical OR (logical disjunction). Effectively calls operator|| on type...
Definition logical_or.hpp:28
constexpr auto operator()(T const &lhs, T const &rhs) const noexcept(noexcept(std::declval< T const & >()||std::declval< T const & >())) -> bool
Returns the logical OR of lhs and rhs.
Definition logical_or.hpp:44
ARENE_IGNORE_ARMCLANG("-Wnull-conversion", "The standard expects the conversions here")
constexpr auto operator()(::arene::base::result< void, E > const &value) const noexcept(noexcept(hash< E >{}(std::declval< E const & >()))) -> std::size_t
Calculate the hash of a result.
Definition result.hpp:1827