GEOSX
Public Types | Public Member Functions | List of all members
geosx::dataRepository::Wrapper< T > Class Template Referencefinal

#include <Wrapper.hpp>

Inheritance diagram for geosx::dataRepository::Wrapper< T >:
Inheritance graph
[legend]

Public Types

using TYPE = T
 Alias for the wrapped type T.
 

Public Member Functions

virtual HistoryMetadata getHistoryMetadata (localIndex const packCount=-1) const override final
 Get a description of the wrapped data for time history collection/output. More...
 
void const * voidPointer () const override
 
virtual localIndex elementByteSize () const override
 
Constructors, destructor, copy/move assignment
 Wrapper (std::string const &name, Group *const parent)
 Constructor that creates a new instance of wrapped type. More...
 
 Wrapper (std::string const &name, Group *const parent, std::unique_ptr< T > object)
 Constructor that takes ownership of an existing object. More...
 
 Wrapper (std::string const &name, Group *const parent, T *object)
 Constructor that does not take ownership of an existing object. More...
 
virtual ~Wrapper () noexcept override
 Default destructor. More...
 
Wrapperoperator= (Wrapper const &source)
 Copy Assignment Operator. More...
 
Wrapperoperator= (Wrapper &&source)
 Move Assignment Operator. More...
 
Miscellaneous
virtual std::unique_ptr< WrapperBaseclone (string const &name, Group *const parent) override
 Creates a clone of *this WrapperBase. More...
 
virtual void copyWrapper (WrapperBase const &source) override
 Copies the contents of a Wrapper into *this. More...
 
virtual void copyWrapperAttributes (WrapperBase const &source) override
 Copy attributes from another wrapper. More...
 
virtual const std::type_info & get_typeid () const noexcept override
 Get the typeid of T. More...
 
Packing/unpacking methods.
virtual bool isPackable (bool onDevice) const override
 Check whether wrapped type is can be packed into a buffer on host or device. More...
 
virtual localIndex Pack (buffer_unit_type *&buffer, bool withMetadata, bool onDevice) const override final
 Pack the entire wrapped object into a buffer. More...
 
virtual localIndex PackByIndex (buffer_unit_type *&buffer, arrayView1d< localIndex const > const &packList, bool withMetadata, bool onDevice) const override final
 For indexable types, pack selected indices of wrapped object into a buffer. More...
 
virtual localIndex PackSize (bool withMetadata, bool onDevice) const override final
 Get the buffer size needed to pack the entire wrapped object. More...
 
virtual localIndex PackByIndexSize (arrayView1d< localIndex const > const &packList, bool withMetadata, bool onDevice) const override final
 Get the buffer size needed to pack the selected indices wrapped object. More...
 
virtual localIndex Unpack (buffer_unit_type const *&buffer, bool withMetadata, bool onDevice) override final
 Unpack the entire wrapped object from a buffer. More...
 
virtual localIndex UnpackByIndex (buffer_unit_type const *&buffer, arrayView1d< localIndex const > const &unpackIndices, bool withMetadata, bool onDevice) override final
 For indexable types, unpack selected indices of wrapped object from a buffer. More...
 
Methods that delegate to the wrapped type

These functions will call the corresponding method on the wrapped object, if such method is declared in wrapped type.

virtual localIndex size () const override
 Calls T::size() More...
 
virtual void resize (int ndims, localIndex const *const dims) override
 Calls T::resize( num_dims, dims ) More...
 
virtual void reserve (localIndex const newCapacity) override
 Calls T::reserve( newCapacity ) if it exists, otherwise a no-op. More...
 
virtual localIndex capacity () const override
 
virtual void resize (localIndex const newSize) override
 Calls T::resize(newsize) if it exists. More...
 
virtual void copy (localIndex const sourceIndex, localIndex const destIndex) override
 Calls T::copy(sourceIndex, destIndex) More...
 
virtual void copyData (WrapperBase const &source) override
 Copy the the data contained in another wrapper into this wrapper. More...
 
virtual void move (LvArray::MemorySpace const space, bool const touch) const override
 Calls T::move(space, touch) More...
 
virtual string typeRegex () const override
 Calls TypeRegex< T >::get(). More...
 
Methods for wrapped value data access
T & reference ()
 Accessor for m_data. More...
 
GEOSX_DECLTYPE_AUTO_RETURN reference () const
 const Accessor for m_data More...
 
template<typename _T = T, typename = std::enable_if_t< traits::HasMemberFunction_toView< _T > >>
GEOSX_DECLTYPE_AUTO_RETURN referenceAsView ()
 Provide access to wrapped object converted to a view, if possible. More...
 
template<typename _T = T, typename = std::enable_if_t< !traits::HasMemberFunction_toView< _T > >>
T & referenceAsView ()
 Provide access to wrapped object converted to a view, if possible. More...
 
template<typename _T = T, typename = std::enable_if_t< traits::HasMemberFunction_toView< _T > >>
GEOSX_DECLTYPE_AUTO_RETURN referenceAsView () const
 Provide access to wrapped object converted to a view, if possible. More...
 
template<typename _T = T, typename = std::enable_if_t< !traits::HasMemberFunction_toView< _T > >>
T const & referenceAsView () const
 Provide access to wrapped object converted to a view, if possible. More...
 
Methods to manipulate default value for wrapped object
virtual bool hasDefaultValue () const final override
 Return true iff this wrapper has a valid default value. More...
 
template<typename U = T>
DefaultValue< T > const & getDefaultValueStruct () const
 Accessor for m_default. More...
 
template<typename U = T>
std::enable_if< DefaultValue< U >::has_default_value, typename DefaultValue< U >::value_type const &>::type getDefaultValue () const
 Accessor for default value. More...
 
template<typename U = T>
std::enable_if< DefaultValue< U >::has_default_value, Wrapper< T > *>::type setDefaultValue (typename DefaultValue< U >::value_type const &defaultVal)
 Setter for default value. More...
 
template<typename U = T>
std::enable_if< !traits::is_array< U > &&DefaultValue< U >::has_default_value, Wrapper< T > *>::type setApplyDefaultValue (typename DefaultValue< U >::value_type const &defaultVal)
 Set and apply for default value. More...
 
template<typename U = T>
std::enable_if< traits::is_array< U > &&DefaultValue< U >::has_default_value, Wrapper< T > *>::type setApplyDefaultValue (typename DefaultValue< U >::value_type const &defaultVal)
 Set and apply for default value. More...
 
virtual std::string getDefaultValueString () const override
 Return a string representing the default value. More...
 
virtual bool processInputFile (xmlWrapper::xmlNode const &targetNode) override
 Initialize the wrapper from the input xml node. More...
 
void setName ()
 DO_NOT_DOCUMENT. More...
 
void addBlueprintField (conduit::Node &fields, std::string const &name, std::string const &topology, std::vector< std::string > const &componentNames={}) const override
 Push the data in the wrapper into a Conduit blueprint field. More...
 
void populateMCArray (conduit::Node &node, std::vector< std::string > const &componentNames={}) const override
 Push the data in the wrapper into a Conduit Blueprint mcarray. More...
 
std::unique_ptr< WrapperBaseaverageOverSecondDim (std::string const &name, Group &group) const override
 Create a new Wrapper with values averaged over the second dimension. More...
 
void registerToWrite () const override
 Register the wrapper's data for writing with Conduit.
 
void finishWriting () const override
 Write the wrapped data into Conduit.
 
bool loadFromConduit () override
 Read the wrapped data from Conduit. More...
 
Overridden setters

Setters that replace (hide) corresponding non-virtual functions in WrapperBase with the goal of returning Wrapper<T> pointers rather than WrapperBase pointers.

Wrapper< T > * setSizedFromParent (int val)
 Set whether this wrapper is resized when its parent is resized. More...
 
Wrapper< T > * setRestartFlags (RestartFlags flags)
 Set the RestartFlags of the wrapper. More...
 
Wrapper< T > * setPlotLevel (PlotLevel const flag)
 Set the PlotLevel of the wrapper. More...
 
Wrapper< T > * setInputFlag (InputFlags const input)
 Set the InputFlag of the wrapper. More...
 
Wrapper< T > * setDescription (string const &description)
 Set the description string of the wrapper. More...
 
Wrapper< T > * setRegisteringObjects (string const &objectName)
 Add a new name to the list of groups that register this wrapper. More...
 
- Public Member Functions inherited from geosx::dataRepository::WrapperBase
 WrapperBase (string const &name, Group *const parent)
 Constructor. More...
 
virtual ~WrapperBase ()
 Default destructor.
 
void resize ()
 Calls resize(newsize) where newsize is taken from the parent Group.
 
int sizedFromParent () const
 Check whether this wrapper is resized when its parent is resized. More...
 
WrapperBasesetSizedFromParent (int val)
 Set whether this wrapper is resized when its parent is resized. More...
 
RestartFlags getRestartFlags () const
 Get the RestartFlags of the wrapper. More...
 
WrapperBasesetRestartFlags (RestartFlags flags)
 Set the RestartFlags of the wrapper. More...
 
PlotLevel getPlotLevel () const
 Get PlotLevel for this wrapper. More...
 
WrapperBasesetPlotLevel (PlotLevel const flag)
 Set the PlotLevel of the wrapper. More...
 
