* Reserve vector capacities and use emplace_back for constructing vectors Signed-off-by: Stephen Brawner <brawner@gmail.com> * Use resize instead of reserve Signed-off-by: Stephen Brawner <brawner@gmail.com> * Remove push_back Signed-off-by: Stephen Brawner <brawner@gmail.com> Co-authored-by: brawner <brawner@gmail.com>
This commit is contained in:
parent
b132a2b0cd
commit
3dddfd7d93
1 changed files with 17 additions and 13 deletions
|
@ -265,11 +265,13 @@ public:
|
||||||
throw std::runtime_error(
|
throw std::runtime_error(
|
||||||
"Can't get available states. State machine is not initialized.");
|
"Can't get available states. State machine is not initialized.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resp->available_states.resize(state_machine_.transition_map.states_size);
|
||||||
for (unsigned int i = 0; i < state_machine_.transition_map.states_size; ++i) {
|
for (unsigned int i = 0; i < state_machine_.transition_map.states_size; ++i) {
|
||||||
lifecycle_msgs::msg::State state;
|
resp->available_states[i].id =
|
||||||
state.id = static_cast<uint8_t>(state_machine_.transition_map.states[i].id);
|
static_cast<uint8_t>(state_machine_.transition_map.states[i].id);
|
||||||
state.label = static_cast<std::string>(state_machine_.transition_map.states[i].label);
|
resp->available_states[i].label =
|
||||||
resp->available_states.push_back(state);
|
static_cast<std::string>(state_machine_.transition_map.states[i].label);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -286,16 +288,17 @@ public:
|
||||||
"Can't get available transitions. State machine is not initialized.");
|
"Can't get available transitions. State machine is not initialized.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resp->available_transitions.resize(state_machine_.current_state->valid_transition_size);
|
||||||
for (unsigned int i = 0; i < state_machine_.current_state->valid_transition_size; ++i) {
|
for (unsigned int i = 0; i < state_machine_.current_state->valid_transition_size; ++i) {
|
||||||
|
lifecycle_msgs::msg::TransitionDescription & trans_desc = resp->available_transitions[i];
|
||||||
|
|
||||||
auto rcl_transition = state_machine_.current_state->valid_transitions[i];
|
auto rcl_transition = state_machine_.current_state->valid_transitions[i];
|
||||||
lifecycle_msgs::msg::TransitionDescription trans_desc;
|
|
||||||
trans_desc.transition.id = static_cast<uint8_t>(rcl_transition.id);
|
trans_desc.transition.id = static_cast<uint8_t>(rcl_transition.id);
|
||||||
trans_desc.transition.label = rcl_transition.label;
|
trans_desc.transition.label = rcl_transition.label;
|
||||||
trans_desc.start_state.id = static_cast<uint8_t>(rcl_transition.start->id);
|
trans_desc.start_state.id = static_cast<uint8_t>(rcl_transition.start->id);
|
||||||
trans_desc.start_state.label = rcl_transition.start->label;
|
trans_desc.start_state.label = rcl_transition.start->label;
|
||||||
trans_desc.goal_state.id = static_cast<uint8_t>(rcl_transition.goal->id);
|
trans_desc.goal_state.id = static_cast<uint8_t>(rcl_transition.goal->id);
|
||||||
trans_desc.goal_state.label = rcl_transition.goal->label;
|
trans_desc.goal_state.label = rcl_transition.goal->label;
|
||||||
resp->available_transitions.push_back(trans_desc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -312,16 +315,17 @@ public:
|
||||||
"Can't get available transitions. State machine is not initialized.");
|
"Can't get available transitions. State machine is not initialized.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resp->available_transitions.resize(state_machine_.transition_map.transitions_size);
|
||||||
for (unsigned int i = 0; i < state_machine_.transition_map.transitions_size; ++i) {
|
for (unsigned int i = 0; i < state_machine_.transition_map.transitions_size; ++i) {
|
||||||
|
lifecycle_msgs::msg::TransitionDescription & trans_desc = resp->available_transitions[i];
|
||||||
|
|
||||||
auto rcl_transition = state_machine_.transition_map.transitions[i];
|
auto rcl_transition = state_machine_.transition_map.transitions[i];
|
||||||
lifecycle_msgs::msg::TransitionDescription trans_desc;
|
|
||||||
trans_desc.transition.id = static_cast<uint8_t>(rcl_transition.id);
|
trans_desc.transition.id = static_cast<uint8_t>(rcl_transition.id);
|
||||||
trans_desc.transition.label = rcl_transition.label;
|
trans_desc.transition.label = rcl_transition.label;
|
||||||
trans_desc.start_state.id = static_cast<uint8_t>(rcl_transition.start->id);
|
trans_desc.start_state.id = static_cast<uint8_t>(rcl_transition.start->id);
|
||||||
trans_desc.start_state.label = rcl_transition.start->label;
|
trans_desc.start_state.label = rcl_transition.start->label;
|
||||||
trans_desc.goal_state.id = static_cast<uint8_t>(rcl_transition.goal->id);
|
trans_desc.goal_state.id = static_cast<uint8_t>(rcl_transition.goal->id);
|
||||||
trans_desc.goal_state.label = rcl_transition.goal->label;
|
trans_desc.goal_state.label = rcl_transition.goal->label;
|
||||||
resp->available_transitions.push_back(trans_desc);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -336,9 +340,10 @@ public:
|
||||||
get_available_states()
|
get_available_states()
|
||||||
{
|
{
|
||||||
std::vector<State> states;
|
std::vector<State> states;
|
||||||
|
states.reserve(state_machine_.transition_map.states_size);
|
||||||
|
|
||||||
for (unsigned int i = 0; i < state_machine_.transition_map.states_size; ++i) {
|
for (unsigned int i = 0; i < state_machine_.transition_map.states_size; ++i) {
|
||||||
State state(&state_machine_.transition_map.states[i]);
|
states.emplace_back(&state_machine_.transition_map.states[i]);
|
||||||
states.push_back(state);
|
|
||||||
}
|
}
|
||||||
return states;
|
return states;
|
||||||
}
|
}
|
||||||
|
@ -347,11 +352,10 @@ public:
|
||||||
get_available_transitions()
|
get_available_transitions()
|
||||||
{
|
{
|
||||||
std::vector<Transition> transitions;
|
std::vector<Transition> transitions;
|
||||||
|
transitions.reserve(state_machine_.transition_map.transitions_size);
|
||||||
|
|
||||||
for (unsigned int i = 0; i < state_machine_.transition_map.transitions_size; ++i) {
|
for (unsigned int i = 0; i < state_machine_.transition_map.transitions_size; ++i) {
|
||||||
Transition transition(
|
transitions.emplace_back(&state_machine_.transition_map.transitions[i]);
|
||||||
&state_machine_.transition_map.transitions[i]);
|
|
||||||
transitions.push_back(transition);
|
|
||||||
}
|
}
|
||||||
return transitions;
|
return transitions;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue