Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Consegui implementar:
- -----
- #include <utility>
- template <typename... Seqs>
- class ConcatSeq;
- template <uint8_t... Ints1>
- struct ConcatSeq<std::integer_sequence<uint8_t, Ints1...>>
- {
- using Type = typename std::integer_sequence<uint8_t, Ints1...>;
- };
- template <uint8_t... Ints1, uint8_t... Ints2>
- struct ConcatSeq<std::integer_sequence<uint8_t, Ints1...>,
- std::integer_sequence<uint8_t, Ints2...>>
- {
- using Type = std::integer_sequence<uint8_t, Ints1..., Ints2...>;
- };
- template <uint8_t... Ints1, uint8_t... Ints2, typename... TailSeqs>
- struct ConcatSeq<std::integer_sequence<uint8_t, Ints1...>,
- std::integer_sequence<uint8_t, Ints2...>, TailSeqs...>
- {
- using Type = typename ConcatSeq<std::integer_sequence<uint8_t, Ints1..., Ints2...>, TailSeqs...>::Type;
- };
- template <typename... Seqs>
- using ConcatSeqType = typename ConcatSeq<Seqs...>::Type;
- using ConcatSeqTest1 = ConcatSeqType<
- std::integer_sequence<uint8_t, 10>
- >;
- using ConcatSeqTest2 = ConcatSeqType<
- std::integer_sequence<uint8_t, 10>,
- std::integer_sequence<uint8_t, 20, 21>
- >;
- using ConcatSeqTest3 = ConcatSeqType<
- std::integer_sequence<uint8_t, 10>,
- std::integer_sequence<uint8_t, 20, 21>,
- std::integer_sequence<uint8_t, 30, 31, 32>
- >;
- using ConcatSeqTest4 = ConcatSeqType<
- std::integer_sequence<uint8_t, 10>,
- std::integer_sequence<uint8_t, 20, 21>,
- std::integer_sequence<uint8_t, 30, 31, 32>,
- std::integer_sequence<uint8_t, 40, 41, 42, 43>
- >;
- -----
- Adriano
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement