Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
LUPI_dataBuffer.hpp File Reference
#include <cstdint>
#include <LUPI_defines.hpp>
#include <LUPI_declareMacro.hpp>

Go to the source code of this file.

Classes

class  LUPI::DataBuffer

Namespaces

namespace  LUPI

Macros

#define DATA_MEMBER_SIMPLE(member, buffer, index, mode)
#define DATA_MEMBER_CAST(member, buf, mode, someType)
#define DATA_MEMBER_CHAR(member, buf, mode)
#define DATA_MEMBER_INT( member, buf, mode)
#define DATA_MEMBER_FLOAT(member, buf, mode)
#define DATA_MEMBER_DOUBLE(member, buf, mode)
#define DATA_MEMBER_SIZE_T(member, buf, mode)
#define DATA_MEMBER_STRING(member, buf, mode)
#define DATA_MEMBER_STD_STRING(member, buf, mode)
#define DATA_MEMBER_VECTOR_FLOAT(member, buf, mode)
#define DATA_MEMBER_VECTOR_DOUBLE(member, buf, mode)
#define DATA_MEMBER_VECTOR_INT(member, buf, mode)
#define DATA_MEMBER_VECTOR_BOOL(member, buf, mode)
#define DATA_MEMBER_CHAR_ARRAY(member, buf, mode)
#define DATA_MEMBER_VECTOR_SIZE_T(member, buf, mode)

Macro Definition Documentation

◆ DATA_MEMBER_CAST

#define DATA_MEMBER_CAST ( member,
buf,
mode,
someType )
Value:
{if ( mode == LUPI::DataBuffer::Mode::Count ) {((buf).m_intIndex)++; } \
else if ( mode == LUPI::DataBuffer::Mode::Pack ) {(buf).m_intData[ ((buf).m_intIndex)++ ] = (int)(member); } \
else if ( mode == LUPI::DataBuffer::Mode::Unpack ) {member = (someType) (buf).m_intData[ ((buf).m_intIndex)++ ]; } \
else if ( mode == LUPI::DataBuffer::Mode::Reset ) {((buf).m_intIndex)++; member = (someType) 0; }}

Definition at line 283 of file LUPI_dataBuffer.hpp.

283#define DATA_MEMBER_CAST(member, buf, mode, someType) \
284 {if ( mode == LUPI::DataBuffer::Mode::Count ) {((buf).m_intIndex)++; } \
285 else if ( mode == LUPI::DataBuffer::Mode::Pack ) {(buf).m_intData[ ((buf).m_intIndex)++ ] = (int)(member); } \
286 else if ( mode == LUPI::DataBuffer::Mode::Unpack ) {member = (someType) (buf).m_intData[ ((buf).m_intIndex)++ ]; } \
287 else if ( mode == LUPI::DataBuffer::Mode::Reset ) {((buf).m_intIndex)++; member = (someType) 0; }}

Referenced by MCGIDI::NuclideGammaBranchInfo::serialize(), MCGIDI::OutputChannel::serialize(), MCGIDI::Product::serialize(), MCGIDI::Reaction::serialize(), MCGIDI::URR_protareInfo::serialize(), MCGIDI::ProtareSingle::serialize2(), MCGIDI::Protare::serializeCommon(), and MCGIDI::Sampling::Upscatter::serializeModelDBRC_data().

◆ DATA_MEMBER_CHAR

#define DATA_MEMBER_CHAR ( member,
buf,
mode )
Value:
DATA_MEMBER_SIMPLE(member, (buf).m_charData, (buf).m_charIndex, mode)
#define DATA_MEMBER_SIMPLE(member, buffer, index, mode)

Definition at line 289 of file LUPI_dataBuffer.hpp.

◆ DATA_MEMBER_CHAR_ARRAY

#define DATA_MEMBER_CHAR_ARRAY ( member,
buf,
mode )
Value:
{ \
std::size_t array_size = sizeof( member ); \
for ( std::size_t member_index = 0; member_index < array_size; member_index++ ) DATA_MEMBER_CHAR( member[member_index], (buf), mode ); \
}
#define DATA_MEMBER_CHAR(member, buf, mode)

Definition at line 478 of file LUPI_dataBuffer.hpp.

478#define DATA_MEMBER_CHAR_ARRAY( member, buf, mode ) { \
479 std::size_t array_size = sizeof( member ); \
480 for ( std::size_t member_index = 0; member_index < array_size; member_index++ ) DATA_MEMBER_CHAR( member[member_index], (buf), mode ); \
481 }

Referenced by MCGIDI::NuclideGammaBranchStateInfo::serialize().

◆ DATA_MEMBER_DOUBLE

#define DATA_MEMBER_DOUBLE ( member,
buf,
mode )
Value:
DATA_MEMBER_SIMPLE(member, (buf).m_doubleData, (buf).m_doubleIndex, mode)

Definition at line 292 of file LUPI_dataBuffer.hpp.

Referenced by MCGIDI::ACE_URR_probabilityTable::serialize(), MCGIDI::DelayedNeutron::serialize(), MCGIDI::Distributions::AngularTwoBody::serialize(), MCGIDI::Distributions::Distribution::serialize(), MCGIDI::Distributions::IncoherentElasticTNSL::serialize(), MCGIDI::Distributions::KalbachMann::serialize(), MCGIDI::DomainHash::serialize(), MCGIDI::Functions::Constant1d::serialize(), MCGIDI::Functions::FunctionBase::serialize(), MCGIDI::Functions::TerrellFissionNeutronMultiplicityModel::serialize(), MCGIDI::GRIN_capture::serialize(), MCGIDI::GRIN_inelastic::serialize(), MCGIDI::HeatedCrossSectionContinuousEnergy::serialize(), MCGIDI::HeatedReactionCrossSectionContinuousEnergy::serialize(), MCGIDI::HeatedReactionCrossSectionMultiGroup::serialize(), MCGIDI::NuclideGammaBranchInfo::serialize(), MCGIDI::NuclideGammaBranchStateInfo::serialize(), MCGIDI::Probabilities::DiscreteGamma2d::serialize(), MCGIDI::Probabilities::Evaporation2d::serialize(), MCGIDI::Probabilities::NBodyPhaseSpace2d::serialize(), MCGIDI::Probabilities::PrimaryGamma2d::serialize(), MCGIDI::Probabilities::SimpleMaxwellianFission2d::serialize(), MCGIDI::Probabilities::Watt2d::serialize(), MCGIDI::Product::serialize(), MCGIDI::Reaction::serialize(), MCGIDI::Sampling::Upscatter::ModelDBRC_data::serialize(), MCGIDI::URR_protareInfo::serialize(), MCGIDI::ProtareComposite::serialize2(), MCGIDI::ProtareSingle::serialize2(), MCGIDI::ProtareTNSL::serialize2(), and MCGIDI::Protare::serializeCommon().

◆ DATA_MEMBER_FLOAT

#define DATA_MEMBER_FLOAT ( member,
buf,
mode )
Value:
DATA_MEMBER_SIMPLE(member, (buf).m_floatData, (buf).m_floatIndex, mode)

Definition at line 291 of file LUPI_dataBuffer.hpp.

◆ DATA_MEMBER_INT

#define DATA_MEMBER_INT ( member,
buf,
mode )
Value:
DATA_MEMBER_SIMPLE(member, (buf).m_intData, (buf).m_intIndex, mode)

Definition at line 290 of file LUPI_dataBuffer.hpp.

