Update edm::propagate_const<...> and its unit test:
make most methods of edm::propagate_const constexpr;
add a unit test for edm::propagate_const<incomplete_type *>.
Add edm::propagate_const_array<...> to support T[], unique_ptr<T[]>, etc.
Implement edm::propagate_const_array template with similar functionality to edm::propagate_const, but with a subscript operator and support for types like T[], std::unique_ptr<T[]> and similar array-like types.
Add support for get_underlying_safe<propagate_const_array<T>>.
Add unit tests for edm::propagate_const_array:
propagate_const_array<T[]>
propagate_const_array<unique_ptr<T[]>>
propagate_const_array<shared_ptr<T[]>>
propagate_const_array<incomplete_type[]>
PR validation
Unit test testFWCoreUtilities builds and runs.
If this PR is a backport please specify the original PR and why you need to backport that PR:
PR description:
Update
edm::propagate_const<...>
and its unit test:Add
edm::propagate_const_array<...>
to support T[], unique_ptr<T[]>, etc.Implement
edm::propagate_const_array
template with similar functionality toedm::propagate_const
, but with a subscript operator and support for types likeT[]
,std::unique_ptr<T[]>
and similar array-like types.Add support for
get_underlying_safe<propagate_const_array<T>>
.Add unit tests for
edm::propagate_const_array
:propagate_const_array<T[]>
propagate_const_array<unique_ptr<T[]>>
propagate_const_array<shared_ptr<T[]>>
propagate_const_array<incomplete_type[]>
PR validation
Unit test
testFWCoreUtilities
builds and runs.If this PR is a backport please specify the original PR and why you need to backport that PR:
Backport cms-sw#32184 .