K-ballo changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar.cct.lsu.edu | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | Buildbot: http://rostam.cct.lsu.edu/ | Log: http://irclog.cct.lsu.edu/
<k-ballo[m]>
it doesn't contain anythinn
<k-ballo[m]>
it just points to the vector
<gonidelis[m]>
-_-
<k-ballo[m]>
it's a pair of the same iter the other overloads return, and the vector's end iter
<gonidelis[m]>
So there is a way to create a range that starts at the first element of the given vector and ends the begin of `result`
<gonidelis[m]>
?
<k-ballo[m]>
yes
<gonidelis[m]>
Ok I will try that tomorrow. Sth like `c.begin(), result.begin()`
<gonidelis[m]>
Sounds weird
<gonidelis[m]>
<k-ballo[m] "it's a pair of the same iter the"> A pair of two different iterators... cool
<k-ballo[m]>
as oposed to a pair of the same iterator? a point?
<gonidelis[m]>
Of two different types of iterators^^
<gonidelis[m]>
Maybe
<k-ballo[m]>
the types shouldn't be different for vector
<k-ballo[m]>
it's an iterator/sentinel pair, which in the test context is just two (same type) iterators
<gonidelis[m]>
That s the obsolete test
<gonidelis[m]>
I am passing a range here
<k-ballo[m]>
what do you think a range is?
<gonidelis[m]>
Ok yy it's the same
<gonidelis[m]>
There is the serious case of returning something stupid from my ranges remove if adaptation
jaafar_ is now known as jaafar
bita has joined #ste||ar
bita has quit [Ping timeout: 264 seconds]
hkaiser has quit [Quit: bye]
bita has joined #ste||ar
bita has quit [Ping timeout: 260 seconds]
bita has joined #ste||ar
bita has quit [Ping timeout: 264 seconds]
diehlpk_work has quit [Remote host closed the connection]
diehlpk_work has joined #ste||ar
<gonidelis[m]>
when I return sth like `algorithm_result<ExPolicy, some_type>>::type` from a function, should I always receive the result of this function with `result.get()`?
<gonidelis[m]>
shouldn't there be an error if I used a `seq` policy and then `result.get()` ?
<ms[m]>
gist is: that's not supposed to be there in the first place, I've messed up the examples
K-ballo has quit [Quit: K-ballo]
K-ballo has joined #ste||ar
<pedro_barbosa[m]>
ms: There's no problem, I'll look into the other examples you linked in that issue and let you know if it worked, thanks!
<ms[m]>
pedro_barbosa: I think I managed to leave out a few files when I was updating those examples in november, I'll try to push them later on when I get a chance to do so
hkaiser has joined #ste||ar
<gonidelis[m]>
hkaiser: on the `ranges::remove_if` overload the standard does not require for the predicate to be passed as an rvalue ref
<gonidelis[m]>
Does that affect our implementation? Or should I just pass it as an rvalue ref and don't bother at all?
<hkaiser>
right, this is something we didn't pay sufficient attention to
<gonidelis[m]>
hkaiser: ok
<hkaiser>
I think internally we pass the function objects always as F&&, on the interface the standard usually requires for things to be taken by value
<gonidelis[m]>
hkaiser: yes we do.
<hkaiser>
this is to make sure that modifications to the functon object by the algorithm don't propagate bakc into user land
<hkaiser>
in our case, we usually have to copy it at some point anyways (in order to schedule it as an hpx thread) so I think semantically we're safe the way we have it
<gonidelis[m]>
hkaiser: yeah...makes sense.
<hkaiser>
but please feel free to make the interfaces conforming in this regard as well
<gonidelis[m]>
oh ok. and what about that part? `indirect_unary_predicate<projected<iterator_t<R>, Proj>> Pred>`
<gonidelis[m]>
is using `is_projected_range<Proj, Rng>::value` equivalent to that?