Developer Documentation
OpenVolumeMesh::PropertyPtr< PropT, Entity > Class Template Reference

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

Inheritance diagram for OpenVolumeMesh::PropertyPtr< PropT, Entity >:
OpenVolumeMesh::BaseProperty

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
 
using EntityHandleT = HandleT< Entity >
 

Public Member Functions

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

Protected Member Functions

const std::string & internal_type_name () const override
 
void assign_values_from (const BaseProperty *other) override
 
void move_values_from (BaseProperty *other) override
 
void delete_multiple_entries (const std::vector< bool > &_tags) override
 
void resize (size_t _size) override
 
void set_handle (const OpenVolumeMeshHandle &_handle) override
 
- Protected Member Functions inherited from OpenVolumeMesh::BaseProperty
void setResMan (ResourceManager *resMan)
 

Friends

class ResourceManager
 

Additional Inherited Members

- Protected Attributes inherited from OpenVolumeMesh::BaseProperty
ResourceManagerresMan_
 

Detailed Description

template<class PropT, typename Entity>
class OpenVolumeMesh::PropertyPtr< PropT, Entity >

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.

Definition at line 12 of file ForwardDeclarations.hh.

Member Function Documentation

◆ assign_values_from()

template<class PropT , typename Entity >
void OpenVolumeMesh::PropertyPtr< PropT, Entity >::assign_values_from ( const BaseProperty other)
overrideprotectedvirtual

Copy data from other property. other MUST point to an object with the same type as this! Currently no type check is performed.

Implements OpenVolumeMesh::BaseProperty.

Definition at line 63 of file PropertyPtrT_impl.hh.

◆ move_values_from()

template<class PropT , typename Entity >
void OpenVolumeMesh::PropertyPtr< PropT, Entity >::move_values_from ( BaseProperty other)
overrideprotectedvirtual

Move data from other property. other MUST point to an object with the same type as this! Currently no type check is performed.

Implements OpenVolumeMesh::BaseProperty.

Definition at line 70 of file PropertyPtrT_impl.hh.


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