nifi-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ferenc Gerlits (Jira)" <j...@apache.org>
Subject [jira] [Commented] (MINIFICPP-1289) Add range-v3
Date Thu, 03 Sep 2020 11:30:00 GMT

    [ https://issues.apache.org/jira/browse/MINIFICPP-1289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17190064#comment-17190064
] 

Ferenc Gerlits commented on MINIFICPP-1289:
-------------------------------------------

I tried 0.5.0, and it mostly works, except in gcc 4.8, which is not fully C++11-compliant. 
Some of the problems:
 * range-v3 0.5.0 uses {{std::max_align_t}}, which gcc 4.8 does not define (this could be
patched)
 * there was some template deduction error that I don't even understand (full error message
below).

{noformat}
In file included from /home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/range_traits.hpp:24:0,
                 from /home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/distance.hpp:22,
                 from /home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/core.hpp:18,
                 from /home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/all.hpp:17,
                 from /home/fgerlits/src/minifi/extensions/standard-processors/processors/TailFile.cpp:39:
/home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/range_concepts.hpp: In
instantiation of ‘struct ranges::v3::concepts::m
odels<ranges::v3::concepts::Range, org::apache::nifi::minifi::processors::TailFile::findRotatedFiles(const
org::apache::nifi::minifi::proces
sors::TailState&) const::__lambda23>’:
/home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/action/adjacent_remove_if.hpp:37:64:
  required by substitution of ‘tem
plate<class ... Ts, class A> static decltype (A:: bind(*static_cast<Ts&>(ranges::v3::action::action_access::impl::bind::ts)
...)) ranges::v3
::action::action_access::impl<Action>::bind(Ts&& ...) [with Ts = {Ts ...}; A
= A; Action = ranges::v3::action::sort_fn] [with Ts = {const ra
nges::v3::action::sort_fn&, const org::apache::nifi::minifi::processors::TailFile::findRotatedFiles(const
org::apache::nifi::minifi::process
ors::TailState&) const::__lambda23&}; A = ranges::v3::action::sort_fn]’
/home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/action/action.hpp:124:17:
  required by substitution of ‘template<class
 T, class ... Rest, class A> decltype (ranges::v3::action::{anonymous}::make_action(ranges::v3::action::action_access::impl<A>::bind(((const
 ranges::v3::action::action<Action>*)this)->ranges::v3::action::action<Action>::action_,
static_cast<T&&>(t), *static_cast<Rest&>(ranges::v3
::action::action::operator()::rest) ...))) ranges::v3::action::action<Action>::operator()(T&&,
Rest&& ...) const [with T = T; Rest = {Rest .
..}; A = A; Action = ranges::v3::action::sort_fn] [with T = const org::apache::nifi::minifi::processors::TailFile::findRotatedFiles(const
or
g::apache::nifi::minifi::processors::TailState&) const::__lambda23&; Rest = {}; A
= ranges::v3::action::sort_fn]’
/home/fgerlits/src/minifi/extensions/standard-processors/processors/TailFile.cpp:614:79: 
 required from here
/home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/range_concepts.hpp:89:59:
error: no match for call to ‘(const ranges::v
3::_end_::fn) (org::apache::nifi::minifi::processors::TailFile::findRotatedFiles(const org::apache::nifi::minifi::processors::TailState&)
co
nst::__lambda23&)’
                         concepts::model_of<Sentinel>(end(t), begin(t))
                                                           ^
In file included from /home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/core.hpp:17:0,
                 from /home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/all.hpp:17,
                 from /home/fgerlits/src/minifi/extensions/standard-processors/processors/TailFile.cpp:39:
/home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/begin_end.hpp:151:20:
note: candidates are:
             struct fn
                    ^
/home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/begin_end.hpp:184:32:
note: template<class R> constexpr decltype (range
s::v3::_end_::fn::impl_(r, 42)) ranges::v3::_end_::fn::operator()(R&) const
                 constexpr auto operator()(R &r) const
                                ^
/home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/begin_end.hpp:184:32:
note:   template argument deduction/substitution 
failed:
In file included from /home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/range_fwd.hpp:21:0,
                 from /home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/begin_end.hpp:23,
                 from /home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/core.hpp:17,
                 from /home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/all.hpp:17,
                 from /home/fgerlits/src/minifi/extensions/standard-processors/processors/TailFile.cpp:39:
/home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/begin_end.hpp: In substitution
of ‘template<class R> constexpr decltype (ranges::v3::_end_::fn::impl_(r, 42)) ranges::v3::_end_::fn::operator()(R&)
const [with R = org::apache::nifi::minifi::processors::TailFile::findRotatedFiles(const org::apache::nifi::minifi::processors::TailState&)
const::__lambda23]’:
/home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/range_concepts.hpp:89:59:
  required from ‘struct ranges::v3::concepts::models<ranges::v3::concepts::Range, org::apache::nifi::minifi::processors::TailFile::findRotatedFiles(const
org::apache::nifi::minifi::processors::TailState&) const::__lambda23>’
/home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/action/adjacent_remove_if.hpp:37:64:
  required by substitution of ‘template<class ... Ts, class A> static decltype (A::
bind(*static_cast<Ts&>(ranges::v3::action::action_access::impl::bind::ts) ...))
ranges::v3::action::action_access::impl<Action>::bind(Ts&& ...) [with Ts = {Ts
...}; A = A; Action = ranges::v3::action::sort_fn] [with Ts = {const ranges::v3::action::sort_fn&,
const org::apache::nifi::minifi::processors::TailFile::findRotatedFiles(const org::apache::nifi::minifi::processors::TailState&)
const::__lambda23&}; A = ranges::v3::action::sort_fn]’
/home/fgerlits/src/minifi/thirdparty/range-v3-0.5.0/include/range/v3/action/action.hpp:124:17:
  required by substitution of ‘template<class T, class ... Rest, class A> decltype
(ranges::v3::action::{anonymous}::make_action(ranges::v3::action::action_access::impl<A>::bind(((const
ranges::v3::action::action<Action>*)this)->ranges::v3::action::action<Action>::action_,
static_cast<T&&>(t), *static_cast<Rest&>(ranges::v3::action::action::operator()::rest)
...))) ranges::v3::action::action<Action>::operator()(T&&, Rest&& ...)
const [with T = T; Rest = {Rest ...}; A = A; Action = ranges::v3::action::sort_fn] [with T
= const org::apache::nifi::minifi::processors::TailFile::findRotatedFiles(const org::apache::nifi::minifi::processors::TailState&)
const::__lambda23&; Rest = {}; A = ranges::v3::action::sort_fn]’
/home/fgerlits/src/minifi/extensions/standard-processors/processors/TailFile.cpp:614:79: 
 required from here

{noformat}

> Add range-v3
> ------------
>
>                 Key: MINIFICPP-1289
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-1289
>             Project: Apache NiFi MiNiFi C++
>          Issue Type: Improvement
>            Reporter: Marton Szasz
>            Priority: Minor
>              Labels: MiNiFi-CPP-Hygiene
>
> Useful library to raise the level of abstraction from iterators to ranges and provide
useful related concepts.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message