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 >:
OpenVolumeMesh::OpenVolumeMeshBaseProperty

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())
 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_
 

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

Member Function Documentation

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

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: