Сообщение Re: количество аргументов из шаблона от 20.11.2019 19:38
Изменено 20.11.2019 19:46 rg45
Re: количество аргументов из шаблона
Здравствуйте, Dair, Вы писали:
D>Как бы такое написать
Ну, навскидку, как-то так:
http://coliru.stacked-crooked.com/a/07f86ca7dc51c6cc
D>Как бы такое написать
пример | |
D>
D>Чтобы пользоваться этим примерно так: D>
| |
Ну, навскидку, как-то так:
http://coliru.stacked-crooked.com/a/07f86ca7dc51c6cc
template <typename, typename, typename> class FooBase;
template <typename Ret, typename Arg, size_t...I>
class FooBase<Ret, Arg, std::index_sequence<I...>> {
template <size_t>
using Param = Arg;
public:
virtual ~FooBase() = default;
virtual Ret bar(Param<I>...) = 0;
};
template <typename Ret, typename Arg, size_t N>
class Foo : public FooBase<Ret, Arg, std::make_index_sequence<N>> {
};
Re: количество аргументов из шаблона
Здравствуйте, Dair, Вы писали:
D>Как бы такое написать
Ну, навскидку, как-то так:
http://coliru.stacked-crooked.com/a/24a17eae8da7a765
D>Как бы такое написать
пример | |
D>
D>Чтобы пользоваться этим примерно так: D>
| |
Ну, навскидку, как-то так:
http://coliru.stacked-crooked.com/a/24a17eae8da7a765
template <typename, typename, typename> class Foo_;
template <typename Ret, typename Arg, size_t...I>
class Foo_<Ret, Arg, std::index_sequence<I...>> {
template <size_t> using Param = Arg;
public:
virtual ~Foo_() = default;
virtual Ret bar(Param<I>...) = 0;
};
template <typename Ret, typename Arg, size_t N>
using Foo = Foo_<Ret, Arg, std::make_index_sequence<N>>;