Classes | Namespaces | Functions
CollectionUtilities.h File Reference
#include "canvas/Persistency/Common/Ptr.h"
#include "canvas/Persistency/Common/PtrVector.h"
#include "canvas/Persistency/Provenance/ProductID.h"
#include "cetlib/map_vector.h"
#include "cetlib/metaprogramming.h"
#include <cstddef>
#include <type_traits>
#include <vector>

Go to the source code of this file.

Classes

struct  art::detail::two_arg_insert_func< T, InIter, >
 
struct  art::detail::has_two_arg_insert< T >
 
struct  art::detail::three_arg_insert_func< T, RET, OutIter, InIter, >
 
struct  art::detail::has_three_arg_insert< T >
 
struct  art::detail::mix_offset< C >
 
struct  art::detail::mix_offset< cet::map_vector< P > >
 
struct  art::detail::TwoArgInsert< CONTAINER >
 
struct  art::detail::TwoArgInsert< cet::map_vector< T > >
 

Namespaces

 art
 
 art::detail
 

Functions

template<typename T , typename I >
no_tag art::detail::has_two_arg_insert_helper (...)
 
template<typename T , typename I >
yes_tag art::detail::has_two_arg_insert_helper (two_arg_insert_func< T, I,&T::insert > *dummy)
 
template<typename T , typename R , typename O , typename I >
no_tag art::detail::has_three_arg_insert_helper (...)
 
template<typename T , typename R , typename O , typename I >
yes_tag art::detail::has_three_arg_insert_helper (three_arg_insert_func< T, R, O, I,&T::insert > *dummy)
 
template<typename CONTAINER >
std::enable_if_t< detail::has_two_arg_insert< CONTAINER >::value > art::concatContainers (CONTAINER &out, CONTAINER const &in)
 
template<typename CONTAINER >
std::enable_if_t< detail::has_three_arg_insert< CONTAINER >::value > art::concatContainers (CONTAINER &out, CONTAINER const &in)
 
template<typename COLLECTION >
void art::flattenCollections (std::vector< COLLECTION const * > const &in, COLLECTION &out)
 
template<typename COLLECTION , typename OFFSETS >
void art::flattenCollections (std::vector< COLLECTION const * > const &in, COLLECTION &out, OFFSETS &offsets)
 
template<typename T >
void art::flattenCollections (std::vector< PtrVector< T > const * > const &in, PtrVector< T > &out)
 
template<typename T , typename OFFSETS >
void art::flattenCollections (std::vector< PtrVector< T > const * > const &in, PtrVector< T > &out, OFFSETS &offsets)
 
template<typename T >
bool art::detail::verifyPtrCollection (std::vector< art::PtrVector< T > const * > const &in)
 
template<typename iterator >
bool art::detail::verifyPtrCollection (iterator beg, iterator end, art::ProductID id={}, art::EDProductGetter const *getter=nullptr)