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/
nanmiao has quit [Quit: Connection closed]
jehelset has quit [Remote host closed the connection]
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Quit: bye]
jehelset has joined #ste||ar
parsa has quit [Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net]
parsa has joined #ste||ar
bita has quit [Ping timeout: 250 seconds]
jehelset has quit [Ping timeout: 246 seconds]
syrex has joined #ste||ar
K-ballo has joined #ste||ar
hkaiser has joined #ste||ar
hkaiser has quit [*.net *.split]
diehlpk_work has quit [*.net *.split]
hkaiser has joined #ste||ar
diehlpk_work has joined #ste||ar
hkaiser has quit [Quit: bye]
<gonidelis[m]> K-ballo: > [...] but may invalidate the elements themselves, or even references
<gonidelis[m]> i think i understand iterator invalidation
<gonidelis[m]> it's simple as just resizing your container for example...
<K-ballo> most containers won't invlaidate iterators on resize
<gonidelis[m]> but "invalidating elements"? "OR EVEN REFS"? now that's a devil's thing
<gonidelis[m]> what's that supposed to mean?
<gonidelis[m]> <K-ballo "most containers won't invlaidate"> what's the most usual case of iterator invalidation?
<K-ballo> erasure
<gonidelis[m]> type erasure?
<K-ballo> no, types have nothing to do with it
<K-ballo> if you erase an element from a container, any iterator pointing to it is invalidated, for all containers everywhere
<gonidelis[m]> hm
<gonidelis[m]> seriously?
<K-ballo> ambiguous, "it" being the erased element, not the container
<gonidelis[m]> i thought that the usual case was that when you erase sth, you jump your iterator to the next accesible element
<gonidelis[m]> yy
<K-ballo> it = cont.erase(it);
<K-ballo> after cont.erase(it), it becomes invalid, so you need to reasign it
<gonidelis[m]> huh
<gonidelis[m]> ok
<gonidelis[m]> cool
<K-ballo> now there's some debate of whether that applies to vector or not, but it's a bit ... of a fringe technical discussion
<gonidelis[m]> here's a bit: is invalidating a sentinel the same story
<gonidelis[m]> ?
<gonidelis[m]> what if a sentinel is represented by a sentinel value?
<K-ballo> "sentinel value" is not a thing
<K-ballo> and sure, if you invalidate a sentinel then the sentinel will not be valid, same thing
<gonidelis[m]> not again...
<gonidelis[m]> cool
<K-ballo> that's all invalidation means
<gonidelis[m]> now the initial question was, when i call `some_view | views::filter`, since `filter` is invalidated, does eric take care of the copying the things in order for the fusion to work, or is it my job (as a user) to do that?
<gonidelis[m]> filter's view is invalidated^^
<K-ballo> I can't really make sense of that question
<K-ballo> applying a a range adaptor to a view will create a new view, so now element copies are possible
<K-ballo> so NO elem..
hkaiser has joined #ste||ar
<gonidelis[m]> but it's not just any view
<gonidelis[m]> K-ballo:
<gonidelis[m]> it's an invalidated view
<K-ballo> so it's just any view that has been invalidated?
<K-ballo> the meaning of view is "does NOT own elements", so no view can own elements
<K-ballo> I don't really understand what your initial question is going for, maybe try some code?
<diehlpk_work> ms[m], I could not find the Google form, but here are all questions listed
<gonidelis[m]> <K-ballo "so it's just any view that has b"> yes
<gonidelis[m]> the docs say "It is best to recreate a view after any operation that may have mutated the underlying range". ahh ok... yeah this is not copying, this is adding a new ref
<gonidelis[m]> cool
K-ballo has quit [Quit: K-ballo]
<gonidelis[m]> hkaiser: yt?
K-ballo has joined #ste||ar
<hkaiser> gonidelis[m]: sorry, have to leave now
<hkaiser> gonidelis[m]: can we talk tomorrow at th eusual time?
<gonidelis[m]> yes, we will... it was just a pm
<gonidelis[m]> hkaiser: ^^
hkaiser has quit [Quit: bye]
hkaiser has joined #ste||ar
syrex has quit [Ping timeout: 240 seconds]
bita has joined #ste||ar
nanmiao has joined #ste||ar
bita has quit [Ping timeout: 276 seconds]
hkaiser has quit [Quit: bye]