Referenced by MCGIDI::ContinuousEnergyGain::serialize(), MCGIDI::DelayedNeutron::serialize(), MCGIDI::Distributions::AngularTwoBody::serialize(), MCGIDI::Distributions::Branching3d::serialize(), MCGIDI::Distributions::CoherentElasticTNSL::serialize(), MCGIDI::Distributions::CoherentPhotoAtomicScattering::serialize(), MCGIDI::Distributions::Distribution::serialize(), MCGIDI::Distributions::PairProductionGamma::serialize(), MCGIDI::Functions::Branching1d::serialize(), MCGIDI::Functions::Function1d::serialize(), MCGIDI::Functions::Function2d::serialize(), MCGIDI::Functions::FunctionBase::serialize(), MCGIDI::Functions::Regions1d::serialize(), MCGIDI::Functions::XYs2d::serialize(), MCGIDI::GRIN_capture::serialize(), MCGIDI::GRIN_captureLevelProbability::serialize(), MCGIDI::GRIN_inelastic::serialize(), MCGIDI::HeatedCrossSectionContinuousEnergy::serialize(), MCGIDI::HeatedCrossSectionMultiGroup::serialize(), MCGIDI::HeatedCrossSectionsContinuousEnergy::serialize(), MCGIDI::HeatedCrossSectionsMultiGroup::serialize(), MCGIDI::MultiGroupGain::serialize(), MCGIDI::NuclideGammaBranchInfo::serialize(), MCGIDI::NuclideGammaBranchStateInfo::serialize(), MCGIDI::OutputChannel::serialize(), MCGIDI::Probabilities::NBodyPhaseSpace2d::serialize(), MCGIDI::Probabilities::PrimaryGamma2d::serialize(), MCGIDI::Probabilities::ProbabilityBase1d::serialize(), MCGIDI::Probabilities::ProbabilityBase3d::serialize(), MCGIDI::Probabilities::Regions2d::serialize(), MCGIDI::Probabilities::WeightedFunctionals2d::serialize(), MCGIDI::Probabilities::XYs2d::serialize(), MCGIDI::Probabilities::XYs3d::serialize(), MCGIDI::Product::serialize(), MCGIDI::Reaction::serialize(), MCGIDI::URR_protareInfos::serialize(), MCGIDI::ProtareComposite::serialize2(), MCGIDI::ProtareSingle::serialize2(), MCGIDI::ProtareTNSL::serialize2(), MCGIDI::serializeACE_URR_probabilityTables(), MCGIDI::Protare::serializeCommon(), MCGIDI::serializeDelayedNeutrons(), MCGIDI::serializeDistribution(), MCGIDI::serializeFissionResiduals(), MCGIDI::serializeFunction1d(), MCGIDI::serializeFunction1d_d1(), MCGIDI::serializeFunction1d_d2(), MCGIDI::serializeFunction2d(), MCGIDI::serializeProbability1d(), MCGIDI::serializeProbability2d(), MCGIDI::serializeProbability2d_d1(), MCGIDI::serializeProbability2d_d2(), MCGIDI::serializeProbability3d(), MCGIDI::serializeProducts(), MCGIDI::serializeQs(), and MCGIDI::serializeURR_mode().

◆ DATA_MEMBER_SIMPLE

#define DATA_MEMBER_SIMPLE ( member,
buffer,
index,
mode )
Value:
{if ( mode == LUPI::DataBuffer::Mode::Count ) {(index)++; } \
else if ( mode == LUPI::DataBuffer::Mode::Pack ) {(buffer)[ (index)++ ] = (member); } \
else if ( mode == LUPI::DataBuffer::Mode::Unpack ) {member = (buffer)[ (index)++ ]; } \
else if ( mode == LUPI::DataBuffer::Mode::Reset ) {(index)++; member = 0; }}

Definition at line 277 of file LUPI_dataBuffer.hpp.

277#define DATA_MEMBER_SIMPLE(member, buffer, index, mode) \
278 {if ( mode == LUPI::DataBuffer::Mode::Count ) {(index)++; } \
279 else if ( mode == LUPI::DataBuffer::Mode::Pack ) {(buffer)[ (index)++ ] = (member); } \
280 else if ( mode == LUPI::DataBuffer::Mode::Unpack ) {member = (buffer)[ (index)++ ]; } \
281 else if ( mode == LUPI::DataBuffer::Mode::Reset ) {(index)++; member = 0; }}

◆ DATA_MEMBER_SIZE_T

◆ DATA_MEMBER_STD_STRING

#define DATA_MEMBER_STD_STRING ( member,
buf,
mode )
Value:
{ \
{((buf).m_charIndex) += member.size(); ((buf).m_size_tIndex)++; } \
else if ( mode == LUPI::DataBuffer::Mode::Pack ) {std::size_t array_size = member.size(); \
(buf).m_size_tData[((buf).m_size_tIndex)++] = array_size; \
for (std::size_t size_index = 0; size_index < array_size; size_index++)\
{(buf).m_charData[((buf).m_charIndex)++] = (member[size_index]); }} \
else if ( mode == LUPI::DataBuffer::Mode::Unpack ) {std::size_t array_size = (std::size_t) (buf).m_size_tData[((buf).m_size_tIndex)++]; \
member.resize(array_size); \
for (std::size_t size_index = 0; size_index < array_size; size_index++) \
{member[size_index] = (buf).m_charData[ ((buf).m_charIndex)++ ]; }} }

Definition at line 310 of file LUPI_dataBuffer.hpp.

310#define DATA_MEMBER_STD_STRING(member, buf, mode) { \
311 if ( mode == LUPI::DataBuffer::Mode::Count ) \
312 {((buf).m_charIndex) += member.size(); ((buf).m_size_tIndex)++; } \
313 else if ( mode == LUPI::DataBuffer::Mode::Pack ) {std::size_t array_size = member.size(); \
314 (buf).m_size_tData[((buf).m_size_tIndex)++] = array_size; \
315 for (std::size_t size_index = 0; size_index < array_size; size_index++)\
316 {(buf).m_charData[((buf).m_charIndex)++] = (member[size_index]); }} \
317 else if ( mode == LUPI::DataBuffer::Mode::Unpack ) {std::size_t array_size = (std::size_t) (buf).m_size_tData[((buf).m_size_tIndex)++]; \
318 member.resize(array_size); \
319 for (std::size_t size_index = 0; size_index < array_size; size_index++) \
320 {member[size_index] = (buf).m_charData[ ((buf).m_charIndex)++ ]; }} }

Referenced by GUPI::Ancestry::serialize(), and GUPI::Entry::serialize().

◆ DATA_MEMBER_STRING

#define DATA_MEMBER_STRING ( member,
buf,
mode )
Value:
{if ( mode == LUPI::DataBuffer::Mode::Count ) {((buf).m_charIndex) += member.size(); ((buf).m_size_tIndex)++; } \
else if ( mode == LUPI::DataBuffer::Mode::Pack ) {std::size_t array_size = member.size(); \
(buf).m_size_tData[((buf).m_size_tIndex)++] = array_size; \
for (std::size_t size_index = 0; size_index < array_size; size_index++)\
{(buf).m_charData[ ((buf).m_charIndex)++ ] = (member[size_index]); }} \
else if ( mode == LUPI::DataBuffer::Mode::Unpack ) {std::size_t array_size = (buf).m_size_tData[((buf).m_size_tIndex)++]; \
member.resize(array_size, &(buf).m_placement); \
for (std::size_t size_index = 0; size_index < array_size; size_index++) \
{member[size_index] = (buf).m_charData[ ((buf).m_charIndex)++ ]; }} \
else if ( mode == LUPI::DataBuffer::Mode::Reset ) {std::size_t array_size = member.size(); \
for (std::size_t size_index = 0; size_index < array_size; size_index++) \
{((buf).m_charIndex)++; member[size_index] = '\0'; }} \
else if ( mode == LUPI::DataBuffer::Mode::Memory ) { (buf).incrementPlacement(sizeof(char) * (member.size()+1)); } }

Definition at line 295 of file LUPI_dataBuffer.hpp.

295#define DATA_MEMBER_STRING(member, buf, mode) \
296 {if ( mode == LUPI::DataBuffer::Mode::Count ) {((buf).m_charIndex) += member.size(); ((buf).m_size_tIndex)++; } \
297 else if ( mode == LUPI::DataBuffer::Mode::Pack ) {std::size_t array_size = member.size(); \
298 (buf).m_size_tData[((buf).m_size_tIndex)++] = array_size; \
299 for (std::size_t size_index = 0; size_index < array_size; size_index++)\
300 {(buf).m_charData[ ((buf).m_charIndex)++ ] = (member[size_index]); }} \
301 else if ( mode == LUPI::DataBuffer::Mode::Unpack ) {std::size_t array_size = (buf).m_size_tData[((buf).m_size_tIndex)++]; \
302 member.resize(array_size, &(buf).m_placement); \
303 for (std::size_t size_index = 0; size_index < array_size; size_index++) \
304 {member[size_index] = (buf).m_charData[ ((buf).m_charIndex)++ ]; }} \
305 else if ( mode == LUPI::DataBuffer::Mode::Reset ) {std::size_t array_size = member.size(); \
306 for (std::size_t size_index = 0; size_index < array_size; size_index++) \
307 {((buf).m_charIndex)++; member[size_index] = '\0'; }} \
308 else if ( mode == LUPI::DataBuffer::Mode::Memory ) { (buf).incrementPlacement(sizeof(char) * (member.size()+1)); } }

Referenced by MCGIDI::Probabilities::PrimaryGamma2d::serialize(), MCGIDI::Probabilities::Recoil2d::serialize(), MCGIDI::Product::serialize(), MCGIDI::Reaction::serialize(), MCGIDI::ProtareSingle::serialize2(), and MCGIDI::Protare::serializeCommon().

◆ DATA_MEMBER_VECTOR_BOOL

#define DATA_MEMBER_VECTOR_BOOL ( member,
buf,
mode )
Value:
{ \
std::size_t vector_size = member.size(); \
DATA_MEMBER_SIZE_T(vector_size, (buf), mode); \
if ( mode == LUPI::DataBuffer::Mode::Unpack ) { \
if ((buf).m_sharedPlacement == nullptr) { \
member.resize(vector_size, &(buf).m_placement); \
} else { \
member.resize(vector_size, &(buf).m_sharedPlacement); \
} \
}\
if ( mode == LUPI::DataBuffer::Mode::Memory ) { \
(buf).incrementSharedPlacement(sizeof(int) * member.capacity()); \
} \
for ( std::size_t member_index = 0; member_index < vector_size; member_index++ ) \
{ \
DATA_MEMBER_CAST(member[member_index], (buf), mode, bool); \
} \
}

Definition at line 445 of file LUPI_dataBuffer.hpp.

445#define DATA_MEMBER_VECTOR_BOOL(member, buf, mode) \
446 { \
447 std::size_t vector_size = member.size(); \
448 DATA_MEMBER_SIZE_T(vector_size, (buf), mode); \
449 if ( mode == LUPI::DataBuffer::Mode::Unpack ) { \
450 if ((buf).m_sharedPlacement == nullptr) { \
451 member.resize(vector_size, &(buf).m_placement); \
452 } else { \
453 member.resize(vector_size, &(buf).m_sharedPlacement); \
454 } \
455 }\
456 if ( mode == LUPI::DataBuffer::Mode::Memory ) { \
457 (buf).incrementSharedPlacement(sizeof(int) * member.capacity()); \
458 } \
459 for ( std::size_t member_index = 0; member_index < vector_size; member_index++ ) \
460 { \
461 DATA_MEMBER_CAST(member[member_index], (buf), mode, bool); \
462 } \
463 }

Referenced by MCGIDI::GRIN_levelsAndProbabilities::serialize().

◆ DATA_MEMBER_VECTOR_DOUBLE

#define DATA_MEMBER_VECTOR_DOUBLE ( member,
buf,
mode )
Value:
{ \
std::size_t vector_size = member.size(); \
DATA_MEMBER_SIZE_T(vector_size, (buf), mode); \
if ( mode == LUPI::DataBuffer::Mode::Unpack ) { \
if ((buf).m_sharedPlacement == nullptr) { \
member.resize(vector_size, &(buf).m_placement); \
} else { \
member.resize(vector_size, &(buf).m_sharedPlacement); \
} \
}\
if ( mode == LUPI::DataBuffer::Mode::Memory ) { \
(buf).incrementSharedPlacement(sizeof(double) * member.capacity()); \
} \
for ( std::size_t member_index = 0; member_index < vector_size; member_index++ ) \
{ \
DATA_MEMBER_DOUBLE(member[member_index], (buf), mode); \
} \
}

Definition at line 371 of file LUPI_dataBuffer.hpp.

371#define DATA_MEMBER_VECTOR_DOUBLE(member, buf, mode) \
372 { \
373 std::size_t vector_size = member.size(); \
374 DATA_MEMBER_SIZE_T(vector_size, (buf), mode); \
375 if ( mode == LUPI::DataBuffer::Mode::Unpack ) { \
376 if ((buf).m_sharedPlacement == nullptr) { \
377 member.resize(vector_size, &(buf).m_placement); \
378 } else { \
379 member.resize(vector_size, &(buf).m_sharedPlacement); \
380 } \
381 }\
382 if ( mode == LUPI::DataBuffer::Mode::Memory ) { \
383 (buf).incrementSharedPlacement(sizeof(double) * member.capacity()); \
384 } \
385 for ( std::size_t member_index = 0; member_index < vector_size; member_index++ ) \
386 { \
387 DATA_MEMBER_DOUBLE(member[member_index], (buf), mode); \
388 } \
389 }

Referenced by MCGIDI::ACE_URR_probabilityTable::serialize(), MCGIDI::ACE_URR_probabilityTables::serialize(), MCGIDI::Distributions::CoherentElasticTNSL::serialize(), MCGIDI::Distributions::CoherentPhotoAtomicScattering::serialize(), MCGIDI::Distributions::IncoherentBoundToFreePhotoAtomicScattering::serialize(), MCGIDI::Distributions::IncoherentPhotoAtomicScattering::serialize(), MCGIDI::Functions::Gridded1d::serialize(), MCGIDI::Functions::Polynomial1d::serialize(), MCGIDI::Functions::Regions1d::serialize(), MCGIDI::Functions::XYs1d::serialize(), MCGIDI::Functions::XYs2d::serialize(), MCGIDI::GRIN_capture::serialize(), MCGIDI::GRIN_inelastic::serialize(), MCGIDI::GRIN_inelasticForEnergy::serialize(), MCGIDI::GRIN_levelsAndProbabilities::serialize(), MCGIDI::HeatedCrossSectionContinuousEnergy::serialize(), MCGIDI::HeatedCrossSectionMultiGroup::serialize(), MCGIDI::HeatedCrossSectionsContinuousEnergy::serialize(), MCGIDI::HeatedCrossSectionsMultiGroup::serialize(), MCGIDI::HeatedReactionCrossSectionMultiGroup::serialize(), MCGIDI::MultiGroupGain::serialize(), MCGIDI::MultiGroupHash::serialize(), MCGIDI::Probabilities::ProbabilityBase::serialize(), MCGIDI::Probabilities::Xs_pdf_cdf1d::serialize(), MCGIDI::Sampling::Upscatter::ModelDBRC_data::serialize(), and MCGIDI::ProtareSingle::serialize2().

◆ DATA_MEMBER_VECTOR_FLOAT

#define DATA_MEMBER_VECTOR_FLOAT ( member,
buf,
mode )
Value:
{ \
std::size_t vector_size = member.size(); \
DATA_MEMBER_SIZE_T(vector_size, (buf), mode); \
if ( mode == LUPI::DataBuffer::Mode::Unpack ) { \
if ((buf).m_sharedPlacement == nullptr) { \
member.resize(vector_size, &(buf).m_placement); \
} else { \
member.resize(vector_size, &(buf).m_sharedPlacement); \
} \
}\
if ( mode == LUPI::DataBuffer::Mode::Memory ) { \
(buf).incrementSharedPlacement(sizeof(float) * member.capacity()); \
} \
for ( std::size_t member_index = 0; member_index < vector_size; member_index++ ) \
{ \
DATA_MEMBER_FLOAT(member[member_index], (buf), mode); \
} \
}

Definition at line 352 of file LUPI_dataBuffer.hpp.

352#define DATA_MEMBER_VECTOR_FLOAT(member, buf, mode) \
353 { \
354 std::size_t vector_size = member.size(); \
355 DATA_MEMBER_SIZE_T(vector_size, (buf), mode); \
356 if ( mode == LUPI::DataBuffer::Mode::Unpack ) { \
357 if ((buf).m_sharedPlacement == nullptr) { \
358 member.resize(vector_size, &(buf).m_placement); \
359 } else { \
360 member.resize(vector_size, &(buf).m_sharedPlacement); \
361 } \
362 }\
363 if ( mode == LUPI::DataBuffer::Mode::Memory ) { \
364 (buf).incrementSharedPlacement(sizeof(float) * member.capacity()); \
365 } \
366 for ( std::size_t member_index = 0; member_index < vector_size; member_index++ ) \
367 { \
368 DATA_MEMBER_FLOAT(member[member_index], (buf), mode); \
369 } \
370 }

◆ DATA_MEMBER_VECTOR_INT

#define DATA_MEMBER_VECTOR_INT ( member,
buf,
mode )
Value:
{ \
std::size_t vector_size = member.size(); \
DATA_MEMBER_SIZE_T(vector_size, (buf), mode); \
if ( mode == LUPI::DataBuffer::Mode::Unpack ) { \
if ((buf).m_sharedPlacement == nullptr) { \
member.resize(vector_size, &(buf).m_placement); \
} else { \
member.resize(vector_size, &(buf).m_sharedPlacement); \
} \
}\
if ( mode == LUPI::DataBuffer::Mode::Memory ) { \
(buf).incrementSharedPlacement(sizeof(int) * member.capacity()); \
} \
for ( std::size_t member_index = 0; member_index < vector_size; member_index++ ) \
{ \
DATA_MEMBER_INT(member[member_index], (buf), mode); \
} \
}

Definition at line 408 of file LUPI_dataBuffer.hpp.

408#define DATA_MEMBER_VECTOR_INT(member, buf, mode) \
409 { \
410 std::size_t vector_size = member.size(); \
411 DATA_MEMBER_SIZE_T(vector_size, (buf), mode); \
412 if ( mode == LUPI::DataBuffer::Mode::Unpack ) { \
413 if ((buf).m_sharedPlacement == nullptr) { \
414 member.resize(vector_size, &(buf).m_placement); \
415 } else { \
416 member.resize(vector_size, &(buf).m_sharedPlacement); \
417 } \
418 }\
419 if ( mode == LUPI::DataBuffer::Mode::Memory ) { \
420 (buf).incrementSharedPlacement(sizeof(int) * member.capacity()); \
421 } \
422 for ( std::size_t member_index = 0; member_index < vector_size; member_index++ ) \
423 { \
424 DATA_MEMBER_INT(member[member_index], (buf), mode); \
425 } \
426 }

Referenced by MCGIDI::GRIN_levelsAndProbabilities::serialize(), MCGIDI::HeatedCrossSectionsMultiGroup::serialize(), MCGIDI::Reaction::serialize(), and MCGIDI::Protare::serializeCommon().

◆ DATA_MEMBER_VECTOR_SIZE_T

#define DATA_MEMBER_VECTOR_SIZE_T ( member,
buf,
mode )
Value:
{ \
std::size_t vector_size = member.size(); \
DATA_MEMBER_SIZE_T(vector_size, (buf), mode); \
if ( mode == LUPI::DataBuffer::Mode::Unpack ) { \
if ((buf).m_sharedPlacement == nullptr) { \
member.resize(vector_size, &(buf).m_placement); \
} else { \
member.resize(vector_size, &(buf).m_sharedPlacement); \
} \
}\
if ( mode == LUPI::DataBuffer::Mode::Memory ) { \
(buf).incrementSharedPlacement(sizeof(std::size_t) * member.capacity()); \
} \
for ( std::size_t member_index = 0; member_index < vector_size; member_index++ ) \
{ \
DATA_MEMBER_SIZE_T(member[member_index], (buf), mode); \
} \
}

Definition at line 500 of file LUPI_dataBuffer.hpp.

500#define DATA_MEMBER_VECTOR_SIZE_T(member, buf, mode) \
501 { \
502 std::size_t vector_size = member.size(); \
503 DATA_MEMBER_SIZE_T(vector_size, (buf), mode); \
504 if ( mode == LUPI::DataBuffer::Mode::Unpack ) { \
505 if ((buf).m_sharedPlacement == nullptr) { \
506 member.resize(vector_size, &(buf).m_placement); \
507 } else { \
508 member.resize(vector_size, &(buf).m_sharedPlacement); \
509 } \
510 }\
511 if ( mode == LUPI::DataBuffer::Mode::Memory ) { \
512 (buf).incrementSharedPlacement(sizeof(std::size_t) * member.capacity()); \
513 } \
514 for ( std::size_t member_index = 0; member_index < vector_size; member_index++ ) \
515 { \
516 DATA_MEMBER_SIZE_T(member[member_index], (buf), mode); \
517 } \
518 }

Referenced by MCGIDI::GRIN_inelasticForEnergy::serialize(), MCGIDI::HeatedCrossSectionContinuousEnergy::serialize(), MCGIDI::NuclideGammaBranchStateInfo::serialize(), MCGIDI::Reaction::serialize(), and MCGIDI::Sampling::Upscatter::ModelDBRC_data::serialize().