string const & getName () const
 Get name of the wrapper. More...
 
WrapperBasesetInputFlag (InputFlags const input)
 Set the InputFlag of the wrapper. More...
 
InputFlags getInputFlag () const
 Get the InputFlag of the wrapper. More...
 
WrapperBasesetDescription (string const &description)
 Set the description string of the wrapper. More...
 
string const & getDescription () const
 Get the description string of the wrapper. More...
 
string dumpInputOptions (bool const outputHeader) const
 
std::set< string > const & getRegisteringObjects () const
 Get the list of names of groups that registered this wrapper. More...
 
WrapperBasesetRegisteringObjects (string const &objectName)
 Add a new name to the list of groups that register this wrapper. More...
 

Static Public Member Functions

Type-casting static functions
static Wrapper< T > * cast (WrapperBase *const base)
 Static function to cast a Wrapper base to a derived Wrapper<T> More...
 
static Wrapper< T > const * cast (WrapperBase const *const base)
 Static function to cast a Wrapper base to a derived Wrapper<T> More...
 
static Wrapper< T > & cast (WrapperBase &base)
 Static function to cast a Wrapper base to a derived Wrapper<T> More...
 
static Wrapper< T > const & cast (WrapperBase const &base)
 

Additional Inherited Members

- Protected Attributes inherited from geosx::dataRepository::WrapperBase
string m_name
 Name of the object that is being wrapped.
 
Groupm_parent
 Pointer to Group that holds this WrapperBase.
 
int m_sizedFromParent
 Integer to indicate whether or not this wrapped object should be resized when m_parent is resized.
 
RestartFlags m_restart_flags
 Flag to determine the restart behavior for this wrapped object.
 
PlotLevel m_plotLevel
 Flag to store the plotLevel.
 
InputFlags m_inputFlag
 Flag to store if this wrapped object should be read from input.
 
string m_description
 A string description of the wrapped object.
 
std::set< stringm_registeringObjects
 A vector of the names of the objects that created this Wrapper.
 
conduit::Node & m_conduitNode
 A reference to the corresponding conduit::Node.
 

Detailed Description

template<typename T>
class geosx::dataRepository::Wrapper< T >

Templated class to serve as a wrapper to arbitrary objects.

Template Parameters
Tis any type that is to be wrapped by Wrapper

Definition at line 56 of file Wrapper.hpp.

Constructor & Destructor Documentation

◆ Wrapper() [1/3]

template<typename T>
geosx::dataRepository::Wrapper< T >::Wrapper ( std::string const &  name,
Group *const  parent 
)
inlineexplicit

Constructor that creates a new instance of wrapped type.

Parameters
namename of the object
parentparent group which owns the Wrapper

Definition at line 75 of file Wrapper.hpp.

◆ Wrapper() [2/3]

template<typename T>
geosx::dataRepository::Wrapper< T >::Wrapper ( std::string const &  name,
Group *const  parent,
std::unique_ptr< T >  object 
)
inlineexplicit

Constructor that takes ownership of an existing object.

Parameters
namename of the object
parentparent group that owns the Wrapper
objectobject that is being wrapped by the Wrapper

Definition at line 96 of file Wrapper.hpp.

◆ Wrapper() [3/3]

template<typename T>
geosx::dataRepository::Wrapper< T >::Wrapper ( std::string const &  name,
Group *const  parent,
T *  object 
)
inlineexplicit

Constructor that does not take ownership of an existing object.

Parameters
namename of the object
parentparent group that owns the Wrapper
objectobject that is being wrapped by the Wrapper

Definition at line 118 of file Wrapper.hpp.

◆ ~Wrapper()

template<typename T>
virtual geosx::dataRepository::Wrapper< T >::~Wrapper ( )
inlineoverridevirtualnoexcept

Default destructor.

Deletes wrapped object if the wrapper is owning

Definition at line 139 of file Wrapper.hpp.

Member Function Documentation

◆ addBlueprintField()

template<typename T>
void geosx::dataRepository::Wrapper< T >::addBlueprintField ( conduit::Node &  fields,
std::string const &  name,
std::string const &  topology,
std::vector< std::string > const &  componentNames = {} 
) const
inlineoverridevirtual

Push the data in the wrapper into a Conduit blueprint field.

Parameters
fieldsThe Conduit Node containg the blueprint fields.
nameThe name of the field.
topologyThe topology associated with the field.
componentNamesThe name of the components, if not specified they are auto generated.
Note
This wrapper must hold an LvArray::Array.

Implements geosx::dataRepository::WrapperBase.

Definition at line 792 of file Wrapper.hpp.

◆ averageOverSecondDim()

