![]() |
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::vector_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator+ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator- (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator* (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator/ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> && (cgt::std_array_c<cgt::first_type_t<LeftType>>) && (cgt::std_array_c<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator% (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> && (cgt::std_array_c<cgt::first_type_t<LeftType>>) && (cgt::std_array_c<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator& (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::std_array_flat_c RightType> requires cgt::common_vector_c<LeftType, RightType> && (cgt::std_array_c<cgt::first_type_t<LeftType>>) && (cgt::numerical_c<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator+ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> && (cgt::numerical_c<cgt::first_type_t<LeftType>>) && (cgt::std_array_c<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator+ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::std_array_flat_c RightType> requires cgt::common_vector_c<LeftType, RightType> && (cgt::std_array_c<cgt::first_type_t<LeftType>>) && (cgt::numerical_c<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator- (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> && (cgt::numerical_c<cgt::first_type_t<LeftType>>) && (cgt::std_array_c<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator- (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::std_array_flat_c RightType> requires cgt::common_vector_c<LeftType, RightType> && (cgt::std_array_c<cgt::first_type_t<LeftType>>) && (cgt::numerical_c<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator* (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> && (cgt::numerical_c<cgt::first_type_t<LeftType>>) && (cgt::std_array_c<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator* (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::std_array_flat_c RightType> requires cgt::common_vector_c<LeftType, RightType> && (cgt::std_array_c<cgt::first_type_t<LeftType>>) && (cgt::numerical_c<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator/ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> && (cgt::numerical_c<cgt::first_type_t<LeftType>>) && (cgt::std_array_c<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator/ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::std_array_flat_c RightType> requires cgt::common_vector_c<LeftType, RightType> && (cgt::std_array_c<cgt::first_type_t<LeftType>>) && (cgt::numerical_c<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator% (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::std_array_flat_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> && (cgt::numerical_c<cgt::first_type_t<LeftType>>) && (cgt::std_array_c<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator% (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::std_array_flat_c RightType> requires cgt::std_array_c<cgt::first_type_t<LeftType>> && cgt::numerical_c<cgt::first_type_t<RightType>> && (std::tuple_size_v<cgt::first_type_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::std_array_flat_c LeftType, cgt::vector_c RightType> requires cgt::numerical_c<cgt::first_type_t<LeftType>> && cgt::std_array_c<cgt::first_type_t<RightType>> && (std::tuple_size_v<std::remove_cvref_t<LeftType>> == std::tuple_size_v<cgt::first_type_t<RightType>>) | |
constexpr decltype(auto) | stl_extensions::operator& (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::numerical_c RightType> requires cgt::common_vector_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator+ (LeftType &&A, RightType B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::numerical_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator+ (LeftType A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::numerical_c RightType> requires cgt::common_vector_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator- (LeftType &&A, RightType B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::numerical_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator- (LeftType A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::numerical_c RightType> requires cgt::common_vector_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator* (LeftType &&A, RightType B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::numerical_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator* (LeftType A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::vector_c LeftType, cgt::numerical_c RightType> requires cgt::common_vector_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator/ (LeftType &&A, RightType B) noexcept(!cpg::bDetectOverFlow) |
template<cgt::numerical_c LeftType, cgt::vector_c RightType> requires cgt::common_vector_c<LeftType, RightType> | |
constexpr decltype(auto) | stl_extensions::operator/ (LeftType A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
#define NOMINMAX |
Definition at line 13 of file cpg_vector_operations.hpp.