Developer Documentation

Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
OpenVolumeMesh::PropertyPtr< PropT, Entity > Class Template Reference

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

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

## 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
BaseProperty & | operator= (const BaseProperty &_cpy)=delete
virtual BaseProperty * | clone (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
ResourceManager * | resMan_

## 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 | ) |
| override protected virtual

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 | ) |
| override protected virtual

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:

- Type-OpenVolumeMesh/libs/OpenVolumeMesh/src/OpenVolumeMesh/Core/ForwardDeclarations.hh
- Type-OpenVolumeMesh/libs/OpenVolumeMesh/src/OpenVolumeMesh/Core/PropertyPtr.hh
- Type-OpenVolumeMesh/libs/OpenVolumeMesh/src/OpenVolumeMesh/Core/PropertyPtrT_impl.hh