12345678910111213141516171819202122232425262728 |
- #pragma once
- #include <type_traits>
- template<typename... _Elements>
- struct __reflection_typelist;
- /// Specialization for an empty typelist.
- template<>
- struct __reflection_typelist<>
- {
- typedef std::true_type empty;
- };
- /// Partial specialization.
- template<typename _First, typename... _Rest>
- struct __reflection_typelist<_First, _Rest...>
- {
- typedef std::false_type empty;
- struct first
- {
- typedef _First type;
- };
- struct rest
- {
- typedef __reflection_typelist<_Rest...> type;
- };
- };
|