Skip to content

Instantly share code, notes, and snippets.

@dpasca
Last active December 25, 2019 18:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dpasca/ba04d40768cd92a8a2f3b62b24de0144 to your computer and use it in GitHub Desktop.
Save dpasca/ba04d40768cd92a8a2f3b62b24de0144 to your computer and use it in GitHub Desktop.
struct TradeSignalTaskParams
{
bool enable = false;
bool automatic = true;
bool use_image = false;
DStr style {"short"};
DStr dirname ;
DStr header ;
DStr footer ;
// regular: maintenance of field names and strings
void Serialize( SerialJS &v_ ) const
{
v_.MSerializeObjectStart();
SerializeMember( v_, "enable" , enable );
SerializeMember( v_, "automatic", automatic );
SerializeMember( v_, "use_image", use_image );
SerializeMember( v_, "style" , style );
SerializeMember( v_, "dirname" , dirname );
SerializeMember( v_, "header" , header );
SerializeMember( v_, "footer" , footer );
v_.MSerializeObjectEnd();
}
// macros: maintenance of field names
void Serialize( SerialJS &v_ ) const
{
v_.MSerializeObjectStart();
SERIALIZE_THIS_MEMBER( v_, enable );
SERIALIZE_THIS_MEMBER( v_, automatic );
SERIALIZE_THIS_MEMBER( v_, use_image );
SERIALIZE_THIS_MEMBER( v_, style );
SERIALIZE_THIS_MEMBER( v_, dirname );
SERIALIZE_THIS_MEMBER( v_, header );
SERIALIZE_THIS_MEMBER( v_, footer );
v_.MSerializeObjectEnd();
}
// reflection: no maintenance
void Serialize( SerialJS &v_ ) const
{
v_.MSerializeObjectStart();
reflect_for_each( field )
{
SerializeMember( v_, field.str(), field );
}
v_.MSerializeObjectEnd();
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment