ug4
smart_pointer.h File Reference
#include <functional>
#include <cstring>
#include <boost/pointee.hpp>

Go to the source code of this file.

Classes

class  ConstSmartPtr< T, FreePolicy >
 
class  ConstSmartPtr< void >
 
class  FreeArrayDelete< T >
 
class  FreeDelete< T >
 
class  FreeRelease< T >
 
struct  std::less< SmartPtr< T, TFreePolicy > >
 
class  NullSmartPtr
 Used to construct empty smart pointers. More...
 
struct  boost::pointee< ConstSmartPtr< T > >
 
struct  boost::pointee< SmartPtr< T > >
 
class  SmartPtr< T, FreePolicy >
 
class  SmartPtr< void >
 

Namespaces

 boost
 
 std
 

Functions

template<typename T , template< class TT > class FreePolicy>
SmartPtr< T, FreePolicy > make_sp (T *inst)
 returns a SmartPtr for the passed raw pointer More...
 
template<typename T >
SmartPtr< T > make_sp (T *inst)
 returns a SmartPtr for the passed raw pointer More...
 

Variables

const NullSmartPtr SPNULL
 The equivalent to NULL for smart pointers. More...
 

Function Documentation

◆ make_sp() [1/2]

template<typename T , template< class TT > class FreePolicy>
SmartPtr<T, FreePolicy> make_sp ( T *  inst)

returns a SmartPtr for the passed raw pointer

Referenced by ug::NeumannBoundaryBase< TDomain >::add(), pcl::ParallelArchive::add_raw(), ug::DiracSourceDisc< TDomain >::add_source(), ug::DiracSourceDisc< TDomain >::add_transport_sink(), ug::AddHorizontalAnisotropyAdjuster(), ug::AddShadowCopyAdjuster(), ug::NestedIterationSolver< TDomain, TAlgebra >::apply(), ug::NewtonSolver< TAlgebra >::apply(), ug::NLGaussSeidelSolver< TDomain, TAlgebra >::apply(), ug::NLJacobiSolver< TAlgebra >::apply(), ug::CompositeTimeDiscretization< TAlgebra >::ass_tuner(), ug::SparseBlockGaussSeidel< TAlgebra, backward, forward >::block_preprocess(), ug::SparseBlockGaussSeidel2< TAlgebra, backward, forward >::block_preprocess(), ug::IDomain< TGrid, TSubsetHandler >::broadcast_refinement_projector(), ug::ProjectionHandler::clear(), ug::ConstrainedLinearIterator< TDomain, TAlgebra, TLinIt, typename >::clone(), ug::AgglomeratingIterator< TAlgebra >::clone(), ug::AgglomeratingPreconditioner< TAlgebra >::clone(), ug::BlockGaussSeidel< TAlgebra, backward, forward >::clone(), ug::BlockGaussSeidelIterative< TAlgebra, backward, forward >::clone(), ug::SparseBlockGaussSeidel< TAlgebra, backward, forward >::clone(), ug::SparseBlockGaussSeidel2< TAlgebra, backward, forward >::clone(), ug::GaussSeidel< TAlgebra >::clone(), ug::BackwardGaussSeidel< TAlgebra >::clone(), ug::SymmetricGaussSeidel< TAlgebra >::clone(), ug::ILU< TAlgebra >::clone(), ug::ILUTPreconditioner< TAlgebra >::clone(), ug::ILUTScalarPreconditioner< TAlgebra >::clone(), ug::LinearIteratorProduct< X, Y >::clone(), ug::LinearIteratorSum< X, Y >::clone(), ug::Jacobi< TAlgebra >::clone(), ug::ProjGaussSeidel< TDomain, TAlgebra >::clone(), ug::ProjBackwardGaussSeidel< TDomain, TAlgebra >::clone(), ug::ProjSymmetricGaussSeidel< TDomain, TAlgebra >::clone(), ug::SchurPrecond< TAlgebra >::clone(), ug::BoostCuthillMcKeeOrdering< TAlgebra, O_t >::clone(), ug::BoostMinimumDegreeOrdering< TAlgebra, O_t >::clone(), ug::NativeCuthillMcKeeOrdering< TAlgebra, O_t >::clone(), ug::SCCOrdering< TAlgebra, O_t >::clone(), ug::TopologicalOrdering< TAlgebra, O_t >::clone(), ug::DirectionalOrdering< TAlgebra, TDomain, O_t >::clone(), ug::LexOrdering< TAlgebra, TDomain, O_t >::clone(), ug::RiverOrdering< TAlgebra, TDomain, O_t >::clone(), ug::RasterLayers::construct_relative_to_global_height_table(), ug::bridge::Evaluate::PointEvaluatorFactory< TDomain, TAlgebra >::create(), ug::SchurPrecond< TAlgebra >::create_and_init_local_schur_complement(), ug::SchurPrecond< TAlgebra >::create_aux_vectors(), ug::UzawaBase< TDomain, TAlgebra >::create_slice_debug_writers(), ug::SlicingData< TVec, N >::create_slice_layouts(), ug::CreateConstUserData(), ug::bridge::CreateSmoothHierarchy(), ug::L2QuotientSpace< TGridFunction >::distance2(), ug::AdaptionSurfaceGridFunction< TDomain >::do_restrict(), ug::Domain< d, TGrid, TSubsetHandler >::Domain(), ug::LoadBalancer::estimate_distribution_quality_impl(), ug::FileReaderASC::FileReaderASC(), ug::Partitioner_DynamicBisection< TElem, dim >::get_partitions(), ug::GetStandardElementProlongation(), ug::GetStandardElementRestriction(), ug::ILUTPreconditioner< TAlgebra >::ILUTPreconditioner(), ug::SchurInverseWithFullMatrix< TAlgebra >::init(), ug::SchurInverseWithAutoFullMatrix< TAlgebra >::init(), ug::UzawaBase< TDomain, TAlgebra >::init_block_operators(), ug::AgglomeratingBase< TBase, TAlgebra >::init_mat(), ug::LU< TAlgebra >::init_sparse(), ug::bridge::Evaluate::NumberValuedUserDataEvaluator< TDomain, TAlgebra >::initialize(), ug::bridge::Evaluate::VectorValuedUserDataEvaluator< TDomain, TAlgebra >::initialize(), ug::Integral(), ug::IntegralNormalComponentOnManifold(), ug::Interpolate(), ug::InterpolateInner(), ug::RasterLayers::load(), ug::NeuriteProjector::BranchingRegion::load(), ug::LoadBalancer::LoadBalancer(), ug::LoadDomain(), ug::MakeGeometry3d(), ug::MaxError(), ug::L2QuotientSpace< TGridFunction >::norm2(), ug::Partitioner_DynamicBisection< TElem, dim >::partition(), ug::Partitioner_DynamicBisection< TElem, dim >::Partitioner_DynamicBisection(), ug::PartitionMap::PartitionMap(), ug::PartPreProc_RasterProjectorCoordinates< dim >::PartPreProc_RasterProjectorCoordinates(), ug::ComPol_MatCreateOverlap< TMatrix >::post_process(), ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::prep_timestep(), ug::ILUTScalarPreconditioner< TAlgebra >::preprocess(), ug::ILU< TAlgebra >::preprocess(), ug::ProjectionHandler::ProjectionHandler(), ug::ProjectionLinker< dim >::ProjectionLinker(), ug::AdaptionSurfaceGridFunction< TDomain >::prolongate(), ug::LuaUserDataFactory< TData, dim, TRet >::provide_or_create(), ug::IRefiner::refine(), ug::Refine(), ug::ProjectionHandler::refinement_begins(), ug::RasterLayers::resize(), ug::bridge::ReturnConstStdVectorRefOfClassSP(), ug::SchurComplementOperator< TAlgebra >::SchurComplementOperator(), ug::RasterLayersProjector::serialize(), ug::AssembledMultiGridCycle< TDomain, TAlgebra >::set_approximation_space(), ug::LuaCallbackObserver< TDomain, TAlgebra >::set_callback(), ug::ILinearIterator< X, Y >::set_damp(), ug::SchurComplementOperator< TAlgebra >::set_debug_dim(), ug::BinghamViscosityLinker< dim >::set_density(), ug::DarcyVelocityLinker< dim >::set_density(), ug::FV1InnerBoundaryElemDisc< TImpl, TDomain >::set_flux_scale(), ug::SubdivisionProjector::set_geometry(), ug::DarcyVelocityLinker< dim >::set_permeability(), ug::ILU< TAlgebra >::set_sort(), ug::ILUTPreconditioner< TAlgebra >::set_sort(), ug::BinghamViscosityLinker< dim >::set_viscosity(), ug::DarcyVelocityLinker< dim >::set_viscosity(), ug::BinghamViscosityLinker< dim >::set_yield_stress(), and ug::vtk_export_ho().

◆ make_sp() [2/2]

template<typename T >
SmartPtr<T> make_sp ( T *  inst)

returns a SmartPtr for the passed raw pointer