|
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...>(); }