|
| template<class A1 , class Op , class A2 > |
| constexpr auto | mpc::infixr (A1 &&a1, Op &&op, A2 &&a2) noexcept(noexcept(std::invoke(std::forward< Op >(op), std::forward< A1 >(a1), std::forward< A2 >(a2)))) -> decltype(std::invoke(std::forward< Op >(op), std::forward< A1 >(a1), std::forward< A2 >(a2))) |
| | Implements the right-associative infix notation. More...
|
| |
|
template<class A1 , class Op , class... Args> |
| constexpr auto | mpc::infixr (A1 &&a1, Op &&op, Args &&... args) noexcept(noexcept(std::invoke(std::forward< Op >(op), std::forward< A1 >(a1), infixr(std::forward< Args >(args)...)))) -> decltype(std::invoke(std::forward< Op >(op), std::forward< A1 >(a1), infixr(std::forward< Args >(args)...))) |
| | Another overloaded function of infixr.
|
| |
| template<class A1 , class Op , class A2 > |
| constexpr auto | mpc::infixl (A1 &&a1, Op &&op, A2 &&a2) noexcept(noexcept(std::invoke(std::forward< Op >(op), std::forward< A1 >(a1), std::forward< A2 >(a2)))) -> decltype(std::invoke(std::forward< Op >(op), std::forward< A1 >(a1), std::forward< A2 >(a2))) |
| | Implements the left-associative infix notation. More...
|
| |
|
template<class A1 , class Op , class A2 , class... Args> |
| constexpr auto | mpc::infixl (A1 &&a1, Op &&op, A2 &&a2, Args &&... args) noexcept(noexcept(infixl(std::invoke(std::forward< Op >(op), std::forward< A1 >(a1), std::forward< A2 >(a2)), std::forward< Args >(args)...))) -> decltype(infixl(std::invoke(std::forward< Op >(op), std::forward< A1 >(a1), std::forward< A2 >(a2)), std::forward< Args >(args)...)) |
| | Another overloaded function of infixl.
|
| |