@@ -50,23 +50,23 @@ class CGenericPointsMap : public CPointsMap
5050 @{ */
5151
5252 // see docs in parent class
53- bool registerField_float (const std::string & fieldName) override ;
53+ bool registerField_float (const std::string_view & fieldName) override ;
5454
5555 // see docs in parent class
56- bool registerField_uint16 (const std::string & fieldName) override ;
56+ bool registerField_uint16 (const std::string_view & fieldName) override ;
5757
5858 /* * Removes a data channel.
5959 * \return True if the field existed and was removed, false otherwise.
6060 */
61- bool unregisterField (const std::string & fieldName);
61+ bool unregisterField (const std::string_view & fieldName);
6262
6363 /* * Returns the map of float fields: map<field_name, vector_of_data> */
64- const std::map<std::string , mrpt::aligned_std_vector<float >>& float_fields () const
64+ const std::map<std::string_view , mrpt::aligned_std_vector<float >>& float_fields () const
6565 {
6666 return m_float_fields;
6767 }
6868 /* * Returns the map of uint16_t fields: map<field_name, vector_of_data> */
69- const std::map<std::string , mrpt::aligned_std_vector<uint16_t >>& uint16_fields () const
69+ const std::map<std::string_view , mrpt::aligned_std_vector<uint16_t >>& uint16_fields () const
7070 {
7171 return m_uint16_fields;
7272 }
@@ -111,35 +111,36 @@ class CGenericPointsMap : public CPointsMap
111111
112112 /* * @name String-keyed field access virtual interface implementation
113113 @{ */
114- bool hasPointField (const std::string & fieldName) const override ;
115- std::vector<std::string > getPointFieldNames_float () const override ;
116- std::vector<std::string > getPointFieldNames_uint16 () const override ;
114+ bool hasPointField (const std::string_view & fieldName) const override ;
115+ std::vector<std::string_view > getPointFieldNames_float () const override ;
116+ std::vector<std::string_view > getPointFieldNames_uint16 () const override ;
117117
118- float getPointField_float (size_t index, const std::string & fieldName) const override ;
119- uint16_t getPointField_uint16 (size_t index, const std::string & fieldName) const override ;
118+ float getPointField_float (size_t index, const std::string_view & fieldName) const override ;
119+ uint16_t getPointField_uint16 (size_t index, const std::string_view & fieldName) const override ;
120120
121- void setPointField_float (size_t index, const std::string& fieldName, float value) override ;
122- void setPointField_uint16 (size_t index, const std::string& fieldName, uint16_t value) override ;
121+ void setPointField_float (size_t index, const std::string_view& fieldName, float value) override ;
122+ void setPointField_uint16 (
123+ size_t index, const std::string_view& fieldName, uint16_t value) override ;
123124
124125 /* * Appends a value to the given field.
125126 * The field must be registered.
126127 * Asserts that the field vector's size is exactly `this->size() - 1`
127128 * (i.e. you just called `insertPointFast()`).
128129 */
129- void insertPointField_float (const std::string & fieldName, float value) override ;
130+ void insertPointField_float (const std::string_view & fieldName, float value) override ;
130131 /* * Appends a value to the given field.
131132 * The field must be registered.
132133 * Asserts that the field vector's size is exactly `this->size() - 1`
133134 * (i.e. you just called `insertPointFast()`).
134135 */
135- void insertPointField_uint16 (const std::string & fieldName, uint16_t value) override ;
136+ void insertPointField_uint16 (const std::string_view & fieldName, uint16_t value) override ;
136137
137- void reserveField_float (const std::string & fieldName, size_t n) override ;
138- void reserveField_uint16 (const std::string & fieldName, size_t n) override ;
139- void resizeField_float (const std::string & fieldName, size_t n) override ;
140- void resizeField_uint16 (const std::string & fieldName, size_t n) override ;
138+ void reserveField_float (const std::string_view & fieldName, size_t n) override ;
139+ void reserveField_uint16 (const std::string_view & fieldName, size_t n) override ;
140+ void resizeField_float (const std::string_view & fieldName, size_t n) override ;
141+ void resizeField_uint16 (const std::string_view & fieldName, size_t n) override ;
141142
142- auto getPointsBufferRef_float_field (const std::string & fieldName) const
143+ auto getPointsBufferRef_float_field (const std::string_view & fieldName) const
143144 -> const mrpt::aligned_std_vector<float>* override
144145 {
145146 if (auto * f = CPointsMap::getPointsBufferRef_float_field (fieldName); f)
@@ -152,7 +153,7 @@ class CGenericPointsMap : public CPointsMap
152153 }
153154 return nullptr ;
154155 }
155- auto getPointsBufferRef_uint_field (const std::string & fieldName) const
156+ auto getPointsBufferRef_uint_field (const std::string_view & fieldName) const
156157 -> const mrpt::aligned_std_vector<uint16_t>* override
157158 {
158159 if (auto it = m_uint16_fields.find (fieldName); it != m_uint16_fields.end ())
@@ -162,7 +163,7 @@ class CGenericPointsMap : public CPointsMap
162163 return nullptr ;
163164 }
164165
165- auto getPointsBufferRef_float_field (const std::string & fieldName)
166+ auto getPointsBufferRef_float_field (const std::string_view & fieldName)
166167 -> mrpt::aligned_std_vector<float>* override
167168 {
168169 if (auto * f = CPointsMap::getPointsBufferRef_float_field (fieldName); f)
@@ -175,7 +176,7 @@ class CGenericPointsMap : public CPointsMap
175176 }
176177 return nullptr ;
177178 }
178- auto getPointsBufferRef_uint_field (const std::string & fieldName)
179+ auto getPointsBufferRef_uint_field (const std::string_view & fieldName)
179180 -> mrpt::aligned_std_vector<uint16_t>* override
180181 {
181182 if (auto it = m_uint16_fields.find (fieldName); it != m_uint16_fields.end ())
@@ -189,9 +190,9 @@ class CGenericPointsMap : public CPointsMap
189190
190191 protected:
191192 /* * Map from field name to data vector */
192- std::map<std::string , mrpt::aligned_std_vector<float >> m_float_fields;
193+ std::map<std::string_view , mrpt::aligned_std_vector<float >> m_float_fields;
193194 /* * Map from field name to data vector */
194- std::map<std::string , mrpt::aligned_std_vector<uint16_t >> m_uint16_fields;
195+ std::map<std::string_view , mrpt::aligned_std_vector<uint16_t >> m_uint16_fields;
195196
196197 /* * Clear the map, erasing all the points and all fields */
197198 void internal_clear () override ;
0 commit comments