Select a number of types from another registry and map their IDs to a continuous range of new type indices.
More...
|
| static consteval auto | index_map () |
| static constexpr std::size_t | mapped_index (const id orig_id) |
| | Return the filtered position corresponding to an original ID.
|
| static constexpr std::size_t | mapped_index (const std::size_t orig_idx) |
| | Return the filtered position corresponding to an original position.
|
| static constexpr id | original_id (const std::size_t pos) |
| static constexpr std::size_t | original_index (const std::size_t pos) |
| static constexpr bool | is_valid (const std::size_t filtered_type_idx) |
template<typename id_t = id>
requires (!std::convertible_to<id_t, std::size_t>) |
| static constexpr bool | is_valid (const id_t orig_id) |
| | Check whether an original ID selects a type retained by the mapping.
|
template<concepts::type_registry registry_t, class type_selector_t>
class detray::types::mapped_registry< registry_t, type_selector_t >
Select a number of types from another registry and map their IDs to a continuous range of new type indices.
- Note
- Contrary to the original type registry, the type ID does not match the position of the filtered type in the mapped registry anymore
- Template Parameters
-
| registry_t | the original type registry |
| type_selector_t | how to select the new types from the original ones |