68 Kind kind_ = Kind::None;
104 this->
set(std::forward<T>(value));
133 template<
typename T>
T get()
const;
138 template<
typename T>
void set(
T &&value);
201 template<
typename T>
void store_impl(
T value);
208 value_variant->
set(std::forward<T>(value));
209 return *value_variant;
215 value_variant.
set(std::forward<T>(value));
216 return value_variant;
222 this->store_impl<std::decay_t<T>>(std::forward<T>(value));
#define BLI_ENABLE_IF(condition)
static SocketValueVariant & ConstructIn(void *ptr, T &&value)
bool is_context_dependent_field() const
bool valid_for_socket(eNodeSocketDatatype socket_type) const
SocketValueVariant & operator=(const SocketValueVariant &other)=default
friend std::ostream & operator<<(std::ostream &stream, const SocketValueVariant &value_variant)
bool is_volume_grid() const
SocketValueVariant(const SocketValueVariant &other)=default
static SocketValueVariant From(T &&value)
~SocketValueVariant()=default
SocketValueVariant()=default
void store_single(eNodeSocketDatatype socket_type, const void *value)
const void * get_single_ptr_raw() const
SocketValueVariant & operator=(SocketValueVariant &&other)=default
SocketValueVariant(T &&value)
GPointer get_single_ptr() const
void * allocate_single(eNodeSocketDatatype socket_type)
SocketValueVariant(SocketValueVariant &&other)=default
constexpr bool is_same_any_v