IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
Public Member Functions | Protected Attributes | List of all members
IBTK::SAMRAIScopedVectorDuplicate< TYPE > Class Template Reference

#include </home/runner/work/IBAMR/IBAMR/ibtk/include/ibtk/SAMRAIScopedVectorDuplicate.h>

Inheritance diagram for IBTK::SAMRAIScopedVectorDuplicate< TYPE >:
Inheritance graph
[legend]

Public Member Functions

 SAMRAIScopedVectorDuplicate (const SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > > &vector, const std::string &name="")
 
 SAMRAIScopedVectorDuplicate (const SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > &vector, const std::string &name="")
 
 operator SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > & ()
 
 operator SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > > ()
 
std::vector< SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > > > getComponentVectors () const
 
 ~SAMRAIScopedVectorDuplicate ()
 

Protected Attributes

SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > > d_vector
 

Detailed Description

template<typename TYPE>
class IBTK::SAMRAIScopedVectorDuplicate< TYPE >

Wrapper class around a SAMRAIVectorReal with RAII semantics (i.e., objects will deallocate data and free its patch indices). Creates a new vector and initializes its values to zero.

Note
The name of this class is analogous to the meaning of duplicate in PETSc's VecDuplicate() function.

Constructor & Destructor Documentation

◆ SAMRAIScopedVectorDuplicate() [1/2]

template<typename TYPE >
IBTK::SAMRAIScopedVectorDuplicate< TYPE >::SAMRAIScopedVectorDuplicate ( const SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > > &  vector,
const std::string name = "" 
)

Constructor. Sets up a vector equivalent to vector but does not copy values.

◆ SAMRAIScopedVectorDuplicate() [2/2]

template<typename TYPE >
IBTK::SAMRAIScopedVectorDuplicate< TYPE >::SAMRAIScopedVectorDuplicate ( const SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > &  vector,
const std::string name = "" 
)

Constructor. Sets up a vector equivalent to vector but does not copy values.

◆ ~SAMRAIScopedVectorDuplicate()

Destructor. Removes the cloned patch index and deallocates data.

Member Function Documentation

◆ getComponentVectors()

template<typename TYPE >
std::vector< SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > > > IBTK::SAMRAIScopedVectorDuplicate< TYPE >::getComponentVectors

Get the components of the vectors.

◆ operator SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > &()

template<typename TYPE >
IBTK::SAMRAIScopedVectorDuplicate< TYPE >::operator SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > &

Conversion operator to a SAMRAI vector.

◆ operator SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > >()

template<typename TYPE >
IBTK::SAMRAIScopedVectorDuplicate< TYPE >::operator SAMRAI::tbox::Pointer< SAMRAI::solv::SAMRAIVectorReal< NDIM, TYPE > >

Conversion operator to non-owning pointer to a SAMRAI vector.

Note
This operator should only be used with APIs which expect a pointer to a vector. Since this pointer is non-owning it is not an implementation of reference-counting to this object.

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