- using ConnectionPair = std::pair<std::string, Dali::TypeInfo::SignalConnectorFunction>;
- using ActionPair = std::pair<std::string, Dali::TypeInfo::ActionFunction>;
- using RegisteredPropertyPair = std::pair<Property::Index, RegisteredProperty>;
- using PropertyDefaultValuePair = std::pair<Property::Index, Property::Value>;
-
+ using ActionPair = std::pair<std::string, Dali::TypeInfo::ActionFunction>;
+ using ConnectionPair = std::pair<std::string, Dali::TypeInfo::SignalConnectorFunction>;
+#ifdef USE_INDEXED_MAP_CONTAINER_AT_TYPE_INFO
+ using RegisteredPropertyPair = std::pair<std::uint32_t, RegisteredProperty>;
+ using PropertyDefaultValuePair = std::pair<std::uint32_t, Property::Value>;
+#else
+ using RegisteredPropertyPair = std::pair<Property::Index, RegisteredProperty>;
+ using PropertyDefaultValuePair = std::pair<Property::Index, Property::Value>;
+#endif
+
+#ifdef USE_INDEXED_MAP_CONTAINER_AT_TYPE_INFO
+ using ActionContainer = Dali::Internal::IndexedConstStringMap<Dali::TypeInfo::ActionFunction>;
+ using ConnectorContainer = Dali::Internal::IndexedConstStringMap<Dali::TypeInfo::SignalConnectorFunction>;
+ using RegisteredPropertyContainer = Dali::Internal::IndexedIntegerMap<RegisteredProperty>;
+ using PropertyDefaultValueContainer = Dali::Internal::IndexedIntegerMap<Property::Value>;
+#else