CppGraph Application Framework©
Copyright © 2004-202x Geoff Goldberg
Public Member Functions | List of all members
cppgraph::user_property_handle_t< T > Struct Template Reference

A user property handle is a UTF8 string property handle that provides operations to serialze the string to and from a value of type T. More...

#include <user_property_handle.h>

Inheritance diagram for cppgraph::user_property_handle_t< T >:
Inheritance graph
[legend]

Public Member Functions

 user_property_handle_t ()=default
 Default construction.
 
 user_property_handle_t (T const &t)
 Construction from a value. More...
 
template<typename U >
 user_property_handle_t (U const &u)
 Construction from a value. More...
 
 user_property_handle_t (user_property_handle_t const &h_property) noexcept
 Copy construction from a user property handle of type T. More...
 
template<typename U , typename = enable_if_is_same< U, T >>
 user_property_handle_t (user_property_handle_t< U > const &h_property) noexcept
 Copy construction from a compatible user property handle. More...
 
 user_property_handle_t (user_property_handle_t &&h_property) noexcept
 Move construction from a user property handle of type T. More...
 
template<typename U , typename = enable_if_is_same< U, T >>
 user_property_handle_t (user_property_handle_t< U > &&h_property) noexcept
 Move construction from a compatible user property handle. More...
 
get_user_value () const
 Serializes a T value from the backing string and returns it. More...
 
user_property_handle_toperator= (T const &t)
 Assignment from a value. More...
 
template<typename U >
user_property_handle_toperator= (U const &u)
 Assignment fraom a value. More...
 
user_property_handle_toperator= (user_property_handle_t const &h_property) noexcept
 Copy assignment from a user property handle of type T. More...
 
template<typename U , typename = enable_if_is_same< U, T >>
user_property_handle_toperator= (user_property_handle_t< U > const &h_property) noexcept
 Copy assignment from a compatible user property handle. More...
 
user_property_handle_toperator= (user_property_handle_t &&h_property) noexcept
 Move assignment from a user property handle of type T. More...
 
template<typename U , typename = enable_if_is_same< U, T >>
user_property_handle_toperator= (user_property_handle_t< U > &&h_property) noexcept
 Move assignment from a compatible user property handle. More...
 
void set_user_value (T const &t)
 Serializes a specified T value to the backing string. More...
 
- Public Member Functions inherited from cppgraph::property_handle_t< utf8_string >
constexpr property_handle_t () noexcept=default
 Default construction. More...
 
constexpr property_handle_t (std::nullptr_t property) noexcept
 Construction from a nullptr. More...
 
 property_handle_t (property *property)
 Construction from a property pointer. More...
 
 property_handle_t (property_id_t id)
 Construction from a property_id. More...
 
 property_handle_t (property_handle_t const &h_property) noexcept
 Copy construction from a property handle. More...
 
 property_handle_t (property_handle_t< U > const &h_property) noexcept
 Copy construction from a property handle. More...
 
 property_handle_t (property_handle_t &&h_property) noexcept
 Move construction from a property handle. More...
 
 property_handle_t (property_handle_t< U > &&h_property) noexcept
 Move construction from a property handle. More...
 
 property_handle_t (utf8_string const &value) noexcept
 Create a property of the specified type and value and construct a property handle to it. More...
 
utf8_stringdata (error_action_enum error_action_type) const
 De-references this property handle. More...
 
utf8_stringoperator* () const
 Dereferences this property handle. More...
 
utf8_stringoperator-> () const
 De-references this property handle. More...
 
property_handle_toperator= (std::nullptr_t property) noexcept
 Assignment from a nullptr. More...
 
property_handle_toperator= (property_id_t id)
 Assignment from a property_id. More...
 
property_handle_toperator= (property_handle_t const &h_property) noexcept
 Copy assignment from a property handle. More...
 
property_handle_toperator= (property_handle_t< U > const &h_property) noexcept
 Copy assignment from a property handle. More...
 
property_handle_toperator= (property_handle_t &&h_property) noexcept
 Move assignment from a property handle. More...
 
property_handle_toperator= (property_handle_t< U > &&h_property) noexcept
 Move assignment from a property handle. More...
 
property_handle_toperator= (utf8_string const &value) noexcept
 Create a property of the specified type and value and assign it to this property handle. More...
 
- Public Member Functions inherited from cppgraph::property_handle
 property_handle () noexcept=default
 Default construction. More...
 
 property_handle (std::nullptr_t property) noexcept
 Construction from a nullptr. More...
 
 property_handle (property *property) noexcept
 Construction from a property pointer. More...
 
 property_handle (property_id_t property_id) noexcept
 Construction from a property_id. More...
 
 property_handle (property_handle const &h_property) noexcept
 Copy construction from a property handle. More...
 
 property_handle (property_handle &&h_property) noexcept
 Move construction from a property handle. More...
 
template<typename T , typename = enable_if_is_property< T >>
 property_handle (T const &value) noexcept
 Construction from a property value. More...
 
 ~property_handle ()
 Destruction.
 
template<typename T >
T * data (error_action_enum error_action_type) const
 Returns a pointer to this handle's property's value. More...
 
propertyget_property (error_action_enum error_action_type) const
 De-references this property handle. More...
 
property_id_t get_property_id () const noexcept
 Returns the id of the property owned by this property handle. More...
 
 operator bool () const noexcept
 Returns true if this property handle's property pointer is not nullptr. More...
 
propertyoperator* () const
 De-references this property handle. More...
 
propertyoperator-> () const
 De-references this property handle. More...
 
property_handleoperator= (std::nullptr_t property) noexcept
 Assignment from a nullptr. More...
 
property_handleoperator= (property_handle const &h_property) noexcept
 Copy assignment from a property handle. More...
 
property_handleoperator= (property_handle &&h_property) noexcept
 Move assignment from a property handle. More...
 
property_handleoperator= (property *property) noexcept
 Assignment from a property pointer. More...
 
property_handleoperator= (property_id_t id) noexcept
 Assignment from a property_id. More...
 
template<typename T , typename = enable_if_is_property< T >>
property_handleoperator= (T const &value)
 Assignment from a property value. More...
 

Detailed Description

template<typename T>
struct cppgraph::user_property_handle_t< T >

A user property handle is a UTF8 string property handle that provides operations to serialze the string to and from a value of type T.

Template Parameters
TType of the user property. The following must be declared and defined in T's namespace:
  • std::ostream & operator << ( std::ostream &, T const & );
  • std::istream & operator >> ( std::istream &, T & );
See also
CPPGRAPH_DECLARE_USER_PROPERTY(), CPPGRAPH_DECLARE_CONST_USER_PROPERTY(), CPPGRAPH_DECLARE_USER_PROPERTY_ARRAY(), CPPGRAPH_DECLARE_CONST_USER_PROPERTY_ARRAY().

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