@ProCxx

Страница 923 из 2477
Simon
31.05.2017
17:51:15
я дальше суфдеревьев не лез, но нечеткий поиск там есть

по крайней мере на двумерном массиве

Constantine
31.05.2017
18:01:57
Нашел!!
а вы разбирались в деталях? почему не получается просто синтезировать сигнатуру operator() для user defined string literal, без этого макроса?

Александр
31.05.2017
18:11:39
а вы разбирались в деталях? почему не получается просто синтезировать сигнатуру operator() для user defined string literal, без этого макроса?
Не понял вопрос, но отвечу, почему макрос нужен: Нужно передать строку в какой-то constexpr контекст. Но только один аргумент нельзя сделать constexpr, поэтому нужно протащить эту строку в параметр шаблона. А следовательно нужны костыли

Google
Constantine
31.05.2017
18:12:02
я, вроде, привел

в идеале я хочу, чтобы "width = %d, height = %d"_format синтезировало мне класс с operator()

с правильным списком параметров

собственно, этот оператор вернул бы std::string

Александр
31.05.2017
18:15:52
Ага, осознал

Constantine
31.05.2017
18:16:34
если я правильно понимаю, то принципиально user defined suffix literal может получить строку шаблонным параметром в char...

а грамматика printf автоматная

Александр
31.05.2017
18:18:31
constexpr auto operator "" _format(const char* str, size_t) { return ...; } Пусть имеется такой код. Так как он не шаблонный, то тип фиксирован и ничего не прокатит. Если юзать template <char...> auto operator "" _format(); То по идее можно распарсить символы и сгенерировать соответствующий класс

круто получилось бы

https://www.blackhat.com/docs/eu-14/materials/eu-14-Andrivet-C-plus-plus11-Metaprogramming-Applied-To-software-Obfuscation-wp.pdf немного в тему

Constantine
31.05.2017
18:19:46
я вот и удивлен, что никто не сделал. Был уверен, что это велосипед

Google
Constantine
31.05.2017
18:20:10
Здравствуй, Слава! Давно не виделись :)

Vladislav
31.05.2017
18:20:50
Constantine
31.05.2017
18:21:23
очень нужная штука, да
это же не сарказм? народ реально давно мечтает и при этом никто не написал?

Vladislav
31.05.2017
18:21:37
не сарказм, я был бы очень рад такой штуке

пока приходится костыли на макросах использовать, как в boost::metaprase

Дед Пегас
31.05.2017
18:22:04
Плюсую.

Тоже хочу такую.

Constantine
31.05.2017
18:22:28
я где-то месяц назад почти собрался писать, но прикинул, сколько у меня состояний в автомате и очень расстроился

на всяких %I64d

Александр
31.05.2017
18:29:26
взять тот же printpp и модифицировать

Simon
31.05.2017
18:37:31
о, какие тогда есть таски

Alexander
31.05.2017
18:37:50
там же наверное на маленькие алфавиты
Это реально годная книга. Рекомендую

я дальше суфдеревьев не лез, но нечеткий поиск там есть
Суф деревья пока что рано. Но если кто исследования проведёт - я с радостью помогу

Evgeniy
31.05.2017
18:40:16
И не только он
а что еще?

Simon
31.05.2017
18:40:16
проблема в этиъ ваших юникодах

Google
Simon
31.05.2017
18:40:30
хотя...

Evgeniy
31.05.2017
18:40:33
Что за он?
http://www.cs.hut.fi/~tarhio/papers/6060t.pdf

Tom
31.05.2017
18:40:56
Тоже хочу такую.
если все согласны на что-то вроде constexpr auto x = "..."_format; то я думаю, что знаю, как это можно сделать без macros. С моим теперешним проектом пересекается немножно, так что может быть...

Alexander
31.05.2017
18:41:24
о, какие тогда есть таски
1) нечёткий поиск 2) ускорение существующего поиска 3) имплементации новых поисковых алгоритмов 4) rope 5) boost.trie 6) больше утилитарных алгоритмов

Simon
31.05.2017
18:42:02
для трая сжать суффиксы до одного узла?

а что там с существующим поиском

если бм, то можно накинуть еще линию памяти и будет еще по плохому суффиксу матчить

Alexander
31.05.2017
18:44:05
http://www.cs.hut.fi/~tarhio/papers/6060t.pdf
Ага, выглядит нормально. Нужно имплантировать

для трая сжать суффиксы до одного узла?
Пока что просто бор, без сжатия

если бм, то можно накинуть еще линию памяти и будет еще по плохому суффиксу матчить
Берёшь текущую имплементацию, модифицируешь, показываешь, что так быстрее. Вуаля, ты ускорил буст

Evgeniy
31.05.2017
18:46:03
Ага, выглядит нормально. Нужно имплантировать
ок, попробую найти время для этого

Alexander
31.05.2017
18:46:44
ок, попробую найти время для этого
Отлично. Все наработки мне в репу

Как pr

Simon
31.05.2017
18:47:01
совсем быстрый бм - расширенное правило плохого символа + плохой суффикс

Alexander
31.05.2017
18:47:30
Simon
31.05.2017
18:48:02
а где его посмотреть

Alexander
31.05.2017
18:48:12
линк?
https://github.com/ZaMaZaN4iK/algorithm

а где его посмотреть
https://github.com/ZaMaZaN4iK/algorithm/blob/develop/include/boost/algorithm/searching/boyer_moore.hpp

Google
Evgeniy
31.05.2017
18:50:24
Alexander
31.05.2017
18:50:56
Также нужно провести исследование, как можно ускорить boost.sort

Simon
31.05.2017
18:51:24
ан нет, там есть таблица суффиксов

Alexander
31.05.2017
18:52:09
а что там сейчас?
Нужен бенчмаркинг всего того, что есть здесь: https://github.com/Morwenn/cpp-sort

И после этого подумать, что из этого может помочь ускорить boost.sort

Aidar
31.05.2017
18:56:42
Везде почти в 2к17 юзают тимсорт

Simon
31.05.2017
18:57:45
неужели миру не нужны линейные сортировки?

Alexander
31.05.2017
18:58:55
Везде почти в 2к17 юзают тимсорт
Есть уже pr с тимсортом

неужели миру не нужны линейные сортировки?
У Стивена Росса своё мнение на сей счёт

Admin
ERROR: S client not available

Alexander
31.05.2017
18:59:50
Steven ross, boost sort author and maintainer

Aidar
31.05.2017
19:00:57
Ну линейные сортировки не универсальны

Там всегда нужно что-то большее чем просто компоратор

Alexander
31.05.2017
19:01:50
Ну линейные сортировки не универсальны
Если ты заглянешь в бустовую сортировку, то там тоже не всё универсально))

Evgeniy
31.05.2017
19:05:09
У Стивена Росса своё мнение на сей счёт
это: http://www.boost.org/doc/libs/1_64_0/libs/sort/doc/html/sort/sort_hpp/rationale/why_spreadsort.html ?

Alexander
31.05.2017
19:05:50
Ага

И читай обсуждения на гитхабе

Simon
31.05.2017
19:26:53
брр, темплейты, сложно ориентироваться

Alexey
31.05.2017
19:39:43
А есть у буста какой-нибудь баг\таск трекер(вроде такого https://phabricator.kde.org/)? Было бы интересно что-нибудь поковырять на досуге.

Google
Alexander
31.05.2017
19:44:06
Есть, на svn хостится

http://www.opennet.ru/opennews/art.shtml?num=46632

Eugene
31.05.2017
19:56:30
У меня 5.7 *-*

Constantine
31.05.2017
20:08:59
ящетаю, это гениально. User-defined literal operator templates определены только для целочисленный и вещественных литералов

Александр
31.05.2017
20:15:32
ааа, вот оно в чём дело

помнил я, что там был какой-то подвох

Есть вопрос. Предположим, есть вариадик пак, сохранённый где-либо. Как сгенерить функцию, которая принимает в точности такие типы аргументов?

Mikhail
31.05.2017
20:24:06
Всем привет

вопрос такой

Стд мэп прямо и хранится как красно чёрное дерево, или оно хранится как сбалансированное бинарное дерево и раскрашивается в красно чёрное в момент вставки и только ту область, в которую идёт вставка?

Александр
31.05.2017
20:24:35
Есть вопрос. Предположим, есть вариадик пак, сохранённый где-либо. Как сгенерить функцию, которая принимает в точности такие типы аргументов?
template <class... Args> class Foo { using Tuple = std::tuple<Args...>; // предположим, теперь у нас нет Args..., только Tuple void f(???) {} };

Александр
31.05.2017
20:26:37
Ну парсить ее шаблонно, не?
Я хочу, чтобы она принимала в точности аргументы Arg...

Mikhail
31.05.2017
20:26:55
так и хранится, как ты его раскрасишь в момент вставки?
ну если вершина всегда черная, по идее можно вычислить цвет вершины того узла, где будет вставка, не раскрашивая все дерево.

Александр
31.05.2017
20:27:22
std::tuple_element
для этого нужен I... из 0, 1, ...

Mikhail
31.05.2017
20:27:40
а потом рассматривать не все дерево, а только область с вершиной, где будет вставка нового элемента

Александр
31.05.2017
20:27:41
как в прототип функции засунуть - не ясно

Vladislav
31.05.2017
20:27:43
ну если вершина всегда черная, по идее можно вычислить цвет вершины того узла, где будет вставка, не раскрашивая все дерево.
нельзя, ограничения на раскраску нелокальные (в пункте о том, что черная глубина у всех листьев одинакова)

Mikhail
31.05.2017
20:28:32
нельзя, ограничения на раскраску нелокальные (в пункте о том, что черная глубина у всех листьев одинакова)
ну ок, получается std map хранит всегда дополнительно цвет и виртуальные листья?

Vladislav
31.05.2017
20:28:47
цвет - да, виртуальные листья - нет

Страница 923 из 2477