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/
<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