Go to the documentation of this file.
    2 #ifndef LVR2_IO_GFeatureBase_HPP 
    3 #define LVR2_IO_GFeatureBase_HPP 
   19 template<
template<
typename> 
typename Feature, 
typename Derived>
 
   30 template<
template<
typename> 
typename ...Features>
 
   31 class FeatureBase : 
public Features<FeatureBase<Features...> >...
 
   34     template <
typename T, 
typename Tuple>
 
   40     template <
typename T, 
typename U, 
typename... Ts>
 
   43     template <
typename T, 
typename... Ts>
 
   47     static constexpr std::size_t 
N = 
sizeof...(Features);
 
   50     template<
template<
typename> 
typename F> 
 
   56         template<
typename> 
typename F,
 
   57         template<
typename> 
typename ...Fs
 
   62         template<
typename> 
typename F,
 
   63         template<
typename> 
typename ...Fs
 
   70         template<
typename> 
typename F
 
   73         using type = 
typename std::conditional<
 
   80     template<
template<
typename> 
typename F>
 
   86         template<
typename> 
typename F,
 
   87         template<
typename> 
typename ...Fs
 
   92         template<
typename> 
typename F,
 
   93         template<
typename> 
typename ...Fs
 
   99     template<
template<
typename> 
typename F>
 
  109     template<
template<
typename> 
typename F>
 
  112     template<
template<
typename> 
typename ...F>
 
  115     template<
typename OTHER>
 
  119     #if __cplusplus <= 201500L 
  121         #pragma message("using Tp::save... needs c++17 at least or a newer compiler") 
  135     template<
template<
typename> 
typename F>
 
  138     template<
template<
typename> 
typename F>
 
  139     F<FeatureBase>* 
scast();
 
  141     template<
template<
typename> 
typename F>
 
  142     F<FeatureBase>* 
dcast();
 
  149 template<
template<
typename> 
typename Feature, 
typename Derived = 
FeatureBase<> >
 
  151     using type = 
typename Derived::template add_features<Feature>::type;
 
  154 template<
template<
typename> 
typename Feature>
 
  160 #include "FeatureBase.tcc" 
  162 #endif // LVR2_IO_GFeatureBase_HPP 
  
typename add_features< F >::type::template add_features< Fs... >::type type
typename FeatureConstruct< Feature >::type FeatureBuild
Helper class how to construct a IO feature with its dependencies.
const FileKernelPtr m_kernel
static constexpr std::size_t N
const ScanProjectSchemaPtr m_description
typename OTHER::template add_features< Features... >::type Merge
std::tuple< Features< FeatureBase< Features... > >... > features
std::shared_ptr< FileKernel > FileKernelPtr
FeatureBase(const FileKernelPtr inKernel, const ScanProjectSchemaPtr inDesc)
typename add_features< F >::type type
F< FeatureBase > * scast()
typename FeatureConstruct< F, FeatureBase< Features... > >::type type
static constexpr bool value
typename add_features_with_deps< F... >::type AddFeatures
typename add_features_with_deps< F >::type::template add_features_with_deps< Fs... >::type type
static constexpr bool HasFeature
USE ONLY THESE METHODS IN APPLICATION ///.
typename std::conditional< FeatureBase< Features... >::has_feature< F >::value, FeatureBase< Features... >, FeatureBase< Features..., F > >::type type
F< FeatureBase > * dcast()
typename Derived::template add_features< Feature >::type type
Manager Class for all FeatureBase components located in hdf5 directory.
std::shared_ptr< ScanProjectSchema > ScanProjectSchemaPtr
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:23