Make `Property<std::vector<T>>` and `Property<std::array<T>>` convertible to `span<const T>`
This should work:
void f(span<const double>);
Gaudi::Property<std::vector<double>> prop{ {0.5,1.5,2.5} };
f(prop);
Gaudi::Property<std::array<double,4>> prop{ { 0.5, 0.25, 0.125, 0.0625 } };
f(prop)
where span
is either gsl::span
(today), and, once we are on C++20, std::span
.
Basically, if the 'inner' type of the Property
defines a type value_type
, and span<std::add_const_t<value_type>>
is constructible from the inner type, then this (implicit) conversion should be allowed.