Iros
 
Loading...
Searching...
No Matches
di::container::detail Namespace Reference

Namespaces

namespace  detail
 

Classes

struct  AdjacentFindFunction
 
struct  AllocateFunction
 
struct  AllocateManyFunction
 
struct  AllocateOneFunction
 
struct  AllOfFunction
 
struct  AnyOfFunction
 
struct  AtFunction
 
struct  AtUncheckedFunction
 
struct  BackFunction
 
struct  BackUncheckedFunction
 
struct  BinarySearchFunction
 
struct  CanInvokeRepeatHelper
 
struct  CanInvokeRepeatHelper< F, meta::List< Rs... > >
 
struct  CompareFunction
 
struct  ConstantTimeReversible
 
struct  ContainsFunction
 
struct  ContainsSubrangeFunction
 
struct  CopyBackwardFunction
 
struct  CopyFunction
 
struct  CopyIfFunction
 
struct  CopyNFunction
 
struct  CountFunction
 
struct  CountIfFunction
 
struct  DeallocateFunction
 
struct  DeallocateManyFunction
 
struct  DeallocateOneFunction
 
struct  DestroyFunction
 
struct  DestroyNFunction
 
struct  DistanceFunction
 
struct  EndsWithFunction
 
struct  EqualFunction
 
struct  EqualRangeFunction
 
struct  FillFunction
 
struct  FillNFunction
 
struct  FindEndFunction
 
struct  FindFirstNotOfFunction
 
struct  FindFirstOfFunction
 
struct  FindFunction
 
struct  FindIfFunction
 
struct  FindIfNotFunction
 
struct  FindLastFunction
 
struct  FindLastIfFunction
 
struct  FindLastIfNotFunction
 
struct  FindLastNotOfFunction
 
struct  FindLastOfFunction
 
struct  FixedStringToUtf8StringViewFunction
 
struct  FoldLeftFirstFunction
 
struct  FoldLeftFirstWithIterFunction
 
struct  FoldLeftFunction
 
struct  FoldLeftWithIterFunction
 
struct  FoldRightFunction
 
struct  FoldRightLastFunction
 
struct  ForEachFunction
 
struct  ForEachNFunction
 
struct  FrontFunction
 
struct  FrontUncheckedFunction
 
struct  GenerateFunction
 
struct  GenerateNFunction
 
struct  HashFunction
 
struct  HashSameFunction
 
struct  HashWriteFunction
 
struct  IncludesFunction
 
struct  IntoErasedStringFunction
 
struct  IotaFunction
 
struct  IsHeapFunction
 
struct  IsHeapUntilFunction
 
struct  IsPartitionedFunction
 
struct  IsPermutationFunction
 
struct  IsSortedFunction
 
struct  IsSortedUntilFunction
 
struct  IteratorMoveFunction
 
struct  IteratorSwapFunction
 
struct  LinkedListNode
 
struct  LinkedListTag
 
struct  LowerBoundFunction
 
struct  MakeHeapFunction
 
struct  MaxElementFunction
 
struct  MaxFunction
 
struct  MergeFunction
 
struct  MinElementFunction
 
struct  MinFunction
 
struct  MinMaxElementFunction
 
struct  MinMaxFunction
 
struct  MismatchFunction
 
struct  MoveBackwardFunction
 
struct  MoveFunction
 
struct  NextPermutationFunction
 
struct  NodeHashMapTag
 
struct  NodeHashSetTag
 
struct  NodeHashTableKey
 
struct  NodeHashTableKey< Value, true >
 
struct  NodeHashTableMapValidForLookup
 
struct  NodeHashTableValidForLookup
 
struct  NoneOfFunction
 
struct  PartitionCopyFunction
 
struct  PartitionFunction
 
struct  PartitionPointFunction
 
struct  PopHeapFunction
 
struct  PrevPermutationFunction
 
struct  ProductFunction
 
struct  PushHeapFunction
 
struct  RBTreeValidForLookup
 
struct  RemoveCopyFunction
 
struct  RemoveCopyIfFunction
 
struct  RemoveFunction
 
struct  RemoveIfFunction
 
struct  ReplaceCopyFunction
 
struct  ReplaceCopyIfFunction
 
struct  ReplaceFunction
 
struct  ReplaceIfFunction
 
struct  ReverseCopyFunction
 
struct  ReverseFunction
 
struct  RotateCopyFunction
 
struct  RotateFunction
 
struct  SampleFunction
 
struct  SearchFunction
 
