Thread overview
Templates for structures
Nov 02, 2014
novice2
Nov 03, 2014
Ali Çehreli
Nov 04, 2014
novice2
November 02, 2014
Hello.

I need write some wrapper around legacy data structure.
May be it should be class. May be structure with methods.
The problem is writing repetitive code for underlying data.
For example:
 - code to read length-byte-prefixed string to D string for every field in every structure;
 - code to write D string back to length-byte-prefixed string;

Is it possible to write some template or mixin, and then just write
myStruct.addFiled(type=ByteLengthString, name="name")
myStruct.addFiled(type=ShortLengthString, name="filed2")
myStruct.addFiled(type=WeirdStoredInteger, name="counter")

May be it can be done with template, mixin, UDA, ...?

May be something already realized, and i can see sources as example?

Any ideas or examples please.
Just show direction for me )

Thanx.
November 03, 2014
On 11/02/2014 04:10 AM, novice2 wrote:
> Hello.
>
> I need write some wrapper around legacy data structure.
> May be it should be class. May be structure with methods.
> The problem is writing repetitive code for underlying data.
> For example:
>   - code to read length-byte-prefixed string to D string for every field
> in every structure;
>   - code to write D string back to length-byte-prefixed string;
>
> Is it possible to write some template or mixin, and then just write
> myStruct.addFiled(type=ByteLengthString, name="name")
> myStruct.addFiled(type=ShortLengthString, name="filed2")
> myStruct.addFiled(type=WeirdStoredInteger, name="counter")
>
> May be it can be done with template, mixin, UDA, ...?
>
> May be something already realized, and i can see sources as example?
>
> Any ideas or examples please.
> Just show direction for me )
>
> Thanx.

It sounds possible but I don't understand it yet. Can you give an example of the input and output to the D code?

Ali

November 04, 2014
On Monday, 3 November 2014 at 14:53:29 UTC, Ali Çehreli wrote:
> It sounds possible but I don't understand it yet. Can you give an example of the input and output to the D code?
>
> Ali

Thank you Ali.
I realized, that my wishes look like serialization.
So i decide read and learn code from existent serialization libraries.