syside.ParameterAccessor

class ParameterAccessor

Bases: syside.OwnedMemberAccessor[ParameterMembership, ReferenceUsage]

property argument: syside.Expression | None

The argument accessible by this parameter.

set_argument(expression: syside.ParameterAccessor.set_argument.M) tuple[syside.FeatureValue, syside.ParameterAccessor.set_argument.M]

Set the argument to an owned expression. Ownership constraints apply. An empty parameter will be constructed if there is none.

Returns a pair of (feature_value, argument).

set_argument(expression: syside.ParameterAccessor.set_argument.M | None) tuple[syside.FeatureValue, syside.ParameterAccessor.set_argument.M] | None

set_argument overload that will instead remove the argument if expression is None and return None. Otherwise behaviour is the same.

set_argument(expression: type[syside.ParameterAccessor.set_argument.M]) tuple[syside.FeatureValue, syside.ParameterAccessor.set_argument.M]

Set the argument to an empty Expression with the corresponding type. An empty parameter will be constructed if there is none.

Returns a pair of (feature_value, argument).

remove_argument() None

Remove the argument while leaving parameter intact. Does nothing if there is no argument.

set_member_element(element: syside.ParameterAccessor.set_member_element.M, name: syside.NameID = ...) tuple[syside.ParameterMembership, syside.ParameterAccessor.set_member_element.M]

Set a new owned member_element, ownership constraints apply. Replaces the previous member_element, which may be reused by the model. name_id has no effect since the element is always taken ownership of.

Returns a pair of (membership, member_element) where member_element is element.

set_member_element(element: syside.ParameterAccessor.set_member_element.M | None, name: syside.NameID = ...) tuple[syside.ParameterMembership, syside.ParameterAccessor.set_member_element.M] | None

set_member_element overload that will remove the member element if element is None, otherwise the behaviour is the same.

set_member_element(element: type[syside.ParameterAccessor.set_member_element.M]) tuple[syside.ParameterMembership, syside.ParameterAccessor.set_member_element.M]

Constructs a new empty member_element with the provided type. Replaces the previous member_element. Because a new element is always constructed, ownership constraints do not apply.

Returns a pair of (membership, member_element).

add_member_element() tuple[syside.R, syside.M]

Constructs a new member_element with the default type if this member is empty, otherwise does nothing.

Returns a pair of (membership, member_element)

property membership: syside.R

The membership of this member if it is not empty.

property member_element: syside.M

The member_element of this member if it is not empty.

remove_member_element() None

Remove the member_element leaving this member empty. Note that not all empty members are valid textual syntax. This does not check that the model is left in a valid state.

__bool__() bool
classmethod __class_getitem__(item)