Гость
Форумы / C++ [игнор отключен] [закрыт для гостей] / Параметризация шаблона методом класса, но без сигнатуры / 3 сообщений из 3, страница 1 из 1
19.08.2020, 15:16
    #39990832
petrav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризация шаблона методом класса, но без сигнатуры
Вот так примерно:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
struct Foo
{
    void something(int) {}
};

template <class T, void (T::*M)(int)>
struct Bar
{
};


Но тут у шаблона "Bar" шаблонный параметр "M" имеет сигнатуру "(int)". А нужно что бы не имел параметр "M" сигнатуры.

Возможно ли? :)
...
Рейтинг: 0 / 0
19.08.2020, 16:01
    #39990858
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризация шаблона методом класса, но без сигнатуры
petrav,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
struct Foo
{
    void something(int) {}
};

template <class T, class M, M m>
struct Bar
{
    template <typename ... Args>
    void operator()(T& t, Args ... args)
    {
        (t.*m)(args...);
    }
};

int main()
{
    Bar<Foo, decltype(&Foo::something), &Foo::something> b;
    Foo f;
    b(f, 1);
    return 0;
}
...
Рейтинг: 0 / 0
19.08.2020, 17:51
    #39990908
petrav
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризация шаблона методом класса, но без сигнатуры
Anatoly Moskovsky,

Спасибо большое. :)
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Параметризация шаблона методом класса, но без сигнатуры / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]