You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Scott Banachowski (JIRA)" <ji...@apache.org> on 2009/06/20 21:42:07 UTC

[jira] Updated: (AVRO-59) proposal to make some C++ object APIs more generic

     [ https://issues.apache.org/jira/browse/AVRO-59?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Scott Banachowski updated AVRO-59:
----------------------------------

    Attachment: AVRO-59.patch

Here is the patch.  Currently the changes are only applied to the serializer side, but the same can be applied to the parser side since they are symmetric. 

I will likewise change the parser side if people think this is a reasonable approach.


> proposal to make some C++ object APIs more generic
> --------------------------------------------------
>
>                 Key: AVRO-59
>                 URL: https://issues.apache.org/jira/browse/AVRO-59
>             Project: Avro
>          Issue Type: Improvement
>          Components: c++
>            Reporter: Scott Banachowski
>         Attachments: AVRO-59.patch
>
>
> This is a patch I made for the serializer.  In the original version, the Serializer object has functions like putInt(), putLong(),..., i.e. each put* function has a different name.  
> This is not convenient for generic template code, because each type requires a different function call.  I moved the Serializer code to a class called Writer, that has only putValue overridden for each type, e.g. putValue(int32_t), putValue(int64_t), putValue(bool) etc.
> Generic code, such as in AvroSerializer.hh can use the generic API.  To preserve the explicit calls, Serializer still exists, but has become a thin wrapper for Writer.  The explicit calls are still useful for when you don't want implicit conversion to accidentally choose the wrong type.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.