33 const AttributeInit &initializer);
40 const void *default_value);
47 const T &default_value)
71 return span->typed<
T>();
79 const void *default_value);
86 const T &default_value =
T())
static const CPPType & get()
MutableSpan< T > typed() const
VArray< T > typed() const
std::variant< ArrayData, SingleData > DataVariant
GMutableSpan get_mutable_attribute(AttributeStorage &storage, const AttrDomain domain, const CPPType &cpp_type, const StringRef name, const int64_t domain_size, const void *custom_default_value)
GAttributeReader attribute_to_reader(const Attribute &attribute, const AttrDomain domain, const int64_t domain_size)
std::optional< GSpan > get_span_attribute(const AttributeStorage &storage, const AttrDomain domain, const CPPType &cpp_type, const StringRef name, const int64_t domain_size)
Attribute::DataVariant attribute_init_to_data(const bke::AttrType data_type, const int64_t domain_size, const AttributeInit &initializer)
GAttributeWriter attribute_to_writer(void *owner, const Map< StringRef, AttrUpdateOnChange > &changed_tags, const int64_t domain_size, Attribute &attribute)
GVArray get_varray_attribute(const AttributeStorage &storage, AttrDomain domain, const CPPType &cpp_type, StringRef name, int64_t domain_size, const void *default_value)
void(*)(void *owner) AttrUpdateOnChange
static const auto & changed_tags()
AttrBuiltinInfo(AttrDomain domain, AttrType type)
AttributeValidator validator