Developer Documentation
OpenVolumeMesh::PropertyPtr< T, EntityTag > Class Template Reference

#include <Type-OpenVolumeMesh/libs/OpenVolumeMesh/src/OpenVolumeMesh/Core/Properties/PropertyPtr.hh>

Inheritance diagram for OpenVolumeMesh::PropertyPtr< T, EntityTag >:
OpenVolumeMesh::HandleIndexing< EntityTag, PropertyStoragePtr< T > > OpenVolumeMesh::BasePropertyPtr OpenVolumeMesh::PropertyStoragePtr< T >

Public Member Functions

 PropertyPtr (ResourceManager *mesh, std::string _name, T const &_def=T())
 
std::string const & name () const &override
 
- Public Member Functions inherited from OpenVolumeMesh::HandleIndexing< EntityTag, PropertyStoragePtr< T > >
reference operator[] (size_t)=delete
 
reference operator[] (const EntityHandleT _h)
 
const_reference operator[] (size_t) const=delete
 
const_reference operator[] (const EntityHandleT _h) const
 
reference at (const EntityHandleT _h)
 
const_reference at (const EntityHandleT _h) const
 
- Public Member Functions inherited from OpenVolumeMesh::PropertyStoragePtr< T >
std::vector< T > const & data_vector () const
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 
size_t size () const
 
 operator bool () const
 
reference operator[] (size_t idx)
 
const_reference operator[] (size_t idx) const
 
reference at (size_t idx)
 
const_reference at (size_t idx) const
 
std::string typeNameWrapper () const
 
void serialize (std::ostream &_ostr) const
 
void deserialize (std::istream &_istr)
 
bool persistent () const
 
bool shared () const
 
bool anonymous () const
 
EntityType entity_type () const
 
const std::string & name () const &
 
void set_name (std::string _name)
 
T const & def () const
 get default value. More...
 
void fill (T const &val)
 set all values to val. More...
 
void swap (std::vector< T > &_other)
 
virtual std::string const & name () const &=0
 

Friends

class ResourceManager
 
template<typename _T >
class PropertyStorageT
 

Additional Inherited Members

- Public Types inherited from OpenVolumeMesh::HandleIndexing< EntityTag, PropertyStoragePtr< T > >
using reference = typename Parent::reference
 
using const_reference = typename Parent::const_reference
 
- Public Types inherited from OpenVolumeMesh::PropertyStoragePtr< T >
using PropStorageT = PropertyStorageT< T >
 
typedef PropStorageT::value_type value_type
 
typedef PropStorageT::vector_type::const_iterator const_iterator
 
typedef PropStorageT::vector_type::iterator iterator
 
typedef PropStorageT::reference reference
 
typedef PropStorageT::const_reference const_reference
 
- Protected Member Functions inherited from OpenVolumeMesh::PropertyStoragePtr< T >
 PropertyStoragePtr (std::shared_ptr< PropertyStorageT< T > > _ptr=nullptr)
 
std::shared_ptr< PropertyStorageT< T > > & storage ()
 
std::shared_ptr< PropertyStorageT< T > > const & storage () const
 
void set_storage (std::shared_ptr< PropertyStorageT< T > > _ptr)
 
- Protected Attributes inherited from OpenVolumeMesh::PropertyStoragePtr< T >
friend PropertyStorageT< T >
 

Detailed Description

template<typename T, typename EntityTag>
class OpenVolumeMesh::PropertyPtr< T, EntityTag >

Provides handle-type-safe user access to property contents.

Definition at line 64 of file PropertyPtr.hh.

Constructor & Destructor Documentation

◆ PropertyPtr()

template<class T , typename Entity >
OpenVolumeMesh::PropertyPtr< T, Entity >::PropertyPtr ( ResourceManager mesh,
std::string  _name,
T const &  _def = T() 
)

Definition at line 352 of file ResourceManagerT_impl.hh.

Member Function Documentation

◆ name()

template<typename T , typename EntityTag >
std::string const & OpenVolumeMesh::PropertyPtr< T, EntityTag >::name ( void  ) const &
inlineoverridevirtual

Implements OpenVolumeMesh::BasePropertyPtr.

Definition at line 73 of file PropertyPtr.hh.

Friends And Related Function Documentation

◆ PropertyStorageT

template<typename T , typename EntityTag >
template<typename _T >
friend class PropertyStorageT
friend

Definition at line 77 of file PropertyPtr.hh.

◆ ResourceManager

template<typename T , typename EntityTag >
friend class ResourceManager
friend

Definition at line 75 of file PropertyPtr.hh.


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