Skip to content

Update skeleton slot based on notifier enable tag#382

Draft
KrishaDeshkool wants to merge 11 commits intoeclipse-score:mainfrom
KrishaDeshkool:update_skeleton_slot_based_on_notifier_enable_tag
Draft

Update skeleton slot based on notifier enable tag#382
KrishaDeshkool wants to merge 11 commits intoeclipse-score:mainfrom
KrishaDeshkool:update_skeleton_slot_based_on_notifier_enable_tag

Conversation

@KrishaDeshkool
Copy link
Copy Markdown
Contributor

This is a part of bigger PR that handles the changes from the boolean based setter/getter/notifier enabling mechanism to tag based enabling system,

@KrishaDeshkool KrishaDeshkool force-pushed the update_skeleton_slot_based_on_notifier_enable_tag branch from e3c67ba to 3d98561 Compare May 5, 2026 08:53
The new order allows us to set the bindings to nullptrs by default for
test only constructors. This will be useful for fields which will
require optionally inserting get / set bindings. We change all
constructors so that they're all consistent.
- Use a single test constructor which creates the get / set methods
  according to the provided bindings. This allows us to remove the
  test-only constructor overloads for each template arg combination.
- Always store the get / set method dispatches as unique_ptrs even if
  they're not enabled (when disabled, they'll simply be nullptrs). This
  allows us to have a single private constructor which always accepts
  unique_ptrs (which may be valid or nullptrs).
Replaces the EnableGet/EnableSet/EnableNotifier bool template parameters
on ProxyField and SkeletonField with a variadic pack of tags (WithGetter,
WithSetter) declared in field_tags.h. Presence of a tag enables the
matching API. The notifier surface stays unconditional on both sides,
since a field without a notifier cannot propagate value changes.

Also updates friend/forward declarations in ProxyEvent, ProxyMethod,
SkeletonEvent and SkeletonMethod, the Trait::Field aliases plus the
traits example doc, and the skeleton_field_test.cpp call sites.
when both getter and notification mechanism is turned off there is no way for the consumer to observe the field values.
making this configuration a compile time failure.
@KrishaDeshkool KrishaDeshkool force-pushed the update_skeleton_slot_based_on_notifier_enable_tag branch from 3d98561 to c88e5d6 Compare May 6, 2026 14:35
@KrishaDeshkool KrishaDeshkool force-pushed the update_skeleton_slot_based_on_notifier_enable_tag branch from c88e5d6 to fe2db0a Compare May 6, 2026 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant