Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
OpenVolumeMesh::OpenVolumeMeshPropertyT< T > Class Template Reference

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

#include <libs_required/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

Public Member Functions

 OpenVolumeMeshPropertyT (const std::string &_name="<unknown>", const T _def=T())
 Default constructor.
 OpenVolumeMeshPropertyT (const OpenVolumeMeshPropertyT &_rhs)
 Copy constructor.
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.
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[] (int _idx)
 Access the i'th element. No range check is performed!
const_reference operator[] (int _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 ()
- Public Member Functions inherited from OpenVolumeMesh::OpenVolumeMeshBaseProperty
 OpenVolumeMeshBaseProperty (const std::string &_name="<unknown>")
 OpenVolumeMeshBaseProperty (const OpenVolumeMeshBaseProperty &_rhs)
const std::string & name () const
 Return the name of the property.
void set_persistent (bool _persistent)
bool persistent () const
const OpenVolumeMeshHandlehandle () 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_


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 71 of file OpenVolumeMeshProperty.hh.

Member Function Documentation

template<class T>
virtual size_t OpenVolumeMesh::OpenVolumeMeshPropertyT< T >::size_of ( size_t  _n_elem) const

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 143 of file OpenVolumeMeshProperty.hh.

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