🐙 Antony
буст это набор охуенных библиотек, если туда добавить охуенную библиотеку он превращается только в более охуенный буст
Интересно, издательство разрешит мне вставить это эпиграфом к новой книге о Boost? А как перевести на английский эту фразу, да так чтобы сохранить колорит?
𝓓𝓮𝓿𝓮𝓵𝓸𝓹𝓮𝓻
Ребят, сорян за оффтоп никто не собирал live555 под Windows? Может у кого собранная есть и можете поделиться? Собираю через nmake, на линковке выдает unresolved symbols в msvcirt.lib
Крылатый
freaking ещё можно
Danil
that's fuckin' awesome
Игорь
Всем хао. Подскажите, как правильнее/предпочтительнее: Есть класс Trie (нагруженное дерево/дерево префиксов), не сжатое, соответственно метод Add (рекурсивно обрабатывает строку, добавляя узлы в Trie). В каждом конечном узле, соответствующему слову, должны быть данные, среди которых <Map> и один счётчик. Собсно вопрос в следующем - это нормально тащить <Map> через метод Add или лучше держать в классе статические поля для хранения текущих значений (данных)? Или есть ещё какой-нибудь вариант получше.
Игорь
Сейчас метод выглядит так: void Add(const string &str, int ptr = 0); Тащить: void Add(const string &str, map<T1, T2> Data, int ptr = 0);
Игорь
Ну, по ссылке, а не по значению, конечно*
Игорь
Т.е. аргумент, который будет присутствовать во всех вызовах и участовать только когда слово полностью обработается.
Игорь
В том-то и вопрос, хочу ли я этого. :D
Игорь
В принципе, кол-во вызовов этого метода будет равно длине строки + 1.
Denis
Сейчас метод выглядит так: void Add(const string &str, int ptr = 0); Тащить: void Add(const string &str, map<T1, T2> Data, int ptr = 0);
template< typename key_seq_t, typename data_t > void Add( key_seq_t&& key, data_t&& data ); А такой вариант не рассматривал?
Denis
Или ты про метод, который будет один узел с буквой добавлять?
Denis
Ну ты же можешь делать как душе угодно. Как альтернативный вариент — не тащить данные, а получить указатель на лист, в которые потом запишешь данные
Deleted Account
я бы сказал получить во владение уник поинтор
Denis
{ auto listNode = Add( my_string ); listNode->map = myDataMap; listNode->counter = myDataCounter; }
Denis
В упрощённом виде, естественно
Deleted Account
{ auto listNode = Add( my_string ); listNode->map = myDataMap; listNode->counter = myDataCounter; }
а вообще я думал add это метод класса владеющего деревом
Deleted Account
я ваще думал тут у нас ООП
Игорь
По сути мапу я буду заполнять из файлика, поэтому есть вариант ещё тащить/хранить в статике дескриптор (ifstrem) файлика и при необходимости (как только последняя буква строки добавиться) начать считывать из него (файлика) и заполнять мапу.
Denis
Это уже жесть точно
Игорь
Согласен.
Игорь
А вариант с возвратом указателя интересный, хм.
Denis
Да вообще в статике что-то хранить только чтобы не передавать аргументом в один метод, который рекурсивный будет — тоже жесть
Denis
Если так надо, то можно ещё один класс сделать. { MyTmp tmp( data, this ); tmp.recursion( string ); }
Игорь
Больно понравился вариант с возвратом указателя. Спасибо.
Berkus
Интересно, издательство разрешит мне вставить это эпиграфом к новой книге о Boost? А как перевести на английский эту фразу, да так чтобы сохранить колорит?
"Boost is a fucking good set of fucking good libraries, and if you add one more fucking good library there it makes only more fucking good boost." скорее всего, не разрешит :P
🐙 Antony
Проверьте пожалуйста у кого стоит MinGW или MinGW-w64: если ли у вас файл unwind.h и находит ли его MinGW при #include <unwind.h> ?
Dmitry
Ух-ты, Полухин здесь))
Dmitry
Больше рефлексии, больше Полухиных))
Dmitry
🐙 Antony
Есть.
А какой у вас MinGW? Компилятор этот файл видит?
Anton
MinGW-w64 6.3
Anton
Сейчас попробую скомпилить файл с ним
🐙 Antony
А вот такое компилит ? #include <backtrace.h> int main() { backtrace_state* state = backtrace_create_state( 0, 1, 0, 0 ); (void)state; }
Anton
А вот backtrace не находит
🐙 Antony
Это грустно. Спасибо за помощь!
Vladislav
Однако https://hackernoon.com/value-ptr-the-missing-c-smart-pointer-1f515664153e
забавная штука, правда единственное применение придумывается - pimpl
Berkus
да, мой опыт сводится к "не надо использовать"
Berkus
до прода оно даже не добралось
Berkus
я не смог там найти нужных пакетов, а собирать сам заебался
Berkus
вспомнить бы еще сейчас
Berkus
Conan.io moves to JFrog Bintray! We are happy to announce support for Conan repositories in JFrog Bintray letting you create any number of personal Conan repositories for your C/C++ packages. а вот это хорошая новость, не знал. возможно станет повеселее
Berkus
ну так попробуй на проде, и станет ясно хватает его или нет, всегда ж можно в бранче протестировать
Berkus
если юзает - значит ему ок. я посмотрел поиском сейчас - вроде бы добавили несколько пакетов которых мне не хватало, типа beast, но я не все проверил
Berkus
ну мне пока хватает брю и мавена, но хочется в итоге чего-то более нативного для плюсов
Helen
Подскажите пожалуйста, есть ли книги по плюсам (или др.) не переведенные на русский или с очень плохим переводом. Желательно не больше 500 страниц.
🦥Alex Fails
Коллеги, кто завтра идет в антикафешку – отметьтесь, чтобы я знал примерно, сколько народу будет. Результаты: 👍 (2): mymedia AlexFails 👎 (5): sudo97 username_ak ahiddenseeker veselcraft SOJALEI ❔ (2): Oleksandr Eugene
Berkus
https://twitter.com/vreshetnikov/status/867529685923647492
Vladislav
https://twitter.com/vreshetnikov/status/867529685923647492
а __attribute__((always_inline)) там нету?
Square
Square
Тензор юзает конан. Осталось найти кого нить оттуда :)
Square
Они его хвалили, но немного рассказали
Vladislav
Тензор - это проапгреженый ООО Вектор? http://lurkmore.to/%D0%9E%D0%9E%D0%9E_%C2%AB%D0%92%D0%B5%D0%BA%D1%82%D0%BE%D1%80%C2%BB
Vladislav
https://github.com/tonybeltramelli/pix2code/blob/master/README.md
Tom
Товарищи, предполагаю, все знакомы с Ranges TS. А было бы интересно иметь что-то подобное в compile time? Типа constexpr int xs[] = {1, 3, 5, 2, 4}; constexpr int ys[] = {1, 2, 3}; static_assert( (xs | sort(std::less<void>{}) | subset(0, 3)) == ys );
Александр
конечно
Александр
hana'у же юзают, а это как крутое расширение
Tom
Вот я боюсь, как бы не сказали, "зачем нам вторая Hana?". Но, кажется, этот пример в Hana невозможен (даже без pipes).
Александр
почему? возможно, просто hana оперирует не массивами, а tuple
Александр
subset на drop или take заменяется
Tom
потому как в Hana результаты предикатов как non-type template parameters используются. Тут такое не сработает.
Tom
Вот по этой самой причине и задал вопрос тут.
Tom
В принципе, если обмазать констэкспром, то мб сработает
Например, в документации к boost::hana::find_if : In the current version of the library, the predicate has to return an IntegralConstant holding a value that can be converted to bool. Так что никакой constexpr не спасет AFAIK...