MIP_SDK
v3.0.0-208-gdb90bae
MicroStrain Communications Library for embedded systems
|
Go to the documentation of this file.
25 template<
class T>
struct ParamType<T, typename std::enable_if<std::is_enum<T>::value, T>::type> {
static constexpr
inline Type value =
Type::ENUM; };
71 #ifdef MICROSTRAIN_HAS_OPTIONAL
87 default:
return std::nullopt;
90 #endif // MICROSTRAIN_HAS_OPTIONAL
173 default:
return nullptr;
211 return sizeof(uint8_t);
215 return sizeof(int8_t);
219 return sizeof(uint16_t);
223 return sizeof(int16_t);
227 return sizeof(uint32_t);
231 return sizeof(int32_t);
235 return sizeof(uint64_t);
239 return sizeof(int64_t);
243 return sizeof(float);
247 return sizeof(double);
269 size_t total_size = 0;
289 size_t highest_size = 0;
302 if (param_size > highest_size)
304 highest_size = param_size;
331 return alignof(char);
335 return alignof(bool);
339 return alignof(uint8_t);
343 return alignof(int8_t);
347 return alignof(uint16_t);
351 return alignof(int16_t);
355 return alignof(uint32_t);
359 return alignof(int32_t);
363 return alignof(uint64_t);
367 return alignof(int64_t);
371 return alignof(float);
375 return alignof(double);
398 size_t highest_alignment = 0;
402 return highest_alignment;
411 if (param_alignment > highest_alignment)
413 highest_alignment = param_alignment;
418 return highest_alignment;
434 const size_t align_offset = current_offset % align;
436 if (align_offset != 0)
438 current_offset += align - align_offset;
458 size_t check_offset = 0;
464 if (offset == check_offset)
469 if (offset < check_offset)
498 switch (base_param->type.type)
507 const UnionInfo* union_info =
static_cast<const UnionInfo*
>(base_param->type.infoPtr);
539 if (strcmp(param.
name, param_name) == 0)
561 #define GET_MIP_METADATA_NESTED_PARAM_INFO(MemberParameter, NestedMemberField) \
562 mip::metadata::utils::getParameterInfoForMember(mip::metadata::MetadataFor<decltype(MemberParameter)>::value, #NestedMemberField, \
563 offsetof(decltype(MemberParameter), NestedMemberField)) // Dummy entry to allow offsetof to check the member exists
576 #define GET_MIP_METADATA_PARAM_INFO(MipType, MemberField) \
577 mip::metadata::utils::getParameterInfoForMember(mip::metadata::MetadataFor<MipType>::value, #MemberField, \
578 offsetof(MipType, MemberField)) // Dummy entry to allow offsetof to check the member exists
constexpr pointer data() const noexcept
Definition: span.hpp:66
std::enable_if< isField< T >::value, T > EnableForFieldTypes
Definition: mip_descriptors.hpp:56
constexpr size_t size() const noexcept
Definition: span.hpp:68
Implementation of std::span from C++20.
Definition: span.hpp:41
A dummy struct which is used to mark bitfield objects.
Definition: mip_descriptors.hpp:61