di 0.1.0
|
Namespaces | |
namespace | byte_buffer |
Concepts | |
concept | ConstructibleFromCRefOptional |
concept | OptionalStorage |
Typedefs | |
using | Error = StatusCode<Erased<long>> |
template<typename T = void> | |
using | Result = Expected<T, Error> |
using | GenericCode = StatusCode<platform::GenericDomain> |
template<typename SizeType, usize rank> | |
using | Dextents = detail::DextentsHelper<SizeType, meta::Repeat<Constexpr<dynamic_extent>, rank>>::Type |
template<typename Storage> | |
using | OptionalGetValue = decltype(get_value(util::declval<Storage>())) |
template<typename T> | |
using | StorageFor |
template<typename T> | |
using | Arc = IntrusivePtr<T, ArcTag> |
template<typename T> | |
using | Rc = IntrusivePtr<T, RcTag> |
Functions | |
template<concepts::Expected T, typename Promise> | |
constexpr auto | tag_invoke (types::Tag< execution::as_awaitable >, T &&value, Promise &promise) -> decltype(auto) |
template<typename T, typename... U> | |
Array (T, U...) -> Array< T, 1+sizeof...(U)> | |
template<typename T, types::size_t size> requires (concepts::CopyConstructible<T> && !concepts::LanguageArray<T>) | |
constexpr auto | to_array (T(&array)[size]) |
template<typename T, types::size_t size> requires (concepts::MoveConstructible<T> && !concepts::LanguageArray<T>) | |
constexpr auto | to_array (T(&&array)[size]) -> Array< meta::RemoveCV< T >, size > |
template<typename T, typename U> | |
constexpr auto | operator== (StatusCode< T > const &a, StatusCode< U > const &b) -> bool |
template<typename T, typename U> requires (concepts::ConvertibleToAnyStatusCode<U const&>) | |
constexpr auto | operator== (StatusCode< T > const &a, U const &b) -> bool |
template<typename T, typename U> requires (concepts::ConvertibleToAnyStatusCode<T const&>) | |
constexpr auto | operator== (T const &a, U const &b) -> bool |
template<typename T> | |
Expected (T &&) -> Expected< meta::UnwrapRefDecay< T >, void > | |
template<typename E> | |
Unexpected (E &&) -> Unexpected< meta::UnwrapRefDecay< E > > | |
template<typename... Integrals> requires (concepts::ConvertibleTo<Integrals, size_t> && ...) | |
Extents (Integrals...) -> Extents< size_t,(Integrals {}, dynamic_extent)... > | |
template<concepts::LanguageArray CArray> requires (meta::ArrayRank<CArray> == 1) | |
MDSpan (CArray &) -> MDSpan< meta::RemoveAllExtents< CArray >, Extents< size_t, meta::Extent< CArray, 0 > > > | |
template<typename Pointer> requires (concepts::Pointer<meta::RemoveReference<Pointer>>) | |
MDSpan (Pointer &&) -> MDSpan< meta::RemovePointer< meta::RemoveReference< Pointer > >, Extents< size_t > > | |
template<typename ElementType, typename... integrals> requires (sizeof...(integrals) > 0 && (concepts::ConvertibleTo<integrals, size_t> && ...)) | |
MDSpan (ElementType *, integrals...) -> MDSpan< ElementType, Dextents< size_t, sizeof...(integrals)> > | |
template<typename ElementType, typename OtherSizeType, size_t N> | |
MDSpan (ElementType *, Span< OtherSizeType, N >) -> MDSpan< ElementType, Dextents< size_t, N > > | |
template<typename ElementType, typename OtherSizeType, size_t N> | |
MDSpan (ElementType *, Array< OtherSizeType, N > const &) -> MDSpan< ElementType, Dextents< size_t, N > > | |
template<typename ElementType, typename SizeType, size_t... extents> | |
MDSpan (ElementType *, Extents< SizeType, extents... > const &) -> MDSpan< ElementType, Extents< SizeType, extents... > > | |
template<class ElementType, class MappingType> | |
MDSpan (ElementType *, MappingType const &) -> MDSpan< ElementType, typename MappingType::ExtentsType, typename MappingType::LayoutType > | |
template<class MappingType, class AccessorType> | |
MDSpan (typename AccessorType::DataHandle const &, MappingType const &, AccessorType const &) -> MDSpan< typename AccessorType::ElementType, typename MappingType::ExtentsType, typename MappingType::LayoutType, AccessorType > | |
template<typename T> | |
constexpr auto | make_optional (T &&value) |
template<typename T, typename... Args> | |
constexpr auto | make_optional (Args &&... args) |
template<typename T, concepts::EqualityComparableWith< T > U> | |
constexpr auto | operator== (Optional< T > const &a, Optional< U > const &b) -> bool |
template<typename T> | |
constexpr auto | operator== (Optional< T > const &a, NullOpt) -> bool |
template<typename T, typename U> requires ((meta::OptionalRank<T> >= meta::OptionalRank<U>) && concepts::EqualityComparableWith<T, U>) | |
constexpr auto | operator== (Optional< T > const &a, U const &b) -> bool |
template<typename T, concepts::ThreeWayComparableWith< T > U> | |
constexpr auto | operator<=> (Optional< T > const &a, Optional< U > const &b) -> meta::CompareThreeWayResult< T, U > |
template<typename T> | |
constexpr auto | operator<=> (Optional< T > const &a, NullOpt) -> types::strong_ordering |
template<typename T, typename U> requires ((meta::OptionalRank<T> >= meta::OptionalRank<U>) && concepts::ThreeWayComparableWith<T, U>) | |
constexpr auto | operator<=> (Optional< T > const &a, U const &b) -> meta::CompareThreeWayResult< T, U > |
template<class T> | |
Optional (T) -> Optional< T > | |
template<size_t count, typename T> | |
constexpr auto | fixed_span (T *value) -> Span< T, count > |
template<typename Iter, typename SentOrSize> | |
Span (Iter, SentOrSize) -> Span< meta::RemoveReference< meta::IteratorReference< Iter > > > | |
template<typename Con> | |
Span (Con &&) -> Span< meta::RemoveReference< meta::ContainerReference< Con > > > | |
template<typename T, types::size_t size> | |
Span (T(&)[size]) -> Span< T, size > | |
template<typename T, types::size_t size> | |
Span (vocab::Array< T, size > &) -> Span< T, size > | |
template<typename T, types::size_t size> | |
Span (vocab::Array< T, size > const &) -> Span< T const, size > | |
template<typename F, concepts::TupleLike Tup> | |
constexpr auto | apply (F &&f, Tup &&tuple) -> decltype(detail::apply_impl(meta::MakeIndexSequence< meta::TupleSize< Tup > > {}, util::forward< F >(f), util::forward< Tup >(tuple))) |
template<typename F, concepts::TupleLike Tup> | |
constexpr auto | apply_reverse (F &&f, Tup &&tuple) -> decltype(detail::apply_impl(meta::MakeReverseIndexSequence< meta::TupleSize< Tup > > {}, util::forward< F >(f), util::forward< Tup >(tuple))) |
template<typename... Args> | |
constexpr auto | forward_as_tuple (Args &&... args) -> Tuple< Args &&... > |
template<typename... Args> | |
constexpr auto | make_decayed_tuple (Args &&... args) |
template<typename... Args> | |
constexpr auto | make_tuple (Args &&... args) |
template<typename... Types> | |
Tuple (Types...) -> Tuple< Types... > | |
template<concepts::TupleLike... Tups> | |
constexpr auto | tuple_cat (Tups &&... tuples) |
template<typename F, concepts::TupleLike Tup> requires (detail::TupleForEachValid<F, Tup, meta::MakeIndexSequence<meta::TupleSize<Tup>>>::value) | |
constexpr void | tuple_for_each (F &&function, Tup &&tuple) |
template<typename F, concepts::TupleLike Tup> requires (detail::TupleForEachValid<F, Tup, meta::MakeIndexSequence<meta::TupleSize<Tup>>>::value) | |
constexpr void | tuple_for_each_reverse (F &&function, Tup &&tuple) |
template<typename F, concepts::TupleLike Tup> requires (detail::TupleTransformValid<F, Tup, meta::MakeIndexSequence<meta::TupleSize<Tup>>>::value) | |
constexpr auto | tuple_transform (F &&function, Tup &&tuple) |
template<size_t index, concepts::VariantLike Var, typename Res = meta::VariantValue<Var, index>> | |
constexpr auto | get_if (Var &&variant) -> Optional< meta::RemoveRValueReference< Res > > |
template<typename T, concepts::VariantLike Var, typename List = meta::VariantTypes<Var>, auto index = meta::Lookup<T, List>, typename Res = meta::VariantValue<Var, index>> requires (meta::UniqueType<T, List>) | |
constexpr auto | get_if (Var &&variant) -> Optional< meta::RemoveRValueReference< Res > > |
template<typename R, typename Vis, concepts::VariantLike... Vars, typename Indices = meta::CartesianProduct<meta::AsList<meta::MakeIndexSequence<meta::VariantSize<Vars>>>...>> requires (requires { []<concepts::TypeList... Idx>(meta::List<Idx...>) { return Array { (&detail::VisitHelper<Idx, R, Vis, Vars...>::call)... }; }(Indices {}); }) | |
constexpr auto | visit (Vis &&visitor, Vars &&... variants) -> R |
template<typename Vis, concepts::VariantLike... Vars, typename R = decltype(function::invoke(util::declval<Vis>(), util::get<0>(util::declval<Vars>())...))> | |
constexpr auto | visit (Vis &&visitor, Vars &&... variants) -> decltype(auto) requires( |
Variables | |
constexpr auto | into_status_code = detail::IntoStatusCodeFunction {} |
constexpr auto | as_fallible = detail::AsFallibleFunction {} |
constexpr auto | if_error = function::curry_back(detail::IfErrorFunction {}, meta::c_<2ZU>) |
constexpr auto | if_success = function::curry_back(detail::IfSuccessFunction {}, meta::c_<2ZU>) |
constexpr auto | invoke_as_fallible = detail::InvokeAsFallibleFunction {} |
constexpr auto | try_infallible = detail::TryInfallibleFunction {} |
constexpr auto | get_value = GetValueFunction {} |
constexpr struct di::vocab::IsNulloptFunction | is_nullopt |
constexpr auto | lift_bool = detail::LiftBoolFunction {} |
constexpr auto | nullopt = NullOpt { 0 } |
constexpr struct di::vocab::SetNulloptFunction | set_nullopt |
constexpr struct di::vocab::SetValueFunction | set_value |
template<detail::IntrusivePtrValid< ArcTag > T> | |
constexpr auto | make_arc = MakeArcFunction<T> {} |
template<typename T> | |
constexpr auto | make_box = detail::MakeBoxFunction<T> {} |
constexpr auto | retain_object = RetainObject {} |
constexpr auto | adopt_object = AdoptObject {} |
constexpr auto | intrusive_ptr_increment = detail::IntrusivePtrIncrement {} |
constexpr auto | intrusive_ptr_decrement = detail::IntrusivePtrDecrement {} |
template<detail::IntrusivePtrValid< RcTag > T> | |
constexpr auto | make_rc = MakeRcFunction<T> {} |
constexpr auto | as_bytes = detail::AsBytesFunction {} |
constexpr auto | as_writable_bytes = detail::AsWritableBytesFunction {} |
constexpr auto | dynamic_extent = math::NumericLimits<types::size_t>::max |
constexpr struct di::vocab::EnableGenerateStructedBindingsFunction | enable_generate_structed_bindings |
template<typename T> | |
constexpr auto | make_from_tuple = detail::MakeFromTupleFunction<T> {} |
constexpr auto | tie = detail::TieFunction {} |
constexpr auto | tuple_element = TupleElementFunction {} |
constexpr auto | construct_tuple_impl_valuewise = ConstructTupleImplValuewise {} |
constexpr auto | construct_tuple_impl_from_tuplelike = ConstructTupleImplFromTuplelike {} |
template<typename R> | |
constexpr auto | tuple_sequence = detail::TupleSequenceFunction<R> {} |
constexpr auto | tuple_size = TupleSizeFunction {} |
template<typename T> | |
constexpr auto | holds_alternative = detail::HoldsAlternativeFunction<T> {} |
constexpr auto | variant_alternative = detail::VariantAlternativeFunction {} |
constexpr auto | variant_index = detail::VariantIndexFunction {} |
constexpr auto | variant_size = detail::VariantSizeFunction {} |
constexpr auto | variant_types = detail::VariantTypesFunction {} |
using di::vocab::Arc = IntrusivePtr<T, ArcTag> |
using di::vocab::Dextents = detail::DextentsHelper<SizeType, meta::Repeat<Constexpr<dynamic_extent>, rank>>::Type |
using di::vocab::Error = StatusCode<Erased<long>> |
The error module is nearly an implementation of P1028R4. https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1028r4.pdf
using di::vocab::OptionalGetValue = decltype(get_value(util::declval<Storage>())) |
using di::vocab::Rc = IntrusivePtr<T, RcTag> |
using di::vocab::Result = Expected<T, Error> |
using di::vocab::StorageFor |
|
constexpr |
|
constexpr |
di::vocab::Array | ( | T | , |
U... | ) -> Array< T, 1+sizeof...(U)> |
di::vocab::Expected | ( | T && | ) | -> Expected< meta::UnwrapRefDecay< T >, void > |
|
explicit |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
di::vocab::MDSpan | ( | CArray & | ) | -> MDSpan< meta::RemoveAllExtents< CArray >, Extents< size_t, meta::Extent< CArray, 0 > > > |
di::vocab::MDSpan | ( | ElementType * | , |
Array< OtherSizeType, N > const & | ) -> MDSpan< ElementType, Dextents< size_t, N > > |
di::vocab::MDSpan | ( | ElementType * | , |
Extents< SizeType, extents... > const & | ) -> MDSpan< ElementType, Extents< SizeType, extents... > > |
|
explicit |
di::vocab::MDSpan | ( | ElementType * | , |
MappingType const & | ) -> MDSpan< ElementType, typename MappingType::ExtentsType, typename MappingType::LayoutType > |
di::vocab::MDSpan | ( | ElementType * | , |
Span< OtherSizeType, N > | ) -> MDSpan< ElementType, Dextents< size_t, N > > |
di::vocab::MDSpan | ( | Pointer && | ) | -> MDSpan< meta::RemovePointer< meta::RemoveReference< Pointer > >, Extents< size_t > > |
di::vocab::MDSpan | ( | typename AccessorType::DataHandle const & | , |
MappingType const & | , | ||
AccessorType const & | ) -> MDSpan< typename AccessorType::ElementType, typename MappingType::ExtentsType, typename MappingType::LayoutType, AccessorType > |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
di::vocab::Optional | ( | T | ) | -> Optional< T > |
di::vocab::Span | ( | Con && | ) | -> Span< meta::RemoveReference< meta::ContainerReference< Con > > > |
di::vocab::Span | ( | Iter | , |
SentOrSize | ) -> Span< meta::RemoveReference< meta::IteratorReference< Iter > > > |
di::vocab::Span | ( | T(&) | [size] | ) | -> Span< T, size > |
di::vocab::Span | ( | vocab::Array< T, size > & | ) | -> Span< T, size > |
di::vocab::Span | ( | vocab::Array< T, size > const & | ) | -> Span< T const, size > |
|
constexpr |
|
constexpr |
|
constexpr |
di::vocab::Tuple | ( | Types... | ) | -> Tuple< Types... > |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
di::vocab::Unexpected | ( | E && | ) | -> Unexpected< meta::UnwrapRefDecay< E > > |
|
constexpr |
|
constexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
struct di::vocab::EnableGenerateStructedBindingsFunction di::vocab::enable_generate_structed_bindings |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
struct di::vocab::IsNulloptFunction di::vocab::is_nullopt |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
struct di::vocab::SetNulloptFunction di::vocab::set_nullopt |
struct di::vocab::SetValueFunction di::vocab::set_value |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |