LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
Ptr.h File Reference
#include "canvas/Persistency/Common/EDProduct.h"
#include "canvas/Persistency/Common/EDProductGetter.h"
#include "canvas/Persistency/Common/GetProduct.h"
#include "canvas/Persistency/Common/RefCore.h"
#include "canvas/Persistency/Common/Wrapper.h"
#include "canvas/Persistency/Common/traits.h"
#include "canvas/Persistency/Provenance/ProductID.h"
#include "canvas/Utilities/Exception.h"
#include "canvas/Utilities/ensurePointer.h"
#include "cetlib_except/demangle.h"
#include <cassert>
#include <cstddef>
#include <functional>
#include <list>
#include <ostream>
#include <type_traits>
#include <vector>

Go to the source code of this file.

Classes

class  art::detail::ItemGetter< T, C >
 
class  art::Ptr< T >
 
struct  art::detail::EnsurePointer< TO, Ptr< PTRVAL > >
 
class  art::detail::ItemGetter< T, C >
 
class  art::detail::ItemGetter< T, cet::map_vector< T > >
 
class  art::detail::ItemGetter< std::pair< cet::map_vector_key, T >, cet::map_vector< T > >
 
struct  art::detail::NotMapVector< T >
 
struct  art::detail::NotMapVector< cet::map_vector< T > >
 
struct  std::hash< art::Ptr< T > >
 

Namespaces

 art
 
 art::detail
 

Typedefs

template<typename T >
using art::detail::not_map_vector_t = typename NotMapVector< T >::type
 

Functions

template<typename T , typename U >
std::enable_if_t< std::is_same_v< T, U >||std::is_base_of_v< T, U >||std::is_base_of_v< U, T >, bool > art::operator== (Ptr< T > const &lhs, Ptr< U > const &rhs)
 
template<typename T , typename U >
std::enable_if_t< std::is_same_v< T, U >||std::is_base_of_v< T, U >||std::is_base_of_v< U, T >, bool > art::operator!= (Ptr< T > const &lhs, Ptr< U > const &rhs)
 
template<typename T , typename U >
std::enable_if_t< std::is_same_v< T, U >||std::is_base_of_v< T, U >||std::is_base_of_v< U, T >, bool > art::operator< (Ptr< T > const &lhs, Ptr< U > const &rhs)
 
template<typename T , typename H >
void art::fill_ptr_vector (std::vector< Ptr< T >> &ptrs, H const &h)
 
template<typename T , typename H >
void art::fill_ptr_list (std::list< Ptr< T >> &ptrs, H const &h)
 
template<typename T >
std::ostream & art::operator<< (std::ostream &os, Ptr< T > const &p)
 
template<typename H , typename T >
 art::Ptr (H, T) -> Ptr< detail::not_map_vector_t< typename H::element_type >>