Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lvr2::FeatureBase< Features > Class Template Reference

Manager Class for all FeatureBase components located in hdf5 directory. More...

#include <FeatureBase.hpp>

Inheritance diagram for lvr2::FeatureBase< Features >:
Inheritance graph
[legend]

Classes

struct  add_feature
 
struct  add_features
 
struct  add_features< F >
 
struct  add_features_with_deps
 
struct  add_features_with_deps< F >
 
struct  has_feature
 
struct  has_type
 
struct  has_type< T, std::tuple< T, Ts... > >
 
struct  has_type< T, std::tuple< U, Ts... > >
 
struct  has_type< T, std::tuple<> >
 

Public Types

template<template< typename > typename ... F>
using AddFeatures = typename add_features_with_deps< F... >::type
 
using features = std::tuple< Features< FeatureBase< Features... > >... >
 
template<typename OTHER >
using Merge = typename OTHER::template add_features< Features... >::type
 

Public Member Functions

template<template< typename > typename F>
F< FeatureBase > * dcast ()
 
 FeatureBase (const FileKernelPtr inKernel, const ScanProjectSchemaPtr inDesc)
 
template<template< typename > typename F>
bool has ()
 
template<template< typename > typename F>
F< FeatureBase > * scast ()
 
virtual ~FeatureBase ()
 

Public Attributes

const ScanProjectSchemaPtr m_description
 
const FileKernelPtr m_kernel
 

Static Public Attributes

template<template< typename > typename F>
static constexpr bool HasFeature = has_feature<F>::value
 USE ONLY THESE METHODS IN APPLICATION ///. More...
 
static constexpr std::size_t N = sizeof...(Features)
 

Detailed Description

template<template< typename > typename ... Features>
class lvr2::FeatureBase< Features >

Manager Class for all FeatureBase components located in hdf5 directory.

Definition at line 31 of file FeatureBase.hpp.

Member Typedef Documentation

◆ AddFeatures

template<template< typename > typename ... Features>
template<template< typename > typename ... F>
using lvr2::FeatureBase< Features >::AddFeatures = typename add_features_with_deps<F...>::type

Definition at line 113 of file FeatureBase.hpp.

◆ features

template<template< typename > typename ... Features>
using lvr2::FeatureBase< Features >::features = std::tuple<Features<FeatureBase<Features...> >...>

Definition at line 48 of file FeatureBase.hpp.

◆ Merge

template<template< typename > typename ... Features>
template<typename OTHER >
using lvr2::FeatureBase< Features >::Merge = typename OTHER::template add_features<Features...>::type

Definition at line 116 of file FeatureBase.hpp.

Constructor & Destructor Documentation

◆ FeatureBase()

template<template< typename > typename ... Features>
lvr2::FeatureBase< Features >::FeatureBase ( const FileKernelPtr  inKernel,
const ScanProjectSchemaPtr  inDesc 
)
inline

Definition at line 126 of file FeatureBase.hpp.

◆ ~FeatureBase()

template<template< typename > typename ... Features>
virtual lvr2::FeatureBase< Features >::~FeatureBase ( )
inlinevirtual

Definition at line 133 of file FeatureBase.hpp.

Member Function Documentation

◆ dcast()

template<template< typename > typename ... Features>
template<template< typename > typename F>
F<FeatureBase>* lvr2::FeatureBase< Features >::dcast ( )

◆ has()

template<template< typename > typename ... Features>
template<template< typename > typename F>
bool lvr2::FeatureBase< Features >::has ( )

◆ scast()

template<template< typename > typename ... Features>
template<template< typename > typename F>
F<FeatureBase>* lvr2::FeatureBase< Features >::scast ( )

Member Data Documentation

◆ HasFeature

template<template< typename > typename ... Features>
template<template< typename > typename F>
constexpr bool lvr2::FeatureBase< Features >::HasFeature = has_feature<F>::value
static

USE ONLY THESE METHODS IN APPLICATION ///.

Definition at line 110 of file FeatureBase.hpp.

◆ m_description

template<template< typename > typename ... Features>
const ScanProjectSchemaPtr lvr2::FeatureBase< Features >::m_description

Definition at line 145 of file FeatureBase.hpp.

◆ m_kernel

template<template< typename > typename ... Features>
const FileKernelPtr lvr2::FeatureBase< Features >::m_kernel

Definition at line 144 of file FeatureBase.hpp.

◆ N

template<template< typename > typename ... Features>
constexpr std::size_t lvr2::FeatureBase< Features >::N = sizeof...(Features)
static

Definition at line 47 of file FeatureBase.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 Mon Feb 28 2022 22:46:11