5 актуальных предложений к комитету
От: reversecode google
Дата: 11.07.19 23:05
Оценка:
https://herbsutter.com/2019/07/11/your-top-five-iso-c-feature-proposals/

опрос
https://www.surveymonkey.com/r/ZDCD6YV

хочу что бы замувили все что касается сети в С++20, а не дожидаться С++23 либо еще дольше
буду гуглить какие там его номера по частям
Re: 5 актуальных предложений к комитету
От: reversecode google
Дата: 12.07.19 10:42
Оценка: +1
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/#mailing2019-06
https://wg21.link/index.txt

p1446r0
Reconsider the Networking TS for inclusion in C++20
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1446r0.html

а то народ начал за всякую фигню голосовать
черт
лямбды приняли в 11 и сейчас по чуть чуть совершенствуют
почему не принять сеть
и уже потом ее улучшать
Re: 5 актуальных предложений к комитету
От: B0FEE664  
Дата: 12.07.19 11:51
Оценка: 7 (1)
  int f(bool b) {
    unsigned char c;
    unsigned char d = c; // OK, d has an indeterminate value
    int e = d; // undefined behavior
    return b ? d : 0; // undefined behavior if b is true
  }


удивительное рядом
И каждый день — без права на ошибку...
Re[2]: 5 актуальных предложений к комитету
От: B0FEE664  
Дата: 12.07.19 14:52
Оценка:
Здравствуйте, reversecode, Вы писали:

R>p1446r0

R>Reconsider the Networking TS for inclusion in C++20
R>http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1446r0.html

Я правильно понимаю, что речь идёт про N4771 ?
Он у меня вызывает вопросы после беглого просмотра.
Зачем там Buffers? Почему вместо Buffers нельзя использовать произвольный контейнер?
Вот такое перечисление выглядит подозрительно:

template<class T, size_t N>
mutable_buffer buffer(T (&data)[N]) noexcept;
template<class T, size_t N>
const_buffer buffer(const T (&data)[N]) noexcept;
template<class T, size_t N>
mutable_buffer buffer(array<T, N>& data) noexcept;
template<class T, size_t N>
const_buffer buffer(array<const T, N>& data) noexcept;
template<class T, size_t N>
const_buffer buffer(const array<T, N>& data) noexcept;
template<class T, class Allocator>
mutable_buffer buffer(vector<T, Allocator>& data) noexcept;
template<class T, class Allocator>
const_buffer buffer(const vector<T, Allocator>& data) noexcept;
template<class CharT, class Traits, class Allocator>
mutable_buffer buffer(basic_string<CharT, Traits, Allocator>& data) noexcept;
template<class CharT, class Traits, class Allocator>
const_buffer buffer(const basic_string<CharT, Traits, Allocator>& data) noexcept;
template<class CharT, class Traits>
const_buffer buffer(basic_string_view<CharT, Traits> data) noexcept;

Почему набор контейнеров ограничен только этим перечислением (data[N], std::array, std::vector, basic_string и basic_string_view)?

R>а то народ начал за всякую фигню голосовать

R>черт
R>лямбды приняли в 11 и сейчас по чуть чуть совершенствуют
R>почему не принять сеть
R>и уже потом ее улучшать

С лямбдами было заранее понятно, что у как будут менять, а тут —
У меня такое впечатление из-за Buffers, что вся библиотека завязана на паткетную обработку.
И каждый день — без права на ошибку...
Re[3]: 5 актуальных предложений к комитету
От: reversecode google
Дата: 12.07.19 15:07
Оценка:
я не могу отвечать за автора
могу ответить за себя, вызвано практическим использованием
перефразировав вопрос, можно спросить — а почему там не любой тип данных ?
убив тем самым не только зайца но и все живое
если же немного присмотреться то можно заметить что там только контигиус контейнеры
и например деквая нет

если с лямбдами было все понятно
почему сразу не сделали их темплейт, не разрешили авто, алиясинг и в конце концов сразу не сделать их констрекспр ?

я не знаю, но мне кажется проблема принятия нетворкинга в стандарт
из за того что он напрямую связан с екзекуторами
а свои взгляды пытаются пропихнуть в стандарт и фб и нвидия и...

в конце концов есть там умные дядьки, пусть ищут выход
Re[4]: 5 актуальных предложений к комитету
От: B0FEE664  
Дата: 12.07.19 16:00
Оценка: 7 (1)
Здравствуйте, reversecode, Вы писали:

R>я не могу отвечать за автора

R>могу ответить за себя, вызвано практическим использованием
Что это значит "практическим использованием"?
Это?:

16.2.1 Mutable buffer sequence requirements [buffer.reqmts.mutablebuffersequence]
1 A mutable buffer sequence represents a set of memory regions that may be used to receive the output of an
operation, such as the receive operation of a socket.

Мне странно видеть такое требование в библиотеке стандарта. Что значит "as the receive operation of a socket"?

R>перефразировав вопрос, можно спросить — а почему там не любой тип данных ?

Вот, кстати, правильный вопрос!
Что будет, если вот сюда:
template<class T, class Allocator>
mutable_buffer buffer(vector<T, Allocator>& data) noexcept;

В качестве T подставить, например, std::string ? Т.е. передать в качестве аргумента data типа std::vector<std::string>? Это ведь sequence represents a set of memory regions. Так?

R>убив тем самым не только зайца но и все живое

