Developer Documentation

Public Types | Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
OpenVolumeMesh::OpenVolumeMeshPropertyT< T > Class Template Reference

Default property class for any type T. More...

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

Inheritance diagram for OpenVolumeMesh::OpenVolumeMeshPropertyT< T >:

## Public Types
typedef T | Value
typedef std::vector< T > | vector_type
typedef T | value_type
typedef vector_type::reference | reference
typedef vector_type::const_reference | const_reference

## Public Member Functions
| OpenVolumeMeshPropertyT (const std::string &_name="<unknown>", const T &_def=T())
| OpenVolumeMeshPropertyT (const OpenVolumeMeshPropertyT &_rhs)=default
virtual void | reserve (size_t _n)
| Reserve memory for n elements.
virtual void | resize (size_t _n)
| Resize storage to hold n elements.
virtual void | clear ()
| Clear all elements and free memory.
virtual void | push_back ()
| Extend the number of elements by one.
virtual void | swap (size_t _i0, size_t _i1)
| Let two elements swap their storage place.
virtual void | copy (size_t _src_idx, size_t _dst_idx)
void | delete_element (size_t _idx)
| Erase an element of the vector.
virtual size_t | n_elements () const
| Number of elements in property.
virtual size_t | element_size () const
| Size of one element in bytes or UnknownSize if not known.
virtual size_t | size_of () const
| Return size of property in bytes.
virtual size_t | size_of (size_t _n_elem) const
virtual void | serialize (std::ostream &_ostr) const
virtual void | deserialize (std::istream &_istr)
const T * | data () const
| Get pointer to array (does not work for T==bool)
vector_type & | data_vector ()
| Get reference to property vector (be careful, improper usage, e.g. resizing, may crash)
reference | operator[] (size_t _idx)
| Access the i'th element. No range check is performed!
const_reference | operator[] (size_t _idx) const
| Const access to the i'th element. No range check is performed!
OpenVolumeMeshPropertyT< T > * | clone () const
| Make a copy of self.
vector_type::const_iterator | begin () const
vector_type::iterator | begin ()
vector_type::const_iterator | end () const
vector_type::iterator | end ()
template<>
void | swap (size_t _i0, size_t _i1)
| Let two elements swap their storage place.
template<>
size_t | size_of (size_t _n_elem) const
template<>
size_t | size_of () const
| Return size of property in bytes.
template<>
size_t | element_size () const
| Size of one element in bytes or UnknownSize if not known.
template<>
void | deserialize (std::istream &_istr)
template<>
size_t | size_of (size_t) const
template<>
size_t | size_of () const
| Return size of property in bytes.
template<>
size_t | element_size () const
| Size of one element in bytes or UnknownSize if not known.
Public Member Functions inherited from OpenVolumeMesh::OpenVolumeMeshBaseProperty
| OpenVolumeMeshBaseProperty (const std::string &_name="<unknown>")
| OpenVolumeMeshBaseProperty (const OpenVolumeMeshBaseProperty &_rhs)=default
const std::string & | name () const
| Return the name of the property.
void | set_persistent (bool _persistent)
bool | persistent () const
const OpenVolumeMeshHandle & | handle () const
void | set_handle (const OpenVolumeMeshHandle &_handle)

## Protected Member Functions
virtual void | delete_multiple_entries (const std::vector< bool > &_tags)
| Delete multiple entries in list.

## Private Attributes
vector_type | data_
const T | def_

## Friends
template<class PropT , class HandleT >
class | PropertyPtr

## Additional Inherited Members
Static Public Attributes inherited from OpenVolumeMesh::OpenVolumeMeshBaseProperty
static const size_t | UnknownSize = std::numeric_limits<size_t>::max()
| Indicates an error when a size is returned by a member.

## Detailed Description

### template<class T>
class OpenVolumeMesh::OpenVolumeMeshPropertyT< T >

Default property class for any type T.

The default property class for any type T.

Definition at line 9 of file ForwardDeclarations.hh.

## Member Function Documentation

## ◆ size_of() [1/3]

template<class T >

virtual size_t OpenVolumeMesh::OpenVolumeMeshPropertyT< T >::size_of | ( | size_t | _n_elem | ) | const
| inline virtual

Estimated size of property if it has _n_elem elements. The member returns UnknownSize if the size cannot be estimated.

Reimplemented from OpenVolumeMesh::OpenVolumeMeshBaseProperty.

Definition at line 134 of file OpenVolumeMeshProperty.hh.

## ◆ size_of() [2/3]

template<>

size_t OpenVolumeMesh::OpenVolumeMeshPropertyT< bool >::size_of | ( | size_t | _n_elem | ) | const
| inline virtual

Estimated size of property if it has _n_elem elements. The member returns UnknownSize if the size cannot be estimated.

Reimplemented from OpenVolumeMesh::OpenVolumeMeshBaseProperty.

Definition at line 240 of file OpenVolumeMeshProperty.hh.

## ◆ size_of() [3/3]

template<>

size_t OpenVolumeMesh::OpenVolumeMeshPropertyT< std::string >::size_of | ( | size_t | _n_elem | ) | const
| inline virtual

Estimated size of property if it has _n_elem elements. The member returns UnknownSize if the size cannot be estimated.

Reimplemented from OpenVolumeMesh::OpenVolumeMeshBaseProperty.

Definition at line 272 of file OpenVolumeMeshProperty.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/OpenVolumeMeshProperty.hh