Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<typename TList, template<typename> typename Object> struct GenHierarchy;
- template <typename T1, typename T2, template <typename> typename Object>
- struct GenHierarchy<typelist<T1, T2>, Object>
- : public GenHierarchy<T1, Object>
- , public GenHierarchy<T2, Object>
- {
- public:
- typedef typelist<T1, T2> TList;
- typedef GenHierarchy<T1, Object> LeftBase;
- typedef GenHierarchy<T2, Object> RightBase;
- };
- // Pass an atomic type (non-typelist) to Unit
- template <typename AtomicType, template <typename> typename Object>
- struct GenHierarchy : public Object<AtomicType>
- {
- typedef Object<AtomicType> LeftBase;
- };
- // Do nothing for NullType
- template <template <typename> typename Object>
- struct GenHierarchy<null_type, Object>
- {
- };
Add Comment
Please, Sign In to add comment