Alexander "SonnySlave"
wide_integer вроде двигается, не знаю, успеет ли @antoshkka к C++20
Andrei
ты как-то скидывал пропоузал там где int с переменной битностью или что-то такое
Alexander "SonnySlave"
если про длинку на куче, то нет, я не успею пропихнуть это к C++20
Alexander "SonnySlave"
ты как-то скидывал пропоузал там где int с переменной битностью или что-то такое
да, это про wide_integer от Антона Полухина и Игоря Клеванца
Alexander "SonnySlave"
на самом деле довольно много дел надо сделать с числами: wide_integer, длинка на куче, safe_integer, числа с фиксированной точкой и т.д.
Andrei
а в чем разница wide_integer и длинки на куче? есть под рукой линки?
Andrei
а, wide будет ограничен стеком. не подумал
Alexander "SonnySlave"
а в чем разница wide_integer и длинки на куче? есть под рукой линки?
wide_integer размер задаётся в compile_time и выделяет память под себя на стеке. Имеет какой-то фиксированный размер Длинка на куче не имеет ограничений по размеру
Aidar
Только ты его задаешь
Andrei
я понял
Aidar
Ключевая штука это не то что он на стеке а то что размер фиксирован
Aidar
Это обобщение стандартных целых типов
kitsu
В бусте есть какой-нибудь аналог std::find_first_of, но только, чтоб возвращал не первый элемент, а коллекцию из всех уд-их предикату
Berkus
смотри в boost::algorithm там всё есть
kitsu
lower_bound, upper_bound?
не, мне нужно все множество, а не один
Berkus
не, мне нужно все множество, а не один
там есть такие же но с рейнджем
kitsu
чего-то не то по-моему
Sergey
чего-то не то по-моему
Мне кажется такой функции просто не существует по объективным причинам
Berkus
ща
Berkus
http://www.boost.org/doc/libs/1_66_0/libs/algorithm/doc/html/the_boost_algorithm_library/Misc/gather.html или вот gather
Berkus
http://www.boost.org/doc/libs/1_66_0/libs/algorithm/doc/html/header/boost/algorithm/cxx11/partition_copy_hpp.html или вот partition_copy
kitsu
std::copy_if ?
мм, а как поиск сопряжен с копированием?
kitsu
ну вернее не так, скопировать то их куда-то в другое место надо
kitsu
но я полагаю такого нет, угумс
Berkus
блин все бы так ТЗ составляли
Berkus
copy_if даст тебе элементы совпадающие с условием
kitsu
¯\_(ツ)_/¯ так это и не тз
Berkus
на unsorted контейнере ты другим образом не получишь совпадающие
Berkus
на sorted containter у тебя есть std::equal_range
Roman
Почему целые числа произвольной точности предлагается называть wide_int? Они не могут быть разрядностью меньше чем int?
Berkus
потому что они целые
Berkus
integer - целое
Roman
К целым нет вопросов)
Alexander "SonnySlave"
Почему целые числа произвольной точности предлагается называть wide_int? Они не могут быть разрядностью меньше чем int?
1) wide_integer 2) wide потому что обычно люди их будут использовать как типы более широкие, чем простой int
Roman
Вопрос к wide
Alexander "SonnySlave"
сомневаюсь, что все станут писать везде wide_int вместо обычного int
Berkus
они не произвольной точности а фиксированной
Roman
Фиксированной в рантайме, но произвольной в компайлтайме
Berkus
Фиксированной в рантайме, но произвольной в компайлтайме
в компайлтайме тоже не произвольной, а заданной
Roman
Хорошо
Roman
Смысл все равно понятен
Berkus
Смысл все равно понятен
Так именно этого словом wide_int и добивались!
Roman
Он может быть wide_integer<7>?
Alexander "SonnySlave"
must be power of 2
Alexander "SonnySlave"
стой вру
Alexander "SonnySlave"
должно делиться на 2
Anonymous
wide_integer как-то вербозно, ИМХО wide_int лучше.
Anonymous
А смысл не сильно искажается.
Roman
В чем принципиальное ограничение?
Alexander "SonnySlave"
Template parameter Bits specifies exact bits count to store the integer value. Bits % (sizeof(int) * CHAR_BITS) is eqaul to 0. sizeof(wide_integer<Bits, unsigned>) and sizeof(wide_integer<Bits, signed>) are required to be equal to Bits * CHAR_BITS.
Alexander "SonnySlave"
вот я нашёл точное определение
Roman
Тогда понятно почему wide, спасибо)
Berkus
> is eqaul очепятка однако
Alexander "SonnySlave"
+1 белорус 😊
Aliaksei
:)
Anatoly
+1 белорус 😊
провидец? :)
Alexander "SonnySlave"
провидец? :)
нет, я с ним на олимпиадах два года был :)
Yegor
Это что за DDos
Stanislav
с хабра
Igor
В бусте есть какой-нибудь аналог std::find_first_of, но только, чтоб возвращал не первый элемент, а коллекцию из всех уд-их предикату
В std есть partition, но он меняет исходную коллекцию, если это не подходит, то видимо нужен copy_if
Дмитрий
Что за спам подписками? 😕
Yegor
С хабра
Anatoly
Антоша паству собирает
Дмитрий
Я понял. :)
Andrei
спасибо, я еще в коде твоем разобрался со схемой:) вообще, я имел в виду немного другое, но уже сделал. Вот так хотел: Есть паттерн фабричный метод. Можно написать класс для этого паттерна шаблонным, как база выступает при наследовании (тупо интерфейс для создания фабрики). И такую же базу хотел сделать для цепочки. А потом нужному классу наследоваться от двоих.
Denis
люди добрые, а дайте ссылку на статью с хабра плиз
🦥Alex Fails
В пине чата
Александр
Denis
спасибо