Constantine
это тоже проблема, да
std::any не обязан ли копировать значение при копировании?
Constantine
там, может, как в std::function проблемы
🐙 Antony
https://godbolt.org/g/FifQ9Q
Тот случай, когда MSVC вменяемее остальных https://godbolt.org/g/NJQtfY
Александр
std::any не обязан ли копировать значение при копировании?
так я муваю, пусть мувнет :( даже если я сделаю inplace, не работает
Александр
Constantine
Тот случай, когда MSVC вменяемее остальных https://godbolt.org/g/NJQtfY
Потому что MSVC использует instance time name lookup, разумеется
Constantine
так я муваю, пусть мувнет :( даже если я сделаю inplace, не работает
если std::any обязан был глубоко копирующим CC типом, то там ничего не получится
Александр
Александр
а, any ж хранит всё подряд
Constantine
так что нужен отдельный any_mc
Александр
да, вот variant от всех мув-онли ещё может стать мув-онли. а вот с any никак, видимо
Александр
вопрос решен, спасибо
Constantine
да, вот variant от всех мув-онли ещё может стать мув-онли. а вот с any никак, видимо
ну тут очень просто, как в случае std::function - глубоко копирующий / перемещающий контейнер, теряя информацию о внутреннем типе, все контракты обязан наружу вытаскивать
🐙 Antony
да, вот variant от всех мув-онли ещё может стать мув-онли. а вот с any никак, видимо
Фиксится через Boost.TypeErasure. Там можно сделать свой any, с блек джеком и move конструкторами
Constantine
@antoshkka а существует способ заставить two-phase name lookup выполняться как instance-time в примере выше без модификации сигнатуры is_null?
Stanislav
вывод - msvc не нужен
я ж написал что в conformance режиме msvc тоже 0 возвращает, включается /permissive- для новых проектов он уже автоматически включается
Stanislav
но на голболте старый компилер, он не умеет в /permissive-
Constantine
вывод - msvc не нужен
вывод: стандарт не нужен https://godbolt.org/g/FifQ9Q
Stanislav
вообще на годболте походу 15.0 без всяких апдейтов 😐
Constantine
вывод - msvc не нужен
и да, если что, это sequence inconsistency - эта специализация не может быть вызвана без ошибки компиляции не-шаблонной функцией без внедрения в фрагмент 19..28
🐙 Antony
@antoshkka а существует способ заставить two-phase name lookup выполняться как instance-time в примере выше без модификации сигнатуры is_null?
Кажется что можно что-то придумать через enable_if, но надо экспериментировать. Но поведение совсем не очевидное, надо бы как-то исправить
Constantine
Кажется что можно что-то придумать через enable_if, но надо экспериментировать. Но поведение совсем не очевидное, надо бы как-то исправить
Ну существует просто гениальное решение, исправляющее все такие проблемы: если two-phase name lookup дает результат, отличный от instantiation-time name lookup, то программа ill-formed :)
🐙 Antony
Ну существует просто гениальное решение, исправляющее все такие проблемы: если two-phase name lookup дает результат, отличный от instantiation-time name lookup, то программа ill-formed :)
Давайте попробуем написать это на английском, в виде предложения. Закиньте как минимум идею с примером на сайт, чтобы не потерялась.
Constantine
Давайте попробуем написать это на английском, в виде предложения. Закиньте как минимум идею с примером на сайт, чтобы не потерялась.
Идею я не потеряю, ибо болит, хотя и не очень сильно, ибо проект на MSVC где даже в 2017 компиляторе это считается очень сильно неродным режимом. std считает, что customization point подобного вида должен работать через ADL с вызовами типа using std::swap; swap(a, b); Я еще пару дней подумаю, потом запишу, что думаю. Текущее мнение, что customization point а) должна быть явно декларирована и б) должна всегда вызываться через qualified вызов
Constantine
В принципе тянет на warning 4 типа 'function-name' is overloaded after being used
Constantine
С эстетической точки зрения мне нравится auto customization_point(...) -> ...;
Matwey
Структуру в которой лежит массив.
Berkus
именно так
Ostap ꑭ
Лол, +100 участников
Ostap ꑭ
Буквально позавчера было 2.3к
Alexander
Лол, +100 участников
Скорее зрителей. Лично я пока присматриваюсь, читаю чат. Думаю интересен мне или бесполезная трата времени
Anatoly
Лол, +100 участников
вот что статья на хабре делает
Alexander
/vzhuh@FailsBot
Stanislav
бот спит, не отвлекай
Anatoly
/vzhuh@FailsBot
дай отдохнуть-то
Alexander
Интересно. Что это за команды такие? Впервые вижу бота внедрённого прямо в интерфейс чата
Berkus
первый раз в телеграме?
Alexander
Не первый. Но такое вижу впервые. Как руки дойдут гляну их api. А пока пойду дальше в этом чате в режим наблюдателя
Anonymous
Ничего не бесполезная трата, я несколько интересных статей и видео для себя нашел (планирую и дальше сидеть в read-only, правда, т.к. профи себя не считаю)
Ender
ам
Evgenii
рекурсия
Square
#book #books #cpp луркай по чату
Правда по тегу #books одни советы, чтобы искали по тегу #books
Alexander
может странный вопрос, но что такое луркать? Первая страница гугла прямо ничего вразумительного не дала
Square
У меня даже в детской книге оно есть
Square
Про тигора
Square
Но русский язык конечно поднаполнил смыслом
Alexander
+ поиска по чату нету. Так что предположение о поиске неверное. Это что какой-то внешний сервис, что позволяет по чату искать?
Square
Что значит поиска по чяту нет?
Square
Велкам ту зэ телегрэм
Square
Тринькай в имя чята
Олександр
Square
О. Я админ!
Berkus
О. Я админ!
Привет, админ
Alexander
Я уже им наверно 4-6 месяцев пользуюсь. Нет таких функций
Олександр
Я уже им наверно 4-6 месяцев пользуюсь. Нет таких функций
Этой функции несколько лет. С подключением.
Alexander
Alexander
Олександр
А, Web... Используй нативный клиент, веб для экстренных случаев. Он почти не поддерживается.
Andrei
Да, веб не стоит использовать. Он вообще полуофициальный.
Alexander
😱хотя нашёл. Он почему-то не хочет сам при клике искать внутри чата, но если кликнуть на поиск сперва тот что внутри чата, а потом уже самому ввести что искать или после выбор поиска кликнуть находит в чате. Интересный интерфейс. Сам бы я может случайно лет через 10 использования наткнулся на такое сочетание 😂
Nikita
ребят, если мы определяем свой deduction guide, там T&& для шаблонного T является универсальной ссылкой?
Nikita
имею в виду вот такой случай: template<typename T> Foo(T&&) -> ...
Anonymous
Если верить примерам со страницы cppreference, то является)
Anonymous
Товарищи, есть вопрос по модулям, как их планируют дружить с распределённой сборкой? Не могу найти инфу в интернете. Сейчас системы распределенной сборки, когда компилят с precompiled header, вынуждены его на каждую ноду закидывать вместе с препроцесснутыми исходниками. Если грубо говоря boost/Qt начинают поддерживать модули, мне придется их все вместе с исходником на другую ноду передавать?
Vladislav
в C++ нет, а distcc есть 🤔
Leonid
/help@FailsBot