IA
Size: a a a
IA
АР
IA
АР
АР
O
add_method
никогда не вызывается (—> шаблон не инстанциируется). Есть ли какой-то изящный способ это пофиксить? Можно конечно для типов с методами и типов без методов завести свой TypeInfoBuilder
с/без add_method
, потом их как-то отнаследовать чтобы не дублировать код, как-то решить проблему с возвращаемым типом билдера (через CRTP?)... Но все это выглядит дико громоздко. Есть ли какой-то более изящный способ? С enable_if
или специализацией?m
add_method
никогда не вызывается (—> шаблон не инстанциируется). Есть ли какой-то изящный способ это пофиксить? Можно конечно для типов с методами и типов без методов завести свой TypeInfoBuilder
с/без add_method
, потом их как-то отнаследовать чтобы не дублировать код, как-то решить проблему с возвращаемым типом билдера (через CRTP?)... Но все это выглядит дико громоздко. Есть ли какой-то более изящный способ? С enable_if
или специализацией?enable_if
есть if constexpr
и концепты.m
if constexpr
или концептах?static_assert
, но это потребовало переноса member
из nttp в аргументы функции. Мне не удалось придумать изящную реализацию оригинального интерфейса с использованием C++20.O
static_assert
, но это потребовало переноса member
из nttp в аргументы функции. Мне не удалось придумать изящную реализацию оригинального интерфейса с использованием C++20.NP
add_method
никогда не вызывается (—> шаблон не инстанциируется). Есть ли какой-то изящный способ это пофиксить? Можно конечно для типов с методами и типов без методов завести свой TypeInfoBuilder
с/без add_method
, потом их как-то отнаследовать чтобы не дублировать код, как-то решить проблему с возвращаемым типом билдера (через CRTP?)... Но все это выглядит дико громоздко. Есть ли какой-то более изящный способ? С enable_if
или специализацией?O
AK
std::string_view
вместо const std::string&
?struct Foo {
std::string str;
std::string_view get_str() const {
return str;
}
};
D
std::string_view
вместо const std::string&
?struct Foo {
std::string str;
std::string_view get_str() const {
return str;
}
};
const auto str = foo.get_str();
AK
const auto str = foo.get_str();
AF
АК
std::string_view
вместо const std::string&
?struct Foo {
std::string str;
std::string_view get_str() const {
return str;
}
};
АР
АР