17 #ifndef IOX_POSH_ROUDI_PORT_POOL_DATA_HPP
18 #define IOX_POSH_ROUDI_PORT_POOL_DATA_HPP
20 #include "iceoryx_posh/iceoryx_posh_types.hpp"
21 #include "iceoryx_posh/internal/popo/building_blocks/condition_variable_data.hpp"
22 #include "iceoryx_posh/internal/popo/ports/application_port.hpp"
23 #include "iceoryx_posh/internal/popo/ports/interface_port.hpp"
24 #include "iceoryx_posh/internal/popo/ports/publisher_port_data.hpp"
25 #include "iceoryx_posh/internal/popo/ports/subscriber_port_data.hpp"
26 #include "iceoryx_posh/internal/runtime/node_data.hpp"
27 #include "iceoryx_utils/cxx/optional.hpp"
28 #include "iceoryx_utils/cxx/vector.hpp"
35 template <
typename T, u
int64_t Capacity>
39 static constexpr uint64_t FIRST_ELEMENT = std::numeric_limits<uint64_t>::max();
43 template <
typename... Targs>
44 T* insert(Targs&&... args);
46 void erase(T*
const element);
48 cxx::vector<T*, Capacity> content();
51 cxx::vector<cxx::optional<T>, Capacity> m_data;
66 std::atomic<uint64_t> m_serviceRegistryChangeCounter{0};
72 #include "iceoryx_posh/internal/roudi/port_pool_data.inl"
workaround container until we have a fixed list with the needed functionality
Definition: port_pool_data.hpp:37
Definition: service_description.hpp:29
Definition: port_pool_data.hpp:55