GEOSX
Public Member Functions | List of all members
LvArray::bufferManipulation::VoidBuffer Class Reference

This class implements the default behavior for the Buffer methods related to execution space. This class is not intended to be used directly, instead derive from it if you would like to inherit the default behavior. More...

#include <bufferManipulation.hpp>

Inheritance diagram for LvArray::bufferManipulation::VoidBuffer:
Inheritance graph
[legend]

Public Member Functions

void moveNested (MemorySpace const space, std::ptrdiff_t const size, bool const touch) const
 Move the buffer to the given execution space, optionally touching it. More...
 
void move (MemorySpace const space, bool const touch) const
 Move the buffer to the given execution space, optionally touching it. More...
 
MemorySpace getPreviousSpace () const
 
void registerTouch (MemorySpace const space) const
 Touch the buffer in the given space. More...
 
template<typename = VoidBuffer>
void setName (std::string const &name)
 Set the name associated with this buffer. More...
 

Detailed Description

This class implements the default behavior for the Buffer methods related to execution space. This class is not intended to be used directly, instead derive from it if you would like to inherit the default behavior.

Definition at line 78 of file bufferManipulation.hpp.

Member Function Documentation

◆ getPreviousSpace()

MemorySpace LvArray::bufferManipulation::VoidBuffer::getPreviousSpace ( ) const
inline
Returns
The last space the buffer was moved to.
Note
The default behavior is that the Buffer can only exist on the CPU.

Definition at line 112 of file bufferManipulation.hpp.

◆ move()

void LvArray::bufferManipulation::VoidBuffer::move ( MemorySpace const  space,
bool const  touch 
) const
inline

Move the buffer to the given execution space, optionally touching it.

Parameters
spaceThe space to move the buffer to.
touchWhether the buffer should be touched in the new space or not.
Note
The default behavior is that the Buffer can only exist on the CPU and an error occurs if you try to move it to a different space.

Definition at line 102 of file bufferManipulation.hpp.

◆ moveNested()

void LvArray::bufferManipulation::VoidBuffer::moveNested ( MemorySpace const  space,
std::ptrdiff_t const  size,
bool const  touch 
) const
inline

Move the buffer to the given execution space, optionally touching it.

Parameters
spaceThe space to move the buffer to.
sizeThe size of the buffer.
touchWhether the buffer should be touched in the new space or not.
Note
The default behavior is that the Buffer can only exist on the CPU and an error occurs if you try to move it to a different space.

Definition at line 88 of file bufferManipulation.hpp.

◆ registerTouch()

void LvArray::bufferManipulation::VoidBuffer::registerTouch ( MemorySpace const  space) const
inline

Touch the buffer in the given space.

Parameters
spacethe space to touch.
Note
The default behavior is that the Buffer can only exist on the CPU and an error occurs if you try to move it to a different space.

Definition at line 121 of file bufferManipulation.hpp.

◆ setName()

template<typename = VoidBuffer>
void LvArray::bufferManipulation::VoidBuffer::setName ( std::string const &  name)
inline

Set the name associated with this buffer.

Template Parameters
Thetype of the owning object.
Parameters
namethe name of the buffer.

Definition at line 131 of file bufferManipulation.hpp.


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