|
template<cgt::tuple_c Left, cgt::tuple_c Right>
requires requires (Left l, Right r) { l + r; } |
auto | operator+ (std::vector< Left > const &L, std::vector< Right > const &R) |
|
template<cgt::tuple_c Left, cgt::tuple_c Right>
requires requires (Left l, Right r) { l + r; } |
auto | operator- (std::vector< Left > const &L, std::vector< Right > const &R) |
|
template<cgt::tuple_c Left, cgt::tuple_c Right>
requires requires (Left l, Right r) { l + r; } |
auto | operator* (std::vector< Left > const &L, std::vector< Right > const &R) |
|
template<cgt::tuple_c Left, cgt::tuple_c Right>
requires requires (Left l, Right r) { l + r; } |
auto | operator/ (std::vector< Left > const &L, std::vector< Right > const &R) |
|
template<cgt::vector_c Left, cgt::vector_c Right, std::size_t N>
requires requires (Left l, Right r) { l + r; } |
auto | operator+ (std::array< Left, N > const &L, std::array< Right, N > const &R) |
|
template<cgt::vector_c Left, cgt::vector_c Right, std::size_t N>
requires requires (Left l, Right r) { l + r; } |
auto | operator- (std::array< Left, N > const &L, std::array< Right, N > const &R) |
|
template<cgt::vector_c Left, cgt::vector_c Right, std::size_t N>
requires requires (Left l, Right r) { l + r; } |
auto | operator* (std::array< Left, N > const &L, std::array< Right, N > const &R) |
|
template<cgt::vector_c Left, cgt::vector_c Right, std::size_t N>
requires requires (Left l, Right r) { l + r; } |
auto | operator/ (std::array< Left, N > const &L, std::array< Right, N > const &R) |
|
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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | operator/ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::std_array_flat_c ArrayType, cgt::numerical_c ScalarType> |
constexpr decltype(auto) | operator+ (ArrayType &&A, ScalarType s) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::numerical_c ScalarType, cgt::std_array_flat_c ArrayType> |
constexpr decltype(auto) | operator+ (ScalarType s, ArrayType &&A) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::std_array_flat_c ArrayType, cgt::numerical_c ScalarType> |
constexpr decltype(auto) | operator- (ArrayType &&A, ScalarType s) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::numerical_c ScalarType, cgt::std_array_flat_c ArrayType> |
constexpr decltype(auto) | operator- (ScalarType s, ArrayType &&A) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::std_array_flat_c ArrayType, cgt::numerical_c ScalarType> |
constexpr decltype(auto) | operator* (ArrayType &&A, ScalarType s) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::numerical_c ScalarType, cgt::std_array_flat_c ArrayType> |
constexpr decltype(auto) | operator* (ScalarType s, ArrayType &&A) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::std_array_flat_c ArrayType, cgt::numerical_c ScalarType> |
constexpr decltype(auto) | operator/ (ArrayType &&A, ScalarType s) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::numerical_c ScalarType, cgt::std_array_flat_c ArrayType> |
constexpr decltype(auto) | operator/ (ScalarType s, ArrayType &&A) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::numerical_c H, cgt::numerical_c... Ts> |
constexpr decltype(auto) | tuple_to_array (std::tuple< H, Ts... > const &tuple) noexcept |
|
template<cgt::tuple_flat_c H, cgt::tuple_flat_c... Ts>
requires (!cgt::all_same_flat_c<H, Ts...>) && (std::tuple_size_v<H> == ... == std::tuple_size_v<Ts>) |
constexpr decltype(auto) | tuple_to_array (std::tuple< H, Ts... > const &tuple) noexcept |
|
template<cgt::tuple_flat_c H, cgt::tuple_flat_c... Ts>
requires cgt::all_same_flat_c<H, Ts...> |
constexpr decltype(auto) | tuple_to_array (std::tuple< H, Ts... > const &tuple) noexcept |
|
template<cgt::numerical_c E, std::size_t N> |
constexpr decltype(auto) | array_to_tuple (std::array< E, N > const &array) noexcept |
|
template<cgt::numerical_c E, std::size_t N, cgt::numerical_c H, cgt::numerical_c... Ts>
requires (N == sizeof...(Ts) + 1) |
constexpr decltype(auto) | operator+ (std::array< E, N > const &A, std::tuple< H, Ts... > const &T) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::numerical_c E, std::size_t N, cgt::numerical_c H, cgt::numerical_c... Ts>
requires (N == sizeof...(Ts) + 1) |
constexpr decltype(auto) | operator+ (std::tuple< H, Ts... > const &T, std::array< E, N > const &A) noexcept(!cpg::bDetectOverFlow) |
|
template<typename E , std::size_t N, typename H , typename... Ts>
requires (N == sizeof...(Ts) + 1) && ( !(cgt::numerical_c<E> && (cgt::numerical_c<H> && ... && cgt::numerical_c<Ts>)) ) |
constexpr decltype(auto) | operator+ (std::array< E, N > const &A, std::tuple< H, Ts... > const &T) noexcept(!cpg::bDetectOverFlow) |
|
template<typename E , std::size_t N, typename H , typename... Ts>
requires (N == sizeof...(Ts) + 1) && ( !( cgt::numerical_c<E> && (cgt::numerical_c<H> && ... && cgt::numerical_c<Ts>)) ) |
constexpr decltype(auto) | operator+ (std::tuple< H, Ts... > const &T, std::array< E, N > const &A) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::numerical_c E, std::size_t N, cgt::numerical_c H, cgt::numerical_c... Ts>
requires (N == sizeof...(Ts) + 1) |
constexpr decltype(auto) | operator- (std::array< E, N > const &A, std::tuple< H, Ts... > const &T) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::numerical_c E, std::size_t N, cgt::numerical_c H, cgt::numerical_c... Ts>
requires (N == sizeof...(Ts) + 1) |
constexpr decltype(auto) | operator- (std::tuple< H, Ts... > const &T, std::array< E, N > const &A) noexcept(!cpg::bDetectOverFlow) |
|
template<typename E , std::size_t N, typename H , typename... Ts>
requires (N == sizeof...(Ts) + 1) && ( !(cgt::numerical_c<E> && (cgt::numerical_c<H> && ... && cgt::numerical_c<Ts>)) ) |
constexpr decltype(auto) | operator- (std::array< E, N > const &A, std::tuple< H, Ts... > const &T) noexcept(!cpg::bDetectOverFlow) |
|
template<typename E , std::size_t N, typename H , typename... Ts>
requires (N == sizeof...(Ts) + 1) && ( !( cgt::numerical_c<E> && (cgt::numerical_c<H> && ... && cgt::numerical_c<Ts>)) ) |
constexpr decltype(auto) | operator- (std::tuple< H, Ts... > const &T, std::array< E, N > const &A) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::numerical_c E, std::size_t N, cgt::numerical_c H, cgt::numerical_c... Ts>
requires (N == sizeof...(Ts) + 1) |
constexpr decltype(auto) | operator* (std::array< E, N > const &A, std::tuple< H, Ts... > const &T) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::numerical_c E, std::size_t N, cgt::numerical_c H, cgt::numerical_c... Ts>
requires (N == sizeof...(Ts) + 1) |
constexpr decltype(auto) | operator* (std::tuple< H, Ts... > const &T, std::array< E, N > const &A) noexcept(!cpg::bDetectOverFlow) |
|
template<typename E , std::size_t N, typename H , typename... Ts>
requires (N == sizeof...(Ts) + 1) && ( !(cgt::numerical_c<E> && (cgt::numerical_c<H> && ... && cgt::numerical_c<Ts>)) ) |
constexpr decltype(auto) | operator* (std::array< E, N > const &A, std::tuple< H, Ts... > const &T) noexcept(!cpg::bDetectOverFlow) |
|
template<typename E , std::size_t N, typename H , typename... Ts>
requires (N == sizeof...(Ts) + 1) && ( !( cgt::numerical_c<E> && (cgt::numerical_c<H> && ... && cgt::numerical_c<Ts>)) ) |
constexpr decltype(auto) | operator* (std::tuple< H, Ts... > const &T, std::array< E, N > const &A) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::numerical_c E, std::size_t N, cgt::numerical_c H, cgt::numerical_c... Ts>
requires (N == sizeof...(Ts) + 1) |
constexpr decltype(auto) | operator/ (std::array< E, N > const &A, std::tuple< H, Ts... > const &T) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::numerical_c E, std::size_t N, cgt::numerical_c H, cgt::numerical_c... Ts>
requires (N == sizeof...(Ts) + 1) |
constexpr decltype(auto) | operator/ (std::tuple< H, Ts... > const &T, std::array< E, N > const &A) noexcept(!cpg::bDetectOverFlow) |
|
template<typename E , std::size_t N, typename H , typename... Ts>
requires (N == sizeof...(Ts) + 1) && ( !(cgt::numerical_c<E> && (cgt::numerical_c<H> && ... && cgt::numerical_c<Ts>)) ) |
constexpr decltype(auto) | operator/ (std::array< E, N > const &A, std::tuple< H, Ts... > const &T) noexcept(!cpg::bDetectOverFlow) |
|
template<typename E , std::size_t N, typename H , typename... Ts>
requires (N == sizeof...(Ts) + 1) && ( !( cgt::numerical_c<E> && (cgt::numerical_c<H> && ... && cgt::numerical_c<Ts>)) ) |
constexpr decltype(auto) | operator/ (std::tuple< H, Ts... > const &T, std::array< E, N > const &A) noexcept(!cpg::bDetectOverFlow) |
|
template<template< typename, typename, typename... > class ContainerType, typename EleType , typename Type , typename ... Types, std::common_with< EleType > S>
requires requires { container.emplace_back(EleType{}); } || requires { container.emplace(container.end(), EleType{}); } || requires { container.emplace(EleType{}); } |
ContainerType< EleType, Type, Types... > & | operator<< (ContainerType< EleType, Type, Types... > &container, S &&s) |
| Implace back. More...
|
|
template<template< typename, typename, typename... > class ContainerType, typename EleType , typename Type , typename ... Types, std::common_with< EleType > S>
requires requires { container.emplace_front(EleType{}); } || requires { container.emplace(container.begin(), EleType{}); } || requires { container.emplace(EleType{}); } |
ContainerType< EleType, Type, Types... > & | operator>> (ContainerType< EleType, Type, Types... > &container, S &&s) |
| Implace front. More...
|
|
template<template< typename, typename, typename... > class ContainerType, typename EleType , typename Type , typename ... Types, cgt::view_flat_c ViewType>
requires requires { container.emplace_back(EleType{}); } || requires { container.insert(container.end(), EleType{}); } || requires { container.emplace(EleType{}); } |
ContainerType< EleType, Type, Types... > & | operator<< (ContainerType< EleType, Type, Types... > &container, ViewType &&view) |
| Implace Back. More...
|
|
template<template< typename, typename, typename... > class ContainerType, typename EleType , typename Type , typename ... Types, cgt::view_flat_c ViewType>
requires requires { container.emplace_front(EleType{}); } || requires { container.insert(container.begin(), EleType{}); } || requires { container.emplace(EleType{}); } |
ContainerType< EleType, Type, Types... > & | operator>> (ContainerType< EleType, Type, Types... > &container, ViewType &&view) |
| Implace Front. More...
|
|
template<typename CharType > |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, cpg::hidden::flush) |
|
template<typename CharType > |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, cpg::hidden::endl) |
|
template<typename CharType > |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, cpg::hidden::endL) |
|
template<typename CharType > |
std::basic_ostringstream< CharType > & | operator<< (std::basic_ostringstream< CharType > &os, cpg::hidden::clear) |
|
template<typename CharType > |
std::basic_ostringstream< CharType > & | operator<< (std::basic_ostringstream< CharType > &os, cpg::hidden::flush) |
|
template<typename CharType > |
std::basic_ostringstream< CharType > & | operator<< (std::basic_ostringstream< CharType > &os, cpg::hidden::endl) |
|
template<typename CharType > |
std::basic_ostringstream< CharType > & | operator<< (std::basic_ostringstream< CharType > &os, cpg::hidden::endL) |
|
template<typename = void> |
std::ostream & | operator<< (std::ostream &os, const wchar_t *str) |
|
template<typename = void> |
std::ostream & | operator<< (std::ostream &os, std::wstring const &str) |
|
template<typename = void> |
std::ostream & | operator<< (std::ostream &os, const char8_t *str) |
|
template<typename = void> |
std::ostream & | operator<< (std::ostream &os, std::u8string const &str) |
|
template<typename = void> |
std::wostream & | operator<< (std::wostream &os, const char *str) |
|
template<typename = void> |
std::wostream & | operator<< (std::wostream &os, const char8_t *str) |
|
template<typename = void> |
std::wostream & | operator<< (std::wostream &os, std::u8string const &str) |
|
template<typename CharType > |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, std::basic_stringstream< CharType > const &stream) |
|
template<cgt::tuple_flat_c T, cgt::tuple_flat_c S, cgt::tuple_flat_c ... Tails> |
constexpr auto | tuple_cartesian_product_type (T A, S B, Tails... tails) |
|
template<typename CharType , typename Type > |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, const std::optional< Type > &opt) |
|
template<typename CharType , typename FirstType , typename SecondType > |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, const std::pair< FirstType, SecondType > &pr) |
|
template<typename CharType , typename... Types> |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, const std::tuple< Types... > &container) |
|
template<typename CharType , typename Type , typename... Types> |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, const std::variant< Type, Types... > &v) |
|
template<typename CharType , typename ContainerType >
requires (cgt::std_array_flat_c< ContainerType > || cgt::span_flat_c< ContainerType > || ( cgt::c_array_flat_c<ContainerType> && cgt::non_chars_c<ContainerType> ) ) |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, ContainerType &&container) |
|
template<class F , typename T , std::size_t N> |
constexpr decltype(auto) | apply (F &&f, T(&&c_array)[N]) |
|
template<class F , typename T , std::size_t N> |
constexpr decltype(auto) | apply (F &&f, T(&c_array)[N]) |
|
template<std::size_t I, class T , std::size_t N> |
constexpr decltype(auto) | get (T(&c_array)[N]) noexcept |
|
template<std::size_t I, class T , std::size_t N> |
constexpr decltype(auto) | get (T(&&c_array)[N]) noexcept |
|
template<typename CharType , typename T , T... Indices> |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, std::integer_sequence< T, Indices... > const &seq) noexcept |
|
template<typename CharType , typename T > |
std::basic_ostream< CharType > & | operator>> (std::basic_ostream< CharType > &os, T const &t) |
|
template<typename CharType , typename... Types> |
std::basic_ostream< CharType > & | operator>> (std::basic_ostream< CharType > &os, std::tuple< Types... > const &t) |
|
template<cgt::either_array_or_tuple_flat_c T, cgt::either_array_or_tuple_flat_c S, cgt::either_array_or_tuple_flat_c... Tails> |
constexpr decltype(auto) | tuple_cartesian_product (T &&A, S &&B, Tails &&... tails) |
|
template<class F , typename T , std::size_t N> |
constexpr decltype(auto) | apply (F &&f, std::span< T, N > &sp) |
|
template<class F , typename T , std::size_t N> |
constexpr decltype(auto) | apply (F &&f, const std::span< T, N > &sp) |
|
template<class F , typename T , std::size_t N> |
constexpr decltype(auto) | apply (F &&f, std::span< T, N > &&sp) |
|
template<typename CharType , cgt::stream_undefined_container_flat_c ContainerType> |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, ContainerType &&container) |
|
template<typename CharType , cgt::view_flat_c ViewType> |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, ViewType &&view) |
|
template<typename CharType , cgt::map_c ContainerType> |
std::basic_ostream< CharType > & | operator<< (std::basic_ostream< CharType > &os, const ContainerType &container) |
|
template<typename T , typename... Tails> |
constexpr auto | signed_tuple_operation (T arg, Tails... args) noexcept |
|
template<typename T , typename... Tails> |
constexpr auto | 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) | 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) | 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) | 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) | operator/ (LeftType &&A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> |
constexpr decltype(auto) | operator+ (TupleType &&A, ScalarType scalar) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> |
constexpr decltype(auto) | operator+ (ScalarType scalar, TupleType &&A) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> |
constexpr decltype(auto) | operator- (TupleType &&A, ScalarType scalar) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> |
constexpr decltype(auto) | operator- (ScalarType scalar, TupleType &&A) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> |
constexpr decltype(auto) | operator* (TupleType &&A, ScalarType scalar) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> |
constexpr decltype(auto) | operator* (ScalarType scalar, TupleType &&A) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> |
constexpr decltype(auto) | operator/ (TupleType &&A, ScalarType scalar) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::tuple_flat_c TupleType, cgt::numerical_c ScalarType> |
constexpr decltype(auto) | operator/ (ScalarType scalar, TupleType &&A) noexcept(!cpg::bDetectOverFlow) |
|
template<cgt::vector_c LeftType, cgt::vector_c RightType>
requires cgt::common_vector_c<LeftType, RightType> |
constexpr decltype(auto) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | 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) | operator/ (LeftType A, RightType &&B) noexcept(!cpg::bDetectOverFlow) |
|