Arene Base
Fundamental Utilities For Safety Critical C++
Loading...
Searching...
No Matches
std::minus< void > Class Reference

Function object that can be invoked for subtraction, specialized for type deduction. More...

Public Types

using first_argument_type
 Type of the first value to subtract.
 
using is_transparent = void
 Denotes that this is a transparent function object type.
 
using result_type
 Result type of invoking this object.
 
using second_argument_type
 Type of the second value to subtract.
 

Public Member Functions

template<class T, class U>
constexpr auto operator() (T &&lhs, U &&rhs) const noexcept(noexcept(std::forward< T >(std::declval< T & >()) - std::forward< U >(std::declval< U & >()))) ->
 Returns the first value minus the second value.
 
constexpr auto operator() (void const &lhs, void const &rhs) const noexcept(noexcept(std::declval< void & >() - std::declval< void & >())) -> void
 Returns the first value minus the second value.
 
constexpr auto operator() (void const &lhs, void const &rhs) const noexcept(noexcept(std::declval< void & >() - std::declval< void & >())) -> void
 Returns the first value minus the second value.
 

Detailed Description

Function object that can be invoked for subtraction, specialized for type deduction.

Member Typedef Documentation

◆ first_argument_type

using std::minus< void >::first_argument_type

Type of the first value to subtract.

◆ is_transparent

using std::minus< void >::is_transparent = void

Denotes that this is a transparent function object type.

◆ result_type

using std::minus< void >::result_type

Result type of invoking this object.

◆ second_argument_type

using std::minus< void >::second_argument_type

Type of the second value to subtract.

Member Function Documentation

◆ operator()() [1/3]

template<class T, class U>
auto std::minus< void >::operator() ( T && lhs,
U && rhs ) const ->
inlineconstexprnoexcept

Returns the first value minus the second value.

Template Parameters
TThe first type
UThe second type
Parameters
lhsThe first value to subtract
rhsThe second value to subtract
Returns
Returns the result of invoking operator- on lhs and rhs

◆ operator()() [2/3]

auto std::minus< void >::operator() ( void const & lhs,
void const & rhs ) const-> void
inlineconstexprnoexcept

Returns the first value minus the second value.

Template Parameters
UTemplate parameter to enable constraints.
Parameters
lhsThe first value to subtract
rhsThe second value to subtract
Returns
Returns the result of invoking operator- on lhs and rhs

◆ operator()() [3/3]

auto std::minus< void >::operator() ( void const & lhs,
void const & rhs ) const-> void
inlineconstexprnoexcept

Returns the first value minus the second value.

Template Parameters
UTemplate parameter to enable constraints.
Parameters
lhsThe first value to subtract
rhsThe second value to subtract
Returns
Returns the result of invoking operator- on lhs and rhs
Note
This overload explicitly casts the result of the computation to the type T. This avoids any warning for implicit conversion (present on gcc8).

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