NDEVR
API Documentation
PropertyInterface< t_property_enum >

Typed interface for getting and setting design object properties by enum. More...

Inheritance diagram for PropertyInterface< t_property_enum >:
[legend]

Static Public Member Functions

static TableColumncolumn (const DesignInfo *object, t_property_enum property)
 Retrieves the TableColumn pointer for a given property on the specified design object.
template<t_property_enum t_property>
static decltype(auto) Get (const DesignInfo *object)
 Gets the value of a compile-time property, with the type deduced from PropertySpec.
template<t_property_enum t_property, class t_value_type>
static decltype(auto) Get (const DesignInfo *object)
 Gets the value of a compile-time property from a design object with an explicit value type.
template<class t_value_type>
static decltype(auto) Get (const DesignInfo *object, t_property_enum property)
 Gets the value of a property from a design object using a runtime property enum.
static uint04 index (const DesignInfo *object, t_property_enum property)
 Retrieves the row index for a given property on the specified design object.
template<class t_value_type>
static bool IsSame (const DesignInfo *object, t_value_type property, const StringView &value)
 Checks whether a property's stored value matches a given string representation.
template<t_property_enum t_property, class t_value_type>
static void Set (DesignInfo *object, const t_value_type &value)
 Sets the value of a compile-time property on a design object.
template<class t_value_type>
static void Set (DesignInfo *object, t_property_enum property, const t_value_type &value)
 Sets the value of a property on a design object using a runtime property enum.

Detailed Description

template<class t_property_enum>
class PropertyInterface< t_property_enum >

Typed interface for getting and setting design object properties by enum.


Provides static Get, Set, and IsSame methods that resolve the correct TableColumn and row index for a given property enum, then perform the typed read or write operation.

Template Parameters
t_property_enumThe property enum type (e.g., NDPO, NDPOC).

Definition at line 124 of file DesignProperties.h.

Member Function Documentation

◆ column()

template<class t_property_enum>
TableColumn * PropertyInterface< t_property_enum >::column ( const DesignInfo * object,
t_property_enum property )
inlinestatic

Retrieves the TableColumn pointer for a given property on the specified design object.


Parameters
[in]objectThe design object to query.
[in]propertyThe property enum value identifying the column.
Returns
Pointer to the TableColumn storing the property data.

Definition at line 133 of file DesignProperties.h.

References PropertyColumnInterface< t_property_enum >::column().

Referenced by Get(), Get(), PropertyInterface< NDPN >::Get(), PropertyInterface< NDPN >::Get(), PropertyInterface< NDPO >::Get(), PropertyInterface< NDPO >::Get(), IsSame(), PropertyInterface< NDPN >::IsSame(), PropertyInterface< NDPO >::IsSame(), Set(), Set(), PropertyInterface< NDPN >::Set(), and PropertyInterface< NDPN >::Set().

◆ Get() [1/3]

template<class t_property_enum>
template<t_property_enum t_property>
decltype(auto) PropertyInterface< t_property_enum >::Get ( const DesignInfo * object)
inlinestatic

Gets the value of a compile-time property, with the type deduced from PropertySpec.


Template Parameters
t_propertyThe compile-time property enum value.
Parameters
[in]objectThe design object to query.
Returns
The property value using the type defined in PropertySpec<t_property>.

Definition at line 208 of file DesignProperties.h.

References column(), and index().

◆ Get() [2/3]

template<class t_property_enum>
template<t_property_enum t_property, class t_value_type>
decltype(auto) PropertyInterface< t_property_enum >::Get ( const DesignInfo * object)
inlinestatic

Gets the value of a compile-time property from a design object with an explicit value type.


Template Parameters
t_propertyThe compile-time property enum value.
t_value_typeThe expected return type.
Parameters
[in]objectThe design object to query.
Returns
The property value cast to t_value_type.

Definition at line 196 of file DesignProperties.h.

References column(), and index().

◆ Get() [3/3]

template<class t_property_enum>
template<class t_value_type>
decltype(auto) PropertyInterface< t_property_enum >::Get ( const DesignInfo * object,
t_property_enum property )
inlinestatic

Gets the value of a property from a design object using a runtime property enum.


Template Parameters
t_value_typeThe expected return type.
Parameters
[in]objectThe design object to query.
[in]propertyThe property enum value identifying which property to read.
Returns
The property value cast to t_value_type.

Definition at line 183 of file DesignProperties.h.

References column(), and index().

◆ index()

template<class t_property_enum>
uint04 PropertyInterface< t_property_enum >::index ( const DesignInfo * object,
t_property_enum property )
inlinestatic

Retrieves the row index for a given property on the specified design object.


Parameters
[in]objectThe design object to query.
[in]propertyThe property enum value.
Returns
The row index into the property column.

Definition at line 144 of file DesignProperties.h.

References PropertyColumnInterface< t_property_enum >::index().

Referenced by Get(), Get(), IsSame(), Set(), and Set().

◆ IsSame()

template<class t_property_enum>
template<class t_value_type>
bool PropertyInterface< t_property_enum >::IsSame ( const DesignInfo * object,
t_value_type property,
const StringView & value )
inlinestatic

Checks whether a property's stored value matches a given string representation.


Template Parameters
t_value_typeThe property enum type.
Parameters
[in]objectThe design object to query.
[in]propertyThe property enum value identifying which property to compare.
[in]valueThe string to compare against.
Returns
True if the stored value matches the given string.

Definition at line 222 of file DesignProperties.h.

References column(), index(), and TableColumn::isSame().

Referenced by DesignObject::is(), DesignObject::is(), DesignObject::is(), DesignObject::is(), DesignObject::is(), and DesignObject::is().

◆ Set() [1/2]

template<class t_property_enum>
template<t_property_enum t_property, class t_value_type>
void PropertyInterface< t_property_enum >::Set ( DesignInfo * object,
const t_value_type & value )
inlinestatic

Sets the value of a compile-time property on a design object.


Template Parameters
t_propertyThe compile-time property enum value.
t_value_typeThe type of the value to set.
Parameters
[in]objectThe design object to modify.
[in]valueThe value to assign.

Definition at line 170 of file DesignProperties.h.

References column(), index(), and TableColumn::set().

◆ Set() [2/2]

template<class t_property_enum>
template<class t_value_type>
void PropertyInterface< t_property_enum >::Set ( DesignInfo * object,
t_property_enum property,
const t_value_type & value )
inlinestatic

Sets the value of a property on a design object using a runtime property enum.


Template Parameters
t_value_typeThe type of the value to set.
Parameters
[in]objectThe design object to modify.
[in]propertyThe property enum value identifying which property to set.
[in]valueThe value to assign.

Definition at line 157 of file DesignProperties.h.

References column(), index(), and TableColumn::set().

Referenced by DesignObject::set().


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