Следующие компиляции, но я хочу, чтобы моя функция serialise_deserialise () придерживалась неконтролируемой ссылки, но она невозможно с использованием decklal , потому что она возвращает ссылку на r-значение.
Следующие компиляции, но я хочу, чтобы моя функция serialise_deserialise () придерживалась неконтролируемой ссылки, но она невозможно с использованием decklal , потому что она возвращает ссылку на r-значение.[code]#include
struct MySerialiserDeserialiser { template static constexpr bool hasSerialiseFunction() { // SEE IF MyDonut HAS serialise_deserialise FUNCTION THAT TAKES A REFERENCE TO THIS TYPE constexpr bool bHasSerialiseFunction = requires { std::declval().serialise_deserialise(std::declval()); };
int main() { MySerialiserDeserialiser serialiser; static_assert(MySerialiserDeserialiser::hasSerialiseFunction()); } < /code> Поэтому я пытался сделать: < /p> constexpr bool bHasSerialiseFunction = requires { const auto& this_serialiser = std::declval();
std::declval().serialise_deserialise(this_serialiser); }; [/code] Но я считаю, что оператор Const auto & this_serialiser делает его более постоянным выражением. Пример Godbolt.
Следующие компиляции, но я хочу, чтобы моя функция void serialise_deserialise (const auto & serialiser) придерживалась неконтролируемой ссылки, но это невозможно с использованием Declval, поскольку он возвращает ссылку на r-значение.
#include...
Я пытаюсь создать прокси -класс прокси -сервера в C ++ для управления транзакциями через дерево узлов ( INode ) Формирование модели данных моей приложения.
Вот очень простой пример:
, который я хотел бы, чтобы это было так: p> p>
, который я...
Я пытаюсь создать прокси -класс прокси -сервера в C ++ для управления транзакциями через дерево узлов (INode) Формирование модели данных моей приложения.
Вот очень простой пример:
, который я хотел бы, чтобы это было так: p> p>
, который я...
Этот вопрос уже задавался здесь, но в ответах игнорируется тот факт, что это сценарий, в котором функции являются частью библиотеки, и поэтому пользователь не имеет контроля над API (кроме отправки сообщения о проблеме, о чем я расскажу). сделаю для...