LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
art::prevent_recursion< T > Struct Template Reference

#include "Wrapper.h"

Static Public Member Functions

static std::unique_ptr< EDProductcreate_empty_sampled_product (InputTag const &tag)
 
static void insert_if_sampled_product (T &, std::string const &dataset, SubRunID const &, std::unique_ptr< EDProduct >)
 

Detailed Description

template<typename T>
struct art::prevent_recursion< T >

Definition at line 30 of file Wrapper.h.

Member Function Documentation

template<typename T >
static std::unique_ptr<EDProduct> art::prevent_recursion< T >::create_empty_sampled_product ( InputTag const &  tag)
inlinestatic

Definition at line 261 of file Wrapper.h.

Referenced by art::Wrapper< T >::do_createEmptySampledProduct().

262  {
263  auto emptySampledProduct = std::make_unique<Sampled<T>>(tag);
264  return std::make_unique<Wrapper<Sampled<T>>>(
265  std::move(emptySampledProduct));
266  }
template<typename T >
static void art::prevent_recursion< T >::insert_if_sampled_product ( T &  ,
std::string const &  dataset,
SubRunID const &  ,
std::unique_ptr< EDProduct  
)
inlinestatic

Definition at line 269 of file Wrapper.h.

References art::errors::LogicError.

Referenced by art::Wrapper< T >::do_insertIfSampledProduct().

273  {
275  << "An attempt was made to insert a product from dataset '" << dataset
276  << "'\ninto a non-sampled product of type '"
277  << cet::demangle_symbol(typeid(T).name()) << "'.\n"
278  << "Please contact artists@fnal.gov for guidance.";
279  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66

The documentation for this struct was generated from the following file: