cgv
clean.h
1 #pragma once
2 
3 #include <cgv/type/func/drop_const.h>
4 #include <cgv/type/func/drop_ref.h>
5 
6 namespace cgv {
7  namespace type {
9  namespace func {
10 
12 template <typename T>
13 struct clean
14 {
15  typedef typename func::drop_const<T>::type drop_const_type;
16  typedef typename func::drop_ref<drop_const_type>::type type;
17 };
19 template <typename T>
20 struct clean_traits : public clean<T>
21 {
22  typedef typename clean<T>::type* pointer_type;
23  typedef const typename clean<T>::type* const_pointer_type;
24  typedef typename clean<T>::type& reference_type;
25  typedef const typename clean<T>::type& const_reference_type;
26 };
27 
28  }
29  }
30 }
cgv::type::func::drop_const::type
T type
define value type
Definition: drop_const.h:12
cgv::type::func::drop_ref::type
T type
define value type
Definition: drop_ref.h:12
cgv::type::func::clean_traits
defines value, reference and pointer types for potentially const and reference types
Definition: clean.h:21
cgv::type::func::clean
drop const and reference modifier from type
Definition: clean.h:14
cgv
the cgv namespace
Definition: vr_calib.cxx:9