Skip to content

Conversation

JasonRuonanWang
Copy link
Member

@JasonRuonanWang JasonRuonanWang commented Apr 21, 2022

Since long time, users have been struggling with the templated C++ API of ADIOS2. It makes things unnecessarily hard for users to define and use ADIOS2 variables with data types that are only determined at runtime. It makes things even harder for users who want to put variable objects of different data types into a single container.

It's time to correct this harmful C++ fundamentalism. A C++ code does not have to use templates. Whether to use templates should be determined in a case by case manner.

This PR adds a template-free C++ API, which should be recommended for most use cases instead of the templated API. Some parts of it is currently still built on top of the templated API, but we should aim to remove most of the templated implementations in ADIOS2 core so we will save a huge lot of type conversions and macros that cut off the debugger processes.

This is also inline with the user defined data type work.

@JasonRuonanWang JasonRuonanWang merged commit 62bccb0 into ornladios:master Apr 21, 2022
@ornladios ornladios deleted a comment from williamfgc Apr 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant