https://mooseframework.inl.gov
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ReporterVectorContext< T > Class Template Reference

This context is specific for vector types of reporters, mainly for declaring a vector of the type from another context. More...

#include <ReporterContext.h>

Inheritance diagram for ReporterVectorContext< T >:
[legend]

Public Types

enum  AutoOperation
 Options for automatic parallel operations to perform by the default context. More...
 

Public Member Functions

 ReporterVectorContext (const libMesh::ParallelObject &other, const MooseObject &producer, ReporterState< std::vector< T >> &state)
 
 ReporterVectorContext (const libMesh::ParallelObject &other, const MooseObject &producer, ReporterState< std::vector< T >> &state, const std::vector< T > &default_value)
 
virtual void declareClone (ReporterData &r_data, const ReporterName &r_name, const ReporterMode &mode, const MooseObject &producer) const final
 This simply throws an error to avoid infinite instantiations. More...
 
virtual void declareVectorClone (ReporterData &r_data, const ReporterName &r_name, const ReporterMode &mode, const MooseObject &producer) const final
 This simply throws an error to avoid infinite instantiations. More...
 
virtual void resize (dof_id_type local_size) override
 Since we know that the _state value is a vector type, we can resize it based on. More...
 
virtual void clear () override
 Since we know that the _state value is a vector type, we can clear it. More...
 
virtual void vectorSum () override
 Helper for summing reporter value. More...
 
virtual std::string contextType () const override
 
const ReporterNamename () const override final
 Return the name of the Reporter value. More...
 
const ReporterState< std::vector< T > > & state () const
 Return a reference to the ReporterState object that is storing the Reporter value. More...
 
virtual std::string type () const override
 Return the type being stored by the associated ReporterState object. More...
 
virtual void finalize () override
 Perform automatic parallel communication based on the producer/consumer modes. More...
 
virtual void transfer (ReporterData &r_data, const ReporterName &r_name, unsigned int time_index=0) const override
 Perform type specific transfer. More...
 
virtual void transferToVector (ReporterData &r_data, const ReporterName &r_name, dof_id_type index, unsigned int time_index=0) const override
 Perform type specific transfer to a vector. More...
 
virtual void transferFromVector (ReporterData &r_data, const ReporterName &r_name, dof_id_type index, unsigned int time_index=0) const override
 Perform type specific transfer from a vector. More...
 
void init (const ReporterMode &mode)
 Initialize the producer mode. More...
 
const MooseObjectgetProducer () const
 Return the MooseObject that produces this Reporter. More...
 
const ReporterProducerEnumgetProducerModeEnum () const
 Return the Reporter value produced mode. More...
 
const Parallel::Communicatorcomm () const
 
processor_id_type n_processors () const
 
processor_id_type processor_id () const
 

Protected Member Functions

void broadcast ()
 
virtual void storeInfo (nlohmann::json &json) const override
 Output meta data to JSON, see JSONOutput. More...
 
virtual void store (nlohmann::json &json) const override
 Output data to JSON, see JSONOutput. More...
 
virtual void copyValuesBack () override
 Called by FEProblemBase::advanceState via ReporterData. More...
 
virtual bool restoreState () override
 Restore state to its old values. More...
 
void requiresConsumerModes (const ReporterStateBase &state, const std::set< ReporterMode > &modes) const
 Helper for checking whether or not the state state has only the modes modes. More...
 

Protected Attributes

ReporterState< std::vector< T > > & _state
 The state on which this context object operates. More...
 
const MooseObject_producer
 The MooseObject that is producing this Reporter. More...
 
ReporterProducerEnum _producer_enum
 Defines how the Reporter value can be produced and how it is being produced. More...
 
const Parallel::Communicator_communicator
 

Detailed Description

template<typename T>
class ReporterVectorContext< T >

This context is specific for vector types of reporters, mainly for declaring a vector of the type from another context.

As well as resizing the vector of data.

See also
ReporterGeneralContext::declareVectorClone and ReporterTransferInterface

Definition at line 735 of file ReporterContext.h.

Member Enumeration Documentation

◆ AutoOperation

enum ReporterContext::AutoOperation
stronginherited

Options for automatic parallel operations to perform by the default context.

Definition at line 234 of file ReporterContext.h.

235  {
236  NONE,
237  BROADCAST
238  };

Constructor & Destructor Documentation

◆ ReporterVectorContext() [1/2]

template<typename T >
ReporterVectorContext< T >::ReporterVectorContext ( const libMesh::ParallelObject other,
const MooseObject producer,
ReporterState< std::vector< T >> &  state 
)

Definition at line 828 of file ReporterContext.h.

831  : ReporterContext<std::vector<T>>(other, producer, state)
832 {
833 }
const ReporterState< std::vector< T > > & state() const
Return a reference to the ReporterState object that is storing the Reporter value.
General context that is called by all Reporter values to manage the old values.

◆ ReporterVectorContext() [2/2]

template<typename T >
ReporterVectorContext< T >::ReporterVectorContext ( const libMesh::ParallelObject other,
const MooseObject producer,
ReporterState< std::vector< T >> &  state,
const std::vector< T > &  default_value 
)

Definition at line 836 of file ReporterContext.h.

840  : ReporterContext<std::vector<T>>(other, producer, state, default_value)
841 {
842 }
const ReporterState< std::vector< T > > & state() const
Return a reference to the ReporterState object that is storing the Reporter value.
General context that is called by all Reporter values to manage the old values.

Member Function Documentation

◆ broadcast()

void ReporterContext< std::vector< T > >::broadcast ( )
inlineprotectedinherited

Definition at line 303 of file ReporterContext.h.

304  {
305  if constexpr (MooseUtils::canBroadcast<T>::value)
306  this->comm().broadcast(this->_state.value());
307  else
308  mooseError("Cannot broadcast Reporter type '", MooseUtils::prettyCppType<T>(), "'");
309  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
ReporterState< std::vector< T > > & _state
The state on which this context object operates.
const Parallel::Communicator & comm() const
void broadcast(T &data, const unsigned int root_id=0, const bool identical_sizes=false) const
T & value(const std::size_t time_index=0)
Return a reference to the current value or one of the old values.

◆ clear()

template<typename T >
virtual void ReporterVectorContext< T >::clear ( )
inlineoverridevirtual

Since we know that the _state value is a vector type, we can clear it.

Implements ReporterContextBase.

Definition at line 773 of file ReporterContext.h.

773 { this->_state.value().clear(); }
ReporterState< std::vector< T > > & _state
The state on which this context object operates.
T & value(const std::size_t time_index=0)
Return a reference to the current value or one of the old values.

◆ contextType()

template<typename T >
virtual std::string ReporterVectorContext< T >::contextType ( ) const
inlineoverridevirtual
Returns
The derived context type for this context.

This must be overridden in every class.

Implements ReporterContext< std::vector< T > >.

Definition at line 824 of file ReporterContext.h.

824 { return MooseUtils::prettyCppType(this); }
std::string prettyCppType(const std::string &cpp_type)
Definition: MooseUtils.C:1140

◆ copyValuesBack()

void ReporterContext< std::vector< T > >::copyValuesBack ( )
overrideprotectedvirtualinherited

Called by FEProblemBase::advanceState via ReporterData.

Implements ReporterContextBase.

Definition at line 412 of file ReporterContext.h.

413 {
415 }
ReporterState< std::vector< T > > & _state
The state on which this context object operates.
void copyValuesBack()
Copy stored values back in time to old/older etc.

◆ declareClone()

template<typename T >
void ReporterVectorContext< T >::declareClone ( ReporterData r_data,
const ReporterName r_name,
const ReporterMode mode,
const MooseObject producer 
) const
finalvirtual

This simply throws an error to avoid infinite instantiations.

It is defined in ReporterData.h to avoid cyclic included.

Implements ReporterContextBase.

Definition at line 594 of file ReporterData.h.

598 {
599  mooseError("Cannot create clone with ReporterVectorContext.");
600 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311

◆ declareVectorClone()

template<typename T >
void ReporterVectorContext< T >::declareVectorClone ( ReporterData r_data,
const ReporterName r_name,
const ReporterMode mode,
const MooseObject producer 
) const
finalvirtual

This simply throws an error to avoid infinite instantiations.

It is defined in ReporterData.h to avoid cyclic included.

Implements ReporterContextBase.

Definition at line 605 of file ReporterData.h.

609 {
610  mooseError("Cannot create clone with ReporterVectorContext.");
611 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311

◆ finalize()

void ReporterContext< std::vector< T > >::finalize ( )
overridevirtualinherited

Perform automatic parallel communication based on the producer/consumer modes.

Implements ReporterContextBase.

Definition at line 350 of file ReporterContext.h.

351 {
352  // Automatic parallel operation to perform
354 
355  // Set the default producer mode to ROOT
356  if (!_producer_enum.isValid())
358 
359  // Determine auto parallel operation to perform
360  const auto & producer = _producer_enum; // convenience
361  for (const auto & pair : _state.getConsumers())
362  {
363  const ReporterMode consumer = pair.first;
364  const MooseObject * moose_object = pair.second;
365 
366  // The following sets up the automatic operations and performs error checking for the various
367  // modes for the producer and consumer
368  //
369  // The data is correct and requires no operation for the following conditions (PRODUCER ->
370  // CONSUMER)
371  // ROOT -> ROOT
372  // REPLICATED -> REPLICATED
373  // DISTRIBUTED -> DISTRIBUTED
374  // REPLICATED -> ROOT
375 
376  // Perform broadcast in the case
377  // ROOT -> REPLICATED
378  if (static_cast<int>(producer) == REPORTER_MODE_ROOT && consumer == REPORTER_MODE_REPLICATED)
380 
381  // The following are not support and create an error
382  // ROOT -> DISTRIBUTED
383  // REPLICATED -> DISTRIBUTED
384  // DISTRIBUTED -> ROOT
385  // DISTRIBUTED -> REPLICATED
386  else if ((static_cast<int>(producer) == REPORTER_MODE_ROOT &&
387  consumer == REPORTER_MODE_DISTRIBUTED) ||
388  (static_cast<int>(producer) == REPORTER_MODE_REPLICATED &&
389  consumer == REPORTER_MODE_DISTRIBUTED) ||
390  (static_cast<int>(producer) == REPORTER_MODE_DISTRIBUTED &&
391  consumer == REPORTER_MODE_ROOT) ||
392  (static_cast<int>(producer) == REPORTER_MODE_DISTRIBUTED &&
393  consumer == REPORTER_MODE_REPLICATED))
394  mooseError("The Reporter value \"",
395  name(),
396  "\" is being produced in ",
397  producer,
398  " mode, but the ",
399  moose_object->typeAndName(),
400  " is requesting to consume it in ",
401  consumer,
402  " mode, which is not supported.");
403  }
404 
405  // Perform desired auto parallel operation
406  if (auto_operation == ReporterContext::AutoOperation::BROADCAST)
407  this->broadcast();
408 }
const ReporterName & name() const override final
Return the name of the Reporter value.
const std::set< std::pair< ReporterMode, const MooseObject * > > & getConsumers() const
Returns the consumers for this state; a pair that consists of the mode that the state is being consum...
Definition: ReporterState.h:56
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
const ReporterMode REPORTER_MODE_ROOT
ReporterState< std::vector< T > > & _state
The state on which this context object operates.
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:28
AutoOperation
Options for automatic parallel operations to perform by the default context.
std::string typeAndName() const
Get the class&#39;s combined type and name; useful in error handling.
Definition: MooseBase.C:57
const ReporterMode REPORTER_MODE_DISTRIBUTED
void assign(const std::string &name, const std::optional< std::string > &context={})
Definition: MooseEnum.C:60
const ReporterMode REPORTER_MODE_REPLICATED
virtual bool isValid() const override
IsValid.
Definition: MooseEnum.h:139
ReporterProducerEnum _producer_enum
Defines how the Reporter value can be produced and how it is being produced.
MooseEnumItem that automatically creates the ID and doesn&#39;t allow the ID to be assigned.
Definition: ReporterMode.h:45

◆ getProducer()

const MooseObject& ReporterContextBase::getProducer ( ) const
inlineinherited

Return the MooseObject that produces this Reporter.

Definition at line 118 of file ReporterContext.h.

Referenced by ReporterData::getReporterInfo().

118 { return _producer; }
const MooseObject & _producer
The MooseObject that is producing this Reporter.

◆ getProducerModeEnum()

const ReporterProducerEnum & ReporterContextBase::getProducerModeEnum ( ) const
inherited

Return the Reporter value produced mode.

Definition at line 28 of file ReporterContext.C.

Referenced by ReporterData::getReporterMode().

29 {
30  return _producer_enum;
31 }
ReporterProducerEnum _producer_enum
Defines how the Reporter value can be produced and how it is being produced.

◆ init()

void ReporterContextBase::init ( const ReporterMode mode)
inherited

Initialize the producer mode.

This done after construction to allow the constructor to define the available values in the ReporterProducerEnum.

See also
ReporterData::declareReporterValue

Definition at line 21 of file ReporterContext.C.

22 {
23  if (mode != REPORTER_MODE_UNSET)
24  _producer_enum.assign(mode);
25 }
const ReporterMode REPORTER_MODE_UNSET
void assign(const std::string &name, const std::optional< std::string > &context={})
Definition: MooseEnum.C:60
ReporterProducerEnum _producer_enum
Defines how the Reporter value can be produced and how it is being produced.

◆ name()

const ReporterName& ReporterContext< std::vector< T > >::name ( ) const
inlinefinaloverridevirtualinherited

Return the name of the Reporter value.

Implements ReporterContextBase.

Definition at line 251 of file ReporterContext.h.

251 { return _state.getReporterName(); }
ReporterState< std::vector< T > > & _state
The state on which this context object operates.
const ReporterName & getReporterName() const
Return the ReporterName that this state is associated with.
Definition: ReporterState.h:41

◆ requiresConsumerModes()

void ReporterContextBase::requiresConsumerModes ( const ReporterStateBase state,
const std::set< ReporterMode > &  modes 
) const
protectedinherited

Helper for checking whether or not the state state has only the modes modes.

Definition at line 34 of file ReporterContext.C.

36 {
37  for (const auto & mode_object_pair : state.getConsumers())
38  if (!modes.count(mode_object_pair.first))
39  {
40  std::stringstream oss;
41  std::copy(modes.begin(), modes.end(), std::ostream_iterator<ReporterMode>(oss, " "));
42 
43  mooseError("The Reporter value '",
44  name(),
45  "' is being produced in ",
47  " mode, but ",
48  mode_object_pair.second->typeAndName(),
49  " is requesting to consume it in ",
50  mode_object_pair.first,
51  " mode, which is not supported.\n\nThe mode must be { ",
52  oss.str(),
53  " }.\n\n",
54  ReporterData::getReporterInfo(state, this));
55  }
56 }
const std::set< std::pair< ReporterMode, const MooseObject * > > & getConsumers() const
Returns the consumers for this state; a pair that consists of the mode that the state is being consum...
Definition: ReporterState.h:56
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
virtual const ReporterName & name() const =0
Return the ReporterName that the context is associated.
std::string getReporterInfo() const
Gets information about all declared/requested Reporters.
Definition: ReporterData.C:253
ReporterProducerEnum _producer_enum
Defines how the Reporter value can be produced and how it is being produced.

◆ resize()

template<typename T >
virtual void ReporterVectorContext< T >::resize ( dof_id_type  local_size)
inlineoverridevirtual

Since we know that the _state value is a vector type, we can resize it based on.

Parameters
local_size

Implements ReporterContextBase.

Definition at line 768 of file ReporterContext.h.

768 { this->_state.value().resize(local_size); }
ReporterState< std::vector< T > > & _state
The state on which this context object operates.
T & value(const std::size_t time_index=0)
Return a reference to the current value or one of the old values.

◆ restoreState()

virtual bool ReporterContext< std::vector< T > >::restoreState ( )
inlineoverrideprotectedvirtualinherited

Restore state to its old values.

See also
ReporterState::restoreState

Implements ReporterContextBase.

Definition at line 323 of file ReporterContext.h.

323 { return _state.restoreState(); }
ReporterState< std::vector< T > > & _state
The state on which this context object operates.
bool restoreState()
Restore values to their old values, i.e.

◆ state()

const ReporterState<std::vector< T > >& ReporterContext< std::vector< T > >::state ( ) const
inlineinherited

Return a reference to the ReporterState object that is storing the Reporter value.

Definition at line 256 of file ReporterContext.h.

256 { return _state; }
ReporterState< std::vector< T > > & _state
The state on which this context object operates.

◆ store()

void ReporterContext< std::vector< T > >::store ( nlohmann::json &  json) const
overrideprotectedvirtualinherited

Output data to JSON, see JSONOutput.

Implements ReporterContextBase.

Definition at line 426 of file ReporterContext.h.

427 {
428  nlohmann::to_json(json, this->_state.value());
429 }
ReporterState< std::vector< T > > & _state
The state on which this context object operates.
void to_json(nlohmann::json &json, const Moose::LibtorchArtificialNeuralNet *const &network)
T & value(const std::size_t time_index=0)
Return a reference to the current value or one of the old values.

◆ storeInfo()

void ReporterContext< std::vector< T > >::storeInfo ( nlohmann::json &  json) const
overrideprotectedvirtualinherited

Output meta data to JSON, see JSONOutput.

Implements ReporterContextBase.

Definition at line 419 of file ReporterContext.h.

420 {
421  json["type"] = this->type();
422 }
virtual std::string type() const override
Return the type being stored by the associated ReporterState object.

◆ transfer()

void ReporterContext< std::vector< T > >::transfer ( ReporterData r_data,
const ReporterName r_name,
unsigned int  time_index = 0 
) const
overridevirtualinherited

Perform type specific transfer.

NOTE: This is defined in ReporterData.h to avoid cyclic includes that would arise. I don't know of a better solution, if you have one please implement it.

Implements ReporterContextBase.

Definition at line 515 of file ReporterData.h.

518 {
519  r_data.setReporterValue<T>(r_name, _state.value(), time_index);
520 }
ReporterState< std::vector< T > > & _state
The state on which this context object operates.
void setReporterValue(const ReporterName &reporter_name, const T &value, const std::size_t time_index=0)
Method for setting Reporter values that already exist.
Definition: ReporterData.h:494
T & value(const std::size_t time_index=0)
Return a reference to the current value or one of the old values.

◆ transferFromVector()

void ReporterContext< std::vector< T > >::transferFromVector ( ReporterData r_data,
const ReporterName r_name,
dof_id_type  index,
unsigned int  time_index = 0 
) const
overridevirtualinherited

Perform type specific transfer from a vector.

NOTE: This is defined in ReporterData.h to avoid cyclic includes that would arise. I don't know of a better solution, if you have one please implement it.

Implements ReporterContextBase.

Definition at line 542 of file ReporterData.h.

546 {
547  if constexpr (is_std_vector<T>::value)
548  {
549  if (index >= _state.value().size())
550  mooseError("Requested index ",
551  index,
552  " is outside the bounds of the vector reporter value ",
553  r_name);
554 
555  using R = typename T::value_type;
556  r_data.setReporterValue<R>(r_name, _state.value()[index], time_index);
557  }
558  else
559  {
560  libmesh_ignore(r_data);
561  libmesh_ignore(r_name);
562  libmesh_ignore(index);
563  libmesh_ignore(time_index);
564  mooseError("transferFromVector can only be used for reporter types that are specializatons of "
565  "std::vector.");
566  }
567 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
ReporterState< std::vector< T > > & _state
The state on which this context object operates.
void libmesh_ignore(const Args &...)
void setReporterValue(const ReporterName &reporter_name, const T &value, const std::size_t time_index=0)
Method for setting Reporter values that already exist.
Definition: ReporterData.h:494
T & value(const std::size_t time_index=0)
Return a reference to the current value or one of the old values.

◆ transferToVector()

void ReporterContext< std::vector< T > >::transferToVector ( ReporterData r_data,
const ReporterName r_name,
dof_id_type  index,
unsigned int  time_index = 0 
) const
overridevirtualinherited

Perform type specific transfer to a vector.

NOTE: This is defined in ReporterData.h to avoid cyclic includes that would arise. I don't know of a better solution, if you have one please implement it.

Implements ReporterContextBase.

Definition at line 525 of file ReporterData.h.

529 {
530  std::vector<T> & vec =
531  const_cast<std::vector<T> &>(r_data.getReporterValue<std::vector<T>>(r_name, time_index));
532 
533  if (index >= vec.size())
534  mooseError(
535  "Requested index ", index, " is outside the bounds of the vector reporter value ", r_name);
536  vec[index] = _state.value();
537 }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
ReporterState< std::vector< T > > & _state
The state on which this context object operates.
const T & getReporterValue(const ReporterName &reporter_name, const MooseObject &consumer, const ReporterMode &mode, const std::size_t time_index=0) const
Method for returning read only references to Reporter values.
Definition: ReporterData.h:394
T & value(const std::size_t time_index=0)
Return a reference to the current value or one of the old values.

◆ type()

virtual std::string ReporterContext< std::vector< T > >::type ( ) const
inlineoverridevirtualinherited

Return the type being stored by the associated ReporterState object.

See also
ReporterContext::storeInfo

Implements ReporterContextBase.

Definition at line 263 of file ReporterContext.h.

263 { return MooseUtils::prettyCppType<T>(); }

◆ vectorSum()

template<typename T >
virtual void ReporterVectorContext< T >::vectorSum ( )
inlineoverridevirtual

Helper for summing reporter value.

Implements ReporterContextBase.

Definition at line 775 of file ReporterContext.h.

776  {
777  // Case 1: T is type that we can sum
778  if constexpr (std::is_arithmetic<T>::value &&
779  !std::is_same<T, bool>::value) // We can't sum bools.
780  {
781  // Resize vector to max size
782  dof_id_type vec_size = this->_state.value().size();
783  this->comm().max(vec_size);
784  this->_state.value().resize(vec_size);
785 
786  this->comm().sum(this->_state.value());
787  return;
788  }
789  // Case 2: T is a vector
790  else if constexpr (is_std_vector<T>::value)
791  {
792  // Resize vector to max size
793  dof_id_type vec_size = this->_state.value().size();
794  this->comm().max(vec_size);
795  this->_state.value().resize(vec_size);
796 
797  using ValueType = typename T::value_type;
798  // Check if the ValueType is a vector
799  if constexpr (std::is_arithmetic<ValueType>::value && !std::is_same<ValueType, bool>::value)
800  {
801 #ifdef DEBUG
802  auto vec_size = this->_state.value().size();
803  this->comm().max(vec_size);
804  // Assert only passes on all ranks if they are all the same size.
805  mooseAssert(this->_state.value().size() == vec_size,
806  "Reporter vector have different sizes on different ranks.");
807 #endif
808  for (auto & val_vec : this->_state.value())
809  {
810  // Resize vector to max size
811  dof_id_type val_vec_size = val_vec.size();
812  this->comm().max(val_vec_size);
813  val_vec.resize(val_vec_size);
814 
815  this->comm().sum(val_vec);
816  }
817  return;
818  }
819  }
820  // If we don't perform a summing operation, error out.
821  mooseError("Cannot perform sum operation on non-numeric or unsupported vector types.");
822  }
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Definition: MooseError.h:311
ReporterState< std::vector< T > > & _state
The state on which this context object operates.
const Parallel::Communicator & comm() const
void max(const T &r, T &o, Request &req) const
T & value(const std::size_t time_index=0)
Return a reference to the current value or one of the old values.
uint8_t dof_id_type

Member Data Documentation

◆ _producer

const MooseObject& ReporterContextBase::_producer
protectedinherited

The MooseObject that is producing this Reporter.

Definition at line 214 of file ReporterContext.h.

Referenced by ReporterContextBase::getProducer().

◆ _producer_enum

ReporterProducerEnum ReporterContextBase::_producer_enum
protectedinherited

◆ _state

ReporterState<std::vector< T > >& ReporterContext< std::vector< T > >::_state
protectedinherited

The state on which this context object operates.

Definition at line 326 of file ReporterContext.h.

Referenced by ReporterVectorContext< T >::clear(), ReporterVectorContext< T >::resize(), and ReporterVectorContext< T >::vectorSum().


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