cgv
is_base_of.h
1 #pragma once
2 
3 #if !defined(_MSC_VER) || (_MSC_VER < 1400)
4 #include <tr1/type_traits>
5 #include <cgv/type/func/drop_const.h>
6 #endif
7 
8 namespace cgv {
9  namespace type {
10  namespace cond {
11 
13 template <typename base_type, typename derived_type>
14 struct is_base_of
15 {
16  static const bool value =
17 #if _MSC_VER >= 1400
18  __is_base_of(base_type,derived_type);
19 #else
20  std::tr1::is_base_of<typename func::drop_const<base_type>::type,
21  typename func::drop_const<derived_type>::type>::value;
22 #endif
23 };
24 
25  }
26  }
27 }
cgv::type::func::drop_const::type
T type
define value type
Definition: drop_const.h:12
cgv
the cgv namespace
Definition: vr_calib.cxx:9
cgv::type::cond::is_base_of
template condition returning, whether the first argument is a base class of the second argument
Definition: is_base_of.h:15