Check for container traits.
Note that for all uses in RDF we don't want to classify std::string as a container. Template specializations of IsDataContainer make it return true for std::span<T>, std::vector<bool> and RVec<bool>, which we do want to count as containers even though they do not satisfy all the traits tested by the generic IsDataContainer<T>. 
Public Types | |
| using | Test_t = std::decay_t< T > | 
Static Public Member Functions | |
| template<typename A > | |
| static constexpr bool | Test (...) | 
| template<typename A > | |
| static constexpr bool | Test (A *pt, A const *cpt=nullptr, decltype(pt->begin()) *=nullptr, decltype(pt->end()) *=nullptr, decltype(cpt->begin()) *=nullptr, decltype(cpt->end()) *=nullptr, typename A::iterator *pi=nullptr, typename A::const_iterator *pci=nullptr) | 
Static Public Attributes | |
| static constexpr bool | value = Test<Test_t>(nullptr) | 
#include <ROOT/RDF/Utils.hxx>
| using ROOT::Internal::RDF::IsDataContainer< T >::Test_t = std::decay_t<T> | 
      
  | 
  inlinestaticconstexpr | 
      
  | 
  inlinestaticconstexpr | 
      
  | 
  staticconstexpr |