![]() |
C++ Library Extensions 2022.12.09
To help learn modern C++ programming
|
#include "cpg_types.hpp"
Go to the source code of this file.
Namespaces | |
namespace | stl_extensions |
namespace | stl_extensions::hidden |
Macros | |
#define | NOMINMAX |
Typedefs | |
template<typename T , typename S > | |
using | stl_extensions::tuple_scalar_signed_cast = typename hidden::st_tuple_scalar_signed_cast< T, S >::type |
template<typename T , typename S > | |
using | stl_extensions::tuple_scalar_unsigned_cast = typename hidden::st_tuple_scalar_unsigned_cast< T, S >::type |
Functions | |
template<bool bSigned, cgt::numerical_c Left, cgt::numerical_c Right> | |
constexpr auto | stl_extensions::hidden::tuple_common_elements (Left, Right) noexcept |
template<bool bSigned = true, typename... Elements, cgt::non_tuple_c Scalar> | |
constexpr auto | stl_extensions::hidden::tuple_common_elements (std::tuple< Elements... >, Scalar) noexcept |
template<bool bSigned = true, typename T , std::size_t N, cgt::numerical_c Scalar> | |
constexpr auto | stl_extensions::hidden::tuple_common_elements (std::array< T, N >, Scalar) noexcept |
template<bool bSigned = true, typename T , std::size_t N, cgt::numerical_c Scalar> | |
constexpr auto | stl_extensions::hidden::tuple_common_elements (Scalar, std::array< T, N >) noexcept |
template<bool bSigned = true, typename T , cgt::numerical_c Scalar> | |
constexpr auto | stl_extensions::hidden::tuple_common_elements (std::vector< T >, Scalar) noexcept |
template<bool bSigned = true, typename T , cgt::numerical_c Scalar> | |
constexpr auto | stl_extensions::hidden::tuple_common_elements (Scalar, std::vector< T >) noexcept |
template<bool bSigned = true, typename... Lefts, typename... Rights> requires ( sizeof...(Lefts) == sizeof...(Rights) ) | |
constexpr auto | stl_extensions::hidden::tuple_common_elements (std::tuple< Lefts... >, std::tuple< Rights... >) noexcept |
template<typename... Lefts, typename... Rights> requires ( sizeof...(Lefts) == sizeof...(Rights) ) | |
constexpr auto | stl_extensions::hidden::operator| (std::tuple< Lefts... >, std::tuple< Rights... >) noexcept |
template<typename... Elements, cgt::non_tuple_c Scalar> | |
constexpr auto | stl_extensions::hidden::operator| (std::tuple< Elements... >, Scalar) noexcept |
template<typename... Elements, cgt::non_tuple_c Scalar> | |
constexpr auto | stl_extensions::hidden::operator| (Scalar, std::tuple< Elements... >) noexcept |
template<typename... Lefts, typename... Rights> requires ( sizeof...(Lefts) == sizeof...(Rights) ) | |
constexpr auto | stl_extensions::hidden::operator|| (std::tuple< Lefts... >, std::tuple< Rights... >) noexcept |
template<typename... Elements, cgt::non_tuple_c Scalar> | |
constexpr auto | stl_extensions::hidden::operator|| (std::tuple< Elements... >, Scalar) noexcept |
template<typename T , typename... Tails> | |
constexpr auto | stl_extensions::signed_tuple_operation (T arg, Tails... args) noexcept |
template<typename T , typename... Tails> | |
constexpr auto | stl_extensions::unsigned_tuple_operation (T arg, Tails... args) noexcept |
template<cgt::tuple_flat_c LeftType, cgt::tuple_flat_c RightType> requires ( std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<std::remove_cvref_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator+ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::tuple_flat_c LeftType, cgt::tuple_flat_c RightType> requires ( std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<std::remove_cvref_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator- (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::tuple_flat_c LeftType, cgt::tuple_flat_c RightType> requires ( std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<std::remove_cvref_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator* (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::tuple_flat_c LeftType, cgt::tuple_flat_c RightType> requires ( std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<std::remove_cvref_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator/ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> | |
constexpr decltype(auto) | stl_extensions::operator+ (TupleType &&A, ScalarType scalar) noexcept(!cpg::bDetectOverFlow) |
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> | |
constexpr decltype(auto) | stl_extensions::operator+ (ScalarType scalar, TupleType &&A) noexcept(!cpg::bDetectOverFlow) |
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> | |
constexpr decltype(auto) | stl_extensions::operator- (TupleType &&A, ScalarType scalar) noexcept(!cpg::bDetectOverFlow) |
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> | |
constexpr decltype(auto) | stl_extensions::operator- (ScalarType scalar, TupleType &&A) noexcept(!cpg::bDetectOverFlow) |
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> | |
constexpr decltype(auto) | stl_extensions::operator* (TupleType &&A, ScalarType scalar) noexcept(!cpg::bDetectOverFlow) |
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> | |
constexpr decltype(auto) | stl_extensions::operator* (ScalarType scalar, TupleType &&A) noexcept(!cpg::bDetectOverFlow) |
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> | |
constexpr decltype(auto) | stl_extensions::operator/ (TupleType &&A, ScalarType scalar) noexcept(!cpg::bDetectOverFlow) |
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> | |
constexpr decltype(auto) | stl_extensions::operator/ (ScalarType scalar, TupleType &&A) noexcept(!cpg::bDetectOverFlow) |
#define NOMINMAX |
Definition at line 12 of file cpg_tuple_operations.hpp.