![]() |
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.