Простая реализация Stream из Java 8 в С++

Всем привет! В статье будет представлена упрощенная реализацию Stream из Java 8 на С++. Скажу сразу, что:

  • в отличии от Java не используются отложенные вычислений;
  • нет параллельных версий;
  • местами совмещает Stream и Collectors;
  • используются простые и готовые решения от STL, здесь нету чистого ФП, где только рекурсия;
  • не используются техники оптимизации.

В этой версии основной упор сделан на то, чтобы быстро и просто сделать велосипед). Про ФП упомянуто по-минимуму (комбинаторам внимание не уделено :)).

Интерфейс

template <typename Type>
class Stream : private StreamImpl<Type>
{
private:
    typedef StreamImpl<Type> Parent;
public:
    using Parent::Parent; // конструкторы унаследованы
    using Parent::data;
    using Parent::isEmpty;
    using Parent::count;
    using Parent::flatMap;
    using Parent::map;
    using Parent::reduce;
    using Parent::filter;
    using Parent::allMatch;
    using Parent::noneMatch;
    using Parent::groupingBy;
    using Parent::partitionBy;
    using Parent::minElement;
    using Parent::maxElement;
    ~Stream() = default;
};

Читать дальше →
Простая реализация Stream из Java 8 в С++
Source: habrahabr

Некоторые аспекты использования картографических материалов или как не попасть на 300 тыс.руб. за схему проезда на сайте

Disclaimer: я не являюсь профессиональным юристом, поэтому все нижеизложенное — это попытки самостоятельно разобраться в вопросе на основе вдумчивого чтения различных источников. За профессиональной юридической консультацией лучше обращаться к людям, которые занимаются этим на постоянной основе (их называют «юристы»).

Начнем с наглядного примера: у вас есть сайт коммерческой организации и вам нужно разместить схему проезда. Вы недолго думаете идете на Яндекс.Карты (Google Maps, 2Gis), делаете скриншот, рисуете в Photoshop какие-то ориентиры, чтобы человек не запутался, выкладываете на свой сайт в разделе «Контакты» и… попадаете на штраф 300 тыс. руб. за неправомерное использование объекта авторского права.

Читать дальше →
Некоторые аспекты использования картографических материалов или как не попасть на 300 тыс.руб. за схему проезда на сайте
Source: habrahabr

Пост №3007636

Автор: sashkauskas

ссылка на гифкуРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://vsi.reactor.cc/post/3007636″ }, «headline»: «Всё самое интересное (интересное, познавательное,) :: фэндомы :: гиф анимация (гифки — ПРИКОЛЬНЫЕ gif анимашки)», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D0%92%D1%81%D1%91-%D1%81%D0%B0%D0%BC%D0%BE%D0%B5-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B5%D1%81%D0%BD%D0%BE%D0%B5-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-%D0%B3%D0%B8%D1%84%D0%BA%D0%B8-3692530.gif», «height»: 360, «width»: 640 }, «datePublished»: «2017-03-01T00:05:12+03:00», «dateModified»: «2017-03-01T00:05:12+03:00», «author»: { «@type»: «Person», «name»: «sashkauskas» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3007636
Source: Joyreactor

Пост №3007634

Автор: klaufman

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3007634″ }, «headline»: «живность :: рысь :: котэ (прикольные картинки с кошками)», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D1%80%D1%8B%D1%81%D1%8C-%D0%BA%D0%BE%D1%82%D1%8D-%D0%B6%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%8C-3692528.jpeg», «height»: 1200, «width»: 800 }, «datePublished»: «2017-03-01T00:03:29+03:00», «dateModified»: «2017-03-01T00:03:29+03:00», «author»: { «@type»: «Person», «name»: «klaufman» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3007634
Source: Joyreactor

[Перевод] Становясь умнее, машины начинают обучаться почти так же, как мы

Исследования показывают, что компьютерные модели, известные, как нейронные сети, используемые во всё возрастающем числе приложений, могут учиться распознавать последовательности в данных по тем же алгоритмам, что и человеческий мозг.

image


Мозг решает свою каноническую задачу – обучение – подстраивая множество своих соединений по неизвестному набору правил. Чтобы раскрыть эти правила, учёные 30 лет назад начали разрабатывать компьютерные модели, пытающиеся воспроизвести процесс обучения. Сегодня в растущем числе экспериментов становится видно, что эти модели ведут себя очень похожим на реальный мозг образом при выполнении определённых задач. Исследователи говорят, что эта похожесть говорит о базовом соответствии между алгоритмами обучения мозга и компьютера.


Алгоритм, используемый компьютерной моделью, называется машиной Больцмана. Он изобретён Джеффри Хинтоном и Терри Сейновски в 1983 году [на самом деле, в 1985 – прим. перев.]. Он выглядит весьма многообещающим в качестве простого теоретического объяснения нескольких процессов, происходящих в мозгу – развития, формирования памяти, распознавания объектов и звуков, цикла сна и бодрствования.
Читать дальше →
[Перевод] Становясь умнее, машины начинают обучаться почти так же, как мы
Source: geektimes

Пост №3007611

Автор: Дендрафил

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3007611″ }, «headline»: «Biker Mice from Mars :: Lorenzo D’Aguanno», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/Biker-Mice-from-Mars-Lorenzo-D%27Aguanno-3692503.jpeg», «height»: 1800, «width»: 1061 }, «datePublished»: «2017-02-28T23:34:16+03:00», «dateModified»: «2017-02-28T23:34:16+03:00», «author»: { «@type»: «Person», «name»: «Дендрафил» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3007611
Source: Joyreactor

Пост №3007606

Автор: PreyDay

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://marvel.reactor.cc/post/3007606″ }, «headline»: «X-23 (Икс-23, Росомаха, Лаура Кинни) :: X-Men (Люди-Икс) :: Marvel Ero (Эротика) :: EvaSolo :: Marvel (Вселенная Марвел) :: artist :: фэндомы», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/EvaSolo-artist-X-23-X-Men-3692498.jpeg», «height»: 1200, «width»: 800 }, «datePublished»: «2017-02-28T23:25:41+03:00», «dateModified»: «2017-02-28T23:25:41+03:00», «author»: { «@type»: «Person», «name»: «PreyDay» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3007606
Source: Joyreactor

Пост №3007600

Автор: killallhumans

ПсихологическоеИ бонусная в комментах, психологи Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3007600″ }, «headline»: «Психологическое / cynic mansion :: тест роршарха :: психология :: Смешные комиксы (веб-комиксы с юмором и их переводы)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/cynic-mansion-%D0%9A%D0%BE%D0%BC%D0%B8%D0%BA%D1%81%D1%8B-%D0%BF%D1%81%D0%B8%D1%85%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F-%D1%82%D0%B5%D1%81%D1%82-%D1%80%D0%BE%D1%80%D1%88%D0%B0%D1%80%D1%85%D0%B0-3692491.png», «height»: 1484, «width»: 284 }, «datePublished»: «2017-02-28T23:17:31+03:00», «dateModified»: «2017-02-28T23:17:31+03:00», «author»: { «@type»: «Person», «name»: «killallhumans» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «И бонусная в комментах, психологи» }
Комментировать 
Пост №3007600
Source: Joyreactor

Пост №3007594

Автор: Минус-Тян

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3007594″ }, «headline»: «переписка :: подлость :: тян :: троллинг :: соцсети», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D1%82%D1%8F%D0%BD-%D0%BF%D0%BE%D0%B4%D0%BB%D0%BE%D1%81%D1%82%D1%8C-%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B8%D0%BD%D0%B3-%D0%BF%D0%B5%D1%80%D0%B5%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-3692485.jpeg», «height»: 516, «width»: 604 }, «datePublished»: «2017-02-28T23:10:14+03:00», «dateModified»: «2017-02-28T23:10:14+03:00», «author»: { «@type»: «Person», «name»: «Минус-Тян» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3007594
Source: Joyreactor

Пост №3007591

Автор: rominator

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3007591″ }, «headline»: «поединок :: Сосед :: гусь :: текст на белом фоне», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D0%A1%D0%BE%D1%81%D0%B5%D0%B4-%D0%B3%D1%83%D1%81%D1%8C-%D0%BF%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%BE%D0%BA-%D1%82%D0%B5%D0%BA%D1%81%D1%82-%D0%BD%D0%B0-%D0%B1%D0%B5%D0%BB%D0%BE%D0%BC-%D1%84%D0%BE%D0%BD%D0%B5-3692482.jpeg», «height»: 638, «width»: 1242 }, «datePublished»: «2017-02-28T23:08:18+03:00», «dateModified»: «2017-02-28T23:08:18+03:00», «author»: { «@type»: «Person», «name»: «rominator» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3007591
Source: Joyreactor