Classes | Public Types | Public Member Functions | Static Public Attributes | Private Types | Friends | List of all members
lvr2::VariantChannel< T > Class Template Reference

#include <VariantChannel.hpp>

Inheritance diagram for lvr2::VariantChannel< T >:
Inheritance graph
[legend]

Classes

struct  CloneVisitor
 
struct  DataPtrVisitor
 
struct  index_of_type
 Access type index with type. More...
 
struct  NumElementsVisitor
 
struct  TupleIndex
 
struct  TupleIndex< T1, std::tuple< T1, Types... > >
 
struct  TupleIndex< T1, std::tuple< U, Types... > >
 
struct  WidthVisitor
 

Public Types

template<std::size_t N>
using type_of_index = typename std::tuple_element< N, types >::type
 
using types = std::tuple< T... >
 

Public Member Functions

VariantChannel< T... > clone () const
 
template<typename U >
boost::shared_array< U > dataPtr () const
 
template<std::size_t N>
boost::shared_array< type_of_index< N > > dataPtr () const
 
template<typename U >
Channel< U > & extract ()
 
template<typename U >
Channel< U > extract () const
 
template<typename U >
bool is_type () const
 
size_t numElements () const
 
int type () const
 Get type index of a map entry. More...
 
size_t width () const
 

Static Public Attributes

static constexpr std::size_t num_types = std::tuple_size<types>::value
 

Private Types

using base = boost::variant< Channel< T >... >
 

Friends

std::ostream & operator<< (std::ostream &os, const VariantChannel< T... > &ch)
 

Detailed Description

template<typename... T>
class lvr2::VariantChannel< T >

Definition at line 18 of file VariantChannel.hpp.

Member Typedef Documentation

◆ base

template<typename... T>
using lvr2::VariantChannel< T >::base = boost::variant<Channel<T>...>
private

Definition at line 20 of file VariantChannel.hpp.

◆ type_of_index

template<typename... T>
template<std::size_t N>
using lvr2::VariantChannel< T >::type_of_index = typename std::tuple_element<N, types>::type

Definition at line 42 of file VariantChannel.hpp.

◆ types

template<typename... T>
using lvr2::VariantChannel< T >::types = std::tuple<T...>

Definition at line 27 of file VariantChannel.hpp.

Member Function Documentation

◆ clone()

template<typename... T>
VariantChannel<T...> lvr2::VariantChannel< T >::clone ( ) const

◆ dataPtr() [1/2]

template<typename... T>
template<typename U >
boost::shared_array<U> lvr2::VariantChannel< T >::dataPtr ( ) const

◆ dataPtr() [2/2]

template<typename... T>
template<std::size_t N>
boost::shared_array<type_of_index<N> > lvr2::VariantChannel< T >::dataPtr ( ) const
inline

Definition at line 52 of file VariantChannel.hpp.

◆ extract() [1/2]

template<typename... T>
template<typename U >
Channel<U>& lvr2::VariantChannel< T >::extract ( )

◆ extract() [2/2]

template<typename... T>
template<typename U >
Channel<U> lvr2::VariantChannel< T >::extract ( ) const

◆ is_type()

template<typename... T>
template<typename U >
bool lvr2::VariantChannel< T >::is_type ( ) const

◆ numElements()

template<typename... T>
size_t lvr2::VariantChannel< T >::numElements ( ) const

◆ type()

template<typename... T>
int lvr2::VariantChannel< T >::type ( ) const

Get type index of a map entry.

◆ width()

template<typename... T>
size_t lvr2::VariantChannel< T >::width ( ) const

Friends And Related Function Documentation

◆ operator<<

template<typename... T>
std::ostream& operator<< ( std::ostream &  os,
const VariantChannel< T... > &  ch 
)
friend

Definition at line 76 of file VariantChannel.hpp.

Member Data Documentation

◆ num_types

template<typename... T>
constexpr std::size_t lvr2::VariantChannel< T >::num_types = std::tuple_size<types>::value
staticconstexpr

Definition at line 39 of file VariantChannel.hpp.


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


lvr2
Author(s): Thomas Wiemann , Sebastian Pütz , Alexander Mock , Lars Kiesow , Lukas Kalbertodt , Tristan Igelbrink , Johan M. von Behren , Dominik Feldschnieders , Alexander Löhr
autogenerated on Wed Mar 2 2022 00:37:27