LCM supports multi-dimensional arrays consisting of primitives, structs, or constant declarations.
I am not sure what "constant declarations" could mean. As far as I can tell, nothing like const int32_t foo[2] = {1, 2}; is supported.
...: you cannot encode an LCM type that consists of a variable-dimension array.
This clarification existing is confusing? Like why is it even there? What would that even look like? X-D arrays aren't a type system level thing anywhere? Like I guess the idea is to say int32_t ndim; int32_t dimsizes[ndim]; float ndarrry<dimsizes> is not a thing that is supported. But, why would it? Could be a footnote at the end of the section, but not in the 2nd sentence.
point2d_list_t example: Might be worth spelling out "
I find this page surprisingly confusing: http://lcm-proj.github.io/lcm/content/lcm-type-ref.html#arrays
I am not sure what "constant declarations" could mean. As far as I can tell, nothing like
const int32_t foo[2] = {1, 2};
is supported.This clarification existing is confusing? Like why is it even there? What would that even look like? X-D arrays aren't a type system level thing anywhere? Like I guess the idea is to say
int32_t ndim; int32_t dimsizes[ndim]; float ndarrry<dimsizes>
is not a thing that is supported. But, why would it? Could be a footnote at the end of the section, but not in the 2nd sentence.point2d_list_t example: Might be worth spelling out "
is essentially the same as
point2d_list_t
"?.
Say upfront "LCM uses the C-style ; syntax."?