27 void add(mf::DataType from_type,
29 const mf::MultiFunction &
fn,
30 void (*convert_single_to_initialized)(
const void *src,
void *dst),
31 void (*convert_single_to_uninitialized)(
const void *src,
void *dst))
33 conversions_.add_new({from_type, to_type},
34 {&
fn, convert_single_to_initialized, convert_single_to_uninitialized});
39 return conversions_.lookup_ptr({from, to});
45 mf::DataType::ForSingle(to));
56 return conversions_.contains(
57 {mf::DataType::ForSingle(from_type), mf::DataType::ForSingle(to_type)});
62 const void *from_value,
63 void *to_value)
const;
void convert_to_uninitialized(const CPPType &from_type, const CPPType &to_type, const void *from_value, void *to_value) const
void add(mf::DataType from_type, mf::DataType to_type, const mf::MultiFunction &fn, void(*convert_single_to_initialized)(const void *src, void *dst), void(*convert_single_to_uninitialized)(const void *src, void *dst))
void convert_to_initialized_n(GSpan from_span, GMutableSpan to_span) const
const ConversionFunctions * get_conversion_functions(mf::DataType from, mf::DataType to) const
const ConversionFunctions * get_conversion_functions(const CPPType &from, const CPPType &to) const
bool is_convertible(const CPPType &from_type, const CPPType &to_type) const
GVArray try_convert(GVArray varray, const CPPType &to_type) const
const mf::MultiFunction * get_conversion_multi_function(mf::DataType from, mf::DataType to) const
const DataTypeConversions & get_implicit_type_conversions()
const mf::MultiFunction * multi_function
void(* convert_single_to_uninitialized)(const void *src, void *dst)
void(* convert_single_to_initialized)(const void *src, void *dst)