This class serializes an RBSCMEvaluation object using the Cap'n Proto library.
More...
#include <rb_data_serialization.h>
This class serializes an RBSCMEvaluation object using the Cap'n Proto library.
Definition at line 191 of file rb_data_serialization.h.
◆ RBSCMEvaluationSerialization() [1/3]
libMesh::RBDataSerialization::RBSCMEvaluationSerialization::RBSCMEvaluationSerialization |
( |
RBSCMEvaluation & |
rb_eval | ) |
|
Initialize a new buffer using the structure from the Cap'n'Proto schema described in rb_data.capnp.
Definition at line 217 of file rb_data_serialization.C.
RBSCMEvaluation & _rb_scm_eval
The RBEvaluation object that will be written to disk.
◆ RBSCMEvaluationSerialization() [2/3]
Special functions.
- This class contains a reference, so it can't be default copy/move-assigned.
- The destructor is defaulted out of line.
◆ RBSCMEvaluationSerialization() [3/3]
◆ ~RBSCMEvaluationSerialization()
libMesh::RBDataSerialization::RBSCMEvaluationSerialization::~RBSCMEvaluationSerialization |
( |
| ) |
|
|
virtualdefault |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ write_to_file()
void libMesh::RBDataSerialization::RBSCMEvaluationSerialization::write_to_file |
( |
const std::string & |
path, |
|
|
bool |
use_packing = false |
|
) |
| |
Write the Cap'n'Proto buffer to disk.
If use_packing
is true, the file is written using the "packed" scheme, which can reduce the filesize on disk.
Definition at line 225 of file rb_data_serialization.C.
References _rb_scm_eval, libMesh::RBDataSerialization::add_rb_scm_evaluation_data_to_builder(), libMesh::ParallelObject::comm(), and TIMPI::Communicator::rank().
Referenced by main().
227 LOG_SCOPE(
"write_to_file()",
"RBSCMEvaluationSerialization");
231 capnp::MallocMessageBuilder message;
233 RBData::RBSCMEvaluation::Builder rb_scm_eval_builder =
234 message.initRoot<RBData::RBSCMEvaluation>();
238 int fd = open(path.c_str(), O_WRONLY | O_CREAT | O_TRUNC, 0664);
239 libmesh_error_msg_if(!fd,
"Error opening a write-only file descriptor to " + path);
242 capnp::writePackedMessageToFd(fd, message);
244 capnp::writeMessageToFd(fd, message);
246 int error = close(fd);
247 libmesh_error_msg_if(error,
"Error closing a write-only file descriptor to " + path);
processor_id_type rank() const
const Parallel::Communicator & comm() const
RBSCMEvaluation & _rb_scm_eval
The RBEvaluation object that will be written to disk.
void add_rb_scm_evaluation_data_to_builder(RBSCMEvaluation &rb_scm_eval, RBData::RBSCMEvaluation::Builder &rb_scm_eval_builder)
Add data for an RBSCMEvaluation to the builder.
◆ _rb_scm_eval
RBSCMEvaluation& libMesh::RBDataSerialization::RBSCMEvaluationSerialization::_rb_scm_eval |
|
private |
The documentation for this class was generated from the following files: