hkaiser changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar-group.org | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | This channel is logged: irclog.cct.lsu.edu
K-ballo has quit [Quit: K-ballo]
<gonidelis[m]> hkaiser: yt?
hkaiser has quit [Quit: Bye!]
ruchipakhle has joined #ste||ar
Yorlik has joined #ste||ar
ruchipakhle has quit [Quit: Client closed]
ruchipakhle has joined #ste||ar
ruchipakhle has quit [Client Quit]
ruchipakhle has joined #ste||ar
ruchipakhle has quit [Quit: Client closed]
ruchipakhle has joined #ste||ar
hkaiser has joined #ste||ar
K-ballo has joined #ste||ar
ruchipakhle has quit [Quit: Client closed]
hkaiser has quit [Read error: Connection reset by peer]
diehlpk_work has joined #ste||ar
hkaiser has joined #ste||ar
<srinivasyadav227> hkaiser: does `decorated_iterator` in unit tests disable any functionalities of `base_iterator` that is passed ?
<hkaiser> srinivasyadav227: it just redefines the iterator category
<srinivasyadav227> hkaiser: ok cool, thanks! :)
<hkaiser> I think it also allows to inject exceptions into the derefencing operation
ericniebler[m] has joined #ste||ar
<diehlpk_work> hkaiser, yt?
Yorlik has quit [Ping timeout: 248 seconds]
<hkaiser> what's 'weird'?
<john98zakaria[m]> / template <typename Archive>... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/02023ea2947ae337d166ae20d2a8b2a2c303467d)
<hkaiser> btw (unrelated) never directly #include <hpx/wrap_main.hpp>
<hkaiser> no need
<john98zakaria[m]> hkaiser: Oh I thought that how main gets wrapped
<hkaiser> we should probably make sure nobody #includes it directly
<hkaiser> I don't think this causes your 'weirdness', though
<hkaiser> from what I can tell, the serialization code looks ok to me (well the first serialize function)
<hkaiser> the second one can't compile as getX/getY don't return references
<hkaiser> serialize is called on both ends of the wire, for serilization and deserialization (with two different Archives)
<hkaiser> one of those (the deserialization) will fail with the second serialize function
<john98zakaria[m]> Is it possible to serialize a class that you don't control ?
diehlpk_work has quit [Remote host closed the connection]
<hkaiser> only if you have access to the members in some way
<john98zakaria[m]> getters wouldn't suffice ?
<hkaiser> you can serialize things non-intrusively (by adding a global function)
<hkaiser> getters will be sufficient for the serialization part, but not the de-serialization as that needs to create a new instance of the object on the receiving end
<hkaiser> so you need to have a) access to the members, or b) be able to fully initialize the object using one of its constructors
<hkaiser> john98zakaria[m]: it also depends on whether your type has a default constructor or not
<john98zakaria[m]> How would I serialize my Point class assuming i can't access the members directly
<hkaiser> does it have a default constructor?
<john98zakaria[m]> PointClass() =default;
<hkaiser> yes it has, good - that simplifies things
<hkaiser> give me a sec
<john98zakaria[m]> Of course
<john98zakaria[m]> hkaiser: /home/jn98zk/CLionProjects/HelloHPX/SendCustomType.cpp:86:1: error: no matching function for call to ‘load(hpx::serialization::input_archive&, PointClass&, int)’
<hkaiser> john98zakaria[m]: move the macro after the load/save definitions
<hkaiser> I have updated the gist
<hkaiser> john98zakaria[m]: the macro is defined here: https://github.com/STEllAR-GROUP/hpx/blob/master/libs/core/serialization/include/hpx/serialization/serialization_fwd.hpp#L50-L61, if you look at it it will make sense
<john98zakaria[m]> Perfect, it works !
<john98zakaria[m]> I wanted to add this simple example to the docs
<john98zakaria[m]> Should I start ?
hkaiser_ has joined #ste||ar
<hkaiser_> john98zakaria[m]: yes, please
<hkaiser_> also, wrt docs, pleacoordinate with dkaratza[m], she is working on the docs, mainly
hkaiser has quit [Ping timeout: 272 seconds]
<john98zakaria[m]> <hkaiser_> "also, wrt docs, pleacoordinate..." <- dkaratza: Where should I place a little tutorial on serialization ?
<hkaiser_> john98zakaria[m]: you might want to refer to the docs of boost serialization (https://www.boost.org/doc/libs/1_79_0/libs/serialization/doc/index.html), ours is implementing a (large) subset of boosts library
<john98zakaria[m]> That's where I started :)
<hkaiser_> +1
<john98zakaria[m]> I found serialization hidden in the examples folder, that's where I found out about member function serialization.
<john98zakaria[m]> Then saw the boost free non intrusive way, that's how I landed here
<hkaiser_> john98zakaria[m]: the tests are a good source of information, always
<john98zakaria[m]> I just checked (string search archive), there are no tests for free function serialization
<hkaiser_> john98zakaria[m]: uhh
<hkaiser_> feel free to add one ;-)