Aidar
Короче у тапла есть get<mytype>(tpl)
Vitaliy
Vitaliy
Aidar
Точно
Vitaliy
Ага, посмотрел, но только с 14 стандарта
Aidar
Мда
Dmitry
Мда
Епрст... вариант, конечно же. Не тупл. Переработал сегодня.
Михаил
Aidar
Aidar
Эни это ваще штука с динамическими алокациями
Constantine
Constantine
И которые не реализуются за секунду самостоятельно
Constantine
Вот только сегодня бомбил, что нет std::find с предикатом
Alexander "SonnySlave"
Aidar
Alexander "SonnySlave"
желательно в виде предложений на stdcpp.ru
Vitaliy
@AsGreyWolf я кажется понял твою идею. Ты предлагаешь не наследовать методы, а использовать шаблонный метод, в котором я буду указывать тип доставаемого значения. Такая обертка над кортежем получается. Если не сам кортеж)
Constantine
Find_if?
требует замыкания аргумента
Aidar
Alexander "SonnySlave"
Aidar
Но наследоваться от рандомной фигни точно плохо
Aidar
Как тебе наследование от Инта?
Constantine
mex finder?
mex, это по определению наименьшее число, которое не присутствует в наборе
Constantine
minimal excluded
Alexander "SonnySlave"
а, понял. не знал такого определения
Alexander "SonnySlave"
а где такое полезно?
Constantine
в автоназначениях идентификаторов
Alexander "SonnySlave"
а, логично
Dmitry
Скорее vector<any>
Может всё таки pair<err_code_type, variant<err_class1, err_class2, ...>> возвращать тогда в качестве ошибки?
Constantine
а, логично
или, например, suf-array / BWT
Constantine
и вообще все строковые структуры данных, например, специализация set<string>
Aidar
Aidar
Где-то я такое видел
Constantine
Vitaliy
Михаил
Constantine
Constantine
Constantine
А то все разумные реализации будут использовать std::_Find_with_pred
Михаил
Ну, не знаю, у меня find_if отвращения не вызывает )
IharOK
Михаил
Меня больше взбесил vector<bool>, bitset<N> и даже boost::dynamic_bitset
Михаил
С ними хотели как лучше, а получилось как всегда
Constantine
bitset клевая штука
Constantine
пользуюсь
Constantine
последний раз - меньше недели назад
Михаил
Не ну для некоторых вещей конечно бесспорно, но бывают ситуации
Constantine
не знаю ситуаций, я просто написал (a ^ b).count() и у меня все работало)
Constantine
Михаил
Отлично, а теперь нужно передать 5 и 6 слово из bitset во внешнюю функцию.
Constantine
это совершенно точно не то, для чего нужен bitset
Михаил
ОК, что тогда?
Constantine
bitset нужен чтобы С++боги на олимпиадках могли насмехаться над Java-неудачниками ;)
Михаил
😀
Constantine
а wide_int соответственно чтобы прекратить обратные насмешки
Михаил
Вот кстати было бы круто иметь в STL (ну или отдельно) либу для работы со всякими интринсиками и SIMD
Constantine
а это не задача компилятора?
Dmitry
Хотя бы builtin ctz...
Constantine
что ему вообще непонятно?
Михаил
На них можно было бы легко реализовать динамический битовый вектор с итераторами
Михаил
А ля vector только для битов и алгоритмы к ним стандартные, copy, rotate, transform, и прочие
Михаил
Там и динамический wide_int не так уж и далек.
Dmitry
И clz, задолбался их constexpr'ить с циклами де Брейна.
Constantine
динамический wide_int не нужен
Михаил
Ну или еще что-нибудь, не принципиально, придумать можно много чего
Михаил
Такое предложение уже есть на stdcpp (про SIMD и intrinsic). Так что не все потеряно
Alexander "SonnySlave"
Alexander "SonnySlave"
И над ним работают
Vladislav
Constantine
Vladislav
прям в compile-time?
Constantine
ага
Constantine
N <= 1000
Constantine
bitset<1024>
Constantine
:)
Vladislav
не, иногда бывает нужно динамически, чтобы асимптотику соблюсти
Constantine
у меня на такой случай был if