QMCPACK
TraceRequest Struct Reference
+ Collaboration diagram for TraceRequest:

Public Member Functions

 TraceRequest ()
 
void reset ()
 
void set_scalar_domain (const std::string &domain)
 
bool screen_sample (const std::string &domain, const std::string &name, bool &write)
 
void contribute_scalar (const std::string &name, bool default_quantity=false)
 
void contribute_array (const std::string &name, bool default_quantity=false)
 
void contribute_combined (const std::string &name, std::vector< std::string > &deps, bool scalar=false, bool array=false, bool default_quantity=false)
 
void request_scalar (const std::string &name, bool write=false)
 
void request_array (const std::string &name, bool write=false)
 
bool streaming_scalar (const std::string &name)
 
bool streaming_array (const std::string &name)
 
bool streaming (const std::string &name)
 
void request_scalar (const std::set< std::string > &names, bool write=false)
 
void request_array (const std::set< std::string > &names, bool write=false)
 
void incorporate (TraceRequest &other)
 
void determine_stream_write ()
 
void relay_stream_info (TraceRequest &other)
 
void report ()
 
void write_selected (const std::string &header, const std::string &selector)
 
bool quantity_present (const std::string &name)
 
void guarantee_presence (const std::string &name, bool combined=false)
 
void check_presence (const std::string &name)
 
bool streaming ()
 
bool writing ()
 
bool streaming_scalars ()
 
bool streaming_arrays ()
 

Public Attributes

bool allow_streams
 
bool allow_writes
 
bool scalars_on
 
bool arrays_on
 
bool stream_all_scalars
 
bool stream_all_arrays
 
bool write_all_scalars
 
bool write_all_arrays
 
bool streaming_default_scalars
 
bool streaming_default_arrays
 
bool writing_default_scalars
 
bool writing_default_arrays
 
std::map< std::string, TraceQuantityquantities
 
std::map< std::string, std::set< std::string > > combined_dependencies
 
std::string scalar_domain
 

Detailed Description

Definition at line 107 of file TraceManager.h.

Constructor & Destructor Documentation

◆ TraceRequest()

TraceRequest ( )
inline

Definition at line 141 of file TraceManager.h.

References TraceRequest::reset().

141 { reset(); }

Member Function Documentation

◆ check_presence()

void check_presence ( const std::string &  name)
inline

Definition at line 492 of file TraceManager.h.

References APP_ABORT, and TraceRequest::quantity_present().

Referenced by TraceRequest::determine_stream_write(), TraceRequest::relay_stream_info(), TraceRequest::streaming(), TraceRequest::streaming_array(), and TraceRequest::streaming_scalar().

493  {
494  if (!quantity_present(name))
495  {
496  APP_ABORT("TraceRequest::check_presence quantity " + name + " is not present");
497  }
498  }
bool quantity_present(const std::string &name)
Definition: TraceManager.h:472
#define APP_ABORT(msg)
Widely used but deprecated fatal error macros from legacy code.
Definition: AppAbort.h:27

◆ contribute_array()

void contribute_array ( const std::string &  name,
bool  default_quantity = false 
)
inline

◆ contribute_combined()

void contribute_combined ( const std::string &  name,
std::vector< std::string > &  deps,
bool  scalar = false,
bool  array = false,
bool  default_quantity = false 
)
inline

Definition at line 207 of file TraceManager.h.

References TraceQuantity::array_available, TraceQuantity::combined_quantity, TraceQuantity::default_quantity, TraceRequest::guarantee_presence(), TraceRequest::quantities, and TraceQuantity::scalar_available.

Referenced by QMCHamiltonian::initialize_traces().

212  {
213  guarantee_presence(name, true);
214  TraceQuantity& q = quantities[name];
215  q.combined_quantity = true;
216  q.scalar_available = scalar;
217  q.array_available = array;
218  if (default_quantity)
219  q.default_quantity = true;
220  //combined_dependencies[name] = deps;
221  }
double scalar
Definition: Blitz.h:190
void guarantee_presence(const std::string &name, bool combined=false)
Definition: TraceManager.h:475
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ contribute_scalar()

void contribute_scalar ( const std::string &  name,
bool  default_quantity = false 
)
inline

Definition at line 189 of file TraceManager.h.

References TraceRequest::guarantee_presence(), and TraceRequest::quantities.

Referenced by OperatorBase::contributeScalarQuantities(), QMCHamiltonian::initialize_traces(), and qmcplusplus::TEST_CASE().

190  {
191  guarantee_presence(name);
192  quantities[name].scalar_available = true;
193  if (default_quantity)
194  quantities[name].default_quantity = true;
195  }
void guarantee_presence(const std::string &name, bool combined=false)
Definition: TraceManager.h:475
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ determine_stream_write()

void determine_stream_write ( )
inline

Definition at line 306 of file TraceManager.h.

References TraceRequest::allow_streams, TraceQuantity::array_available, TraceQuantity::array_stream_requested, TraceQuantity::array_write_requested, TraceRequest::arrays_on, TraceRequest::check_presence(), TraceRequest::combined_dependencies, TraceQuantity::combined_quantity, TraceQuantity::default_quantity, TraceQuantity::name, TraceRequest::quantities, TraceQuantity::scalar_available, TraceQuantity::scalar_stream_requested, TraceQuantity::scalar_write_requested, TraceRequest::scalars_on, TraceRequest::stream_all_arrays, TraceRequest::stream_all_scalars, TraceQuantity::stream_array, TraceQuantity::stream_scalar, TraceRequest::streaming_default_arrays, TraceRequest::streaming_default_scalars, TraceRequest::write_all_arrays, TraceRequest::write_all_scalars, TraceQuantity::write_array, TraceQuantity::write_scalar, TraceRequest::writing_default_arrays, and TraceRequest::writing_default_scalars.

Referenced by QMCHamiltonian::initialize_traces(), and qmcplusplus::TEST_CASE().

307  {
308  std::map<std::string, TraceQuantity>::iterator it;
309  for (it = quantities.begin(); it != quantities.end(); ++it)
310  {
311  TraceQuantity& q = it->second;
312 
313  q.stream_scalar =
314  allow_streams && scalars_on && q.scalar_available && (q.scalar_stream_requested || stream_all_scalars);
315 
316  q.write_scalar = q.stream_scalar && (q.scalar_write_requested || write_all_scalars);
317 
318  q.stream_array =
319  allow_streams && arrays_on && q.array_available && (q.array_stream_requested || stream_all_arrays);
320 
321  q.write_array = q.stream_array && (q.array_write_requested || write_all_arrays);
322  }
323  // default quantities stream and write if any others do
325  writing_default_scalars = false;
326  streaming_default_arrays = false;
327  writing_default_arrays = false;
328  for (it = quantities.begin(); it != quantities.end(); ++it)
329  {
330  TraceQuantity& q = it->second;
331  streaming_default_scalars |= q.stream_scalar;
332  writing_default_scalars |= q.write_scalar;
333  streaming_default_arrays |= q.stream_array;
334  writing_default_arrays |= q.write_array;
335  }
336  for (it = quantities.begin(); it != quantities.end(); ++it)
337  {
338  TraceQuantity& q = it->second;
339  if (q.default_quantity)
340  {
341  q.stream_scalar = streaming_default_scalars;
342  q.write_scalar = writing_default_scalars;
343  q.stream_array = streaming_default_arrays;
344  q.write_array = writing_default_arrays;
345  }
346  }
347  // if any combined quantities are streaming, their dependencies must also
348  for (it = quantities.begin(); it != quantities.end(); ++it)
349  {
350  TraceQuantity& q = it->second;
351  if (q.combined_quantity)
352  {
353  std::set<std::string>& deps = combined_dependencies[q.name];
354  std::set<std::string>::iterator name;
355  if (q.stream_scalar || q.stream_array)
356  {
357  for (name = deps.begin(); name != deps.end(); ++name)
358  {
359  check_presence(*name);
360  TraceQuantity& qd = quantities[*name];
361  qd.stream_scalar |= (qd.scalar_available && q.stream_scalar);
362  qd.stream_array |= (qd.array_available && q.stream_array);
363  }
364  }
365  }
366  }
367  combined_dependencies.clear();
368  }
void check_presence(const std::string &name)
Definition: TraceManager.h:492
std::map< std::string, std::set< std::string > > combined_dependencies
Definition: TraceManager.h:136
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ guarantee_presence()

