template<class T>
          GeometryIndexed class
        
        Container that maps polytope types to associated data.
| Template parameters | |
|---|---|
| T | Type of data to associate with each polytope type | 
This class provides an efficient mapping from polytope geometry types (Point, Segment, Triangle, etc.) to arbitrary data of type T. It uses compile-time knowledge of the number of polytope types to provide O(1) access with minimal memory overhead.
Constructors, destructors, conversion operators
- GeometryIndexed()
 - Default constructor that initializes all entries with default values.
 - 
              GeometryIndexed(std::initializer_list<std::pair<Polytope::
Type, T>> l)  - Constructs from an initializer list of polytope type-value pairs.
 - GeometryIndexed(const GeometryIndexed& other)
 - Copy constructor.
 - GeometryIndexed(GeometryIndexed&& other) noexcept(…)
 - Move constructor.
 - ~GeometryIndexed()
 - Destructor that properly destroys all stored objects.
 
Public functions
- auto operator=(const GeometryIndexed& other) -> GeometryIndexed& noexcept(…)
 - Copy assignment operator.
 - auto operator=(GeometryIndexed&& other) -> GeometryIndexed& noexcept(…)
 - Move assignment operator.
 - 
              auto operator[](Polytope::
Type type) -> T&  - Access operator for mutable access to data by polytope type.
 - 
              auto operator[](Polytope::
Type type) const -> const T&  - Access operator for const access to data by polytope type.
 - auto size() const -> size_t constexpr
 - Gets the number of polytope types (always constant).
 - 
              template<class Archive>void serialize(Archive& ar, const unsigned int version)
 - Serialization method for Boost.Serialization.
 
Function documentation
              
                template<class T>
              
               Rodin:: Geometry:: GeometryIndexed<T>:: GeometryIndexed(std::initializer_list<std::pair<Polytope:: Type, T>> l)
            
            Constructs from an initializer list of polytope type-value pairs.
| Parameters | |
|---|---|
| l | Initializer list of (polytope type, value) pairs | 
              
                template<class T>
              
               Rodin:: Geometry:: GeometryIndexed<T>:: GeometryIndexed(const GeometryIndexed& other)
            
            Copy constructor.
| Parameters | |
|---|---|
| other | GeometryIndexed object to copy from | 
              
                template<class T>
              
               Rodin:: Geometry:: GeometryIndexed<T>:: GeometryIndexed(GeometryIndexed&& other) noexcept(…)
            
            Move constructor.
| Parameters | |
|---|---|
| other | GeometryIndexed object to move from | 
              
                template<class T>
              
              GeometryIndexed& Rodin:: Geometry:: GeometryIndexed<T>:: operator=(const GeometryIndexed& other) noexcept(…)
            
            Copy assignment operator.
| Parameters | |
|---|---|
| other | GeometryIndexed object to copy from | 
| Returns | Reference to this object | 
              
                template<class T>
              
              GeometryIndexed& Rodin:: Geometry:: GeometryIndexed<T>:: operator=(GeometryIndexed&& other) noexcept(…)
            
            Move assignment operator.
| Parameters | |
|---|---|
| other | GeometryIndexed object to move from | 
| Returns | Reference to this object | 
              
                template<class T>
              
              T& Rodin:: Geometry:: GeometryIndexed<T>:: operator[](Polytope:: Type type)
            
            Access operator for mutable access to data by polytope type.
| Parameters | |
|---|---|
| type | Polytope type to access | 
| Returns | Reference to the associated data | 
              
                template<class T>
              
              const T& Rodin:: Geometry:: GeometryIndexed<T>:: operator[](Polytope:: Type type) const
            
            Access operator for const access to data by polytope type.
| Parameters | |
|---|---|
| type | Polytope type to access | 
| Returns | Const reference to the associated data | 
              
                template<class T>
              
              size_t Rodin:: Geometry:: GeometryIndexed<T>:: size() const constexpr
            
            Gets the number of polytope types (always constant).
| Returns | Number of polytope types supported | 
|---|
              
                template<class T>
                template<class Archive>
              
              void Rodin:: Geometry:: GeometryIndexed<T>:: serialize(Archive& ar,
              const unsigned int version)
            
            Serialization method for Boost.Serialization.
| Template parameters | |
|---|---|
| Archive | Archive type for serialization | 
| Parameters | |
| ar | Archive object | 
| version | Serialization version (unused) |