.. index:: pair: class; EE::ObservableValue::WeakHandle .. _doxid-class_e_e_1_1_observable_value_1_1_weak_handle: class EE::ObservableValue::WeakHandle ===================================== .. toctree:: :hidden: Overview ~~~~~~~~ Non-owning, lifetime-safe access used by adapters such as UIValueBinding. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block #include class WeakHandle { public: // methods bool :ref:`set`(const T& value) const; bool :ref:`set`(T&& value) const; std::optional :ref:`get`() const; :ref:`Connection` :ref:`observe`(:ref:`Callback` callback) const; :target:`operator bool`() const; }; .. _details-class_e_e_1_1_observable_value_1_1_weak_handle: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Non-owning, lifetime-safe access used by adapters such as UIValueBinding. Operations fail harmlessly after the owning :ref:`ObservableValue ` is destroyed. A :ref:`WeakHandle ` does not make cross-thread access safe. Methods ------- .. index:: pair: function; set .. _doxid-class_e_e_1_1_observable_value_1_1_weak_handle_1a298f81e5cef082e7010988cef513bf29: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool set(const T& value) const .. rubric:: Returns: true when the owner still exists and accepted the set operation. .. index:: pair: function; set .. _doxid-class_e_e_1_1_observable_value_1_1_weak_handle_1a7dc5f0ccf7c2ef03dda41a492b96b932: .. ref-code-block:: cpp :class: doxyrest-title-code-block bool set(T&& value) const .. rubric:: Returns: true when the owner still exists and accepted the set operation. .. index:: pair: function; get .. _doxid-class_e_e_1_1_observable_value_1_1_weak_handle_1adf8d8da8e5d7b5a17766b34accc63224: .. ref-code-block:: cpp :class: doxyrest-title-code-block std::optional get() const .. rubric:: Returns: A copy of the current value, or std::nullopt after the owner expires. .. index:: pair: function; observe .. _doxid-class_e_e_1_1_observable_value_1_1_weak_handle_1ae879757363bcc90756f4ef823781f129: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`Connection` observe(:ref:`Callback` callback) const .. rubric:: Returns: A scoped observer connection, or an empty connection after owner expiration.