void guarantee_presence ( const std::string &  name,
bool  combined = false 
)
inline

Definition at line 475 of file TraceManager.h.

References TraceRequest::combined_dependencies, TraceQuantity::name, TraceRequest::quantities, and TraceRequest::quantity_present().

Referenced by TraceRequest::contribute_array(), TraceRequest::contribute_combined(), TraceRequest::contribute_scalar(), TraceRequest::request_array(), and TraceRequest::request_scalar().

476  {
477  if (!quantity_present(name))
478  {
479  TraceQuantity q;
480  q.name = name;
481  quantities[name] = q;
482  }
483  if (combined)
484  if (combined_dependencies.find(name) == combined_dependencies.end())
485  {
486  std::set<std::string> stmp;
487  combined_dependencies[name] = stmp;
488  }
489  }
bool quantity_present(const std::string &name)
Definition: TraceManager.h:472
std::map< std::string, std::set< std::string > > combined_dependencies
Definition: TraceManager.h:136
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ incorporate()

void incorporate ( TraceRequest other)
inline

Definition at line 282 of file TraceManager.h.

References TraceRequest::combined_dependencies, TraceQuantity::name, TraceRequest::quantities, and TraceRequest::quantity_present().

Referenced by QMCHamiltonian::initialize_traces(), and qmcplusplus::TEST_CASE().

283  {
284  std::map<std::string, TraceQuantity>::iterator it;
285  for (it = other.quantities.begin(); it != other.quantities.end(); ++it)
286  {
287  const TraceQuantity& q = it->second;
288  if (quantity_present(q.name))
289  quantities[q.name].incorporate(q);
290  else
291  quantities[q.name] = q;
292  }
293  std::map<std::string, std::set<std::string>>::iterator d;
294  for (d = other.combined_dependencies.begin(); d != other.combined_dependencies.end(); ++d)
295  {
296  const std::string& name = d->first;
297  std::set<std::string>& deps = d->second;
298  if (combined_dependencies.find(name) != combined_dependencies.end())
299  combined_dependencies[name].insert(deps.begin(), deps.end());
300  else
301  combined_dependencies[name] = deps;
302  }
303  }
bool quantity_present(const std::string &name)
Definition: TraceManager.h:472
std::map< std::string, std::set< std::string > > combined_dependencies
Definition: TraceManager.h:136
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ quantity_present()

bool quantity_present ( const std::string &  name)
inline

Definition at line 472 of file TraceManager.h.

References TraceRequest::quantities.

Referenced by TraceRequest::check_presence(), TraceRequest::guarantee_presence(), and TraceRequest::incorporate().

472 { return quantities.find(name) != quantities.end(); }
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ relay_stream_info()

void relay_stream_info ( TraceRequest other)
inline

Definition at line 371 of file TraceManager.h.

References TraceRequest::allow_streams, TraceRequest::allow_writes, TraceRequest::arrays_on, TraceRequest::check_presence(), TraceRequest::combined_dependencies, TraceQuantity::name, TraceRequest::quantities, TraceRequest::scalars_on, TraceRequest::stream_all_arrays, TraceRequest::stream_all_scalars, TraceRequest::streaming_default_arrays, TraceRequest::streaming_default_scalars, TraceRequest::write_all_arrays, TraceRequest::write_all_scalars, TraceRequest::writing_default_arrays, and TraceRequest::writing_default_scalars.

Referenced by QMCHamiltonian::initialize_traces().

372  {
373  other.allow_streams = allow_streams;
374  other.allow_writes = allow_writes;
375  other.scalars_on = scalars_on;
376  other.arrays_on = arrays_on;
377  other.stream_all_scalars = stream_all_scalars;
378  other.stream_all_arrays = stream_all_arrays;
379  other.write_all_scalars = write_all_scalars;
380  other.write_all_arrays = write_all_arrays;
381  other.streaming_default_scalars = streaming_default_scalars;
382  other.streaming_default_arrays = streaming_default_arrays;
383  other.writing_default_scalars = writing_default_scalars;
384  other.writing_default_arrays = writing_default_arrays;
385  std::map<std::string, TraceQuantity>::iterator it;
386  for (it = other.quantities.begin(); it != other.quantities.end(); ++it)
387  {
388  TraceQuantity& q = it->second;
389  check_presence(q.name);
390  q = quantities[q.name];
391  }
392  other.combined_dependencies.clear();
393  }
void check_presence(const std::string &name)
Definition: TraceManager.h:492
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ report()

void report ( )
inline

Definition at line 395 of file TraceManager.h.

References TraceRequest::allow_streams, TraceRequest::allow_writes, qmcplusplus::app_log(), TraceRequest::arrays_on, TraceRequest::scalars_on, TraceRequest::stream_all_arrays, TraceRequest::stream_all_scalars, TraceRequest::streaming_default_arrays, TraceRequest::streaming_default_scalars, TraceRequest::write_all_arrays, TraceRequest::write_all_scalars, TraceRequest::write_selected(), TraceRequest::writing_default_arrays, and TraceRequest::writing_default_scalars.

Referenced by TraceManager::user_report().

396  {
397  //app_log()<<"\n TraceRequest"<< std::endl;
398  app_log() << " allow_streams = " << allow_streams << std::endl;
399  app_log() << " allow_writes = " << allow_writes << std::endl;
400  app_log() << " scalars_on = " << scalars_on << std::endl;
401  app_log() << " arrays_on = " << arrays_on << std::endl;
402  app_log() << " stream_all_scalars = " << stream_all_scalars << std::endl;
403  app_log() << " stream_all_arrays = " << stream_all_arrays << std::endl;
404  app_log() << " write_all_scalars = " << write_all_scalars << std::endl;
405  app_log() << " write_all_arrays = " << write_all_arrays << std::endl;
406  app_log() << " streaming_default_scalars = " << streaming_default_scalars << std::endl;
407  app_log() << " streaming_default_arrays = " << streaming_default_arrays << std::endl;
408  app_log() << " writing_default_scalars = " << writing_default_scalars << std::endl;
409  app_log() << " writing_default_arrays = " << writing_default_arrays << std::endl;
410 
411  write_selected("scalars available", "scalar_available");
412  write_selected("arrays available", "array_available");
413 
414  write_selected("scalar streams requested", "scalar_stream_requested");
415  write_selected("array streams requested", "array_stream_requested");
416 
417  write_selected("scalar writes requested", "scalar_write_requested");
418  write_selected("array writes requested", "array_write_requested");
419 
420  write_selected("scalar streams occurring", "stream_scalar");
421  write_selected("array streams occurring", "stream_array");
422 
423  write_selected("scalar writes occurring", "write_scalar");
424  write_selected("array writes occurring", "write_array");
425  }
std::ostream & app_log()
Definition: OutputManager.h:65
void write_selected(const std::string &header, const std::string &selector)
Definition: TraceManager.h:427

◆ request_array() [1/2]

void request_array ( const std::string &  name,
bool  write = false 
)
inline

Definition at line 233 of file TraceManager.h.

References TraceRequest::guarantee_presence(), and TraceRequest::quantities.

Referenced by EnergyDensityEstimator::EnergyDensityEstimator(), TraceManager::put(), TraceRequest::request_array(), and DensityMatrices1B::reset().

234  {
235  guarantee_presence(name);
236  quantities[name].array_stream_requested = true;
237  if (write)
238  quantities[name].array_write_requested = true;
239  }
void guarantee_presence(const std::string &name, bool combined=false)
Definition: TraceManager.h:475
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ request_array() [2/2]

void request_array ( const std::set< std::string > &  names,
bool  write = false 
)
inline

Definition at line 274 of file TraceManager.h.

References TraceRequest::request_array().

275  {
276  std::set<std::string>::iterator name;
277  for (name = names.begin(); name != names.end(); ++name)
278  request_array(*name, write);
279  }
void request_array(const std::string &name, bool write=false)
Definition: TraceManager.h:233

◆ request_scalar() [1/2]

void request_scalar ( const std::string &  name,
bool  write = false 
)
inline

Definition at line 224 of file TraceManager.h.

References TraceRequest::guarantee_presence(), and TraceRequest::quantities.

Referenced by EnergyDensityEstimator::EnergyDensityEstimator(), TraceManager::put(), TraceRequest::request_scalar(), and DensityMatrices1B::reset().

225  {
226  guarantee_presence(name);
227  quantities[name].scalar_stream_requested = true;
228  if (write)
229  quantities[name].scalar_write_requested = true;
230  }
void guarantee_presence(const std::string &name, bool combined=false)
Definition: TraceManager.h:475
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ request_scalar() [2/2]

void request_scalar ( const std::set< std::string > &  names,
bool  write = false 
)
inline

Definition at line 266 of file TraceManager.h.

References TraceRequest::request_scalar().

267  {
268  std::set<std::string>::iterator name;
269  for (name = names.begin(); name != names.end(); ++name)
270  request_scalar(*name, write);
271  }
void request_scalar(const std::string &name, bool write=false)
Definition: TraceManager.h:224

◆ reset()

void reset ( )
inline

Definition at line 143 of file TraceManager.h.

References TraceRequest::allow_streams, TraceRequest::allow_writes, TraceRequest::arrays_on, TraceRequest::combined_dependencies, TraceRequest::quantities, TraceRequest::scalars_on, TraceRequest::stream_all_arrays, TraceRequest::stream_all_scalars, TraceRequest::streaming_default_arrays, TraceRequest::streaming_default_scalars, TraceRequest::write_all_arrays, TraceRequest::write_all_scalars, TraceRequest::writing_default_arrays, and TraceRequest::writing_default_scalars.

Referenced by OperatorBase::deleteTraceQuantities(), QMCHamiltonian::finalize_traces(), TraceManager::reset_permissions(), and TraceRequest::TraceRequest().

144  {
145  allow_streams = false;
146  allow_writes = false;
147  scalars_on = false;
148  arrays_on = false;
149  stream_all_scalars = false;
150  stream_all_arrays = false;
151  write_all_scalars = false;
152  write_all_arrays = false;
154  streaming_default_arrays = false;
155  writing_default_scalars = false;
156  writing_default_arrays = false;
157 
158  quantities.clear();
159  combined_dependencies.clear();
160  }
std::map< std::string, std::set< std::string > > combined_dependencies
Definition: TraceManager.h:136
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ screen_sample()

bool screen_sample ( const std::string &  domain,
const std::string &  name,
bool &  write 
)
inline

Definition at line 164 of file TraceManager.h.

References TraceRequest::quantities, TraceRequest::scalar_domain, TraceQuantity::stream_array, TraceQuantity::stream_scalar, TraceQuantity::write_array, and TraceQuantity::write_scalar.

Referenced by TraceSamples< std::complex< TraceReal > >::screen_writes().

165  {
166  bool scalar = domain == scalar_domain;
167  bool present = quantities.find(name) != quantities.end();
168  bool stream = false;
169  write = false;
170  if (present)
171  {
172  TraceQuantity& q = quantities[name];
173  if (scalar)
174  {
175  stream = q.stream_scalar;
176  write = q.write_scalar;
177  }
178  else
179  {
180  stream = q.stream_array;
181  write = q.write_array;
182  }
183  }
184  return stream;
185  }
double scalar
Definition: Blitz.h:190
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ set_scalar_domain()

void set_scalar_domain ( const std::string &  domain)
inline

Definition at line 162 of file TraceManager.h.

References TraceRequest::scalar_domain.

Referenced by TraceManager::TraceManager().

162 { scalar_domain = domain; }

◆ streaming() [1/2]

bool streaming ( const std::string &  name)
inline

Definition at line 256 of file TraceManager.h.

References TraceRequest::check_presence(), TraceRequest::quantities, TraceQuantity::stream_array, and TraceQuantity::stream_scalar.

Referenced by QMCHamiltonian::finalize_traces(), QMCHamiltonian::initialize_traces(), and TraceManager::update_status().

257  {
258  check_presence(name);
259  TraceQuantity& q = quantities[name];
260  return q.stream_scalar || q.stream_array;
261  }
void check_presence(const std::string &name)
Definition: TraceManager.h:492
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ streaming() [2/2]

◆ streaming_array()

◆ streaming_arrays()

bool streaming_arrays ( )
inline

Definition at line 510 of file TraceManager.h.

References TraceRequest::streaming_default_arrays.

◆ streaming_scalar()

bool streaming_scalar ( const std::string &  name)
inline

Definition at line 242 of file TraceManager.h.

References TraceRequest::check_presence(), and TraceRequest::quantities.

Referenced by OperatorBase::checkoutScalarQuantities(), and qmcplusplus::TEST_CASE().

243  {
244  check_presence(name);
245  return quantities[name].stream_scalar;
246  }
void check_presence(const std::string &name)
Definition: TraceManager.h:492
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133

◆ streaming_scalars()

bool streaming_scalars ( )
inline

Definition at line 507 of file TraceManager.h.

References TraceRequest::streaming_default_scalars.

◆ write_selected()

void write_selected ( const std::string &  header,
const std::string &  selector 
)
inline

Definition at line 427 of file TraceManager.h.

References APP_ABORT, qmcplusplus::app_log(), TraceQuantity::array_available, TraceQuantity::array_stream_requested, TraceQuantity::array_write_requested, qmcplusplus::n, TraceQuantity::name, TraceRequest::quantities, TraceQuantity::scalar_available, TraceQuantity::scalar_stream_requested, TraceQuantity::scalar_write_requested, TraceQuantity::stream_array, TraceQuantity::stream_scalar, TraceQuantity::write_array, and TraceQuantity::write_scalar.

Referenced by TraceRequest::report().

428  {
429  app_log() << " " << header << ":";
430  int n = 0;
431  std::map<std::string, TraceQuantity>::iterator it;
432  for (it = quantities.begin(); it != quantities.end(); ++it)
433  {
434  TraceQuantity& q = it->second;
435  bool selected = false;
436  if (selector == "scalar_available")
437  selected = q.scalar_available;
438  else if (selector == "array_available")
439  selected = q.array_available;
440  else if (selector == "scalar_stream_requested")
441  selected = q.scalar_stream_requested;
442  else if (selector == "array_stream_requested")
443  selected = q.array_stream_requested;
444  else if (selector == "scalar_write_requested")
445  selected = q.scalar_write_requested;
446  else if (selector == "array_write_requested")
447  selected = q.array_write_requested;
448  else if (selector == "stream_scalar")
449  selected = q.stream_scalar;
450  else if (selector == "stream_array")
451  selected = q.stream_array;
452  else if (selector == "write_scalar")
453  selected = q.write_scalar;
454  else if (selector == "write_array")
455  selected = q.write_array;
456  else
457  APP_ABORT("TraceRequest::write_selected unrecognized selector: " + selector);
458  if (selected)
459  {
460  if (n % 5 == 0)
461  app_log() << std::endl << " ";
462  n++;
463  app_log() << " " << q.name;
464  }
465  }
466  app_log() << std::endl;
467  }
std::map< std::string, TraceQuantity > quantities
Definition: TraceManager.h:133
std::ostream & app_log()
Definition: OutputManager.h:65
#define APP_ABORT(msg)
Widely used but deprecated fatal error macros from legacy code.
Definition: AppAbort.h:27

◆ writing()

Member Data Documentation

◆ allow_streams

◆ allow_writes

bool allow_writes

◆ arrays_on

◆ combined_dependencies

std::map<std::string, std::set<std::string> > combined_dependencies

◆ quantities

◆ scalar_domain

std::string scalar_domain

Definition at line 139 of file TraceManager.h.

Referenced by TraceRequest::screen_sample(), and TraceRequest::set_scalar_domain().

◆ scalars_on

◆ stream_all_arrays

◆ stream_all_scalars

◆ streaming_default_arrays

◆ streaming_default_scalars

◆ write_all_arrays

◆ write_all_scalars

◆ writing_default_arrays

◆ writing_default_scalars


The documentation for this struct was generated from the following file: