Avro C++
Public Member Functions
avro::GenericDatum Class Reference

Generic datum which can hold any Avro type. More...

#include <Generic.hh>

List of all members.

Public Member Functions

Type type () const
 The avro data type this datum holds.
template<typename T >
const T & value () const
 Returns the value held by this datum.
template<typename T >
T & value ()
 Returns the reference to the value held by this datum, which can be used to change the contents.
bool isUnion () const
 Returns true if and only if this datum is a union.
size_t unionBranch () const
 Returns the index of the current branch, if this is a union.
void selectBranch (size_t branch)
 Selects a new branch in the union if this is a union.
 GenericDatum ()
 Makes a new AVRO_NULL datum.
 GenericDatum (bool v)
 Makes a new AVRO_BOOL datum whose value is of type bool.
 GenericDatum (int32_t v)
 Makes a new AVRO_INT datum whose value is of type int32_t.
 GenericDatum (int64_t v)
 Makes a new AVRO_LONG datum whose value is of type int64_t.
 GenericDatum (float v)
 Makes a new AVRO_FLOAT datum whose value is of type float.
 GenericDatum (double v)
 Makes a new AVRO_DOUBLE datum whose value is of type double.
 GenericDatum (const std::string &v)
 Makes a new AVRO_STRING datum whose value is of type std::string.
 GenericDatum (const std::vector< uint8_t > &v)
 Makes a new AVRO_BYTES datum whose value is of type std::vector<uint8_t>.
 GenericDatum (const NodePtr &schema)
 Constructs a datum corresponding to the given avro type.
 GenericDatum (const ValidSchema &schema)
 Constructs a datum corresponding to the given avro type.

Detailed Description

Generic datum which can hold any Avro type.

The datum has a type and a value. The type is one of the Avro data types. The C++ type for value corresponds to the Avro type.


Constructor & Destructor Documentation

avro::GenericDatum::GenericDatum ( const std::vector< uint8_t > &  v) [inline]

Makes a new AVRO_BYTES datum whose value is of type std::vector<uint8_t>.

avro::GenericDatum::GenericDatum ( const NodePtr &  schema)

Constructs a datum corresponding to the given avro type.

The value will the appropraite default corresponding to the data type.

Parameters:
schemaThe schema that defines the avro type.
avro::GenericDatum::GenericDatum ( const ValidSchema schema)

Constructs a datum corresponding to the given avro type.

The value will the appropraite default corresponding to the data type.

Parameters:
schemaThe schema that defines the avro type.

Member Function Documentation

void avro::GenericDatum::selectBranch ( size_t  branch) [inline]

Selects a new branch in the union if this is a union.

See also:
isUnion().
size_t avro::GenericDatum::unionBranch ( ) const [inline]

Returns the index of the current branch, if this is a union.

See also:
isUnion().
template<typename T >
T & avro::GenericDatum::value ( )

Returns the reference to the value held by this datum, which can be used to change the contents.

Please note that only value can be changed, the data type of the value held cannot be changed.

T The type for the value. This must correspond to the avro type returned by type().

References avro::AVRO_UNION.

template<typename T >
const T & avro::GenericDatum::value ( ) const

Returns the value held by this datum.

T The type for the value. This must correspond to the avro type returned by type().

References avro::AVRO_UNION.


The documentation for this class was generated from the following file: