@ProCxx

Страница 911 из 2477
Александр
27.05.2017
10:45:35
почему? возможно, просто hana оперирует не массивами, а tuple

subset на drop или take заменяется

Tom
27.05.2017
10:47:58
потому как в Hana результаты предикатов как non-type template parameters используются. Тут такое не сработает.

Google
Tom
27.05.2017
10:51:44
Вот по этой самой причине и задал вопрос тут.

Tom
27.05.2017
12:36:06
В принципе, если обмазать констэкспром, то мб сработает
Например, в документации к 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...

Александр
27.05.2017
13:03:47
Tom
27.05.2017
13:40:58
А в обратную сторону-то никак ;) template <std::size_t N> constexpr auto foo(int const (&xs)[N]) noexcept { // Вот тут мы уже не знаем, xs вообще constexpr или нет. И как теперь IntegralConstant возвращать? } Hana основана на факте, что все данные внутри типа содержатся. Но это не общий случай. Мы, может, xs в компайл тайм знаем, но в типе int ничего не прописано. Или я путаю чего?

Tom
27.05.2017
14:11:40
Можно пример кода, который hana якобы не смогёт?
Да в принципе любые преобразования с C-style массивами/std::array. Т.е. с последовательностями одного типа.

Antony
27.05.2017
14:12:49
В принципе, если обмазать констэкспром, то мб сработает
Именно этим я и займусь, когда выпустят Ranges TS и примут в стандарт http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0031r0.html

Los
27.05.2017
14:14:58
down

Александр
27.05.2017
14:15:26
Да в принципе любые преобразования с C-style массивами/std::array. Т.е. с последовательностями одного типа.
По-моему она только своими туплами оперирует. И они всяко лучше стандартных массивов

Google
Antony
27.05.2017
14:18:29
интересно было бы увидеть где такое нужно на практике (в голову не приходит ничего)
Reflections, Spirit, Metaparse (и другие DSL), string_view, span, std::array + бонусом получите более строгую гарантию, что компиляотр точно сможет соптимизировать подобнsе выражение

Tom
27.05.2017
14:22:03
Именно этим я и займусь, когда выпустят Ranges TS и примут в стандарт http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0031r0.html
Мне просто в GSoC ментор предложил направление проекта сменить в сторону compile-time ranges. Вот интересуюсь, надо ли оно вообще кому-то. В пропозал твоем больше про iterators речь, а весь Ranges TS сейчас нисколько ни constexpr.

Александр
27.05.2017
14:25:10
напомните онлайн ide'шку с бустом

Grigor
27.05.2017
14:26:05
Wandbox

Или как то так

Александр
27.05.2017
14:26:12
точно, спасибо

Grigor
27.05.2017
14:26:40
Она с ВИМОМ И ЕМАКСОМ

Tom
27.05.2017
14:40:27
https://wandbox.org/permlink/e6y9UbWZva7MZS6M
Тип данных разный. Т.е. переход с int на IntegralConstant вроде понятен. Но вот если есть user-defined тип, который кучу всего в constexpr умеет делать, ты мы в пролете.

Tom
27.05.2017
14:43:23
Александр
27.05.2017
14:45:01
Это верно... а не муторно ли?
Муторно :) Но я пока не встречался с типами, которые хорошо работают в compile-time, кроме фундаментальных и которым понадобились бы мощные алгоритмы

Tom
27.05.2017
14:49:00
Муторно :) Но я пока не встречался с типами, которые хорошо работают в compile-time, кроме фундаментальных и которым понадобились бы мощные алгоритмы
Вот тот ответ, которого я ждал! Значит, не мне одному неочевидны use cases. Правда @antoshkka предложил пару мест. Только это такие библиотеки, что в source прям страшно лезть :D

Roman
27.05.2017
17:12:30
Ребята, всем привет! Тем кто работает с Qt, да и в принципе многим будет интересна данная библитека: https://qbeon.github.io/QuickStreams/ Буду рад отзывам, спасибо за внимание!

Antony
27.05.2017
17:38:12
Кстати, вот это может помочь: https://github.com/boostorg/algorithm/pull/35/files Там Mikhail Maksimov сделал огромное количество тестов на constexpr для Boost.Algorithm

Александр
27.05.2017
18:12:16
Кстати, вот это может помочь: https://github.com/boostorg/algorithm/pull/35/files Там Mikhail Maksimov сделал огромное количество тестов на constexpr для Boost.Algorithm
Случайно увидел в коде следующую строку: BOOST_CXX14_CONSTEXPR T const& clamp ( const T& val, typename boost::mpl::identity<T>::type const & lo, typename boost::mpl::identity<T>::type const & hi ) Какой смысл от identity<T>::type?

Surreal
27.05.2017
18:16:44
Нет, не чистит. template< typename X > struct identity { typedef X type; };

Antony
27.05.2017
18:24:55
Избежать ambiguity и заставить брать тип T от первого параметра. Другими словами, без identity может не собраться код, или произойдут неожиданные преобразования первого аргумента наподобие int i = 3; i = clamp(i, -1.f, 10u)

Google
Александр
27.05.2017
18:35:28
круто!

UnkownUSR
28.05.2017
06:42:56
Всем привет

Есть тут кто живой?

А, тут для нубовопросов отдельная конфа

al
28.05.2017
06:45:03
Есть вопрос. С помощью какой либы на с++ можно загрузить изображения что бы с ним работать?(узнать его размер,поменять младшие байты и т.д.)

ну или ПРОСТО, как загрузить изображение для работы с ним. Какая библиотека нужна ?

Astroman
28.05.2017
07:03:26
+

Pepe
28.05.2017
07:04:38
Там есть метод который позволяет это сделать и вообще заточена под работу с изображениями

Admin
ERROR: S client not available

fox.lua
28.05.2017
07:28:59
а вообще, тысячи их

C++ Image Processing Libraries - Stack Overflow stackoverflow.com I am looking for a C++ library for image processing. I need the library to threshold a PPM photo (color photo). Should I write my own code? what do you guys think?

Stanislav
28.05.2017
09:45:27
http://libtins.github.io/

Berkus
28.05.2017
10:15:06
Годно выглядит

Andrei
28.05.2017
11:14:43
openCV например
Крайне не советую.

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

Google
al
28.05.2017
11:17:14
суть моей задачи такова: пройтись по всем пикселям изображения. Заменить в каждом канале(RGB) пиксель цвета на текст(на часть текса). LSB - еще называют

Anton
28.05.2017
11:20:22
http://libtins.github.io/
Вот ещё. К тому же на стероидах (dpdk, pfring). Не пользовался правда. https://github.com/seladb/PcapPlusPlus

Stanislav
28.05.2017
11:21:13
https://www.youtube.com/watch?v=zBkNBP00wJE

Igor
28.05.2017
11:25:36
https://www.youtube.com/watch?v=zBkNBP00wJE
великолепная презентация) любо-дорого смотреть как оптимизатор схлопывает простыни кода в несколько инструкций

Stanislav
28.05.2017
11:44:10
о да

Berkus
28.05.2017
11:47:01
Было раза два по-моему

Stanislav
28.05.2017
11:48:32
Боян, нет?
может быть :) ноя видимо прослоупочил все

Berkus
28.05.2017
11:49:52
Ну хорошо хоть сейчас посмотрел, я этим видео терридевису доказывал что плюсы поэффективнее сей могут быть, тщетно конечно же

Александр
28.05.2017
15:26:13
Подскажите, как запилить фичу, схожую с std::declval<> - запрет использования некоторых методов (шаблонных) везде, кроме unevaluated-context?

Antony
28.05.2017
17:54:18
Можно попробовать использовать std::declval<int?) первой строчкой в таком коде.

Александр
28.05.2017
17:57:14
Можно попробовать использовать std::declval<int?) первой строчкой в таком коде.
Не, ругается на использование. Не знаю, имеет ли это значение, но сама функция Foo не вызывается нигде, кроме decltype(SomeClass().Foo())

Surreal
28.05.2017
17:59:29
Ситуация: есть моя функция - X(...) и есть асинхронная функция большой библиотеки - Y(...). Я хочу вызвать эту функцию и дождаться результата. У функции Y(...) есть колбек, сейчас я вызываю ее так: std::promise<bool> p; std::future<bool> f = p.get_future(); auto callback = [&p](...) { p.set_value(true); }; Y(...,callback); auto status = f.wait_for(std::chrono::seconds(10)); Собственно вопрос: безопасно ли это? Функция Y(...) выполняется внутри планировщика библиотеки.

Antony
28.05.2017
18:05:49
Зависит от имплементации Y. Надо смотреть в документацию - если callback будет вызываться только один раз - тогда ОК

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