ой.

А есть пример кода, чтобы посмотреть как это предпологается использовать?




R>если с лямбдами было все понятно

R>почему сразу не сделали их темплейт, не разрешили авто, алиясинг и в конце концов сразу не сделать их констрекспр ?
Когда понятно, что делать и как, тогда ясно, в какой последовательности всё можно писать, чтобы не сломать обратной совместимости.
И каждый день — без права на ошибку...
Re[5]: 5 актуальных предложений к комитету
От: reversecode google
Дата: 12.07.19 17:19
Оценка:
намекаете на о что в стандарте не расшифрован термин операция на сокете ?
если да, то я и не агитирую за то что бы пропозл по сети приняли ас ис
да и не думаю что проблема с пропозлом именно в этом

я агитирую что бы над ним поработали так что бы сеть появилась уже в С++20
а не в каком то С++23, лет через 10 в лучшем случае
в худшем в С++2x через 20+ лет

примеры чего, как использовать буфер ?
в асио/буст-асио есть полно, а так же в нетфоркинг ТС репы криса
Re[2]: 5 актуальных предложений к комитету
От: kov_serg Россия  
Дата: 13.07.19 16:58
Оценка:
Здравствуйте, B0FEE664, Вы писали:

BFE>
BFE>  int f(bool b) {
BFE>    unsigned char c;
BFE>    unsigned char d = c; // OK, d has an indeterminate value
BFE>    int e = d; // undefined behavior
BFE>    return b ? d : 0; // undefined behavior if b is true
BFE>  }
BFE>


BFE>удивительное рядом


И где это можно использовать? Для каких не очевидных оптимизаций?
Re: 5 актуальных предложений к комитету
От: reversecode google
Дата: 20.07.19 14:51
Оценка: +1
итоги встречи комитета на этой недели в германии
экзекуторы по оптимистическим прикидкам можно ожидать в С++23
по худшим прикидкам в С++26
сеть тоже самое поскольку она держится на них
https://old.reddit.com/r/cpp/comments/cfk9de/201907_cologne_iso_c_committee_trip_report_the/

это провал я считаю
Re: 5 актуальных предложений к комитету
От: reversecode google
Дата: 26.07.19 12:21
Оценка: +1
результат голосования
https://herbsutter.com/2019/07/25/survey-results-your-top-five-iso-c-feature-proposals/
я в шоке

Primary topic category #votes
Reflection 154
Convenience/usability 129
Error handling 129
...

Re[2]: 5 актуальных предложений к комитету
От: AeroSun  
Дата: 26.07.19 20:14
Оценка: +1
Здравствуйте, reversecode, Вы писали:

R>результат голосования

R>https://herbsutter.com/2019/07/25/survey-results-your-top-five-iso-c-feature-proposals/
R>я в шоке

R>Primary topic category #votes

R>Reflection 154
R>Convenience/usability 129
R>Error handling 129
R>...

R>


Ну, Reflection просто уже вопиюще нужен, зае**** своим метапрограммированием. Главное ж ведь никаких перепон чтобы сделать ещё лет 7 назад нет, а всё обсасывают и обсасывают, и никак не насосутся.
А вот "Compile-time programming 105" — это что такое? Дальнейшее добавление кейвордов по типу constexpr? Если так — то это
Вместо требований, чтобы компилер до дефолту выполнял код в компил-тайме когда это возможно — заставлять людей делать работу за него
Re: 5 актуальных предложений к комитету
От: AeroSun  
Дата: 26.07.19 20:25
Оценка:

Contracts Removed from C++20



One of the features of C++20 is a new way to print and format text through std::format. This is a library based on the {fmt} library by Victor Zverovich.


Помню красноглазики плевались, что удобный интерфейс {fmt} не может покрывать потребности пользователей — надо наваять что-то ультра монстроузное!!!111
А в итоге
Re[3]: 5 актуальных предложений к комитету
От: AeroSun  
Дата: 29.07.19 12:04
Оценка: +1 :)
Здравствуйте, AeroSun, Вы писали:

AS>А вот "Compile-time programming 105" — это что такое? Дальнейшее добавление кейвордов по типу constexpr? Если так — то это


Ахахаха:
Новое ключевое слово constinit для гарантированной инициализации на этапе компиляции
static constinit std::atomic<int> counter{0};


долбодятлы шагают по планете

private inline static volatile constexpr constinit const std::atomic<int> counter{0} try throws;



А потом, лет через 10, опять "нам нужны костыли, чтобы подпереть созданные нами костыли, ведь у нас обратная совместимость".
Ровно то же самое, что и с передачей по умолчанию копии вместо константной ссылки в параметрах. И все остальные далее навечно страдают.
Задница вместо мозга работает.

О, вот и подтверждение:

+ Обсуждался новый спецификатор исключений throws.
+ Соответственно теперь в классе может быть несколько деструкторов
+ новый вид потока (наконец-то начало доходить, что тот что приняли не катит в реальных задачах сложнее hello-world, но опять же полумера, так что следует ждать ещё не один новый вид потока в дальнейшем)



И вишенка:

[nodiscard]] теперь можно навешивать на конструкторы и целые классы

И повторяется история с constexpr — теперь [nodiscard]] будет везде.
Вместо требований к error/warning для компилятора и [maybe_unused]] теперь надо будет прописывать вручную... мы сказали вручную, твари!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.