OpenMesh
OpenMesh::PropertyT< std::string > Class Template Reference

Property specialization for std::string type. More...

#include <OpenMesh/Core/Utils/Property.hh>

Inheritance diagram for OpenMesh::PropertyT< std::string >:
Collaboration diagram for OpenMesh::PropertyT< std::string >:

Public Types

typedef std::string Value
 
typedef std::vector< std::string > vector_type
 
typedef std::string value_type
 
typedef vector_type::reference reference
 
typedef vector_type::const_reference const_reference
 

Public Member Functions

 PropertyT (const std::string &_name="<unknown>", const std::string &_internal_type_name="")
 
virtual void reserve (size_t _n) override
 Reserve memory for n elements.
 
virtual void resize (size_t _n) override
 Resize storage to hold n elements.
 
virtual void clear () override
 Clear all elements and free memory.
 
virtual void push_back () override
 Extend the number of elements by one.
 
virtual void swap (size_t _i0, size_t _i1) override
 Let two elements swap their storage place.
 
virtual void copy (size_t _i0, size_t _i1) override
 Copy one element to another.
 
virtual void set_persistent (bool _yn) override
 Enable or disable persistency. More...
 
virtual size_t n_elements () const override
 Number of elements in property.
 
virtual size_t element_size () const override
 Size of one element in bytes or UnknownSize if not known.
 
virtual size_t size_of () const override
 Return size of property in bytes.
 
virtual size_t size_of (size_t) const override
 Estimated size of property if it has _n_elem elements. More...
 
size_t store (std::ostream &_ostr, bool _swap) const override
 Store self as one binary block. Max. length of a string is 65535 bytes.
 
size_t restore (std::istream &_istr, bool _swap) override
 Restore self from a binary block. More...
 
const value_type * data () const
 
reference operator[] (int _idx)
 Access the i'th element. No range check is performed!
 
const_reference operator[] (int _idx) const
 Const access the i'th element. No range check is performed!
 
PropertyT< value_type > * clone () const override
 Return a deep copy of self.
 
- Public Member Functions inherited from OpenMesh::BaseProperty
 BaseProperty (const std::string &_name="<unknown>", const std::string &_internal_type_name="<unknown>")
 Default constructor. More...
 
 BaseProperty (const BaseProperty &_rhs)
 Copy constructor.
 
virtual ~BaseProperty ()
 Destructor.
 
const std::string & name () const
 Return the name of the property.
 
const std::string & internal_type_name () const
 Return internal type name of the property for type safe casting alternative to runtime information.
 
virtual void stats (std::ostream &_ostr) const
 
bool persistent (void) const
 Returns true if the persistent flag is enabled else false.
 

Additional Inherited Members

- Static Public Attributes inherited from OpenMesh::BaseProperty
static const size_t UnknownSize = size_t(-1)
 Indicates an error when a size is returned by a member.
 
- Protected Member Functions inherited from OpenMesh::BaseProperty
template<typename T >
void check_and_set_persistent (bool _yn)
 

Detailed Description

template<>
class OpenMesh::PropertyT< std::string >

Property specialization for std::string type.

Member Function Documentation

◆ restore()

size_t OpenMesh::PropertyT< std::string >::restore ( std::istream &  _istr,
bool  _swap 
)
inlineoverridevirtual

Restore self from a binary block.

Uses reserve() to set the size of self before restoring.

Implements OpenMesh::BaseProperty.

◆ set_persistent()

virtual void OpenMesh::PropertyT< std::string >::set_persistent ( bool  _yn)
inlineoverridevirtual

Enable or disable persistency.

Self must be a named property to enable persistency.

Implements OpenMesh::BaseProperty.

◆ size_of()

virtual size_t OpenMesh::PropertyT< std::string >::size_of ( size_t  _n_elem) const
inlineoverridevirtual

Estimated size of property if it has _n_elem elements.

The member returns UnknownSize if the size cannot be estimated.

Reimplemented from OpenMesh::BaseProperty.


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

Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .