CppGraph Application Framework©
Copyright © 2004-202x Geoff Goldberg
Modules | Classes | Functions
Properties
Collaboration diagram for Properties:

Modules

 Path Properties Management
 
 Properties Management
 
 
 Property Type Queries
 

Classes

struct  cppgraph::property
 A property is a light-weight container for a non-node type, and is a leaf node in the graph. More...
 
struct  cppgraph::property_handle
 A property handle is a reference-counting smart pointer for instances of class property. More...
 
struct  cppgraph::property_handle_t< T >
 A typed property handle is a property handle that provides type-safe access to a property's data. More...
 
struct  cppgraph::property_link
 A property link ia a named connector between a node and a property, or between a node link and a property, in the graph. More...
 
struct  cppgraph::property_link_handle
 A property link handle is a reference-counting smart pointer for instances of class property link. More...
 
struct  cppgraph::property_path
 A property path specifies properties owned by the terminal nodes of a node path. More...
 
struct  cppgraph::user_property_array_handle_t< T >
 A user property array handle is a UTF8 string array property handle that provides operations to serialze the strings to and from values of type T. More...
 
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. More...
 

Functions

 cppgraph::user_property_handle_t< T >::user_property_handle_t ()=default
 Default construction.
 
 cppgraph::user_property_handle_t< T >::user_property_handle_t (T const &t)
 Construction from a value. More...
 
template<typename U >
 cppgraph::user_property_handle_t< T >::user_property_handle_t (U const &u)
 Construction from a value. More...
 
 cppgraph::user_property_handle_t< T >::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 >>
 cppgraph::user_property_handle_t< T >::user_property_handle_t (user_property_handle_t< U > const &h_property) noexcept
 Copy construction from a compatible user property handle. More...
 
 cppgraph::user_property_handle_t< T >::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 >>
 cppgraph::user_property_handle_t< T >::user_property_handle_t (user_property_handle_t< U > &&h_property) noexcept
 Move construction from a compatible user property handle. More...
 
template<typename T >
property_type_enum cppgraph::get_property_type ()
 Returns a property_type_enum for a specified property type. More...
 
cppgraph::user_property_handle_t< T >::get_user_value () const
 Serializes a T value from the backing string and returns it. More...
 
user_property_handle_tcppgraph::user_property_handle_t< T >::operator= (T const &t)
 Assignment from a value. More...
 
template<typename U >
user_property_handle_tcppgraph::user_property_handle_t< T >::operator= (U const &u)
 Assignment fraom a value. More...
 
