Fast DDS  Version 3.6.1.0
Fast DDS
ExternalLocators.hpp
1 // Copyright 2022 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
19 #ifndef FASTDDS_RTPS_ATTRIBUTES__EXTERNALLOCATORS_HPP
20 #define FASTDDS_RTPS_ATTRIBUTES__EXTERNALLOCATORS_HPP
21 
22 #include <map>
23 #include <vector>
24 
25 #include <fastdds/rtps/common/LocatorWithMask.hpp>
26 
27 namespace eprosima {
28 namespace fastdds {
29 namespace rtps {
30 
34 using ExternalLocators = std::map<
35  uint8_t, // externality_index
36  std::map<
37  uint8_t, // cost
38  std::vector<LocatorWithMask> // locators with their mask
39  >,
40  std::greater<uint8_t> // Ordered by greater externality_index
41  >;
42 
43 
44 } // namespace rtps
45 } // namespace fastdds
46 } // namespace eprosima
47 
48 #endif // FASTDDS_RTPS_ATTRIBUTES__EXTERNALLOCATORS_HPP
std::map< uint8_t, std::map< uint8_t, std::vector< LocatorWithMask > >, std::greater< uint8_t > > ExternalLocators
A collection of LocatorWithMask grouped by externality and cost.
Definition: ExternalLocators.hpp:41