avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Banachowski (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AVRO-59) proposal to make some C++ object APIs more generic
Date Sat, 20 Jun 2009 19:42:07 GMT

     [ 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.


Mime
View raw message