1 #ifndef BASE_NAMED_VECTOR_HPP 2 #define BASE_NAMED_VECTOR_HPP 21 :
std::runtime_error(
"trying to access element " + name +
22 ", but there is no element with that name on this structure")
39 return !names.empty() && !names[0].empty();
63 return elements.at( index );
69 return elements.at( index );
76 elements.resize(size);
84 return elements.size();
91 return elements.empty();
108 std::vector<std::string>::const_iterator it = find(names.begin(), names.end(),
name);
109 if (it == names.end())
111 return it - names.begin();
size_t size() const
Definition: NamedVector.hpp:82
Definition: NamedVector.hpp:12
std::vector< T > elements
Definition: NamedVector.hpp:34
~InvalidName()
Definition: NamedVector.hpp:25
void clear()
Definition: NamedVector.hpp:96
std::string name
Definition: NamedVector.hpp:19
bool hasNames() const
Definition: NamedVector.hpp:37
const T & operator[](size_t index) const
Definition: NamedVector.hpp:61
T & operator[](size_t index)
Definition: NamedVector.hpp:67
void resize(size_t size)
Definition: NamedVector.hpp:74
size_t mapNameToIndex(std::string const &name) const
Definition: NamedVector.hpp:106
Definition: LinearAngular6DCommand.hpp:8
Definition: NamedVector.hpp:17
const T & operator[](std::string name) const
Definition: NamedVector.hpp:49
const T & getElementByName(std::string name) const
Definition: NamedVector.hpp:43
T & operator[](std::string name)
Definition: NamedVector.hpp:55
InvalidName(std::string const &name)
Definition: NamedVector.hpp:20
std::vector< std::string > names
Definition: NamedVector.hpp:31
bool empty() const
Definition: NamedVector.hpp:89