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/
bita_ has joined #ste||ar
bita has quit [Ping timeout: 256 seconds]
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Quit: bye]
shahrzad has quit [Quit: Leaving]
bita_ has quit [Ping timeout: 258 seconds]
parsa has quit [Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net]
parsa has joined #ste||ar
K-ballo has joined #ste||ar
gdaiss[m] has joined #ste||ar
hkaiser has joined #ste||ar
<parsa> hkaiser: can we move our meeting today to Tuesday?
<hkaiser> sure
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
shahrzad has joined #ste||ar
weilewei has joined #ste||ar
shahrzad has quit [Read error: Connection reset by peer]
shahrzad has joined #ste||ar
<gnikunj[m]> K-ballo, hkaiser : a fundamental question: I have a `class foo` and an operator+ defined outside of foo. If I have a code as: `foo a; foo b; foo c = a + b;` , what will happen at the addition operation? My thinking was a temporary object creation using operator+ and then call to copy constructor. Is this correct?
<hkaiser> why copy constructor? why not move constructor?
<K-ballo> there's no telling without the definition
<gnikunj[m]> ohh yeah right. Move constructor.
<K-ballo> actually just the declaration
<gnikunj[m]> K-ballo: there's no declaration. I am trying to wrap my head around something else and wanted to make sure my understanding of the above concept is correct.
<K-ballo> ok, but there's no telling without the declaration
<K-ballo> it could be any number of things.. moves, copies, reuses, nothing at all
<gnikunj[m]> right. There can be copy elisions, move or copy constructor depending on what constructors foo has
<K-ballo> or since 17, nothing at all, not even elision
<K-ballo> depending on what constructors foo has, what parameter types op+ has, what return type it has
<gnikunj[m]> what do you mean? what happens in 17 then?
<K-ballo> in 17 a whole bunch of copy/move elision scenarios where amended so that no copy/move happens at all in the first place, it's just initialization
<K-ballo> T x = T(T(T(T(T(T(T()))))); // no copies, moves, elisions.. just initialization
<gnikunj[m]> aaah, that's very neat and performant
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
<K-ballo> boost 1.75.0 works with msvc
bita_ has joined #ste||ar
<hkaiser> K-ballo: good, so we can support it for the 1.6 release
<K-ballo> when's that?
<hkaiser> soonish