OpenVolumeMesh
Loading...
Searching...
No Matches
OpenVolumeMesh::PropertyPtr< PropT, HandleT > Class Template Reference

#include <OpenVolumeMesh/Core/PropertyPtr.hh>

Inheritance diagram for OpenVolumeMesh::PropertyPtr< PropT, HandleT >:
OpenVolumeMesh::BaseProperty OpenVolumeMesh::const_iterator< OpenVolumeMeshStatus > OpenVolumeMesh::iterator< OpenVolumeMeshStatus > OpenVolumeMesh::const_iterator< OpenVolumeMeshStatus > OpenVolumeMesh::iterator< OpenVolumeMeshStatus > OpenVolumeMesh::const_iterator< OpenVolumeMeshStatus > OpenVolumeMesh::iterator< OpenVolumeMeshStatus > OpenVolumeMesh::const_iterator< OpenVolumeMeshStatus > OpenVolumeMesh::iterator< OpenVolumeMeshStatus > OpenVolumeMesh::const_iterator< OpenVolumeMeshStatus > OpenVolumeMesh::iterator< OpenVolumeMeshStatus > OpenVolumeMesh::const_iterator< OpenVolumeMeshStatus > OpenVolumeMesh::iterator< OpenVolumeMeshStatus >

Public Types

typedef PropT::value_type value_type
 
typedef PropT::vector_type::const_iterator const_iterator
 
typedef PropT::vector_type::iterator iterator
 
typedef PropT::reference reference
 
typedef PropT::const_reference const_reference
 

Public Member Functions

 PropertyPtr (PropT *_ptr, ResourceManager &_resMan, HandleT _handle)
 Constructor.
 
virtual ~PropertyPtr ()
 Destructor.
 
virtual const std::string & name () const
 
virtual void delete_element (size_t _idx)
 
virtual void swap_elements (size_t _idx0, size_t _idx1)
 
const_iterator begin () const
 
iterator begin ()
 
const_iterator end () const
 
iterator end ()
 
reference operator[] (size_t _idx)
 
const_reference operator[] (size_t _idx) const
 
reference operator[] (const OpenVolumeMeshHandle &_h)
 
const_reference operator[] (const OpenVolumeMeshHandle &_h) const
 
virtual OpenVolumeMeshHandle handle () const
 
virtual bool persistent () const
 
virtual bool anonymous () const
 
- Public Member Functions inherited from OpenVolumeMesh::BaseProperty
 BaseProperty (ResourceManager &_resMan)
 
 BaseProperty (const BaseProperty &_cpy)
 
BasePropertyoperator= (const BaseProperty &_cpy)
 
virtual void serialize (std::ostream &_ostr) const =0
 
virtual void deserialize (std::istream &_istr)=0
 
virtual const std::string entityType () const =0
 
virtual const std::string typeNameWrapper () const =0
 

Protected Member Functions

virtual void delete_multiple_entries (const std::vector< bool > &_tags)
 
virtual void resize (unsigned int _size)
 
virtual void set_handle (const OpenVolumeMeshHandle &_handle)
 
- Protected Member Functions inherited from OpenVolumeMesh::BaseProperty
void lock ()
 
void unlock ()
 
bool locked () const
 

Friends

class ResourceManager
 

Additional Inherited Members

- Protected Attributes inherited from OpenVolumeMesh::BaseProperty
ResourceManagerresMan_
 
bool lock_
 

Detailed Description

template<class PropT, class HandleT>
class OpenVolumeMesh::PropertyPtr< PropT, HandleT >

A smart-pointer-like class that counts the encapsulated object's references and automatically deletes the memory as soon as the object is not used anymore.

Member Function Documentation

◆ anonymous()

template<class PropT, class HandleT>
virtual bool OpenVolumeMesh::PropertyPtr< PropT, HandleT >::anonymous ( ) const
inlinevirtual

◆ delete_element()

template<class PropT, class HandleT>
void OpenVolumeMesh::PropertyPtr< PropT, HandleT >::delete_element ( size_t _idx)
virtual

◆ delete_multiple_entries()

template<class PropT, class HandleT>
void OpenVolumeMesh::PropertyPtr< PropT, HandleT >::delete_multiple_entries ( const std::vector< bool > & _tags)
protectedvirtual

◆ handle()

template<class PropT, class HandleT>
OpenVolumeMeshHandle OpenVolumeMesh::PropertyPtr< PropT, HandleT >::handle ( ) const
virtual

◆ name()

template<class PropT, class HandleT>
const std::string & OpenVolumeMesh::PropertyPtr< PropT, HandleT >::name ( ) const
virtual

◆ persistent()

template<class PropT, class HandleT>
virtual bool OpenVolumeMesh::PropertyPtr< PropT, HandleT >::persistent ( ) const
inlinevirtual

◆ resize()

template<class PropT, class HandleT>
void OpenVolumeMesh::PropertyPtr< PropT, HandleT >::resize ( unsigned int _size)
protectedvirtual

◆ set_handle()

template<class PropT, class HandleT>
void OpenVolumeMesh::PropertyPtr< PropT, HandleT >::set_handle ( const OpenVolumeMeshHandle & _handle)
protectedvirtual

◆ swap_elements()

template<class PropT, class HandleT>
void OpenVolumeMesh::PropertyPtr< PropT, HandleT >::swap_elements ( size_t _idx0,
size_t _idx1 )
virtual

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