Skip to content

File include/brisk/core/Binding.hpp


Callbacks class

template <typename... Args> Callbacks

toBindingAddress function

template <typename T>
constexpr BindingAddress toBindingAddress(T *value) noexcept

Converts a pointer of type T to a BindingAddress.

This function creates a BindingAddress that encompasses the memory range of the specified pointer, allowing for easier management of variable bindings in a property-like system.
Template param T The type of the value being pointed to.
Param value A pointer to the value.
Returns A BindingAddress representing the memory range of the value.


staticBinding variable

inline Empty staticBinding

A special object for static binding.


staticBindingAddress variable

inline BindingAddress staticBindingAddress =
    toBindingAddress(&staticBinding)

The BindingAddress for the static binding object.


Value class

template <typename T> Value

Generic Value structure for property management.

The Value class allows for both read and write access to properties, enabling a more dynamic approach to property handling.
Template param T The type of the value contained within the Value.


TriggerArgs class (Internal::TriggerArgs)

template <typename... Args> TriggerArgs

TriggerArgs

template <typename Arg> TriggerArgs

Trigger class

template <typename... Args> Trigger

ValueArgumentImpl class (Internal::ValueArgumentImpl)

template <typename T> ValueArgumentImpl

template <typename... Args> ValueArgumentImpl

PropertyLike concept

template <typename T>
concept PropertyLike =
    requires(T t, const T ct, typename T::ValueType v)

Concept that checks if a type behaves like a property.
Template param T The type to check.


Value class

template <typename T> Value

Generic Value structure for property management.

The Value class allows for both read and write access to properties, enabling a more dynamic approach to property handling.
Template param T The type of the value contained within the Value.


template <typename T> Value

Generic Value structure for property management.

The Value class allows for both read and write access to properties, enabling a more dynamic approach to property handling.
Template param T The type of the value contained within the Value.

Value<T> function (Value::Value<T>)

constexpr Value() noexcept : m_get

Default constructor.

template <PropertyLike U>
[[nodiscard]] explicit Value(U *property)
    : Value(Internal::asValue(*property))

Constructs a Value from a PropertyLike type.
Template param U The property type.
Param property Pointer to the property.

empty function (Value::empty)

bool empty() const noexcept

Checks whether the value is empty

constant function (Value::constant)

static Value constant(T constant)

Creates a Value that holds a constant value.
Param constant The constant value to hold.
Returns A Value representing the constant.

readOnly function (Value::readOnly)

Value readOnly() &&

Returns a read-only version of this Value.
Returns A read-only Value instance.

Value readOnly() const &

Returns read-only version of Value

mutableValue function (Value::mutableValue)

static Value mutableValue(T initialValue)

Returns mutable Value that initially holds the given value.
Param initialValue value

Value class (Value::Value)

template <typename U> Value

BindingHandle class

BindingHandle

generate function (BindingHandle::generate)

static uint64_t generate()

Starts generation from 1


WithLifetime class

template <typename T> WithLifetime

Bindings class

Bindings

notifyRange function (Bindings::notifyRange)

int notifyRange(BindingAddress range)

Notify that the variable has changed This triggers update of all dependant values.
Param range address range
Returns int Number of handlers called

notify function (Bindings::notify)

template <typename T> int notify(T *variable)

Notify that the variable has changed. This triggers update of all dependant values.
Returns int Number of handlers called

AutoNotify class (Bindings::AutoNotify)

template <equality_comparable T> AutoNotify

Entry class (Bindings::Entry)

Entry

Region class (Bindings::Region)

Region

Entry class (Bindings::Entry)

Entry

BindingAddressCmp class (Bindings::BindingAddressCmp)

BindingAddressCmp

Region class (Bindings::Region)

Region

BindingRegistration class

BindingRegistration

BindingLifetime class

BindingLifetime

mutableValue function

template <typename T>
[[nodiscard]] inline Value<T>
Value<T>::mutableValue(T initialValue)

Returns mutable Value that initially holds the given value.
Param initialValue value


RegisteredValue class

RegisteredValue

Property class

template <typename Class, typename T,
          auto std::type_identity_t<Class>::*field,
          std::remove_const_t<T> (Class::*getter)() const =
              nullptr,
          void (Class::*setter)(std::remove_const_t<T>) =
              nullptr,
          auto changed = nullptr, bool notify = true>
Property

Dummy1 class (Internal::Dummy1)

Dummy1

Object class

Object

BindingObject class

template <typename Derived,
          PointerToScheduler auto scheduler =
              static_cast<RC<Scheduler> *>(nullptr >
                                           BindingObject

Auto-generated from sources, Revision , https://github.com/brisklib/brisk/blob//include/brisk/