libMesh
Public Member Functions | Private Attributes | List of all members
libMesh::RBDataSerialization::RBSCMEvaluationSerialization Class Reference

This class serializes an RBSCMEvaluation object using the Cap'n Proto library. More...

#include <rb_data_serialization.h>

Public Member Functions

 RBSCMEvaluationSerialization (RBSCMEvaluation &rb_eval)
 Initialize a new buffer using the structure from the Cap'n'Proto schema described in rb_data.capnp. More...
 
 RBSCMEvaluationSerialization (RBSCMEvaluationSerialization &&)=default
 Special functions. More...
 
 RBSCMEvaluationSerialization (const RBSCMEvaluationSerialization &)=default
 
RBSCMEvaluationSerializationoperator= (const RBSCMEvaluationSerialization &)=delete
 
RBSCMEvaluationSerializationoperator= (RBSCMEvaluationSerialization &&)=delete
 
virtual ~RBSCMEvaluationSerialization ()
 
void write_to_file (const std::string &path)
 Write the Cap'n'Proto buffer to disk. More...
 

Private Attributes

RBSCMEvaluation_rb_scm_eval
 The RBEvaluation object that will be written to disk. More...
 

Detailed Description

This class serializes an RBSCMEvaluation object using the Cap'n Proto library.

Definition at line 185 of file rb_data_serialization.h.

Constructor & Destructor Documentation

◆ 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 208 of file rb_data_serialization.C.

209  :
210  _rb_scm_eval(rb_scm_eval)
211 {
212 }
RBSCMEvaluation & _rb_scm_eval
The RBEvaluation object that will be written to disk.

◆ RBSCMEvaluationSerialization() [2/3]

libMesh::RBDataSerialization::RBSCMEvaluationSerialization::RBSCMEvaluationSerialization ( RBSCMEvaluationSerialization &&  )
default

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]

libMesh::RBDataSerialization::RBSCMEvaluationSerialization::RBSCMEvaluationSerialization ( const RBSCMEvaluationSerialization )
default

◆ ~RBSCMEvaluationSerialization()

libMesh::RBDataSerialization::RBSCMEvaluationSerialization::~RBSCMEvaluationSerialization ( )
virtualdefault

Member Function Documentation

◆ operator=() [1/2]

RBSCMEvaluationSerialization& libMesh::RBDataSerialization::RBSCMEvaluationSerialization::operator= ( const RBSCMEvaluationSerialization )
delete

◆ operator=() [2/2]

RBSCMEvaluationSerialization& libMesh::RBDataSerialization::RBSCMEvaluationSerialization::operator= ( RBSCMEvaluationSerialization &&  )
delete

◆ write_to_file()

void libMesh::RBDataSerialization::RBSCMEvaluationSerialization::write_to_file ( const std::string &  path)

Write the Cap'n'Proto buffer to disk.

Definition at line 216 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().

217 {
218  LOG_SCOPE("write_to_file()", "RBSCMEvaluationSerialization");
219 
220  if (_rb_scm_eval.comm().rank() == 0)
221  {
222  capnp::MallocMessageBuilder message;
223 
224  RBData::RBSCMEvaluation::Builder rb_scm_eval_builder =
225  message.initRoot<RBData::RBSCMEvaluation>();
226 
228 
229  int fd = open(path.c_str(), O_WRONLY | O_CREAT | O_TRUNC, 0664);
230  libmesh_error_msg_if(!fd, "Error opening a write-only file descriptor to " + path);
231 
232  capnp::writeMessageToFd(fd, message);
233 
234  int error = close(fd);
235  libmesh_error_msg_if(error, "Error closing a write-only file descriptor to " + path);
236  }
237 }
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.

Member Data Documentation

◆ _rb_scm_eval

RBSCMEvaluation& libMesh::RBDataSerialization::RBSCMEvaluationSerialization::_rb_scm_eval
private

The RBEvaluation object that will be written to disk.

Definition at line 217 of file rb_data_serialization.h.

Referenced by write_to_file().


The documentation for this class was generated from the following files: