Hi,
I have a question of using sequence. I added in seqence in IDL, for example below:
struct myTestSequence_T {
double myFirstVar; //@key
seqence<long,10> mySeqLong;
};
After convertion to C using rtiddsgen, the sequence was translated to struct. See below.
typedef struct myTestSequence_T{
CDR_double myFirstVar;
struct CDR_LongSeq seqLong;
} myTestSequence_T;
Why is that so? Why not vector<>?
Thank you so much.
CB
Hi,
I found out the reason. My mistake. It was because I convert as C, and not C++, thus it won't be vector.
I need to figure out how to use sequence in C. If anyone can point me a way will be appreciated.
Thanks.
CB
Hi,
Here is a list of places where you can learn more about sequences in C.
The C API Reference contains a section on sequences.
The Examples available on this portal contains one on using sequences, see https://community.rti.com/examples/using-sequences. There you can find the syntax used in C and other languages.
You may also want to read this HowTo on sequences. It provides a good introduction to how they are implemented in C and traditional C++ (modern C++ uses std::vector and Java and C# also use native constructs). The HowTo examples are in C++ but the C implementation is the same and there is a one-to-one mapping between the C++ operations and the C functions. For example the C++ operation Foo::length() becomes Foo_length() for C.
Gerardo
Hi Gerardo,
Thank you very much. Appreciate your help.
Chee Beng