WireCellToolkit
Wire Cell Simulation, Signal Process and Reconstruction Toolki for Liquid Argon Detectors
WireCell::shared_queued< T< Types... > > Struct Template Reference

#include <TupleHelpers.h>

Classes

struct  WrappedShared
 

Public Types

typedef T< Types... > tuple_type
 
typedef std::deque< boost::any > any_queue_type
 
typedef WrappedShared< std::deque >::type shared_queued_tuple_type
 

Public Member Functions

template<typename Element >
any_queue_type as_any_queue_convert (const std::deque< std::shared_ptr< const Element > > &in)
 
template<std::size_t... Indices>
std::vector< any_queue_typeas_any_queue_impl (const shared_queued_tuple_type &toq, std::index_sequence< Indices... >)
 
std::vector< any_queue_typeas_any_queue (const shared_queued_tuple_type &toq)
 
template<typename Type >
std::deque< std::shared_ptr< const Type > > from_any_queue_convert (const any_queue_type &aq)
 
template<std::size_t... Indices>
shared_queued_tuple_type from_any_queue_impl (const std::vector< any_queue_type > &vaq, std::index_sequence< Indices... >)
 
shared_queued_tuple_type from_any_queue (const std::vector< any_queue_type > &vaq)
 

Detailed Description

template<template< typename... > class T, typename... Types>
struct WireCell::shared_queued< T< Types... > >

Definition at line 135 of file TupleHelpers.h.

Member Typedef Documentation

◆ any_queue_type

template<template< typename... > class T, typename... Types>
typedef std::deque<boost::any> WireCell::shared_queued< T< Types... > >::any_queue_type

Definition at line 145 of file TupleHelpers.h.

◆ shared_queued_tuple_type

template<template< typename... > class T, typename... Types>
typedef WrappedShared<std::deque>::type WireCell::shared_queued< T< Types... > >::shared_queued_tuple_type

Definition at line 148 of file TupleHelpers.h.

◆ tuple_type

template<template< typename... > class T, typename... Types>
typedef T<Types...> WireCell::shared_queued< T< Types... > >::tuple_type

Definition at line 137 of file TupleHelpers.h.

Member Function Documentation

◆ as_any_queue()

template<template< typename... > class T, typename... Types>
std::vector< any_queue_type > WireCell::shared_queued< T< Types... > >::as_any_queue ( const shared_queued_tuple_type toq)
inline

Convert a tuple of queues of types to a vector of queues of boost::any.

typedef typename tuple_helper<IFDCS>::Wrapped<std::deque>::type IFDCS_queues; IFDCS_queues qs; auto any_q = as_any_queue(qs); cerr << "First element from each queue:\n"; cerr << any_cast<int>(any_q[0][0]) << endl; cerr << any_cast<float>(any_q[1][0]) << endl; cerr << any_cast<double>(any_q[2][0]) << endl; cerr << any_cast<char>(any_q[3][0]) << endl; cerr << any_cast<std::string>(any_q[4][0]) << endl;

Definition at line 175 of file TupleHelpers.h.

◆ as_any_queue_convert()

template<template< typename... > class T, typename... Types>
template<typename Element >
any_queue_type WireCell::shared_queued< T< Types... > >::as_any_queue_convert ( const std::deque< std::shared_ptr< const Element > > &  in)
inline

Definition at line 152 of file TupleHelpers.h.

◆ as_any_queue_impl()

template<template< typename... > class T, typename... Types>
template<std::size_t... Indices>
std::vector< any_queue_type > WireCell::shared_queued< T< Types... > >::as_any_queue_impl ( const shared_queued_tuple_type toq,
std::index_sequence< Indices... >   
)
inline

Definition at line 158 of file TupleHelpers.h.

◆ from_any_queue()

template<template< typename... > class T, typename... Types>
shared_queued_tuple_type WireCell::shared_queued< T< Types... > >::from_any_queue ( const std::vector< any_queue_type > &  vaq)
inline

Convert a vector of queues of any to a tuple of queues of type.

Definition at line 199 of file TupleHelpers.h.

◆ from_any_queue_convert()

template<template< typename... > class T, typename... Types>
template<typename Type >
std::deque< std::shared_ptr<const Type> > WireCell::shared_queued< T< Types... > >::from_any_queue_convert ( const any_queue_type aq)
inline

Definition at line 183 of file TupleHelpers.h.

◆ from_any_queue_impl()

template<template< typename... > class T, typename... Types>
template<std::size_t... Indices>
shared_queued_tuple_type WireCell::shared_queued< T< Types... > >::from_any_queue_impl ( const std::vector< any_queue_type > &  vaq,
std::index_sequence< Indices... >   
)
inline

Definition at line 193 of file TupleHelpers.h.


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