TaggedElementPropertyAccessorWrapper

Property accessor that is decaying tagged algebraic to a type accepted by decorated accessor.

ImplSpec: Any tagged algebraic will be decayed to type X which is accepted by decorated property or fail to do so. Any field returned from accessor are wrapped in same tagged algebraic, therefore there is a constraint that tagged algebraic should be able to hold both the component and it's field.

  1. class TaggedElementPropertyAccessorWrapper(Tagged : TaggedAlgebraic!Y, PropertyAccessorType : PropertyAccessor!(X, Z, KeyType), X, Z, KeyType = string, Y)
  2. auto taggedAccessor(T accessor)

Constructors

this
this(PropertyAccessorType accessor)

Constructor for tagged element property accessor.

Members

Functions

access
Tagged access(Tagged component, KeyType property, RCIAllocator allocator)

Get a property out of component

componentType
TypeInfo componentType(Tagged component)

Identify the type of supported component.

has
bool has(Tagged component, KeyType property, RCIAllocator allocator)

Check if requested property is present in component.

Properties

accessor
PropertyAccessorType accessor [@property setter]

Set accessor

accessor
inout(PropertyAccessorType) accessor [@property getter]

Get accessor

Meta