template<typename T>
std::unique_ptr< WrapperBase > geosx::dataRepository::Wrapper< T >::averageOverSecondDim ( std::string const &  name,
Group group 
) const
inlineoverridevirtual

Create a new Wrapper with values averaged over the second dimension.

Parameters
nameThe name to give the new wrapper.
groupThe group to hang the new Wrapper from.
Returns
The newly created wrapper.
Note
This Wrapper must hold an LvArray::Array of dimension 2 or greater.
The new Wrapper is not registered with group.

Implements geosx::dataRepository::WrapperBase.

Definition at line 803 of file Wrapper.hpp.

◆ capacity()

template<typename T>
virtual localIndex geosx::dataRepository::Wrapper< T >::capacity ( ) const
inlineoverridevirtual
Returns
T::capacity() if it exists, other wise calls size().

Implements geosx::dataRepository::WrapperBase.

Definition at line 503 of file Wrapper.hpp.

◆ cast() [1/4]

template<typename T>
static Wrapper< T >* geosx::dataRepository::Wrapper< T >::cast ( WrapperBase *const  base)
inlinestatic

Static function to cast a Wrapper base to a derived Wrapper<T>

Parameters
base
Returns
casted Wrapper<T>

Definition at line 228 of file Wrapper.hpp.

◆ cast() [2/4]

template<typename T>
static Wrapper< T > const* geosx::dataRepository::Wrapper< T >::cast ( WrapperBase const *const  base)
inlinestatic

Static function to cast a Wrapper base to a derived Wrapper<T>

Parameters
base
Returns
casted reference to const Wrapper<T>

Definition at line 239 of file Wrapper.hpp.

◆ cast() [3/4]

template<typename T>
static Wrapper< T >& geosx::dataRepository::Wrapper< T >::cast ( WrapperBase base)
inlinestatic

Static function to cast a Wrapper base to a derived Wrapper<T>

Parameters
base
Returns
casted Wrapper<T>

Definition at line 250 of file Wrapper.hpp.

◆ cast() [4/4]

template<typename T>
static Wrapper< T > const& geosx::dataRepository::Wrapper< T >::cast ( WrapperBase const &  base)
inlinestatic

Static function to cast a Wrapper base to a derived Wrapper<T>

Parameters
base
Returns
casted reference to const Wrapper<T>

Definition at line 260 of file Wrapper.hpp.

◆ clone()

template<typename T>
virtual std::unique_ptr< WrapperBase > geosx::dataRepository::Wrapper< T >::clone ( string const &  name,
Group *const  parent 
)
inlineoverridevirtual

Creates a clone of *this WrapperBase.

Parameters
[in]namename of the clone
[in]parentparent Group that will hold this clone
Returns

The overridden function will create a copy of the derived Wrapper<T> the using the provided values of name and parent to differentiate itself from the source.

Implements geosx::dataRepository::WrapperBase.

Definition at line 179 of file Wrapper.hpp.

◆ copy()

template<typename T>
virtual void geosx::dataRepository::Wrapper< T >::copy ( localIndex const  sourceIndex,
localIndex const  destIndex 
)
inlineoverridevirtual

Calls T::copy(sourceIndex, destIndex)

Parameters
[in]sourceIndexindex to copy from
[in]destIndexindex to copy to

Implements geosx::dataRepository::WrapperBase.

Definition at line 552 of file Wrapper.hpp.

◆ copyData()

template<typename T>
virtual void geosx::dataRepository::Wrapper< T >::copyData ( WrapperBase const &  source)
inlineoverridevirtual

Copy the the data contained in another wrapper into this wrapper.

Parameters
sourceThe wrapper that holds the data to copy.

Implements geosx::dataRepository::WrapperBase.

Definition at line 562 of file Wrapper.hpp.

◆ copyWrapper()

template<typename T>
virtual void geosx::dataRepository::Wrapper< T >::copyWrapper ( WrapperBase const &  source)
inlineoverridevirtual

Copies the contents of a Wrapper into *this.

Parameters
[in]sourceThe wrapper to copy

Implements geosx::dataRepository::WrapperBase.

Definition at line 189 of file Wrapper.hpp.

◆ copyWrapperAttributes()

template<typename T>
virtual void geosx::dataRepository::Wrapper< T >::copyWrapperAttributes ( WrapperBase const &  source)
inlineoverridevirtual

Copy attributes from another wrapper.

Parameters
[in]sourcethe source wrapper, must wrap the same type T

Reimplemented from geosx::dataRepository::WrapperBase.

Definition at line 201 of file Wrapper.hpp.

◆ elementByteSize()

template<typename T>
virtual localIndex geosx::dataRepository::Wrapper< T >::elementByteSize ( ) const
inlineoverridevirtual
Returns
the number of bytes in an object of unit size. Ie elementByteSize() * size() gives the size of memory pointed to by voidPointer().

Implements geosx::dataRepository::WrapperBase.

Definition at line 473 of file Wrapper.hpp.

◆ get_typeid()

template<typename T>
virtual const std::type_info& geosx::dataRepository::Wrapper< T >::get_typeid ( ) const
inlineoverridevirtualnoexcept

Get the typeid of T.

Returns
type_info of the wrapped type "typeid(T)"

Implements geosx::dataRepository::WrapperBase.

Definition at line 210 of file Wrapper.hpp.

◆ getDefaultValue()

template<typename T>
template<typename U = T>
std::enable_if< DefaultValue< U >::has_default_value, typename DefaultValue< U >::value_type const & >::type geosx::dataRepository::Wrapper< T >::getDefaultValue ( ) const
inline

Accessor for default value.

Returns
reference to const T

Definition at line 665 of file Wrapper.hpp.

◆ getDefaultValueString()

template<typename T>
virtual std::string geosx::dataRepository::Wrapper< T >::getDefaultValueString ( ) const
inlineoverridevirtual

Return a string representing the default value.

Returns
A string representing the default value.

Implements geosx::dataRepository::WrapperBase.

Definition at line 714 of file Wrapper.hpp.

◆ getDefaultValueStruct()

template<typename T>
template<typename U = T>
DefaultValue< T > const& geosx::dataRepository::Wrapper< T >::getDefaultValueStruct ( ) const
inline

Accessor for m_default.

Returns
reference to const m_default member

Definition at line 653 of file Wrapper.hpp.

◆ getHistoryMetadata()

template<typename T>
virtual HistoryMetadata geosx::dataRepository::Wrapper< T >::getHistoryMetadata ( localIndex const  packCount = -1) const
inlinefinaloverridevirtual

Get a description of the wrapped data for time history collection/output.

Parameters
packCountThe number of indices from the wrapped data to collect,
Returns
HistoryMetadata about the wrapped type

Implements geosx::dataRepository::WrapperBase.

Definition at line 269 of file Wrapper.hpp.

◆ hasDefaultValue()

template<typename T>
virtual bool geosx::dataRepository::Wrapper< T >::hasDefaultValue ( ) const
inlinefinaloverridevirtual

Return true iff this wrapper has a valid default value.

Returns
True iff this wrapper has a valid default value.

Implements geosx::dataRepository::WrapperBase.

Definition at line 642 of file Wrapper.hpp.

◆ isPackable()

template<typename T>
virtual bool geosx::dataRepository::Wrapper< T >::isPackable ( bool  onDevice) const
inlineoverridevirtual

Check whether wrapped type is can be packed into a buffer on host or device.

Parameters
[in]onDevicedetermine whether the wrapper is packable on host vs device
Returns
true if T is packable, false otherwise

Implements geosx::dataRepository::WrapperBase.

Definition at line 282 of file Wrapper.hpp.

◆ loadFromConduit()

template<typename T>
bool geosx::dataRepository::Wrapper< T >::loadFromConduit ( )
inlineoverridevirtual

Read the wrapped data from Conduit.

Returns
True iff the Wrapper read in data.

Implements geosx::dataRepository::WrapperBase.

Definition at line 836 of file Wrapper.hpp.

◆ move()

template<typename T>
virtual void geosx::dataRepository::Wrapper< T >::move ( LvArray::MemorySpace const  space,
bool const  touch 
) const
inlineoverridevirtual

Calls T::move(space, touch)

Parameters
[in]spaceA CHAI execution space to move the data into
[in]touchwhether to register a touch in target space

Implements geosx::dataRepository::WrapperBase.

Definition at line 570 of file Wrapper.hpp.

◆ operator=() [1/2]

template<typename T>
Wrapper& geosx::dataRepository::Wrapper< T >::operator= ( Wrapper< T > const &  source)
inline

Copy Assignment Operator.

Parameters
sourcerhs
Returns
*this

Definition at line 154 of file Wrapper.hpp.

◆ operator=() [2/2]

template<typename T>
Wrapper& geosx::dataRepository::Wrapper< T >::operator= ( Wrapper< T > &&  source)
inline

Move Assignment Operator.

Parameters
source
Returns
*this

Definition at line 165 of file Wrapper.hpp.

◆ Pack()

template<typename T>
virtual localIndex geosx::dataRepository::Wrapper< T >::Pack ( buffer_unit_type *&  buffer,
bool  withMetadata,
bool  onDevice 
) const
inlinefinaloverridevirtual

Pack the entire wrapped object into a buffer.

Parameters
[in,out]bufferthe binary buffer pointer, advanced upon completion
[in]withMetadatawhether to pack string metadata with the underlying data
[in]onDevicewhether to use device-based packing functions (buffer must be either pinned or a device pointer)
Returns
the number of buffer_unit_type units packed

Implements geosx::dataRepository::WrapperBase.

Definition at line 298 of file Wrapper.hpp.

◆ PackByIndex()

template<typename T>
virtual localIndex geosx::dataRepository::Wrapper< T >::PackByIndex ( buffer_unit_type *&  buffer,
arrayView1d< localIndex const > const &  packList,
bool  withMetadata,
bool  onDevice 
) const
inlinefinaloverridevirtual

For indexable types, pack selected indices of wrapped object into a buffer.

Parameters
[in,out]bufferthe binary buffer pointer, advanced upon completion
[in]packListthe list of indices to pack
[in]withMetadatawhether to pack string metadata with the underlying data
[in]onDevicewhether to use device-based packing functions (buffer must be either pinned or a device pointer)
Returns
the number of buffer_unit_type units packed

Implements geosx::dataRepository::WrapperBase.

Definition at line 323 of file Wrapper.hpp.

◆ PackByIndexSize()

template<typename T>
virtual localIndex geosx::dataRepository::Wrapper< T >::PackByIndexSize ( arrayView1d< localIndex const > const &  packList,
bool  withMetadata,
bool  onDevice 
) const
inlinefinaloverridevirtual

Get the buffer size needed to pack the selected indices wrapped object.

Parameters
[in]packListthe list of indices to pack
[in]withMetadatawhether to pack string metadata with the underlying data
[in]onDevicewhether to use device-based packing functions (buffer must be either pinned or a device pointer)
Returns
the number of buffer_unit_type units needed to pack

Implements geosx::dataRepository::WrapperBase.

Definition at line 377 of file Wrapper.hpp.

◆ PackSize()

template<typename T>
virtual localIndex geosx::dataRepository::Wrapper< T >::PackSize ( bool  withMetadata,
bool  onDevice 
) const
inlinefinaloverridevirtual

Get the buffer size needed to pack the entire wrapped object.

Parameters
[in]withMetadatawhether to pack string metadata with the underlying data
[in]onDevicewhether to use device-based packing functions this matters as the size on device differs from the size on host as we pack less metadata on device
Returns
the number of buffer_unit_type units needed to pack

Implements geosx::dataRepository::WrapperBase.

Definition at line 351 of file Wrapper.hpp.

◆ populateMCArray()

template<typename T>
void geosx::dataRepository::Wrapper< T >::populateMCArray ( conduit::Node &  node,
std::vector< std::string > const &  componentNames = {} 
) const
inlineoverridevirtual

Push the data in the wrapper into a Conduit Blueprint mcarray.

Parameters
nodeThe Conduit Node to put the data into.
componentNamesThe names of the components, if not specified they are auto generated.
Note
This wrapper must hold an LvArray::Array.

Implements geosx::dataRepository::WrapperBase.

Definition at line 799 of file Wrapper.hpp.

◆ processInputFile()

template<typename T>
virtual bool geosx::dataRepository::Wrapper< T >::processInputFile ( xmlWrapper< T >::xmlNode const &  targetNode)
inlineoverridevirtual

Initialize the wrapper from the input xml node.

Parameters
targetNodethe xml node to initialize from.
Returns
True iff the wrapper initialized itself from the file.

Implements geosx::dataRepository::WrapperBase.

Definition at line 750 of file Wrapper.hpp.

◆ reference() [1/2]

template<typename T>
T& geosx::dataRepository::Wrapper< T >::reference ( )
inline

Accessor for m_data.

Returns
reference to T

Definition at line 588 of file Wrapper.hpp.

◆ reference() [2/2]

template<typename T>
GEOSX_DECLTYPE_AUTO_RETURN geosx::dataRepository::Wrapper< T >::reference ( ) const
inline

const Accessor for m_data

Returns
reference to T, or in the case of an Array, a reference to an ArrayView<T const> const.

Definition at line 596 of file Wrapper.hpp.

◆ referenceAsView() [1/4]

template<typename T>
template<typename _T = T, typename = std::enable_if_t< traits::HasMemberFunction_toView< _T > >>
GEOSX_DECLTYPE_AUTO_RETURN geosx::dataRepository::Wrapper< T >::referenceAsView ( )
inline

Provide access to wrapped object converted to a view, if possible.

Template Parameters
Udummy template parameter to enable SFINAE (do not change)
Returns
the view for wrapped object

This is used mainly for LvArray classes (arrays, etc.) that can convert themselves into views. For other types, a regular reference is returned.

Definition at line 608 of file Wrapper.hpp.

◆ referenceAsView() [2/4]

template<typename T>
template<typename _T = T, typename = std::enable_if_t< !traits::HasMemberFunction_toView< _T > >>
T& geosx::dataRepository::Wrapper< T >::referenceAsView ( )
inline

Provide access to wrapped object converted to a view, if possible.

Template Parameters
Udummy template parameter to enable SFINAE (do not change)
Returns
the view for wrapped object

This is used mainly for LvArray classes (arrays, etc.) that can convert themselves into views. For other types, a regular reference is returned.

Definition at line 615 of file Wrapper.hpp.

◆ referenceAsView() [3/4]

template<typename T>
template<typename _T = T, typename = std::enable_if_t< traits::HasMemberFunction_toView< _T > >>
GEOSX_DECLTYPE_AUTO_RETURN geosx::dataRepository::Wrapper< T >::referenceAsView ( ) const
inline

Provide access to wrapped object converted to a view, if possible.

Template Parameters
Udummy template parameter to enable SFINAE (do not change)
Returns
the view for wrapped object

This is used mainly for LvArray classes (arrays, etc.) that can convert themselves into views. For other types, a regular reference is returned.

Definition at line 622 of file Wrapper.hpp.

◆ referenceAsView() [4/4]

template<typename T>
template<typename _T = T, typename = std::enable_if_t< !traits::HasMemberFunction_toView< _T > >>
T const& geosx::dataRepository::Wrapper< T >::referenceAsView ( ) const
inline

Provide access to wrapped object converted to a view, if possible.

Template Parameters
Udummy template parameter to enable SFINAE (do not change)
Returns
the view for wrapped object

This is used mainly for LvArray classes (arrays, etc.) that can convert themselves into views. For other types, a regular reference is returned.

Definition at line 629 of file Wrapper.hpp.

◆ reserve()

template<typename T>
virtual void geosx::dataRepository::Wrapper< T >::reserve ( localIndex const  newCapacity)
inlineoverridevirtual

Calls T::reserve( newCapacity ) if it exists, otherwise a no-op.

Parameters
[in]newCapacitythe new capacity of the T.

Implements geosx::dataRepository::WrapperBase.

Definition at line 496 of file Wrapper.hpp.

◆ resize() [1/2]

template<typename T>
virtual void geosx::dataRepository::Wrapper< T >::resize ( int  num_dims,
localIndex const *const  dims 
)
inlineoverridevirtual

Calls T::resize( num_dims, dims )

Parameters
[in]num_dimsnumber of dimensions in T
[in]dimspointer to the new dims

Implements geosx::dataRepository::WrapperBase.

Definition at line 489 of file Wrapper.hpp.

◆ resize() [2/2]

template<typename T>
virtual void geosx::dataRepository::Wrapper< T >::resize ( localIndex const  newsize)
inlineoverridevirtual

Calls T::resize(newsize) if it exists.

Parameters
[in]newsizeparameter to pass to T::resize(newsize)

Implements geosx::dataRepository::WrapperBase.

Definition at line 510 of file Wrapper.hpp.

◆ setApplyDefaultValue() [1/2]

template<typename T>
template<typename U = T>
std::enable_if< !traits::is_array< U > && DefaultValue< U >::has_default_value, Wrapper< T > * >::type geosx::dataRepository::Wrapper< T >::setApplyDefaultValue ( typename DefaultValue< U >::value_type const &  defaultVal)
inline

Set and apply for default value.

Parameters
defaultValthe new default value
Returns
pointer to Wrapper<T>

Definition at line 690 of file Wrapper.hpp.

◆ setApplyDefaultValue() [2/2]

template<typename T>
template<typename U = T>
std::enable_if< traits::is_array< U > && DefaultValue< U >::has_default_value, Wrapper< T > * >::type geosx::dataRepository::Wrapper< T >::setApplyDefaultValue ( typename DefaultValue< U >::value_type const &  defaultVal)
inline

Set and apply for default value.

Parameters
defaultValthe new default value
Returns
pointer to Wrapper<T>

Definition at line 704 of file Wrapper.hpp.

◆ setDefaultValue()

template<typename T>
template<typename U = T>
std::enable_if< DefaultValue< U >::has_default_value, Wrapper< T > * >::type geosx::dataRepository::Wrapper< T >::setDefaultValue ( typename DefaultValue< U >::value_type const &  defaultVal)
inline

Setter for default value.

Parameters
defaultValthe new default value
Returns
pointer to Wrapper<T>

Definition at line 677 of file Wrapper.hpp.

◆ setDescription()

template<typename T>
Wrapper< T >* geosx::dataRepository::Wrapper< T >::setDescription ( string const &  description)
inline

Set the description string of the wrapper.

Parameters
descriptionthe description
Returns
a pointer to this wrapper

Definition at line 905 of file Wrapper.hpp.

◆ setInputFlag()

template<typename T>
Wrapper< T >* geosx::dataRepository::Wrapper< T >::setInputFlag ( InputFlags const  input)
inline

Set the InputFlag of the wrapper.

Parameters
inputthe new InputFlags value
Returns
a pointer to this wrapper

Definition at line 896 of file Wrapper.hpp.

◆ setName()

template<typename T>
void geosx::dataRepository::Wrapper< T >::setName ( )
inline

DO_NOT_DOCUMENT.

Associate the path to this wrapper with the object being held.

Note
This calls T::setName( std::string ) if it exists and is a no-op if not. LvArray objects implement this method.

Definition at line 787 of file Wrapper.hpp.

◆ setPlotLevel()

template<typename T>
Wrapper< T >* geosx::dataRepository::Wrapper< T >::setPlotLevel ( PlotLevel const  flag)
inline

Set the PlotLevel of the wrapper.

Parameters
flagthe new PlotLevel value
Returns
a pointer to this wrapper

Definition at line 887 of file Wrapper.hpp.

◆ setRegisteringObjects()

template<typename T>
Wrapper< T >* geosx::dataRepository::Wrapper< T >::setRegisteringObjects ( string const &  objectName)
inline

Add a new name to the list of groups that register this wrapper.

Parameters
objectNamename of the registering object
Returns
pointer to this wrapper

Definition at line 914 of file Wrapper.hpp.

◆ setRestartFlags()

template<typename T>
Wrapper< T >* geosx::dataRepository::Wrapper< T >::setRestartFlags ( RestartFlags  flags)
inline

Set the RestartFlags of the wrapper.

Parameters
flagsthe new RestartFlags value
Returns
a pointer to this wrapper

Definition at line 878 of file Wrapper.hpp.

◆ setSizedFromParent()

template<typename T>
Wrapper< T >* geosx::dataRepository::Wrapper< T >::setSizedFromParent ( int  val)
inline

Set whether this wrapper is resized when its parent is resized.

Parameters
valan int that is converted into a bool
Returns
a pointer to this wrapper

Definition at line 869 of file Wrapper.hpp.

◆ size()

template<typename T>
virtual localIndex geosx::dataRepository::Wrapper< T >::size ( ) const
inlineoverridevirtual

Calls T::size()

Returns
result of T::size()

Implements geosx::dataRepository::WrapperBase.

Definition at line 485 of file Wrapper.hpp.

◆ typeRegex()

template<typename T>
virtual string geosx::dataRepository::Wrapper< T >::typeRegex ( ) const
inlineoverridevirtual

Calls TypeRegex< T >::get().

Returns
regex used to validate inputs of wrapped type

Implements geosx::dataRepository::WrapperBase.

Definition at line 574 of file Wrapper.hpp.

◆ Unpack()

template<typename T>
virtual localIndex geosx::dataRepository::Wrapper< T >::Unpack ( buffer_unit_type const *&  buffer,
bool  withMetadata,
bool  onDevice 
)
inlinefinaloverridevirtual

Unpack the entire wrapped object from a buffer.

Parameters
[in,out]bufferthe binary buffer pointer, advanced upon completion
[in]withMetadatawhether to expect string metadata with the underlying data
[in]onDevicewhether to use device-based packing functions (buffer must be either pinned or a device pointer)
Returns
the number of buffer_unit_type units unpacked

Implements geosx::dataRepository::WrapperBase.

Definition at line 406 of file Wrapper.hpp.

◆ UnpackByIndex()

template<typename T>
virtual localIndex geosx::dataRepository::Wrapper< T >::UnpackByIndex ( buffer_unit_type const *&  buffer,
arrayView1d< localIndex const > const &  unpackIndices,
bool  withMetadata,
bool  onDevice 
)
inlinefinaloverridevirtual

For indexable types, unpack selected indices of wrapped object from a buffer.

Parameters
[in,out]bufferthe binary buffer pointer, advanced upon completion
[in]unpackIndicesthe list of indices to pack
[in]withMetadatawhether to include metadata in the packing
[in]onDevicewhether to use device-based packing functions (buffer must be either pinned or a device pointer)
Returns
the number of buffer_unit_type units unpacked

Implements geosx::dataRepository::WrapperBase.

Definition at line 436 of file Wrapper.hpp.

◆ voidPointer()

template<typename T>
void const* geosx::dataRepository::Wrapper< T >::voidPointer ( ) const
inlineoverridevirtual
Returns
a const void pointer to the data.

Implements geosx::dataRepository::WrapperBase.

Definition at line 469 of file Wrapper.hpp.


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