Use complete namespace for traits members (#332)

This prevents errors like this: error: ‘name’ is not a member of ‘pcl::detail::traits’; did you mean ‘pcl::traits::name’?
The error appears for newer PCL versions (everything after commit d39d3d3300), but this change should also be fully compatible with older PCL versions.
This commit is contained in:
Markus Vieth 2021-06-30 21:44:28 +02:00 committed by GitHub
parent 35a9f25848
commit 461a66ca08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -80,20 +80,20 @@ struct FieldStreamer
template<typename U>
void operator()()
{
const char * name = traits::name<PointT, U>::value;
const char * name = pcl::traits::name<PointT, U>::value;
std::uint32_t name_length = strlen(name);
stream_.next(name_length);
if (name_length > 0) {
memcpy(stream_.advance(name_length), name, name_length);
}
std::uint32_t offset = traits::offset<PointT, U>::value;
std::uint32_t offset = pcl::traits::offset<PointT, U>::value;
stream_.next(offset);
std::uint8_t datatype = traits::datatype<PointT, U>::value;
std::uint8_t datatype = pcl::traits::datatype<PointT, U>::value;
stream_.next(datatype);
std::uint32_t count = traits::datatype<PointT, U>::size;
std::uint32_t count = pcl::traits::datatype<PointT, U>::size;
stream_.next(count);
}
@ -109,7 +109,7 @@ struct FieldsLength
template<typename U>
void operator()()
{
std::uint32_t name_length = strlen(traits::name<PointT, U>::value);
std::uint32_t name_length = strlen(pcl::traits::name<PointT, U>::value);
length += name_length + 13;
}