![]() |
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 |
Macros | |
#define | NOMINMAX |
Functions | |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires (std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<std::remove_cvref_t<RightType>>) && (cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>>) || (cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>>) && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator+ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires (std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<std::remove_cvref_t<RightType>>) && (cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>>) || (cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>>) && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator- (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires (std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<std::remove_cvref_t<RightType>>) && (cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>>) || (cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>>) && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator* (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires (std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<std::remove_cvref_t<RightType>>) && (cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>>) || (cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>>) && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator/ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires (std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<std::remove_cvref_t<RightType>>) && ( (std::tuple_size_v<std::remove_cvref_t<LeftType>> == 3) || (std::tuple_size_v<std::remove_cvref_t<LeftType>> == 4)) && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator% (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires (std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<std::remove_cvref_t<RightType>>) && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator% (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator% (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator% (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires (std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<std::remove_cvref_t<RightType>>) && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator& (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires (std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<std::remove_cvref_t<RightType>>) && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator& (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> | |
constexpr decltype(auto) | stl_extensions::operator& (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> | |
constexpr decltype(auto) | stl_extensions::operator& (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator+ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator+ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator- (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator- (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator* (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator* (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator/ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::std_array_flat_c RightType> requires cgt::numerical_c<std::tuple_element_t<0, std::remove_cvref_t<LeftType>>> && cgt::std_array_c<std::tuple_element_t<0, std::remove_cvref_t<RightType>>> && cgt::common_std_array_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator/ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c ArrayType, cgt::numerical_c ScalarType> | |
constexpr decltype(auto) | stl_extensions::operator+ (ArrayType &&A, ScalarType s) noexcept(!cpg::bDetectOverFlow) |
template<cgt::numerical_c ScalarType, cgt::std_array_flat_c ArrayType> | |
constexpr decltype(auto) | stl_extensions::operator+ (ScalarType s, ArrayType &&A) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c ArrayType, cgt::numerical_c ScalarType> | |
constexpr decltype(auto) | stl_extensions::operator- (ArrayType &&A, ScalarType s) noexcept(!cpg::bDetectOverFlow) |
template<cgt::numerical_c ScalarType, cgt::std_array_flat_c ArrayType> | |
constexpr decltype(auto) | stl_extensions::operator- (ScalarType s, ArrayType &&A) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c ArrayType, cgt::numerical_c ScalarType> | |
constexpr decltype(auto) | stl_extensions::operator* (ArrayType &&A, ScalarType s) noexcept(!cpg::bDetectOverFlow) |
template<cgt::numerical_c ScalarType, cgt::std_array_flat_c ArrayType> | |
constexpr decltype(auto) | stl_extensions::operator* (ScalarType s, ArrayType &&A) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c ArrayType, cgt::numerical_c ScalarType> | |
constexpr decltype(auto) | stl_extensions::operator/ (ArrayType &&A, ScalarType s) noexcept(!cpg::bDetectOverFlow) |
template<cgt::numerical_c ScalarType, cgt::std_array_flat_c ArrayType> | |
constexpr decltype(auto) | stl_extensions::operator/ (ScalarType s, ArrayType &&A) noexcept(!cpg::bDetectOverFlow) |
#define NOMINMAX |
Definition at line 12 of file cpg_std_array_operations.hpp.