To get the total size of the struct, this should work:

Foo test;
sizeof( double ) * test.A.size() + sizeof( double ) * test.B.size() +
sizeof( bool ) * 2

Stephan


2013/6/9 Guillaume Laforge <[email protected]>

> Hi Ahmidou :),
>
> You could try to use pointers to std::vector. This way you will be able to
> access those vector and get the double values correctly.
> But you must handle the allocation/deallocation of those vectors by
> yourself:
>
> struct Foo{
>     std::vector<double> *A;
>     std::vector<double> *B;
>     bool C;
>     bool D;
>
>     Foo()
>     {
>         A = new std::vector<double>;
>         B = new std::vector<double>;
>     }
>     ~Foo()
>     {
>         delete A;
>         delete B;
>     }
> };
>
> Hope this help,
>
> Guillaume
>
>
> On Sun, Jun 9, 2013 at 8:07 AM, Ahmidou Lyazidi <[email protected]>wrote:
>
>> Hi List,
>> Is it possible to store this kind of struct in a UserData (map or blob):
>>
>> struct Foo{
>>     std::vector<double> A;
>>     std::vector<double> B;
>>     bool C;
>>     bool D;
>> };
>>
>> I can pull out the structure, and the vectors have the good number of
>> item...but they are empty, the values are gone
>>
>> I'm not sure, but I think it's lost because of the size parameter in
>> UserDataMap.PutItemValue
>> I tried to set the real size ( sizeof(vector)+ sizeof(double)*vector::size()
>> ) but this gave me some crazy results.
>>
>> Any idea?
>>
>> Thanks
>>
>> -----------------------------------------------
>> Ahmidou Lyazidi
>> Director | TD | CG artist
>> http://vimeo.com/ahmidou/videos
>> http://www.cappuccino-films.com
>>
>
>

Reply via email to