Size: a a a

2020 November 22

SS

Sergey Simonenko in pro.cxx
Здравствуйте, в потоке t1 без блокировок работает while(1)... подскажите как из потока t2  передать сообщение в цикл потока t1? Спасибо
источник

FS

Flower Surgeon in pro.cxx
Sergey Simonenko
Здравствуйте, в потоке t1 без блокировок работает while(1)... подскажите как из потока t2  передать сообщение в цикл потока t1? Спасибо
condition variable
источник

SS

Sergey Simonenko in pro.cxx
Flower Surgeon
condition variable
cv блокирует а блокировка недопустима
источник

AS

Anatoly Shirokov in pro.cxx
Sergey Simonenko
cv блокирует а блокировка недопустима
lock free очередь тогда какая-нибудь с постоянным полингом "есть сообщения в очереди" или нет
источник

AS

Anatoly Shirokov in pro.cxx
или используй https://en.cppreference.com/w/cpp/thread/condition_variable/wait_for и 0 таймаутом
источник

SS

Sergey Simonenko in pro.cxx
Anatoly Shirokov
lock free очередь тогда какая-нибудь с постоянным полингом "есть сообщения в очереди" или нет
Ок, спасибо👍
источник

m

magras in pro.cxx
Danya
Я уже написал пример такой тулзы — cppinclude
есть ещё include-what-you-see (вроде)
Правда, я не уверен что они подойдут для этой задачи, но посмотреть можно
include-what-you-use

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

Кроме того она еще не поддерживает 11 кланг, который недавно зарелизился. Информация устарела - уже поддерживает.

Из плюсов, она умеет читать compilation database, так что ее сравнительно легко интегрировать в проект на cmake.
источник

K

Kirill in pro.cxx
/help@cppaperbot
источник

p

paperbot_cpp in pro.cxx
Kirill
/help@cppaperbot
Команды:
       (инлайн-режим) - Просто напишите {Nxxxx|Pxxxx|PxxxxRx|Dxxxx|DxxxxRx|CWGxxx|EWGxxx|LWGxxx|LEWGxxx|FSxxx} в любом сообщении
       /about - информация о боте
       /search - поиск бумаги по её номеру, части названия или автору
       /help - показать это сообщение
источник

D

Danya in pro.cxx
Почему в стандартной библиотеке неохотно юзают [[nodiscard]] даже  на новые функции добавленные?
Всякие starts_with, ends_with, contains
источник

N

Neargye in pro.cxx
Danya
Почему в стандартной библиотеке неохотно юзают [[nodiscard]] даже  на новые функции добавленные?
Всякие starts_with, ends_with, contains
источник

N

Neargye in pro.cxx
Другие  stl не трогал, но у мс по возможности довещивают nodiscard  и noexcept
источник

D

Danya in pro.cxx
Neargye
Другие  stl не трогал, но у мс по возможности довещивают nodiscard  и noexcept
Мне интересно почему в стандарте нет?
Ну или как минимум так cppreference показывает..
источник

N

Neargye in pro.cxx
Danya
Мне интересно почему в стандарте нет?
Ну или как минимум так cppreference показывает..
аа, вот тут не знаю, наверное чтобы не вербозно было
типо навешивать nodiscard только на то что обязательно, а остальное уже реализация решает
источник

VS

Vlad Serebrennikov in pro.cxx
Danya
Почему в стандартной библиотеке неохотно юзают [[nodiscard]] даже  на новые функции добавленные?
Всякие starts_with, ends_with, contains
мне кажется, руки не доходят просто

так-то он есть, например, здесь на empty, кроме более серьезных случаев вроде аллокаторов
источник

m

magras in pro.cxx
empty это одновременно прилагательное и глагол из-за чего новичок может вызвать empty надеясь на то что он очистит контейнер. nodiscard предупредит об этом.
источник

m

magras in pro.cxx
Neargye
Другие  stl не трогал, но у мс по возможности довещивают nodiscard  и noexcept
noexcept все-таки уже является частью сигнатуры поэтому сомневаюсь что его добавляют.
источник

N

Neargye in pro.cxx
magras
noexcept все-таки уже является частью сигнатуры поэтому сомневаюсь что его добавляют.
Добавляют, как помню пример это to/from_chars
источник

D

Danya in pro.cxx
magras
noexcept все-таки уже является частью сигнатуры поэтому сомневаюсь что его добавляют.
источник

m

magras in pro.cxx
хм. Интересно, после такой модификации библиотека остается стандартной?
источник