|
| struct | are_same_types |
| |
| struct | are_types_contained |
| |
| struct | are_types_contained< First > |
| |
| struct | are_types_contained< First, OtherTypes... > |
| |
| class | CollectionExtremes |
| | Class storing a begin and a end iterator. More...
|
| |
| class | const_datarange_iterator |
| |
| class | CounterBlock |
| | Type of block of counters (just a STL array until SUBCOUNTERS are in) More...
|
| |
| struct | CountersMapTraits |
| |
| struct | enable_if_type_exists |
| |
| struct | findFirstMatching_answer |
| |
| struct | findFirstMatching_answer < Match, Target, false, FirstCandidate, OtherCandidates... > |
| |
| struct | findFirstMatching_answer< Match, Target, true, Candidates... > |
| |
| struct | findFirstMatching_dispatcher |
| |
| struct | findFirstMatching_dispatcher < Match, Target, FirstCandidate, OtherCandidates... > |
| |
| struct | findFirstMatching_dispatcher< Match, Target > |
| |
| struct | findFirstMatching_impl |
| |
| struct | findNextMatching_impl |
| |
| struct | findNextMatching_impl < 0U, Match, Target, FirstCandidate, OtherCandidates... > |
| |
| struct | findNextMatching_impl < NSkip, Match, Target, FirstCandidate, OtherCandidates... > |
| |
| struct | findNextMatching_impl< NSkip, Match, Target > |
| |
| struct | findTheMatching_impl |
| |
| struct | has_duplicate_types |
| |
| struct | has_duplicate_types< Key, Types... > |
| |
| struct | has_duplicate_types<> |
| |
| struct | has_type |
| |
| struct | has_type< Target > |
| |
| struct | has_type< Target, First, Others... > |
| |
| struct | has_type< Target, Target, Others... > |
| |
| struct | have_same_provider_types |
| |
| struct | have_same_provider_types < ProviderPack< AProviders... >, ProviderPack< BProviders... > > |
| |
| struct | is_derived_of |
| |
| struct | is_provider_pack |
| |
| struct | is_provider_pack< ProviderPack< Providers... > > |
| |
| class | iteratorRange |
| | Enclosure to use two iterators representing a range in a range-for loop. More...
|
| |
| struct | OptionalHexFloatFormatter |
| |
| struct | ProviderPackComparer |
| |
| struct | ProviderPackComparer< APack, BPack, First > |
| |
| struct | ProviderPackComparer< APack, BPack, First, Others... > |
| |
| struct | ProviderPackComparerBase |
| |
| struct | ProviderPackExtractor |
| |
| struct | ProviderPackExtractor< First, Others... > |
| |
| struct | ProviderPackExtractor< Service > |
| |
| struct | RangeTraits |
| |
| struct | ServiceProviderRequirementsChecker |
| | Compiles only if PROVIDER class satisfied service provider requirements. More...
|
| |
| struct | ServiceRequirementsChecker |
| |
| struct | SetFrom |
| | Implementation detail for the extraction constructor. More...
|
| |
| struct | SetFrom< DestPack, SourcePack > |
| |
| struct | SetFrom< DestPack, SourcePack, FirstProvider, OtherProviders... > |
| |
|
| template<typename Derived , typename... Bases> |
| constexpr std::size_t | indexOfBaseOf () |
| | Index of the class among Bases which is base of Derived. More...
|
| |
| template<typename Derived , typename... Bases> |
| constexpr std::size_t | indexOfDerivedFrom () |
| |
| template<typename Derived , typename... Bases> |
| constexpr std::size_t | findBaseOf () |
| | Index of the class among Bases which is base of Derived. More...
|
| |
| template<typename Derived , typename... Bases> |
| constexpr std::size_t | findDerivedFrom () |
| |
| template<typename Derived , typename... Bases> |
| constexpr std::size_t | hasBaseOf () |
| | Returns whether there is exactly one base class of Derived among Bases. More...
|
| |
| template<typename Derived , typename... Bases> |
| constexpr std::size_t | hasDerivedFrom () |
| |
| template<typename Provider , typename APack , typename BPack > |
| bool | haveSameProvider (APack const &a, BPack const &b) |
| |
| template<typename T > |
| std::ostream & | operator<< (std::ostream &os, details::OptionalHexFloatFormatter< T > fmt) |
| |
| template<typename BeginIter , typename EndIter > |
| auto | makeCollectionExtremes (BeginIter const &b, EndIter const &e) |
| | Helper to create a CollectionExtremes object from two iterators. More...
|
| |
| template<typename Range > |
| auto | makeCollectionExtremes (Range const &range) |
| | Helper to create a CollectionExtremes object from a range object. More...
|
| |
| template<typename Range > |
| CollectionView< Range > | makeCollectionView (Range &&) |
| |
| constexpr int | LowestSetBitScaler (unsigned long long int v, int b) |
| | Internally used by LowestSetBit. More...
|
| |
| template<typename T > |
| decltype(auto) | make_const_datarange_t (typename sparse_vector< T >::datarange_t &r) |
| |
|
| template<typename T > |
| std::string | demangle () |
| | Demangles the name of a type. More...
|
| |
| template<typename T > |
| std::string | demangle (const T &) |
| |
Namespace hiding implementation details.
template<typename Derived , typename... Bases>
| constexpr std::size_t lar::details::indexOfBaseOf |
( |
| ) |
|
Index of the class among Bases which is base of Derived.
- Template Parameters
-
| Derived | the class to be found |
| Bases | a list of classes candidate to be the base of Derived |
- Returns
- index of the class among Bases which is base of Derived
- Exceptions
-
| static_assert | if multiple classes are base of Derived |
- See also
- hasBaseOf(), findBaseOf()
If no class among Bases is actually a base class of Derived, an invalid index is returned, greater than any valid index (that is, no smaller than sizeof...(Bases)).
Definition at line 575 of file ProviderPack.h.
576 {
return findTheMatching_impl<std::is_base_of,
Derived,
Bases...>(); }