You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following on from a discussion here and here in prior to P1795r1 about the return type of traverse_topology.
The two alternatives considered were to either have traverse_topology return a vector<system_resource> which requires system_resource to be copy constructible or to have traverse_topology return a ranges::view<system_resource> so that the collection can be further processed lazily after it is returned. We also discussed the possibility of combining the best of both, by having system_resource be semiregular and then returning a ranges::view<system_resource> that is temporarily tied to the lifetime of the system_resource but capable of being assigned to a container such as a vector after any lazy transformation is done.
This also raised the question of whether the topology information contained within a system_topology object is static, I believe we are leaning towards this being the case to avoid the topology being modified asynchronously while it's being inspected.
We should continue the discussion of this and clarify this in P1795r2.
The text was updated successfully, but these errors were encountered:
We also discussed the possibility of combining the best of both, by having system_resource be semiregular and then returning a ranges::view<system_resource> that is temporarily tied to the lifetime of the system_resource but capable of being assigned to a container such as a vector after any lazy transformation is done.
I'm OK with that -- the main thing for me is that the proposal clarifies the lifetime of asystem_resource object's association with an actual resource, and the lifetime of the range / vector of system_resource.
Following on from a discussion here and here in prior to P1795r1 about the return type of
traverse_topology
.The two alternatives considered were to either have
traverse_topology
return avector<system_resource>
which requiressystem_resource
to be copy constructible or to havetraverse_topology
return aranges::view<system_resource>
so that the collection can be further processed lazily after it is returned. We also discussed the possibility of combining the best of both, by havingsystem_resource
besemiregular
and then returning aranges::view<system_resource>
that is temporarily tied to the lifetime of thesystem_resource
but capable of being assigned to a container such as avector
after any lazy transformation is done.This also raised the question of whether the topology information contained within a
system_topology
object is static, I believe we are leaning towards this being the case to avoid the topology being modified asynchronously while it's being inspected.We should continue the discussion of this and clarify this in P1795r2.
The text was updated successfully, but these errors were encountered: