cgv
Loading...
Searching...
No Matches
clean.h
1#pragma once
2
3#include <cgv/type/func/drop_const.h>
4#include <cgv/type/func/drop_ref.h>
5
6namespace cgv {
7 namespace type {
9 namespace func {
10
12template <typename T>
13struct 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};
19template <typename T>
20struct 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}
the cgv namespace
Definition print.h:11
defines value, reference and pointer types for potentially const and reference types
Definition clean.h:21
drop const and reference modifier from type
Definition clean.h:14
T type
define value type
Definition drop_const.h:12
T type
define value type
Definition drop_ref.h:12