I am trying to integrate catalyst in-situ visualisation into a simulation software package. I am using conduit::Nodes to read and write hdf5 data and to do some rudimentary visualisation with Ascent.
Currently, I use a recursive iteration from coduit::Node to manually rewrite all data to the conduit_cpp::Node.
Is there a easier or faster way to convert a coduit::Node to a conduit_cpp::Node?
My understanding is that
conduit_cpp::Node is a very thin wrapper over the C structure. What are you doing that makes it not just a simple wrapper?
The issue is that, conduit::Node is provided by the conduit library, whereas conduit_cpp::Node is provided by catalyst. The two nodes are identical, but incompatible. Its not a matter of c++ vs c, rather catalyst has their own branch of conduit which is incompatible with the “standard” conduit.
Yes, Catalyst only knows how to talk about its embedded Conduit, not any arbitrary external Conduit. This was a decision made a while ago related to being able to provide ABI stability. We lose “interop with arbitrary Conduit” while gaining support for “you never need to rebuild for newer Catalyst library versions”.