-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature t8 io #368
base: main
Are you sure you want to change the base?
Feature t8 io #368
Conversation
Currently they are not filled with anything meaningfull.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really nice starting point for future discussion! :)
src/t8_IO/t8_IO.h
Outdated
|
||
/** | ||
* \file t8_IO.h | ||
* Defines a class that combines input and outputroutines. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo.
src/t8_IO/t8_IO.h
Outdated
|
||
/** | ||
* A general routine for writing files in serial. | ||
* TODO: provide implementation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't like TODOs in PRs. You can remove this TODO since this PR is aimed at the API anyway. Specific implementations will follow in later PRs.
src/t8_IO/t8_IO.h
Outdated
|
||
/** | ||
* A general routine for writing files in parallel. | ||
* TODO: provide implementation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't like TODOs in PRs. You can remove this TODO since this PR is aimed at the API anyway. Specific implementations will follow in later PRs.
/* Write the output */ | ||
virtual t8_read_status_t read (); | ||
|
||
virtual t8_read_status_t set_source (const t8_extern_t * source); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is a good idea and exactly what we wanted to avoid, right? We should talk about this. :)
* \param[in] source an object to be filled. | ||
* \return t8_write_status_t T8_WRITE_FAIL if it wasn't able to set the source, T8_WRITE_SUCCESS otherwise | ||
*/ | ||
virtual t8_read_status_t set_source (const t8_extern_t * source) = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This routine does not have be part of the base class. We should talk about this.
|
||
/* *INDENT-OFF* */ | ||
t8_write_status | ||
t8_vtk_writer::set_dest (const t8_extern_t * dest) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The same problem as with set_source
.
Implementation of a general IO Interface to centralize all IO-routines in t8code.
Goal of this Interface is to:
This PR provides only the structure to meet these ideas. I will move the current implementations of supported IO-routines as soon as possible.
All these boxes must be checked by the reviewers before merging the pull request:
As a reviewer please read through all the code lines and make sure that the code is fully understood, bug free, well-documented and well-structured.
The author added a BSD statement to
doc/
(or already has one)The code compiles without warning in debugging and release mode, with and without MPI (this should be executed automatically in a github action)
If the Pull request introduces code that is not covered by the github action (for example coupling with a new library):
All tests pass (in various configurations, this should be executed automatically in a github action)
New source/header files are properly added to the Makefiles
The reviewer executed the new code features at least once and checked the results manually
The code is covered in an existing or new test case
New tests use the Google Test framework
The code follows the t8code coding guidelines
The code is well documented
All function declarations, structs/classes and their members have a proper doxygen documentation
All new algorithms and data structures are sufficiently optimal in terms of memory and runtime (If this should be merged, but there is still potential for optimization, create a new issue)
Testing of this template: If you feel something is missing from this list, contact the developers