diff --git a/include/boost/type_index/detail/compile_time_type_info.hpp b/include/boost/type_index/detail/compile_time_type_info.hpp index 9ff3530..26c7696 100644 --- a/include/boost/type_index/detail/compile_time_type_info.hpp +++ b/include/boost/type_index/detail/compile_time_type_info.hpp @@ -178,22 +178,19 @@ namespace boost { namespace typeindex { namespace detail { template struct append, Append...> { - using type = index_seq; + typedef index_seq type; }; - template - using append_t = typename append::type; - template> struct make_index_seq { typedef typename switch_< Size - Counter - 1, - make_index_seq >, - make_index_seq >, - make_index_seq >, - make_index_seq >, - make_index_seq >, - make_index_seq > + make_index_seq::type >, + make_index_seq::type >, + make_index_seq::type >, + make_index_seq::type >, + make_index_seq::type >, + make_index_seq::type > >::type type; }; @@ -264,9 +261,9 @@ struct ctti { #endif } - template - constexpr static auto impl(::boost::typeindex::detail::index_seq ) { - return ::boost::typeindex::detail::cstring()...>(); + template + constexpr static const char* impl(::boost::typeindex::detail::index_seq ) { + return ::boost::typeindex::detail::cstring()...>::data_; } template @@ -294,7 +291,7 @@ struct ctti { size - boost::typeindex::detail::ctti_skip_size_at_end, boost::typeindex::detail::ctti_skip_size_at_constexpr_begin >; - return decltype( impl(idx_seq()) )::data_; + return impl(idx_seq()); } #else /// Returns raw name. Must be as short, as possible, to avoid code bloat