user_property_handle_tcppgraph::user_property_handle_t< T >::operator= (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_tcppgraph::user_property_handle_t< T >::operator= (user_property_handle_t< U > const &h_property) noexcept
 Copy assignment from a compatible user property handle. More...
 
user_property_handle_tcppgraph::user_property_handle_t< T >::operator= (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_tcppgraph::user_property_handle_t< T >::operator= (user_property_handle_t< U > &&h_property) noexcept
 Move assignment from a compatible user property handle. More...
 
template<typename T >
property_type_enum cppgraph::property_type_to_enum ()
 Returns the property type enum corresponding to a specified property type. More...
 
void cppgraph::user_property_handle_t< T >::set_user_value (T const &t)
 Serializes a specified T value to the backing string. More...
 

Detailed Description

Function Documentation

◆ user_property_handle_t() [1/6]

template<typename T>
cppgraph::user_property_handle_t< T >::user_property_handle_t ( T const &  t)

Construction from a value.

A specified T value is serialized to the backing string property.

Parameters
tA value of type T.

◆ user_property_handle_t() [2/6]

template<typename T >
template<typename U >
cppgraph::user_property_handle_t< T >::user_property_handle_t ( U const &  u)

Construction from a value.

A value t of type T is constructed from a specified value of type U and is serialized to the backing string property.

Template Parameters
UType of the u parameter. It is deduced by the compiler and therefore need not be specified.
Parameters
uA value of type U.

◆ user_property_handle_t() [3/6]

template<typename T>
cppgraph::user_property_handle_t< T >::user_property_handle_t ( user_property_handle_t< T > const &  h_property)
noexcept

Copy construction from a user property handle of type T.

Parameters
h_propertyA handle to a user property whose data type is T.

◆ user_property_handle_t() [4/6]

template<typename T >
template<typename U , typename >
cppgraph::user_property_handle_t< T >::user_property_handle_t ( user_property_handle_t< U > const &  h_property)
noexcept

Copy construction from a compatible user property handle.

Template Parameters
UT or T const. It is deduced by the compiler and therefore need not be specified.
Parameters
h_propertyA handle to a user property whose data type is U.

◆ user_property_handle_t() [5/6]

template<typename T>
cppgraph::user_property_handle_t< T >::user_property_handle_t ( user_property_handle_t< T > &&  h_property)
noexcept

Move construction from a user property handle of type T.

Parameters
h_propertyA property handle to a property whose data type is T.

◆ user_property_handle_t() [6/6]

template<typename T >
template<typename U , typename >
cppgraph::user_property_handle_t< T >::user_property_handle_t ( user_property_handle_t< U > &&  h_property)
noexcept

Move construction from a compatible user property handle.

Template Parameters
UT or T const. It is deduced by the compiler and therefore need not be specified.
Parameters
h_propertyA property handle to a property whose data type is U.

◆ get_property_type()

template<typename T >
property_type_enum cppgraph::get_property_type ( )
inline

Returns a property_type_enum for a specified property type.

Template Parameters
TA property type.
Returns
The property type enum corresponding to T.

◆ get_user_value()

template<typename T >
T cppgraph::user_property_handle_t< T >::get_user_value ( ) const

Serializes a T value from the backing string and returns it.

Returns
The current value of the backing string property, serialized in to a value of type T.

◆ operator=() [1/6]

template<typename T>
user_property_handle_t< T > & cppgraph::user_property_handle_t< T >::operator= ( T const &  t)

Assignment from a value.

A specified T value is serialized to the backing string property.

Parameters
tA value of type T.
Returns
A reference to this user property handle.

◆ operator=() [2/6]

template<typename T>
template<typename U >
user_property_handle_t& cppgraph::user_property_handle_t< T >::operator= ( U const &  u)

Assignment fraom a value.

A value t of type T is constructed from a specified value of type U and is serialized to the backing string property.

Template Parameters
UType of the u parameter. It is deduced by the compiler and therefore need not be specified.
Parameters
uA value of type U.
Returns
A reference to this user property handle.

◆ operator=() [3/6]

template<typename T>
user_property_handle_t< T > & cppgraph::user_property_handle_t< T >::operator= ( user_property_handle_t< T > const &  h_property)
noexcept

Copy assignment from a user property handle of type T.

Parameters
h_propertyA handle to a user property whose data type is T.
Returns
A reference to this instance.

◆ operator=() [4/6]

template<typename T>
template<typename U , typename = enable_if_is_same< U, T >>
user_property_handle_t& cppgraph::user_property_handle_t< T >::operator= ( user_property_handle_t< U > const &  h_property)
noexcept

Copy assignment from a compatible user property handle.

Template Parameters
UT or T const. It is deduced by the compiler and therefore need not be specified.
Parameters
h_propertyA handle to a user property whose data type is U.
Returns
A reference to this instance.

◆ operator=() [5/6]

template<typename T>
user_property_handle_t< T > & cppgraph::user_property_handle_t< T >::operator= ( user_property_handle_t< T > &&  h_property)
noexcept

Move assignment from a user property handle of type T.

Parameters
h_propertyA handle to a user property whose data type is T.
Returns
A reference to this instance.

◆ operator=() [6/6]

template<typename T>
template<typename U , typename = enable_if_is_same< U, T >>
user_property_handle_t& cppgraph::user_property_handle_t< T >::operator= ( user_property_handle_t< U > &&  h_property)
noexcept

Move assignment from a compatible user property handle.

Template Parameters
UT or T const. It is deduced by the compiler and therefore need not be specified.
Parameters
h_propertyA handle to a user property whose data type is U.
Returns
A reference to this instance.

◆ property_type_to_enum()

template<typename T >
property_type_enum cppgraph::property_type_to_enum ( )

Returns the property type enum corresponding to a specified property type.

Template Parameters
TType of a property.
Returns
The property_type_enum corresponding to T.
Exceptions
exceptionT is not a property type.

◆ set_user_value()

template<typename T>
void cppgraph::user_property_handle_t< T >::set_user_value ( T const &  t)

Serializes a specified T value to the backing string.

Parameters
tA value of type T.