NeoPZ
Public Member Functions | List of all members
TPZStack< T, NumExtAlloc > Class Template Reference

This class implements a stack object. Utility. More...

#include <pzcheckmesh.h>

Inheritance diagram for TPZStack< T, NumExtAlloc >:
[legend]
Collaboration diagram for TPZStack< T, NumExtAlloc >:
[legend]

Public Member Functions

T & Peek () const
 
 TPZStack ()
 Create the stack object, indicates the stack increments. More...
 
 TPZStack (int nel, const T Object)
 
void Push (const T object)
 Pushes a copy of the object on the stack. More...
 
void push_back (const T object)
 
Pop ()
 Retrieve an object from the stack. More...
 
 operator T* () const
 Casting operator. More...
 
- Public Member Functions inherited from TPZManVector< T, NumExtAlloc >
 TPZManVector (const int64_t size=0)
 Creates a vector of a given size. More...
 
 TPZManVector (const int64_t size, const T &copy)
 Creates a vector of a given size, filling it. More...
 
 TPZManVector (const TPZManVector< T, NumExtAlloc > &copy)
 Copy constructor. More...
 
 TPZManVector (const TPZVec< T > &copy)
 
 TPZManVector (const std::initializer_list< T > &list)
 Creates a vector from a initializer list. More...
 
TPZManVector< T, NumExtAlloc > & operator= (const TPZManVector< T, NumExtAlloc > &copy)
 Assignment operator. More...
 
TPZManVector< T, NumExtAlloc > & operator= (const std::initializer_list< T > &list)
 initializer list assignment operator More...
 
virtual ~TPZManVector ()
 Destructor. More...
 
int NAlloc () const
 Returns number of elements allocated for this object. More...
 
void Expand (const int64_t newsize)
 Expands the allocated storage to fit the newsize parameter. More...
 
void Shrink ()
 It reallocates storage to fit the necessary storage exactly. More...
 
virtual void Resize (const int64_t newsize, const T &object)
 Resizes the vector object. More...
 
virtual void Resize (const int64_t newsize)
 Resizes the vector object reallocating the storage if necessary. More...
 
- Public Member Functions inherited from TPZVec< T >
 TPZVec ()
 Creates a vector with size 0. More...
 
 TPZVec (const int64_t size)
 Creates a vector of a given size. More...
 
 TPZVec (const int64_t size, const T &copy)
 Creates a vector of a given size. More...
 
 TPZVec (const TPZVec< T > &copy)
 Creates a vector with copy constructor.
will call the empty constructor on all objects of type T created. More...
 
 TPZVec (const std::initializer_list< T > &list)
 Creates a vector from a initializer list. More...
 
virtual ~TPZVec ()
 destructor, will delete the storage allocated More...
 
void MigratePages ()
 
void ReallocForNuma ()
 
TPZVec< T > & operator= (const TPZVec< T > &copy)
 will copy the vector into the current vector. More...
 
TPZVec< T > & operator= (const std::initializer_list< T > &list)
 create a new vector and stores in the current vector More...
 
TPZVec< T > & operator= (const T &a)
 Operator attribution. Fills the vector with a value of type T. More...
 
T & operator[] (const int64_t index) const
 Access operator, will perform bounds checking unless the variable NODEBUG is defined. More...
 
T * begin () const
 Casting operator. Returns The fStore pointer. More...
 
T * end () const
 Returns a pointer to the last+1 element. More...
 
void Fill (const T &copy, const int64_t from=0, const int64_t numelem=-1)
 Will fill the elements of the vector with a copy object. More...
 
int64_t NElements () const
 Returns the number of elements of the vector. More...
 
int64_t size () const
 Returns the number of elements of the vector. More...
 
virtual void resize (const int64_t newsize)
 
void Print (std::ostream &out=std::cout)
 Prints the structural information of the vector object to the output stream.
This method will not print the objects themselves! More...
 
virtual void clear ()
 Empty the vector, make its size zero. More...
 

Additional Inherited Members

- Protected Attributes inherited from TPZVec< T >
T * fStore
 Allocated storage for the vector object. More...
 
int64_t fNElements
 Number of elements of the vector object. More...
 

Detailed Description

template<class T, int NumExtAlloc = DEFAULTVEC_ALLOC>
class TPZStack< T, NumExtAlloc >

This class implements a stack object. Utility.

The TPZStack object will automatically increase its size as more object are pushed.
It inherits the memory management from the TPZManVector class.
The class T needs to implement the assignment operator and copy constructor.

Definition at line 14 of file pzcheckmesh.h.

Constructor & Destructor Documentation

◆ TPZStack() [1/2]

template<class T , int NumExtAlloc>
TPZStack< T, NumExtAlloc >::TPZStack ( )

Create the stack object, indicates the stack increments.

The size of the stack is always equal zero upon creation.

Definition at line 74 of file pzstack.h.

◆ TPZStack() [2/2]

template<class T, int NumExtAlloc = DEFAULTVEC_ALLOC>
TPZStack< T, NumExtAlloc >::TPZStack ( int  nel,
const T  Object 
)
inline

Definition at line 38 of file pzstack.h.

Member Function Documentation

◆ operator T*()

template<class T, int NumExtAlloc = DEFAULTVEC_ALLOC>
TPZStack< T, NumExtAlloc >::operator T* ( ) const
inline

Casting operator.

Returns
The fStore pointer.

Definition at line 68 of file pzstack.h.

◆ Peek()

template<class T , int NumExtAlloc>
T & TPZStack< T, NumExtAlloc >::Peek ( ) const
Returns
A reference to the first element of the stack.

Definition at line 100 of file pzstack.h.

◆ Pop()

template<class T , int NumExtAlloc>
T TPZStack< T, NumExtAlloc >::Pop ( )

◆ Push()

template<class T, int NumExtAlloc>
void TPZStack< T, NumExtAlloc >::Push ( const T  object)

Pushes a copy of the object on the stack.

Parameters
objectElement which will be copied onto the stack.

Definition at line 80 of file pzstack.h.

Referenced by TPZCompElDisc::AccumulateIntegrationRule(), TPZCompElDisc::AccumulateVertices(), TPZBuildMultiphysicsMesh::AddConnects(), TPZMultiphysicsCompMesh::AddConnects(), TPZElementGroup::AddElement(), TPZMHMeshControl::AddElementBoundaries(), TPZParFrontMatrix< TVar, store, front >::AddKel(), TPZMultCamada::AddLayer(), TPZMulticamadaOrthotropic::AddPlacaOrtho(), TPZAgglomerateElement::AddSubElementIndex(), TPZEqnArray< TVar >::AddTerm(), TPZConnect::AddToList(), TPZGeoElRefLess< TGeo >::AllHigherDimensionSides(), TPZGeoElSide::AllNeighbours(), TPZNodesetCompute::AnalyseNode(), TPZBuildMultiphysicsMesh::AppendConnects(), TPZMGAnalysis::AppendMesh(), TPZNonLinMultGridAnalysis::AppendMesh(), TPZSequenceSolver< TVar >::AppendSolver(), TPZSYsmpMatrix< TVar >::AutoFill(), TPZBlockDiagonal< STATE >::AutoFill(), TPZFYsmpMatrix< TVar >::AutoFill(), TPZEqnArray< TVar >::BeginEquation(), TPZCheckMesh::BuildDependList(), TPZNodesetCompute::BuildElementGraph(), TPZBuildMultiphysicsMesh::BuildHybridMesh(), TPZMHMixedMeshControl::BuildMultiPhysicsMesh(), TPZRefPattern::BuildSideMesh(), TPZInterpolationSpace::BuildTransferMatrix(), TPZInterpolatedElement::BuildTransferMatrix(), TPZCompElDisc::BuildTransferMatrix(), TPZNodesetCompute::BuildVertexGraph(), TPZCheckMesh::CheckConstraintDimension(), Hdiv2dPaper201504::CMeshMixed(), hdivCurvedJCompAppMath::CMeshMixed(), Hdiv3dPaper201504::CMeshMixed(), TPZRenumbering::ColorNodes(), TPZSubCompMesh::CommonMesh(), TPZCompMesh::CommonMesh(), TPZFrontSym< TVar >::Compress(), TPZFrontNonSym< TVar >::Compress(), pztopology::TPZCube::ComputeDirections(), TPZCompMesh::ComputeElGraph(), TPZGeoElSide::ComputeNeighbours(), TPZGradientReconstruction::TPZGradientData::ComputeSlopeLimiter(), TPZGradientReconstruction::TPZGradientData::ComputeSlopeLimiter2(), TPZGradientReconstruction::TPZGradientData::ComputeSlopeLimiter3(), TPZGeoElSide::ConnectedCompElementList(), TPZCompElSide::ConnectedElementList(), TPZMHMeshControl::ConnectedElements(), TPZRenumbering::CornerEqs(), TPZGeoElRefLess< TGeo >::CreateBCGeoEl(), TPZMHMeshControl::CreateInterfaceElements(), TPZInterpolatedElement::CreateMidSideConnect(), TPZMHMixedMeshControl::CreateMultiPhysicsInterfaceElements(), TPZCheckMesh::DependencyReport(), TPZDXGraphMesh::DrawSolution(), TPZParFrontStructMatrix< front >::ElementAssemble(), TPZEqnArray< TVar >::EndEquation(), TPZGeoElSide::EqualLevelCompElementList(), TPZGeoElSide::EqualLevelCompElementList3(), TPZGeoElSide::EqualorHigherCompElementList2(), TPZGeoElSide::EqualorHigherCompElementList3(), TPZAnalysisError::ExpandConnected(), TPZCompElSide::ExpandConnected(), TPZGeoMesh::FindApproxElement(), TPZMHMixedHybridMeshControl::FindConnectedElements(), TPZPoroElastoPlasticAnalysis::FindPorousMaterials(), TPZInterpolatedElement::ForceSideOrder(), TPZFront< STATE >::FreeGlobal(), TPZReadGIDGrid::GeometricGIDMesh(), TPZGeoElSide::GetAllSiblings(), TPZGeoEl::GetAllSiblings(), TPZGeoMesh::GetBoundaryElements(), TPZCompMesh::GetElementPatch(), TPZCompEl::GetRefElPatch(), pzrefine::TPZRefPrism::GetSubElements(), pzrefine::TPZRefTriangle::GetSubElements(), pzrefine::TPZRefCube::GetSubElements(), pzrefine::TPZRefQuad::GetSubElements(), pzrefine::TPZRefPyramid::GetSubElements(), pzrefine::TPZRefLinear::GetSubElements(), pzrefine::TPZRefTetrahedra::GetSubElements(), pzrefine::TPZRefPoint::GetSubElements(), TPZGeoElRefPattern< TGeo >::GetSubElements2(), TPZGeoEl::GetSubElements2(), TPZGeoElSide::HigherDimensionElementList(), pztopology::Pr< TFather >::HigherDimensionSides(), pztopology::TPZTetrahedron::HigherDimensionSides(), pztopology::TPZPyramid::HigherDimensionSides(), pztopology::TPZTriangle::HigherDimensionSides(), pztopology::TPZPrism::HigherDimensionSides(), pztopology::TPZCube::HigherDimensionSides(), pztopology::TPZQuadrilateral::HigherDimensionSides(), pztopology::TPZLine::HigherDimensionSides(), TPZMHMixedMeshControl::HybridizeSkeleton(), TPZDohrStructMatrix::IdentifyCornerNodes(), TPZInterpolatedElement::IdentifySideOrder(), TPZAgglomerateElement::IndexesDiscSubEls(), TPZInterfaceElement::InitializeElementMatrix(), TPZGradientReconstruction::TPZGradientData::InitializeGradData(), TPZHyperPlaneIntersect::Intersect(), Intersect(), TPZAgglomerateElement::ListOfDiscEl(), pztopology::Pr< TFather >::LowerDimensionSides(), pztopology::TPZTetrahedron::LowerDimensionSides(), pztopology::TPZPyramid::LowerDimensionSides(), pztopology::TPZTriangle::LowerDimensionSides(), pztopology::TPZPrism::LowerDimensionSides(), pztopology::TPZQuadrilateral::LowerDimensionSides(), pztopology::TPZCube::LowerDimensionSides(), pztopology::TPZLine::LowerDimensionSides(), TPZCompElSide::LowerIdElementList(), TPZGeoElSide::LowerLevelCompElementList2(), TPZGeoElRefPattern< TGeo >::MidSideNodeIndex(), TPZDohrPrecond< TVar, TSubStruct >::MultAdd(), TPZDohrMatrix< TVar, TSubStruct >::MultAdd(), TPZMHMixedHybridMeshControl::NeedsHDivWrapper(), TPZPlacaOrthotropic::PrintTensors(), TPZCutHillMcKee::ProcessParentNode(), TPZStack< int, 100 >::push_back(), TPZTimeTemp::ReadLine(), TPZGMSHReadMesh::ReadMesh2D(), TPZGMSHReadMesh::ReadMesh2D2(), TPZGMSHReadMesh::ReadMesh3D(), TPZCompElSide::RemoveConnectDuplicates(), TPZMultiphysicsElement::RemoveInterfaces(), TPZInterpolationSpace::RemoveInterfaces(), TPZCondensedCompEl::Resequence(), TPZGMSHReadMesh::Resequence(), TPZSloanRenumbering::Resequence(), TPZEqnArray< TVar >::Reset(), TPZAdmChunkVector< TPZGeoEl *>::Resize(), TCedricTest::Run(), TPZDohrStructMatrix::SeparateUnconnected(), TPZAdmChunkVector< TPZGeoEl *>::SetFree(), TPZBuildMultiphysicsMesh::ShowShape(), TPZAnalysis::ShowShape(), pzshape::TPZShapeTetra::SideShapeOrder(), pzshape::TPZShapePiram::SideShapeOrder(), pzshape::TPZShapePrism::SideShapeOrder(), pzshape::TPZShapeCube::SideShapeOrder(), TPZMGAnalysis::Solve(), TPZGenSubStruct::SubStructure(), TPZCompElHDiv< TSHAPE >::TPZCompElHDiv(), TPZElementGroup::TPZElementGroup(), TPZEqnArray< TVar >::TPZEqnArray(), TPZMGAnalysis::TPZMGAnalysis(), TPZNonLinMultGridAnalysis::TPZNonLinMultGridAnalysis(), TPZStack< int, 100 >::TPZStack(), TPZMHMeshControl::TransferToMultiphysics(), TPZNonLinMultGridAnalysis::TwoGridAlgorithm(), TPZNonLinMultGridAnalysis::UniformlyRefineMesh(), TPZGeoElSide::YoungestChildren(), TPZGeoEl::YoungestChildren(), and TPZAnalysisError::ZoomInSingularity().

◆ push_back()

template<class T, int NumExtAlloc = DEFAULTVEC_ALLOC>
void TPZStack< T, NumExtAlloc >::push_back ( const T  object)
inline

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