template struct EE::UI::UIBindingGroup::ObservableEntry

template <typename T>
struct ObservableEntry: public EE::UI::UIBindingGroup::Entry {
    // fields

    UIValueBinding<T> binding;
    std::optional<T> baseline;
    ObservableValue<T>::Connection valueConnection;

    // construction

    ObservableEntry(UIValueBinding<T>&& binding, UIBindingGroup* group);

    // methods

    bool isValid() const;
    bool isDirty() const;
    UIWidget* widget() const;
    void appendWidgets(Widgets& widgets) const;
    const UIValueValidationResult& validation() const;
    void markClean();
    void reset();
};