170 похожих чатов

Как с помощью SFINAE или концептов проверить наличие protected-метода в

базовом классе?

Метод "в лоб" всегда фейлится

20 ответов

21 просмотр

А какой юзкейс?

Dmitriy-[Отпуск] Автор вопроса
Anatoly Shirokov
А какой юзкейс?

class X { ... protected: void notify_internal(); }; template <class Target> struct Accessor : private Target { Accessor() = delete; static void InjectNotification(Target& t) { if (Target has notify_internal) { const auto ni = &Target::notify_internal; (t.*ni)(); } } };

Dmitriy-[Отпуск] Автор вопроса
Anatoly Shirokov
is_member_function_pointer?

'void X::notify_internal()' is protected within this context

Dmitriy [Отпуск]
'void X::notify_internal()' is protected within th...

Доступ к мемберам без учёта видимости можно сделать только через nttp

Надо проверить что метод именно protected, т.е. проверить чисто наличие метода будет недостаточно?

Dmitriy [Отпуск]
class X { ... protected: void notify_inte...

тут надо под шаблон павлика морозова...

Dmitriy-[Отпуск] Автор вопроса
Evgeny Sh.
Надо проверить что метод именно protected, т.е. пр...

Надо проверить наличие метода, который protected

Evgeny Sh.
Надо проверить что метод именно protected, т.е. пр...

тогда надо как-то определить есть ли метод в паблике

Dmitriy-[Отпуск] Автор вопроса
Danya🔥
Надо ли проверять что он protected?

Нет. Это уже проблемы автора X Но private/public он точно не будет)

Dmitriy [Отпуск]
Нет. Это уже проблемы автора X Но private/public о...

Тогда надо как-то применить вот это знание: https://t.me/ProCxx/481217

Dmitriy [Отпуск]
'void X::notify_internal()' is protected within th...

хз может так пойдет? https://wandbox.org/permlink/Dy7jN4cuAneb4KTS

Dmitriy [Отпуск]
.

Я просто помогаю с поддержанием порядка в С++ чатах!

Dmitriy [Отпуск]
.

__if_exists(T::method) { }

Dmitriy [Отпуск]
class X { ... protected: void notify_inte...

Так подожди При private наследовании можно вызывать protected методы базы?

Dmitriy-[Отпуск] Автор вопроса
Danya🔥
Так подожди При private наследовании можно вызыват...

Да Внутри метода наследника же (и трюк с указателем на член)

Dmitriy-[Отпуск] Автор вопроса

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
9
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
11
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
Карта сайта