|
class | directory |
|
class | Formatter |
| converts c-style format and inputs to std::string More...
|
|
class | GlobalStreamWrapperSettings |
|
class | Separator |
| Set separator to vccc::BasicStreamWrapper. More...
|
|
class | Quoted |
| Manipulator for adding quotation to strings(only to string and string_view) More...
|
|
class | ExpandAggregate |
| Manipulator for expanding aggregate types. More...
|
|
class | ExpandArray |
| Expand array instead of printing its value. More...
|
|
class | IOSFlagsSaver |
| RAII wrapper that restores stream's flags on destroyed. More...
|
|
class | Logger |
| Ease use of vccc::StreamWrapper. More...
|
|
class | StreamManipulator |
| Manipulator for vccc::StreamWrapper. More...
|
|
class | StreamWrapperBase |
|
class | BasicStreamWrapper |
| stream wrapper that supports extended operator overloading More...
|
|
class | MatrixBase |
|
class | Matrix |
| A class that represents 2D matrix. More...
|
|
class | MatrixSum |
|
class | MatrixMinus |
|
class | MatrixSub |
|
class | MatrixMulScalar |
|
class | MatrixDivScalar |
|
class | MatrixMulMatrix |
|
class | MatrixProxyNocopy |
|
class | MatrixAssigner |
|
struct | is_matrix |
|
class | MatrixInverter |
|
struct | differential_newtonian_t |
|
struct | differential_symmetric_t |
|
struct | differential_five_point_stencil_t |
|
class | connection |
| Connection manager for a single slot. More...
|
|
class | raii_connection |
| Scoped connection manager for a single slot. More...
|
|
class | signal_impl |
|
class | signal |
|
struct | group_key |
|
struct | group_key_compare |
|
class | signal< R(Args...), Group > |
| Signal handling class. More...
|
|
class | slot |
|
class | slot< R(Args...)> |
|
struct | grouped_slot_list |
|
class | back_emplace_iterator |
|
struct | unstable_three_way_comparable |
|
struct | assignable_from |
| Models std::assignable_from More...
|
|
struct | boolean_testable |
|
struct | common_reference_with |
| specifies that two types share a common reference type More...
|
|
struct | common_with |
| specifies that two types share a common type More...
|
|
struct | comparison_common_type_with |
| specifies that two types share a common type, and a const lvalue or a non-const rvalue of either type is convertible to that common type. More...
|
|
struct | constructible_from |
| specifies that a variable of the type can be constructed from or bound to a set of argument types More...
|
|
struct | convertible_to |
| Models std::convertible_to More...
|
|
struct | copy_constructible |
| specifies that an object of a type can be copy constructed and move constructed More...
|
|
struct | copyable |
| specifies that an object of a type can be copied, moved, and swapped More...
|
|
struct | default_initializable |
| specifies that an object of a type can be default constructed More...
|
|
struct | dereferenceable |
| specifies that an object of a type can be dereferenced More...
|
|
struct | derived_from |
| Models std::derived_from More...
|
|
struct | derived_from_single_crtp |
| specifies that a type is derived from single specialization of CRTP base More...
|
|
struct | destructible |
| specifies that an object of the type can be destroyed More...
|
|
struct | different_from |
|
struct | different_from_this |
|
struct | different_from_this< Test, T > |
|
struct | equality_comparable |
| specifies that operator == is an equivalence relation More...
|
|
struct | equality_comparable_with |
| specifies that operator == is an equivalence relation More...
|
|
struct | equivalence_relation |
| specifies that a relation imposes an equivalence relation More...
|
|
struct | implicit_expression_check |
|
struct | implicit_expression_check< Check, Left, Right > |
|
struct | implicit_expression_check< Check, Left, const Right & > |
|
struct | implicit_expression_check< Check, const Left &, const Right & > |
|
struct | implicit_expression_check< Check, Operand > |
|
struct | implicit_expression_check< Check, const Operand & > |
|
struct | invocable |
| specifies that a callable type can be invoked with a given set of argument types More...
|
|
struct | regular_invocable |
| specifies that a callable type can be invoked with a given set of argument types More...
|
|
struct | movable |
| specifies that an object of a type can be moved and swapped More...
|
|
struct | partially_ordered_with |
|
struct | predicate |
| specifies that a callable type is a Boolean predicate More...
|
|
struct | regular |
| specifies that a type is regular, that is, it is both semiregular and equality_comparable More...
|
|
struct | relation |
| specifies that a callable type is a binary relation More...
|
|
struct | same_as |
| Models std::same_as More...
|
|
struct | semiregular |
| specifies that an object of a type can be copied, moved, swapped, and default constructed More...
|
|
struct | strict_weak_order |
| specifies that a relation imposes a strict weak ordering More...
|
|
struct | is_explicitly_subtractable |
|
struct | is_explicitly_subtractable< T, U, void_t< decltype(std::declval< T >() - std::declval< U >())> > |
|
struct | is_subtractable_impl |
|
struct | is_subtractable_impl< T, true > |
|
struct | subtractable |
|
struct | swappable |
| specifies that a type can be swapped or that two types can be swapped with each other More...
|
|
struct | swappable_with |
| specifies that a type can be swapped or that two types can be swapped with each other More...
|
|
struct | totally_ordered |
| specifies that the comparison operators on the type yield a total order More...
|
|
struct | totally_ordered_with |
| specifies that the comparison operators on the type yield a total order More...
|
|
struct | ValueSwappable |
|
struct | weakly_equality_comparable_with |
| specifies that two different objects can be compared for equality with each other (in either order) using both == and != More...
|
|
class | byte |
|
class | bad_expected_access |
|
class | bad_expected_access< void > |
|
class | expected |
|
struct | unexpect_t |
|
class | unexpected |
|
struct | basic_FNV_prime |
|
struct | basic_FNV_prime< T, 32 > |
|
struct | basic_FNV_prime< T, 64 > |
|
struct | basic_FNV_offset_basis |
|
struct | basic_FNV_offset_basis< T, 32 > |
|
struct | basic_FNV_offset_basis< T, 64 > |
|
struct | identity |
| function object that returns its argument unchanged More...
|
|
class | basic_const_iterator |
|
struct | common_type< basic_const_iterator< T >, U > |
|
struct | common_type< T, basic_const_iterator< U > > |
|
struct | common_type< basic_const_iterator< T >, basic_const_iterator< U > > |
|
struct | bidirectional_iterator |
| specifies that a forward_iterator is a bidirectional iterator, supporting movement backwards More...
|
|
class | common_iterator |
|
struct | incrementable_traits< common_iterator< I, S > > |
|
struct | cxx20_iterator_traits< common_iterator< I, S > > |
|
struct | contiguous_iterator |
| specifies that a random_access_iterator is a contiguous iterator, referring to elements that are contiguous in memory More...
|
|
class | counted_iterator |
|
struct | cxx20_iterator_traits< counted_iterator< I > > |
|
struct | default_sentinel_t |
|
struct | forward_iterator |
| specifies that an input_iterator is a forward iterator, supporting equality comparison and multi-pass More...
|
|
struct | incrementable |
|
struct | incrementable_traits |
| computes the difference type of a weakly_incrementable type More...
|
|
struct | incrementable_traits< const T > |
|
struct | indirect_binary_predicate |
| specifies that a callable type, when invoked with the result of dereferencing two indirectly_readable types, satisfies predicate More...
|
|
struct | indirect_equivalence_relation |
|
struct | indirect_result |
|
struct | indirect_strict_weak_order |
| specifies that a callable type, when invoked with the result of dereferencing two indirectly_readable types, satisfies strict_weak_order More...
|
|
struct | indirect_unary_predicate |
| specifies that a callable type, when invoked with the result of dereferencing an indirectly_readable type, satisfies predicate More...
|
|
struct | indirectly_comparable |
| specifies that the values referenced by two indirectly_readable types can be compared More...
|
|
struct | indirectly_copyable |
| specifies that values may be copied from an indirectly_readable type to an indirectly_writable type More...
|
|
struct | indirectly_copyable_storable |
| specifies that values may be copied from an indirectly_readable type to an indirectly_writable type and that the copy may be performed via an intermediate object More...
|
|
struct | indirectly_movable |
| specifies that values may be moved from an indirectly_readable type to an indirectly_writable type More...
|
|
struct | indirectly_movable_storable |
| specifies that values may be moved from an indirectly_readable type to an indirectly_writable type and that the move may be performed via an intermediate object More...
|
|
struct | indirectly_readable |
|
struct | indirectly_readable_traits |
|
struct | indirectly_readable_traits< T * > |
|
struct | indirectly_readable_traits< const T > |
|
struct | indirectly_regular_unary_invocable |
| specifies that a callable type can be invoked with the result of dereferencing an indirectly_readable type More...
|
|
struct | indirectly_swappable |
|
struct | indirectly_unary_invocable |
| specifies that a callable type can be invoked with the result of dereferencing an indirectly_readable type More...
|
|
struct | indirectly_writable |
| specifies that a value can be written to an iterator's referenced object More...
|
|
struct | input_iterator |
| specifies that a type is an input iterator, that is, its referenced values can be read and it can be both pre- and post-incremented More...
|
|
struct | input_or_output_iterator |
| specifies that objects of a type can be incremented and dereferenced More...
|
|
struct | iter_common_reference |
|
struct | iter_const_reference |
|
struct | iter_difference |
|
struct | iter_key |
|
struct | iter_mapped |
|
struct | iter_reference |
|
struct | iter_rvalue_reference |
|
struct | iter_val |
|
struct | iter_value |
|
struct | contiguous_iterator_tag |
|
struct | iterator_ignore |
|
struct | cxx20_iterator_traits |
|
struct | cxx20_iterator_traits< T * > |
|
struct | LegacyBidirectionalIterator |
|
struct | LegacyBidirectionalIterator< It, true > |
|
struct | LegacyForwardIterator |
|
struct | LegacyForwardIterator< It, true > |
|
struct | LegacyInputIterator |
|
struct | LegacyInputIterator< I, true > |
|
struct | LegacyIterator |
|
struct | LegacyIterator< I, true > |
|
struct | LegacyRandomAccessIterator |
|
struct | LegacyRandomAccessIterator< I, true > |
|
struct | mergeable |
|
struct | disable_sized_sentinel_for< std::move_iterator< Iterator1 >, std::move_iterator< Iterator2 > > |
|
struct | cxx20_iterator_traits< std::move_iterator< Iter > > |
|
class | move_sentinel |
|
struct | output_iterator |
| specifies that a type is an output iterator for a given value type, that is, values of that type can be written to it and it can be both pre- and post-incremented More...
|
|
struct | permutable |
|
struct | random_access_iterator |
| specifies that a bidirectional_iterator is a random-access iterator, supporting advancement in constant time and subscripting More...
|
|
struct | disable_sized_sentinel_for< std::reverse_iterator< I1 >, std::reverse_iterator< I2 > > |
|
struct | cxx20_iterator_traits< std::reverse_iterator< Iter > > |
|
struct | sentinel_for |
|
struct | disable_sized_sentinel_for |
|
struct | sized_sentinel_for |
| specifies that the - operator can be applied to an iterator and a sentinel to calculate their difference in constant time More...
|
|
struct | sortable |
|
struct | unreachable_sentinel_t |
| sentinel that always compares unequal to any weakly_incrementable type More...
|
|
struct | weakly_incrementable |
|
struct | pointer_traits |
|
struct | pointer_traits< T * > |
|
struct | float_equal_to |
| function object implementing approximately equal of x and y More...
|
|
struct | float_equal_to< void > |
| A specialization of vccc::float_equal_to with parameter and return type deduced. More...
|
|
class | bad_optional_access |
| exception indicating checked access to an optional that doesn't contain a value More...
|
|
class | optional |
| a wrapper that may or may not hold an object More...
|
|
struct | nullopt_t |
| indicator of optional type with uninitialized state More...
|
|
struct | from_range_t |
|
class | movable_box |
|
class | span |
| a non-owning view over a contiguous sequence of objects More...
|
|
struct | tuple_like |
| specifies that a type implemented the tuple protocol More...
|
|
struct | sized_tuple_like |
| check if tuple-like objects with exactly N elements. More...
|
|
struct | are_arithmetic |
|
struct | are_integral |
|
struct | are_floating_point |
|
struct | are_scalar |
|
struct | arity |
| get parameter count of a given function More...
|
|
struct | bigger_type |
|
struct | bigger_type< T > |
|
struct | bigger_type< T1, T2 > |
|
struct | bigger_type< T1, T2, Ts... > |
|
struct | signed_bigger_type |
|
struct | signed_bigger_type< T > |
|
struct | signed_bigger_type< T1, T2 > |
|
struct | signed_bigger_type< T1, T2, Ts... > |
|
struct | unsigned_bigger_type |
|
struct | unsigned_bigger_type< T > |
|
struct | unsigned_bigger_type< T1, T2 > |
|
struct | unsigned_bigger_type< T1, T2, Ts... > |
|
struct | always_false |
|
struct | always_true |
|
struct | common_reference |
|
struct | basic_common_reference |
|
struct | common_reference<> |
|
struct | common_reference< T > |
|
struct | common_reference< T1, T2 > |
|
struct | common_reference< T1, T2, R... > |
|
struct | basic_common_reference< std::pair< T1, T2 >, std::pair< U1, U2 >, TQual, UQual > |
|
struct | basic_common_reference< std::reference_wrapper< R >, T, RQual, TQual > |
|
struct | basic_common_reference< T, std::reference_wrapper< R >, TQual, RQual > |
|
struct | common_type |
|
struct | common_type<> |
|
struct | common_type< T > |
|
struct | common_type< T1, T2 > |
|
struct | common_type< T1, T2, Ts... > |
|
struct | common_type< std::pair< T1, T2 >, std::pair< U1, U2 > > |
|
struct | common_type< std::chrono::duration< Rep1, Period1 >, std::chrono::duration< Rep2, Period2 > > |
|
struct | common_type< std::chrono::time_point< Clock, Duration1 >, std::chrono::time_point< Clock, Duration2 > > |
|
struct | conjunction |
|
struct | conjunction<> |
|
struct | conjunction< B1 > |
|
struct | conjunction< B1, BN... > |
|
struct | copy_const |
|
struct | copy_const< const From, To > |
|
struct | copy_volatile |
|
struct | copy_volatile< volatile From, To > |
|
struct | copy_cv |
|
struct | copy_reference |
|
struct | copy_reference< From &, To > |
|
struct | copy_reference< From &&, To > |
|
struct | copy_cvref |
|
struct | copy_template |
|
struct | copy_template< From< T... >, To, Proj > |
|
struct | disjunction |
|
struct | disjunction<> |
|
struct | disjunction< B1 > |
|
struct | disjunction< B1, BN... > |
|
struct | empty |
|
struct | has_operator_arrow |
|
struct | has_operator_arrow< T, void_t< decltype(std::declval< T >().operator->())> > |
|
struct | has_typename_difference_type |
|
struct | has_typename_difference_type< T, void_t< typename T::difference_type > > |
|
struct | has_typename_element_type |
|
struct | has_typename_element_type< T, void_t< typename T::element_type > > |
|
struct | has_typename_type |
|
struct | has_typename_type< T, void_t< typename T::type > > |
|
struct | has_typename_value_type |
|
struct | has_typename_value_type< T, void_t< typename T::value_type > > |
|
struct | is_bounded_array |
|
struct | is_bounded_array< T[N]> |
|
struct | is_character |
| Check if type is character type. More...
|
|
struct | is_class_or_enum |
|
struct | is_explicitly_constructible |
|
struct | is_explicitly_convertible |
|
struct | is_explicitly_convertible< From, To, void_t< decltype(static_cast< To >(std::declval< From >()))> > |
|
struct | is_implicitly_constructible |
|
struct | is_initializer_list |
|
struct | is_integer_like |
| Check if type models integer-like type (C++ 20 requirement) More...
|
|
struct | is_signed_integer_like |
|
struct | is_unsigned_integer_like |
|
struct | invoke_result |
| deduces the result type of invoking a callable object with a set of arguments More...
|
|
struct | is_invocable |
| Determines whether INVOKE(std::declval<Fn>(), std::declval<ArgTypes>()...) is well formed when treated as anunevaluated operand. More...
|
|
struct | is_invocable_r |
| Determines whether INVOKE<R>(std::declval<Fn>(), std::declval<ArgTypes>()...) is well formed when treated as an unevaluated operand. More...
|
|
struct | is_nothrow_invocable |
| Determines whether INVOKE(std::declval<Fn>(), std::declval<ArgTypes>()...) is well formed when treated as an unevaluated operand, and is known not to throw any exceptions. More...
|
|
struct | is_nothrow_invocable_r |
| Determines whether INVOKE<R>(std::declval<Fn>(), std::declval<ArgTypes>()...) is well formed when treated as an unevaluated operand, and is known not to throw any exceptions. More...
|
|
struct | is_list_initializable |
|
struct | is_copy_list_initializable |
|
struct | is_nothrow_convertible |
|
struct | is_printable |
|
struct | is_printable< T, void_t< decltype(std::declval< std::ostream & >()<< std::declval< const T & >())> > |
|
struct | is_range |
| check if a type met range requirements(deprecated) More...
|
|
struct | is_range< T, void_t< decltype(std::declval< T >().begin()), decltype(std::declval< T >().end())> > |
|
struct | is_referencable |
|
struct | is_referencable< T, void_t< T & > > |
|
struct | is_specialization |
|
struct | is_specialization< Ref< Args... >, Ref > |
|
struct | is_string_like |
|
struct | is_string_like< const char * > |
|
struct | is_swappable |
|
struct | is_nothrow_swappable |
|
struct | is_swappable_with |
|
struct | is_nothrow_swappable_with |
|
struct | is_tuple_like |
| Check if type is tuple-like(deprecated. Use tuple_like instead) More...
|
|
struct | is_tuple_like< T, void_t< decltype(std::tuple_size< T >::value)> > |
|
struct | is_unbounded_array |
|
struct | is_unbounded_array< T[]> |
|
struct | is_iterator |
|
struct | value >> |
|
struct | is_iterable |
|
struct | lossless_type_add |
|
struct | lossless_type_mul |
|
struct | lossless_type_div |
|
struct | negation |
|
struct | multiples_of |
| check if A is multiples of B More...
|
|
struct | is_odd |
| check if a value is odd More...
|
|
struct | is_even |
| check if a value is even More...
|
|
struct | static_max |
|
struct | static_max< T, v > |
|
struct | static_max< T, v1, v2, v3... > |
|
struct | static_min |
|
struct | static_min< T, v > |
|
struct | static_min< T, v1, v2, v3... > |
|
struct | static_diff |
| Get abs(v1 - v2) in compile-time. More...
|
|
struct | remove_cvref |
|
struct | simple_common_reference |
|
struct | simple_common_reference< T1 &, T2 & > |
|
struct | simple_common_reference< T1 &&, T2 && > |
|
struct | simple_common_reference< A &, B && > |
|
struct | simple_common_reference< B &&, A & > |
|
struct | template_arity |
| get template parameter count of template class More...
|
|
struct | mandatory_template_arity |
| get mandatory template parameter count of template class More...
|
|
struct | default_template_arity |
| get default template parameter count of template class More...
|
|
struct | type_identity |
|
struct | compressed_pair_empty_t |
|
class | compressed_pair |
| An size-optimized pair using empty base optimization. More...
|
|
struct | in_place_t |
| in-place construction tag More...
|
|
struct | in_place_type_t |
|
struct | in_place_index_t |
|
struct | nontype_t |
| value construction tag More...
|
|
struct | type_sequence |
|
struct | type_sequence_type_count |
| count the number of occurences of T in type_sequence More...
|
|
struct | type_sequence_type_index |
| get the index of T in type_sequence . More...
|
|
struct | type_sequence_element_type |
| get type of \(I\)-th element of type_sequence More...
|
|
struct | type_sequence_element_type< I, type_sequence<> > |
|
struct | type_sequence_element_type< 0, type_sequence< U, Us... > > |
|
struct | type_sequence_element_type< I, type_sequence< U, Us... > > |
|
class | bad_variant_access |
|
struct | monostate |
|
class | variant |
| a type-safe discriminated union More...
|
|
struct | variant_alternative |
|
struct | variant_alternative< I, const T > |
|
struct | variant_alternative< I, variant< Types... > > |
|
struct | variant_size |
|
struct | variant_size< variant< Ts... > > |
|
struct | variant_size< const T > |
|
class | basic_string_view |
| The templated class vccc::basic_string_view provides a lightweight object that offers read-only access to a string or a part of a string using an interface similar to the interface of std::basic_string . More...
|
|
|
Formatter | operator""_format (const char *format, std::size_t) |
| Formatter helper on string literal. More...
|
|
template<typename T > |
T | epsilon () |
| Get machine epsilon for the given type. More...
|
|
template<std::size_t i, typename Tuple , typename T > |
constexpr auto | addEpsilon (Tuple vars, T epsilon) |
| Increase the value by small amount. More...
|
|
template<typename T , typename DifferentialCategory = differential_symmetric_t, typename Func , typename ... Vars, typename ... Args> |
auto | gradient (Func f, std::tuple< Vars... > vars, Args &&... args) |
|
template<typename E1 , typename E2 , std::enable_if_t< internal::math::is_same_size< E1, E2 >::value, int > = 0> |
constexpr bool | operator== (const MatrixBase< E1 > &lhs, const MatrixBase< E2 > &rhs) |
|
template<typename E1 , typename E2 , std::enable_if_t< internal::math::is_same_size< E1, E2 >::value, int > = 0> |
constexpr bool | operator!= (const MatrixBase< E1 > &lhs, const MatrixBase< E2 > &rhs) |
|
template<typename LhsType , typename RhsType , std::enable_if_t<!is_matrix< RhsType >::value, int > = 0> |
constexpr MatrixDivScalar< LhsType, RhsType > | operator/ (const MatrixBase< LhsType > &lhs, const RhsType &value) |
|
template<typename E > |
constexpr MatrixMinus< E > | operator- (const MatrixBase< E > &lhs) |
|
template<typename E1 , typename E2 , std::enable_if_t<(internal::math::traits< E1 >::cols==internal::math::traits< E2 >::rows), int > = 0> |
constexpr MatrixMulMatrix< E1, E2 > | operator* (const MatrixBase< E1 > &lhs, const MatrixBase< E2 > &rhs) |
|
template<typename LhsType , typename RhsType , std::enable_if_t<!is_matrix< RhsType >::value, int > = 0> |
constexpr MatrixMulScalar< LhsType, RhsType > | operator* (const MatrixBase< LhsType > &lhs, const RhsType &value) |
|
template<typename E > |
std::ostream & | operator<< (std::ostream &os, const MatrixBase< E > &mat_expr) |
|
template<typename E1 , typename E2 , std::enable_if_t< internal::math::is_same_size< E1, E2 >::value, int > = 0> |
MatrixSub< E1, E2 > | operator- (const MatrixBase< E1 > &lhs, const MatrixBase< E2 > &rhs) noexcept |
|
template<typename E1 , typename E2 , std::enable_if_t< internal::math::is_same_size< E1, E2 >::value, int > = 0> |
constexpr MatrixSum< E1, E2 > | operator+ (const MatrixBase< E1 > &lhs, const MatrixBase< E2 > &rhs) |
|
template<typename T , std::size_t I, typename Func , typename VarTuple , typename ... Args> |
auto | partialDiff (differential_symmetric_t, Func f, VarTuple vars, Args &&... args) |
| get partial differential value using symmetric method More...
|
|
template<typename T , std::size_t I, typename Func , typename VarTuple , typename ... Args> |
auto | partialDiff (differential_newtonian_t, Func f, VarTuple vars, Args &&... args) |
| get partial differential value using newtonian method More...
|
|
template<typename T , std::size_t I, typename Func , typename VarTuple , typename ... Args> |
auto | partialDiff (differential_five_point_stencil_t, Func f, VarTuple vars, Args &&... args) |
| get partial differential value using five point stencil method More...
|
|
template<typename T , typename Container = std::unordered_set<T>, typename RandomGenerator > |
Container | pick_k (T a, T b, T k, RandomGenerator &&gen) |
| pick k from int range [a, b] (no duplicates) More...
|
|
template<typename T , typename Container = std::vector<T>> |
Container | random_sample (T a, T b, T k, std::mt19937 &&gen=std::mt19937(std::random_device{}())) |
| get shuffled random sample in [a, b], size k More...
|
|
template<typename T , typename Container = std::vector<T>, typename Generator > |
Container | random_sample (T a, T b, T k, Generator &&gen) |
|
template<typename Group > |
bool | operator== (const group_key< Group > &lhs, const group_key< Group > &rhs) |
|
template<typename Group > |
bool | operator!= (const group_key< Group > &lhs, const group_key< Group > &rhs) |
|
template<std::size_t I, typename T , std::enable_if_t< is_tuple_like< std::decay_t< T >>::value, int > = 0> |
constexpr decltype(auto) | at (T &&t) noexcept |
| Return i-th element of tuple-like object. More...
|
|
template<std::size_t i, std::size_t j, typename C , typename T > |
constexpr decltype(auto) | at (T &&t) |
| returns cv::saturate_cast<C>(vccc::at<i, j>(t)) More...
|
|
template<typename ... Args> |
constexpr internal::bind_obj< Args... > | bind_at (Args &&... args) |
| call at<...>(...) to args... More...
|
|
template<typename Container > |
back_emplace_iterator< Container > | back_emplacer (Container &container) |
| make back_emplace_iterator More...
|
|
template<typename ToType , typename FromType > |
constexpr decltype(auto) | cast (FromType &&from) |
|
template<typename To , typename From , std::enable_if_t<!std::is_same< To, From >::value, int > = 0> |
std::enable_if_t< disjunction< is_tuple_like< To >, is_tuple_like< From > >::value, To > | convert_to (const From &from) |
|
template<typename To , std::size_t n, typename From , std::enable_if_t<!std::is_same< To, From >::value, int > = 0> |
std::enable_if_t< disjunction< is_tuple_like< To >, is_tuple_like< From > >::value, To > | convert_to (const From &from) |
| convert with specifying the converting size convert to container types: same size as n convert to opencv types: fill rest with 0 More...
|
|
template<typename To > |
decltype(auto) | convert_to (To &&from) |
| converting to same type More...
|
|
template<typename To > |
To | convert_to (const To &from) |
|
template<std::size_t i, typename R , std::enable_if_t< ranges::range< R >::value, int > = 0> |
decltype(auto) | at (R &&container) |
|
template<std::size_t i, std::size_t j, typename T , int m, int n> |
constexpr T & | at (cv::Matx< T, m, n > &matx) |
|
template<std::size_t i, std::size_t j, typename T , int m, int n> |
constexpr const T & | at (const cv::Matx< T, m, n > &matx) |
|
template<std::size_t i, std::size_t j, typename T , int m, int n> |
constexpr T && | at (cv::Matx< T, m, n > &&matx) |
|
template<std::size_t i, std::size_t j, typename T , int m, int n> |
constexpr const T && | at (const cv::Matx< T, m, n > &&matx) |
|
template<typename T , int m, int n, typename N > |
cv::Matx< T, m, n > | add (const cv::Matx< T, m, n > &matx, N n_) |
|
template<typename T , typename N > |
cv::Point_< T > | add (const cv::Point_< T > &point2, N n) |
|
template<typename T , typename N > |
cv::Point3_< T > | add (const cv::Point3_< T > &point3, N n) |
|
template<int new_size, typename T , std::enable_if_t< new_size==2, int > = 0> |
auto | resize (const cv::Point_< T > &from) |
|
template<int new_size, typename T , std::enable_if_t< new_size==2, int > = 0> |
auto | resize (const cv::Point3_< T > &from) |
|
template<typename T , int cn, typename N > |
cv::Vec< T, cn > | add (const cv::Vec< T, cn > &vec, N n) |
|
template<int new_size, typename T , typename = void_t<decltype(std::declval<T>().resize(new_size))>> |
decltype(auto) | resize (T &&t) |
| returns any resized resizable type More...
|
|
template<std::size_t i, typename ... Args, std::enable_if_t<(i< sizeof...(Args)), int > = 0> |
decltype(auto) | variadic_at (Args &&... args) |
| Index-based value accessor. More...
|
|
template<typename T , typename Allocator = std::allocator<T>> |
std::vector< T, Allocator > | reserved_vector (typename std::vector< T, Allocator >::size_type size) |
| returns reserved vector More...
|
|
template<typename T , typename Allocator > |
std::vector< T, Allocator > & | concat (std::vector< T, Allocator > &to, const std::vector< T, Allocator > &from) |
|
template<typename T , typename Allocator > |
std::vector< T, Allocator > & | concat (std::vector< T, Allocator > &to, std::vector< T, Allocator > &&from) |
| concat two vectors More...
|
|
template<typename NewType , template< typename, int... > class CVType, typename OldType , int ... CVParams, std::enable_if_t<!std::is_same< NewType, OldType >::value, int > = 0> |
decltype(auto) | vtype_convert (const CVType< OldType, CVParams... > &cv_type) |
| returns similar opencv type, but the value_type is different More...
|
|
template<typename NewType , typename Func , template< typename... > class Container, typename OldType , typename ... Params, std::enable_if_t< is_range< Container< OldType, Params... >>::value, int > = 0> |
decltype(auto) | vtype_convert (const Container< OldType, Params... > &container, Func func) |
| vtype_convert on container types with custom unary operation More...
|
|
template<typename NewType , template< typename... > class Container, typename ... Params, typename UnaryOperation , std::enable_if_t< is_range< Container< NewType, Params... >>::value, int > = 0> |
decltype(auto) | vtype_convert (const Container< NewType, Params... > &container, UnaryOperation func) |
|
template<typename NewType , template< typename... > class Container, typename OldType , typename ... Params, std::enable_if_t< is_range< Container< OldType, Params... >>::value, int > = 0> |
decltype(auto) | vtype_convert (const Container< OldType, Params... > &container) |
| returns similar container type, but the value_type is different More...
|
|
template<typename NewType , template< typename... > class Container, typename ... Params, std::enable_if_t< is_range< Container< NewType, Params... >>::value, int > = 0> |
decltype(auto) | vtype_convert (const Container< NewType, Params... > &container) |
|
template<typename NewType , template< typename... > class Container, typename ... Params, std::enable_if_t< is_range< Container< NewType, Params... >>::value, int > = 0> |
decltype(auto) | vtype_convert (Container< NewType, Params... > &&container) |
|
template<typename NewType , typename OldType , std::size_t n, typename UnaryOperation , std::enable_if_t<!std::is_same< NewType, OldType >::value, int > = 0> |
constexpr decltype(auto) | vtype_convert (const std::array< OldType, n > &container, UnaryOperation func) |
|
template<typename NewType , std::size_t n, typename UnaryOperation > |
constexpr decltype(auto) | vtype_convert (const std::array< NewType, n > &container, UnaryOperation func) |
|
template<typename NewType , std::size_t n, typename UnaryOperation > |
constexpr decltype(auto) | vtype_convert (std::array< NewType, n > &&container, UnaryOperation func) |
|
template<typename NewType , typename OldType , std::size_t n, std::enable_if_t<!std::is_same< NewType, OldType >::value, int > = 0> |
constexpr decltype(auto) | vtype_convert (const std::array< OldType, n > &container) |
|
template<typename NewType , std::size_t n> |
constexpr decltype(auto) | vtype_convert (const std::array< NewType, n > &container) |
|
template<typename NewType , std::size_t n> |
constexpr decltype(auto) | vtype_convert (std::array< NewType, n > &&container) |
|
template<typename T , typename Compare > |
constexpr const T & | clamp (const T &v, const T &lo, const T &hi, Compare comp) |
|
template<typename T > |
constexpr const T & | clamp (const T &v, const T &lo, const T &hi) |
|
template<typename InputIt , typename Size , typename UnaryFunction > |
constexpr InputIt | for_each_n (InputIt first, Size n, UnaryFunction f) |
|
template<typename ForwardIt > |
constexpr ForwardIt | shift_left (ForwardIt first, ForwardIt last, typename cxx20_iterator_traits< ForwardIt >::difference_type n) |
|
template<typename ForwardIt > |
constexpr ForwardIt | shift_right (ForwardIt first, ForwardIt last, typename cxx20_iterator_traits< ForwardIt >::difference_type n) |
|
template<typename T , std::size_t N, std::enable_if_t< std::is_constructible< T, T & >::value &&!std::is_array< T >::value, int > = 0> |
constexpr std::array< std::remove_cv_t< T >, N > | to_array (T(&a)[N]) |
|
template<typename T , std::size_t N, std::enable_if_t< std::is_move_constructible< T >::value &&!std::is_array< T >::value, int > = 0> |
constexpr std::array< std::remove_cv_t< T >, N > | to_array (T(&&a)[N]) |
|
template<typename IntegerType > |
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, IntegerType > | to_integer (byte b) noexcept |
|
template<class IntegerType > |
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, byte > | operator<< (byte b, IntegerType shift) noexcept |
|
template<class IntegerType > |
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, byte > | operator>> (byte b, IntegerType shift) noexcept |
|
template<class IntegerType > |
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, byte & > | operator<<= (byte &b, IntegerType shift) noexcept |
|
template<class IntegerType > |
constexpr std::enable_if_t< std::is_integral< IntegerType >::value, byte & > | operator>>= (byte &b, IntegerType shift) noexcept |
|
constexpr byte | operator| (byte l, byte r) noexcept |
|
constexpr byte | operator& (byte l, byte r) noexcept |
|
constexpr byte | operator^ (byte l, byte r) noexcept |
|
constexpr byte | operator~ (byte b) noexcept |
|
constexpr byte & | operator|= (byte &l, byte r) noexcept |
|
constexpr byte & | operator&= (byte &l, byte r) noexcept |
|
constexpr byte & | operator^= (byte &l, byte r) noexcept |
|
template<typename F , typename... Args, std::enable_if_t< conjunction< std::is_constructible< std::decay_t< F >, F >, std::is_move_constructible< std::decay_t< F >>, std::is_constructible< std::decay_t< Args >, Args >..., std::is_move_constructible< std::decay_t< Args >>... >::value, int > = 0> |
constexpr auto | bind_back (F &&f, Args &&... args) |
|
template<typename F , typename... Args, std::enable_if_t< conjunction< std::is_constructible< std::decay_t< F >, F >, std::is_move_constructible< std::decay_t< F >>, std::is_constructible< std::decay_t< Args >, Args >..., std::is_move_constructible< std::decay_t< Args >>... >::value, int > = 0> |
constexpr auto | bind_front (F &&f, Args &&... args) |
|
template<typename T > |
std::size_t | FNV_1 (std::size_t value, const T &byte) |
|
std::size_t | FNV_1 (std::size_t value, const unsigned char *const bytes, std::size_t size) |
|
template<typename T > |
std::size_t | FNV_1a (std::size_t value, const T &byte) |
|
std::size_t | FNV_1a (std::size_t value, const unsigned char *const bytes, std::size_t size) |
|
template<typename T > |
std::size_t | hash_array (const T *bytes, std::size_t size) |
|
template<typename T , std::size_t N> |
std::size_t | hash_array (const T(&bytes)[N]) |
|
template<typename F , typename ... Args> |
constexpr invoke_result_t< F, Args... > | invoke (F &&f, Args &&... args) noexcept(is_nothrow_invocable< F, Args... >::value) |
|
template<typename R , typename F , typename ... Args> |
constexpr std::enable_if_t< is_invocable_r< R, F, Args... >::value, R > | invoke_r (F &&f, Args &&... args) noexcept(is_nothrow_invocable_r< R, F, Args... >::value) |
|
template<typename I , std::enable_if_t< input_iterator< I >::value, int > = 0> |
constexpr const_iterator< I > | make_const_iterator (I it) |
|
template<typename S , std::enable_if_t< semiregular< S >::value, int > = 0> |
constexpr const_sentinel< S > | make_const_sentinel (S s) |
|
template<typename T > |
std::enable_if_t< std::is_object< T >::value, T * > | addressof (T &t) noexcept |
|
template<typename T > |
constexpr std::enable_if_t< std::is_object< T >::value==false, T * > | addressof (T &t) noexcept |
|
template<typename T > |
constexpr const T * | addressof (T &&)=delete |
|
template<typename T , typename... Args, std::enable_if_t< detail::in_place_constructible< T, Args... >::value, int > = 0> |
constexpr T * | construct_at (T *p, Args &&... args) noexcept(std::is_nothrow_constructible< T, Args... >::value) |
|
template<typename ForwardIt > |
VCCC_CONSTEXPR_AFTER_CXX20 void | destroy (ForwardIt first, ForwardIt last) |
|
template<typename T , std::enable_if_t<!std::is_array< T >::value, int > = 0> |
VCCC_CONSTEXPR_AFTER_CXX20 void | destroy_at (T *p) |
|
template<class T > |
constexpr T * | to_address (T *p) noexcept |
|
template<class T > |
constexpr auto | to_address (const T &p) noexcept |
|
template<typename InputIterator , std::enable_if_t< is_iterable< InputIterator >::value, int > = 0> |
constexpr auto | average (InputIterator first, InputIterator last) |
| get average of iterator values [first, last) More...
|
|
template<typename InputIterator , typename UnaryOperation , std::enable_if_t< is_iterable< InputIterator >::value, int > = 0> |
constexpr auto | average (InputIterator first, InputIterator last, UnaryOperation unary_op) |
| get average of iterator values [first, last) More...
|
|
template<typename ... Numbers, std::enable_if_t< conjunction< std::is_arithmetic< Numbers >... >::value, int > = 0> |
constexpr auto | average (Numbers... numbers) |
| get average value of arithmetic types More...
|
|
template<typename ... Args, std::enable_if_t< conjunction< negation< disjunction< is_iterable< Args >... >>, negation< disjunction< std::is_arithmetic< Args >... >> >::value, int > = 0> |
constexpr auto | average (const Args &... args) |
| get average value of custom types More...
|
|
template<typename ... Ints, std::enable_if_t< conjunction< std::is_integral< Ints >... >::value, int > = 0> |
constexpr auto | int_average (Ints... ints) |
| get average value of integers(result is floored) More...
|
|
template<typename T , typename U , typename E = std::common_type_t<T, U>> |
constexpr bool | float_equal (const T &a, const U &b, const E &epsilon=vccc::epsilon< E >()) |
| Compare if two floating-points are approximately equal. More...
|
|
template<typename T1 , typename T2 > |
decltype(auto) | lossless_div (const T1 a, const T2 b) |
| divide without narrowing More...
|
|
template<typename InputIterator , std::enable_if_t< is_iterable< InputIterator >::value, int > = 0> |
auto | norm (InputIterator first, InputIterator last) |
| calculate norm on iterator [first, last) More...
|
|
template<typename T , std::enable_if_t< std::is_arithmetic< T >::value, int > = 0> |
T | norm (T arg) |
|
template<typename Arg , typename ... Args, std::enable_if_t< conjunction< std::is_arithmetic< Arg >, std::is_arithmetic< Args... >>::value, int > = 0> |
auto | norm (Arg arg, Args... args) |
| calculate norm of variadics More...
|
|
template<typename To , typename From , std::enable_if_t< conjunction< std::is_integral< To >, std::is_integral< From >>::value, int > = 0> |
constexpr To | saturate_cast (From x) noexcept |
|
template<typename InputIterator , typename T , std::enable_if_t< is_iterator< InputIterator >::value, int > = 0> |
auto | stddev (InputIterator first, InputIterator last, T avg) |
| calculate standard deviation with pre-calculated average on iterators More...
|
|
template<typename InputIterator , std::enable_if_t< is_iterable< InputIterator >::value, int > = 0> |
auto | stddev (InputIterator first, InputIterator last) |
| calculate standard deviation on iterators More...
|
|
template<typename ... Numbers, std::enable_if_t< negation< disjunction< is_iterable< Numbers >... >>::value, int > = 0> |
auto | stddev (Numbers... numbers) |
| calculate standard deviation on variadics More...
|
|
template<typename InputIterator > |
auto | avg_stddev (InputIterator first, InputIterator last) |
| calculate standard deviation and average More...
|
|
template<typename InputIterator , std::enable_if_t< is_iterable< InputIterator >::value, int > = 0> |
constexpr auto | sum (InputIterator first, InputIterator last) |
| sum of iterator [first, last) More...
|
|
template<typename InputIterator , typename UnaryOperation , std::enable_if_t< is_iterable< InputIterator >::value, int > = 0> |
constexpr auto | sum (InputIterator first, InputIterator last, UnaryOperation unary_op) |
| sum of iterator [first, last) with custom unary operator More...
|
|
template<typename ... Args, std::enable_if_t< negation< disjunction< is_iterable< Args >... >>::value, int > = 0> |
constexpr auto | sum (const Args &... args) |
| sum of variadic More...
|
|
template<typename UnaryOperation , typename Arg > |
constexpr auto | sum_custom (const UnaryOperation &unary_op, const Arg &arg) |
| sum of variadic with custom operator More...
|
|
template<typename UnaryOperation , typename Arg , typename ... Args> |
constexpr auto | sum_custom (const UnaryOperation &unary_op, const Arg &arg, const Args &... args) |
|
template<typename T > |
constexpr T | square (const T &val) |
| get squared value More...
|
|
template<typename InputIterator , std::enable_if_t< is_iterable< InputIterator >::value, int > = 0> |
constexpr auto | square_sum (InputIterator first, InputIterator last) |
| square sum of iterator [first, last) More...
|
|
template<typename Arg > |
constexpr auto | square_sum (const Arg &arg) |
|
template<typename Arg1 , typename Arg2 , std::enable_if_t< negation< disjunction< is_iterator< Arg1 >, is_iterable< Arg2 > > >::value, int > = 0> |
constexpr auto | square_sum (const Arg1 &arg1, const Arg2 &arg2) |
|
template<typename Arg , typename ... Args, std::enable_if_t<!is_iterable< Arg >::value, int > = 0> |
constexpr auto | square_sum (const Arg &arg, const Args &... args) |
| square sum of variadic More...
|
|
template<typename T > |
constexpr optional< std::decay_t< T > > | make_optional (T &&value) |
|
template<typename T > |
constexpr optional< T > | make_optional () |
|
template<typename T , typename Arg , typename ... Args> |
constexpr optional< T > | make_optional (Arg &&arg, Args &&... args) |
|
template<typename T , typename U , typename ... Args> |
constexpr optional< T > | make_optional (std::initializer_list< U > ilist, Args &&... args) |
|
template<typename T , typename U > |
constexpr bool | operator== (const optional< T > &lhs, const optional< U > &rhs) |
|
template<typename T , typename U > |
constexpr bool | operator!= (const optional< T > &lhs, const optional< U > &rhs) |
|
template<typename T , typename U > |
constexpr bool | operator< (const optional< T > &lhs, const optional< U > &rhs) |
|
template<typename T , typename U > |
constexpr bool | operator<= (const optional< T > &lhs, const optional< U > &rhs) |
|
template<typename T , typename U > |
constexpr bool | operator> (const optional< T > &lhs, const optional< U > &rhs) |
|
template<typename T , typename U > |
constexpr bool | operator>= (const optional< T > &lhs, const optional< U > &rhs) |
|
template<typename T > |
constexpr bool | operator== (const optional< T > &opt, nullopt_t) noexcept |
|
template<typename T > |
constexpr bool | operator== (nullopt_t, const optional< T > &opt) noexcept |
|
template<typename T > |
constexpr bool | operator!= (const optional< T > &opt, nullopt_t) noexcept |
|
template<typename T > |
constexpr bool | operator!= (nullopt_t, const optional< T > &opt) noexcept |
|
template<typename T > |
constexpr bool | operator< (const optional< T > &opt, nullopt_t) noexcept |
|
template<typename T > |
constexpr bool | operator< (nullopt_t, const optional< T > &opt) noexcept |
|
template<typename T > |
constexpr bool | operator<= (const optional< T > &opt, nullopt_t) noexcept |
|
template<typename T > |
constexpr bool | operator<= (nullopt_t, const optional< T > &opt) noexcept |
|
template<typename T > |
constexpr bool | operator> (const optional< T > &opt, nullopt_t) noexcept |
|
template<typename T > |
constexpr bool | operator> (nullopt_t, const optional< T > &opt) noexcept |
|
template<typename T > |
constexpr bool | operator>= (const optional< T > &opt, nullopt_t) noexcept |
|
template<typename T > |
constexpr bool | operator>= (nullopt_t, const optional< T > &opt) noexcept |
|
template<typename T , typename U > |
constexpr bool | operator== (const optional< T > &opt, const U &value) |
|
template<typename T , typename U > |
constexpr bool | operator== (const T &value, const optional< U > &opt) |
|
template<typename T , typename U > |
constexpr bool | operator!= (const optional< T > &opt, const U &value) |
|
template<typename T , typename U > |
constexpr bool | operator!= (const T &value, const optional< U > &opt) |
|
template<typename T , typename U > |
constexpr bool | operator< (const optional< T > &opt, const U &value) |
|
template<typename T , typename U > |
constexpr bool | operator< (const T &value, const optional< U > &opt) |
|
template<typename T , typename U > |
constexpr bool | operator<= (const optional< T > &opt, const U &value) |
|
template<typename T , typename U > |
constexpr bool | operator<= (const T &value, const optional< U > &opt) |
|
template<typename T , typename U > |
constexpr bool | operator> (const optional< T > &opt, const U &value) |
|
template<typename T , typename U > |
constexpr bool | operator> (const T &value, const optional< U > &opt) |
|
template<typename T , typename U > |
constexpr bool | operator>= (const optional< T > &opt, const U &value) |
|
template<typename T , typename U > |
constexpr bool | operator>= (const T &value, const optional< U > &opt) |
|
template<typename T , std::size_t N> |
constexpr span< const byte, detail::as_bytes_size< T, N >::value > | as_bytes (span< T, N > s) noexcept |
| converts a span into a view of its underlying bytes More...
|
|
template<typename T , std::size_t N, std::enable_if_t< std::is_const< T >::value==false, int > = 0> |
constexpr span< byte, detail::as_bytes_size< T, N >::value > | as_writable_bytes (span< T, N > s) noexcept |
| converts a span into a view of its underlying bytes More...
|
|
template<class F , class Tuple > |
constexpr decltype(auto) | apply (F &&f, Tuple &&t) |
| calls a function with the elements of tuple of arguments More...
|
|
template<typename T , typename Tuple , std::enable_if_t< internal::is_constructible_from_tuple< T, Tuple >::value, int > = 0> |
constexpr T | make_from_tuple (Tuple &&t) |
| construct an object with a tuple of arguments More...
|
|
template<typename Tuple , typename T , typename F , std::enable_if_t< conjunction< tuple_like< Tuple >>::value, int > = 0> |
constexpr auto | tuple_fold_left (Tuple &&tuple, T &&init, F &&f) |
| Left fold operation for each tuple elements. More...
|
|
template<typename Tuple , typename F > |
constexpr std::enable_if_t< detail::tuple_for_each_invocable< Tuple, F >::value > | tuple_for_each (Tuple &&t, F &&f) |
|
template<typename Tuple , typename F > |
constexpr std::enable_if_t< detail::tuple_for_each_in_place_index_invocable< Tuple, F >::value > | tuple_for_each_index (Tuple &&t, F &&f) |
|
template<typename Tuple , typename F > |
constexpr auto | tuple_transform (Tuple &&t, F &&f) noexcept(noexcept(detail::tuple_transform_impl(std::forward< Tuple >(t), std::forward< F >(f), std::make_index_sequence< std::tuple_size< remove_cvref_t< Tuple >>::value >{}))) |
| Constructs a new tuple with each elements transformed. More...
|
|
template<typename C > |
constexpr auto | size (const C &c) -> decltype(c.size()) |
|
template<typename T , std::size_t N> |
constexpr std::size_t | size (const T(&array)[N]) noexcept |
|
template<typename C > |
constexpr auto | ssize (const C &c) -> common_type_t< std::ptrdiff_t, std::make_signed_t< decltype(c.size())>> |
|
template<typename T , std::ptrdiff_t N> |
constexpr std::ptrdiff_t | ssize (const T(&array)[N]) noexcept |
|
template<typename T > |
constexpr std::add_const_t< T > & | as_const (T &t) noexcept |
| obtains a reference to const to its argument More...
|
|
template<typename T > |
void | as_const (T &&)=delete |
|
template<typename T , typename U > |
constexpr bool | cmp_equal (T t, U u) noexcept |
|
template<typename T , typename U > |
constexpr bool | cmp_not_equal (T t, U u) noexcept |
|
template<typename T , typename U > |
constexpr bool | cmp_less (T t, U u) noexcept |
|
template<typename T , typename U > |
constexpr bool | cmp_greater (T t, U u) noexcept |
|
template<class T , class U > |
constexpr bool | cmp_less_equal (T t, U u) noexcept |
|
template<class T , class U > |
constexpr bool | cmp_greater_equal (T t, U u) noexcept |
|
template<typename T , typename U > |
constexpr std::enable_if_t< conjunction< is_swappable< T >, is_swappable< U > >::value > | swap (compressed_pair< T, U > &lhs, compressed_pair< T, U > &rhs) noexcept(conjunction< is_nothrow_swappable< T >, is_nothrow_swappable< U >>::value) |
|
template<typename R , typename T > |
constexpr bool | in_range (T t) noexcept |
|
template<typename T , T... v, typename F > |
constexpr std::enable_if_t< detail::sequence_for_each_invocable< std::integer_sequence< T, v... >, F >::value > | sequence_for_each (std::integer_sequence< T, v... >, F &&f) |
| performs f(std::integral_constant<T, i>{}) for i in v... More...
|
|
template<typename T , T N, typename F > |
constexpr std::enable_if_t< detail::sequence_for_each_invocable< std::make_integer_sequence< T, N >, F >::value > | sequence_for_each (F &&f) |
| performs f(std::integral_constant<T, i>{}) for i in [0, N) More...
|
|
template<std::size_t N, typename F > |
constexpr std::enable_if_t< detail::sequence_for_each_invocable< std::make_index_sequence< N >, F >::value > | sequence_for_each (F &&f) |
| performs f(std::integral_constant<std::size_t, i>{}) for i in [0, N) More...
|
|
template<typename T > |
auto | getCurrentTime () |
|
decltype(auto) | getCurrentMilliseconds () |
|
decltype(auto) | getCurrentMicroseconds () |
|
decltype(auto) | getCurrentNanoseconds () |
|
template<typename Enum > |
constexpr std::underlying_type_t< Enum > & | as_const (Enum e) noexcept |
| converts an enumeration to its underlying type More...
|
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence< Types... >::template count< T >==1), int > = 0> |
constexpr bool | holds_alternative (const variant< Types... > &v) noexcept |
|
constexpr bool | operator== (monostate, monostate) noexcept |
|
constexpr bool | operator!= (monostate, monostate) noexcept |
|
constexpr bool | operator< (monostate, monostate) noexcept |
|
constexpr bool | operator> (monostate, monostate) noexcept |
|
constexpr bool | operator<= (monostate, monostate) noexcept |
|
constexpr bool | operator>= (monostate, monostate) noexcept |
|
template<std::size_t I, typename... Types> |
constexpr variant_alternative_t< I, variant< Types... > > & | get (variant< Types... > &v) |
|
template<std::size_t I, typename... Types> |
constexpr variant_alternative_t< I, variant< Types... > > && | get (variant< Types... > &&v) |
|
template<std::size_t I, typename... Types> |
constexpr const variant_alternative_t< I, variant< Types... > > & | get (const variant< Types... > &v) |
|
template<std::size_t I, typename... Types> |
constexpr const variant_alternative_t< I, variant< Types... > > && | get (const variant< Types... > &&v) |
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence_type_count< T, type_sequence< Types... >>::value==1), int > = 0> |
constexpr T & | get (variant< Types... > &v) |
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence_type_count< T, type_sequence< Types... >>::value==1), int > = 0> |
constexpr T && | get (variant< Types... > &&v) |
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence_type_count< T, type_sequence< Types... >>::value==1), int > = 0> |
constexpr const T & | get (const variant< Types... > &v) |
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence_type_count< T, type_sequence< Types... >>::value==1), int > = 0> |
constexpr const T && | get (const variant< Types... > &&v) |
|
template<std::size_t I, typename... Types> |
constexpr std::add_pointer_t< variant_alternative_t< I, variant< Types... > > > | get_if (variant< Types... > *pv) noexcept |
|
template<std::size_t I, typename... Types> |
constexpr std::add_pointer_t< const variant_alternative_t< I, variant< Types... > > > | get_if (const variant< Types... > *pv) noexcept |
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence_type_count< T, type_sequence< Types... >>::value==1), int > = 0> |
constexpr std::add_pointer_t< T > | get_if (variant< Types... > *pv) noexcept |
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence_type_count< T, type_sequence< Types... >>::value==1), int > = 0> |
constexpr std::add_pointer_t< const T > | get_if (const variant< Types... > *pv) noexcept |
|
template<typename... Types, std::enable_if_t< conjunction< equality_comparable< Types >... >::value, int > = 0> |
constexpr bool | operator== (const variant< Types... > &v, const variant< Types... > &w) |
|
template<typename... Types, std::enable_if_t< conjunction< equality_comparable< Types >... >::value, int > = 0> |
constexpr bool | operator!= (const variant< Types... > &v, const variant< Types... > &w) |
|
template<typename... Types, std::enable_if_t< conjunction< totally_ordered< Types >... >::value, int > = 0> |
constexpr bool | operator< (const variant< Types... > &v, const variant< Types... > &w) |
|
template<typename... Types, std::enable_if_t< conjunction< totally_ordered< Types >... >::value, int > = 0> |
constexpr bool | operator> (const variant< Types... > &v, const variant< Types... > &w) |
|
template<typename... Types, std::enable_if_t< conjunction< totally_ordered< Types >... >::value, int > = 0> |
constexpr bool | operator<= (const variant< Types... > &v, const variant< Types... > &w) |
|
template<typename... Types, std::enable_if_t< conjunction< totally_ordered< Types >... >::value, int > = 0> |
constexpr bool | operator>= (const variant< Types... > &v, const variant< Types... > &w) |
|
template<typename... Types> |
constexpr std::enable_if_t< conjunction< std::is_move_constructible< Types >..., is_swappable< Types >... >::value > | swap (variant< Types... > &lhs, variant< Types... > &rhs) noexcept(noexcept(lhs.swap(rhs))) |
|
template<typename R , typename Visitor , typename... Variants, std::enable_if_t< conjunction< is_invocable< detail::as_variant_niebloid, Variants >... >::value, int > = 0> |
constexpr R | visit (Visitor &&vis, Variants &&... vars) |
|
template<typename Visitor , typename... Variants, std::enable_if_t< conjunction< is_invocable< detail::as_variant_niebloid, Variants >... >::value, int > = 0> |
constexpr decltype(auto) | visit (Visitor &&vis, Variants &&... vars) |
|
template<typename CharT , typename Traits > |
constexpr bool | operator== (basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept |
|
template<typename CharT , typename Traits > |
constexpr bool | operator!= (basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept |
|
template<typename CharT , typename Traits > |
constexpr bool | operator< (basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept |
|
template<typename CharT , typename Traits > |
constexpr bool | operator<= (basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept |
|
template<typename CharT , typename Traits > |
constexpr bool | operator> (basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept |
|
template<typename CharT , typename Traits > |
constexpr bool | operator>= (basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept |
|
template<typename CharT , typename Traits > |
std::basic_ostream< CharT, Traits > & | operator<< (std::basic_ostream< CharT, Traits > &os, basic_string_view< CharT, Traits > sv) |
|
constexpr string_view | operator""_sv (const char *str, std::size_t len) noexcept |
|
constexpr u16string_view | operator""_sv (const char16_t *str, std::size_t len) noexcept |
|
constexpr u32string_view | operator""_sv (const char32_t *str, std::size_t len) noexcept |
|
constexpr wstring_view | operator""_sv (const wchar_t *str, std::size_t len) noexcept |
|