Size: a a a

2020 September 01

VR

Vladyslav Ryuzaki in pro.cxx
Понял
источник

ПК

Побитый Кирпич... in pro.cxx
Vladyslav Ryuzaki
По факту можно подставить все, ц чего есть constexpr конструктор, любую пользовательскую структуру
Хотя насчёт constexpr конструктора не уверен, потому что у std::string ЕМНИП он constexpr, но его ЕМНИП нельзя всё равно так передавать
источник

ПК

Побитый Кирпич... in pro.cxx
Там мб другие требования
источник

АК

Александр Караев... in pro.cxx
Vladyslav Ryuzaki
Почему нет?
даже с C++20 нет.
по стандарту для non-type template parameter необходим не только constexpr конструктор, но ещё пачка интересных требований
источник

АК

Александр Караев... in pro.cxx
a literal class type with the following properties:
all base classes and non-static data members are public and non-mutable and
the types of all bases classes and non-static data members are structural types or (possibly multi-dimensional) array thereof.
источник

D

Danya in pro.cxx
источник

D

Danya in pro.cxx
> ... shall not refer to or be the address of  .... a string literal object
источник

VR

Vladyslav Ryuzaki in pro.cxx
Александр Караев
a literal class type with the following properties:
all base classes and non-static data members are public and non-mutable and
the types of all bases classes and non-static data members are structural types or (possibly multi-dimensional) array thereof.
Ну, не такое и жесткое требование
источник

АК

Александр Караев... in pro.cxx
Vladyslav Ryuzaki
Ну, не такое и жесткое требование
достаточно жёсткое, чтобы запретить использование всей стандартной библиотеки в nttp
источник

VR

Vladyslav Ryuzaki in pro.cxx
Александр Караев
достаточно жёсткое, чтобы запретить использование всей стандартной библиотеки в nttp
Свой класс строки))
источник

D

Danya in pro.cxx
Danya
> ... shall not refer to or be the address of  .... a string literal object
Опять же std::string_view от строкового литерала нельзя использовать в nttp
источник

VR

Vladyslav Ryuzaki in pro.cxx
Danya
Опять же std::string_view от строкового литерала нельзя использовать в nttp
Да, понял, нужно будет свою структуру делать
источник

АК

Александр Караев... in pro.cxx
Vladyslav Ryuzaki
Свой класс строки))
https://godbolt.org/z/1oP73x
только если такой
#fixed_string
источник

D

Danya in pro.cxx
Vladyslav Ryuzaki
Свой класс строки))
Ну да, std::fixed_string
Надо возродить пропозал
источник

N

Neargye in pro.cxx
Danya
Опять же std::string_view от строкового литерала нельзя использовать в nttp
источник

D

Danya in pro.cxx
Ля там же явно написано:
A string-literal ([lex.string]) is not an acceptable template-argument for a template-parameter of non-class type.
источник

ПК

Побитый Кирпич... in pro.cxx
Александр Караев
a literal class type with the following properties:
all base classes and non-static data members are public and non-mutable and
the types of all bases classes and non-static data members are structural types or (possibly multi-dimensional) array thereof.
Интересно откуда требование на all public
источник

VR

Vladyslav Ryuzaki in pro.cxx
Danya
Ля там же явно написано:
A string-literal ([lex.string]) is not an acceptable template-argument for a template-parameter of non-class type.
Последняя строка в примере, он про это может
источник

N

Neargye in pro.cxx
Danya
Ля там же явно написано:
A string-literal ([lex.string]) is not an acceptable template-argument for a template-parameter of non-class type.
const char p[] = "Vivisectionist";
X<std::string_view, p> y;
источник

VR

Vladyslav Ryuzaki in pro.cxx
Что там передаём в конструктор строку
источник