Cleanup: move as_span method out of header

This method does not have to be in a header and results in a relatively
large number of symbols to be generated (42).
This commit is contained in:
Jacques Lucke 2021-10-03 17:07:26 +02:00
parent bf354cde96
commit 1833ebea31
2 changed files with 11 additions and 11 deletions

View File

@ -491,17 +491,6 @@ inline CustomDataType OutputAttribute::custom_data_type() const
return cpp_type_to_custom_data_type(this->cpp_type());
}
inline fn::GMutableSpan OutputAttribute::as_span()
{
if (!optional_span_varray_) {
const bool materialize_old_values = !ignore_old_values_;
optional_span_varray_ = std::make_unique<fn::GVMutableArray_GSpan>(*varray_,
materialize_old_values);
}
fn::GVMutableArray_GSpan &span_varray = *optional_span_varray_;
return span_varray;
}
template<typename T> inline MutableSpan<T> OutputAttribute::as_span()
{
return this->as_span().typed<T>();

View File

@ -202,6 +202,17 @@ AttributeDomain attribute_domain_highest_priority(Span<AttributeDomain> domains)
return highest_priority_domain;
}
fn::GMutableSpan OutputAttribute::as_span()
{
if (!optional_span_varray_) {
const bool materialize_old_values = !ignore_old_values_;
optional_span_varray_ = std::make_unique<fn::GVMutableArray_GSpan>(*varray_,
materialize_old_values);
}
fn::GVMutableArray_GSpan &span_varray = *optional_span_varray_;
return span_varray;
}
void OutputAttribute::save()
{
save_has_been_called_ = true;