struct  SearchNFunction
 
struct  SequenceFunction
 
struct  SetDifferenceFunction
 
struct  SetIntersectionFunction
 
struct  SetSymmetricDifferenceFunction
 
struct  SetUnionFunction
 
struct  ShiftLeftFunction
 
struct  ShiftRightFunction
 
struct  ShuffleFunction
 
struct  SortFunction
 
struct  SortHeapFunction
 
struct  StablePartitionFunction
 
struct  StartsWithFunction
 
struct  SumFunction
 
struct  SwapRanges
 
struct  TransformFunction
 
struct  TreeMapCompAdapter
 
struct  TreeMapTag
 
struct  TreeSetTag
 
struct  UninitializedCopyFunction
 
struct  UninitializedCopyNFunction
 
struct  UninitializedDefaultConstructFunction
 
struct  UninitializedDefaultConstructNFunction
 
struct  UninitializedFillFunction
 
struct  UninitializedFillNFunction
 
struct  UninitializedMoveFunction
 
struct  UninitializedMoveNFunction
 
struct  UninitializedRelocateBackwardsFunction
 
struct  UninitializedRelocateFunction
 
struct  UninitializedValueConstructFunction
 
struct  UninitializedValueConstructNFunction
 
struct  UniqueCopyFunction
 
struct  UniqueFunction
 
struct  UpperBoundFunction
 

Concepts

concept  DirectConstructSequenceTo
 
concept  TagConstructSequenceTo
 
concept  ReservableContainer
 
concept  DirectConstructTo
 
concept  TagConstructTo
 
concept  HashableContainer
 
concept  CustomFront
 
concept  MemberFront
 
concept  BeginFront
 
concept  CustomBack
 
concept  MemberBack
 
concept  RBeginBack
 
concept  CustomAt
 
concept  MemberAt
 
concept  IndexAt
 
concept  IteratorAt
 
concept  ArrayBegin
 
concept  CustomBegin
 
concept  MemberBegin
 
concept  CustomData
 
concept  MemberData
 
concept  BeginData
 
concept  CustomEmpty
 
concept  MemberEmpty
 
concept  SizeEmpty
 
concept  IteratorEmpty
 
concept  ArrayEnd
 
concept  CustomEnd
 
concept  MemberEnd
 
concept  CustomRBegin
 
concept  MemberRBegin
 
concept  ReverseIteratorRBegin
 
concept  CustomReconstruct
 
concept  ViewReconstruct
 
concept  ValidREndReturn
 
concept  CustomREnd
 
concept  MemberREnd
 
concept  ReverseIteratorREnd
 
concept  ArraySize
 
concept  CustomSize
 
concept  MemberSize
 
concept  IteratorSize
 
concept  CustomSSize
 
concept  SizeSSize
 
concept  CustomIterMove
 
concept  RegularIterMove
 
concept  DerefIterMove
 
concept  CustomIteratorSwap
 
concept  DerefIteratorSwap
 
concept  ExchangeIteratorSwap
 
concept  Sized
 
concept  Equal
 
concept  PriorityQueueCompatible
 
concept  QueueCompatible
 
concept  StackCompatible
 
concept  CanInvokeRepeat
 
concept  CartesianProductIsRandomAccess
 
concept  CartesianProductCommonArg
 
concept  CartesianProductIsBidirectional
 
concept  CartesianProductIsCommon
 
concept  CartesianProductIsSized
 
concept  CartesianSentinelIsSized
 
concept  ConcatIndirectlyReadableImpl
 
concept  ConcatIndirectlyReadable
 
concept  Concatable
 
concept  ConcatRandomAccess
 
concept  ConcatBidirectional
 
concept  ReturnableElement
 
concept  IotaIncrementable
 
concept  IotaDecrementable
 
concept  IotaAdvancable
 
concept  CompatibleJoinableContainers
 
concept  BidirectionalCommon
 
concept  SlideCachesNothing
 
concept  SlideCachesLast
 
concept  SlideCachesFirst
 

Typedefs

template<typename F, typename V, size_t N>
using InvokeRepeatResult = CanInvokeRepeatHelper<F, meta::Repeat<V, N>>::Type
 
template<typename... Cons>
using ConcatReference = meta::CommonReference<meta::ContainerReference<Cons>...>
 
template<typename... Cons>
using ConcatValue = meta::CommonType<meta::ContainerValue<Cons>...>
 
template<typename... Cons>
using ConcatRValue = meta::CommonReference<meta::ContainerRValue<Cons>...>
 

Functions

template<typename Out, typename T>
constexpr auto do_insert (Out &output, T &&value)
 
template<HashableContainer T, HashableContainer U>
constexpr auto tag_invoke (types::Tag< hash_same >, InPlaceType< T >, InPlaceType< U >) -> bool
 
template<concepts::TupleLike T, concepts::TupleLike U>
requires ((meta::TupleSize<T> == meta::TupleSize<U>) && !HashableContainer<T> && !HashableContainer<U>)
constexpr auto tag_invoke (types::Tag< hash_same >, InPlaceType< T >, InPlaceType< U >) -> bool
 
constexpr void tag_invoke (types::Tag< hash_write >, concepts::Hasher auto &hasher, HashableContainer auto const &value)
 
template<concepts::TupleLike T, concepts::Hasher H>
requires (!HashableContainer<T> && detail::HashableTuple<meta::MakeIndexSequence<meta::TupleSize<T>>>()(in_place_type<T>))
constexpr auto tag_invoke (types::Tag< hash_write >, H &hasher, T const &value)
 
template<concepts::InputContainer Con>
constexpr auto possibly_const_container (Con &container) -> auto &
 
template<typename T>
constexpr auto as_lvalue (T &&value) -> T &
 
template<CartesianProductCommonArg Con>
constexpr auto cartiesian_common_arg_end (Con &&con)
 
constexpr void tag_invoke (types::Tag< container::hash_write >, concepts::Hasher auto &hasher, concepts::ReflectableToFields auto const &object)
 

Variables

template<container::FixedString literal, size_t... indices>
constexpr c8 const as_c8_buffer [sizeof...(indices)] = { static_cast<char>(literal.data()[indices])... }
 

Typedef Documentation

◆ ConcatReference

◆ ConcatRValue

◆ ConcatValue

template<typename... Cons>
using di::container::detail::ConcatValue = meta::CommonType<meta::ContainerValue<Cons>...>

◆ InvokeRepeatResult

template<typename F, typename V, size_t N>
using di::container::detail::InvokeRepeatResult = CanInvokeRepeatHelper<F, meta::Repeat<V, N>>::Type

Function Documentation

◆ as_lvalue()

template<typename T>
auto di::container::detail::as_lvalue ( T && value) -> T&
constexpr

◆ cartiesian_common_arg_end()

template<CartesianProductCommonArg Con>
auto di::container::detail::cartiesian_common_arg_end ( Con && con)
constexpr

◆ do_insert()

template<typename Out, typename T>
auto di::container::detail::do_insert ( Out & output,
T && value )
constexpr

◆ possibly_const_container()

template<concepts::InputContainer Con>
auto di::container::detail::possibly_const_container ( Con & container) -> auto&
constexpr

◆ tag_invoke() [1/5]

void di::container::detail::tag_invoke ( types::Tag< container::hash_write > ,
concepts::Hasher auto & hasher,
concepts::ReflectableToFields auto const & object )
constexpr

◆ tag_invoke() [2/5]

template<HashableContainer T, HashableContainer U>
auto di::container::detail::tag_invoke ( types::Tag< hash_same > ,
InPlaceType< T > ,
InPlaceType< U >  ) -> bool
constexpr

◆ tag_invoke() [3/5]

template<concepts::TupleLike T, concepts::TupleLike U>
requires ((meta::TupleSize<T> == meta::TupleSize<U>) && !HashableContainer<T> && !HashableContainer<U>)
auto di::container::detail::tag_invoke ( types::Tag< hash_same > ,
InPlaceType< T > ,
InPlaceType< U >  ) -> bool
constexpr

◆ tag_invoke() [4/5]

void di::container::detail::tag_invoke ( types::Tag< hash_write > ,
concepts::Hasher auto & hasher,
HashableContainer auto const & value )
constexpr

◆ tag_invoke() [5/5]

template<concepts::TupleLike T, concepts::Hasher H>
requires (!HashableContainer<T> && detail::HashableTuple<meta::MakeIndexSequence<meta::TupleSize<T>>>()(in_place_type<T>))
auto di::container::detail::tag_invoke ( types::Tag< hash_write > ,
H & hasher,
T const & value )
constexpr

Variable Documentation

◆ as_c8_buffer

template<container::FixedString literal, size_t... indices>
c8 const di::container::detail::as_c8_buffer[sizeof...(indices)] = { static_cast<char>(literal.data()[indices])... }
inlineconstexpr