IWAField.h File Reference
#include <deque>
#include <stdexcept>
#include <boost/container/deque.hpp>
#include <boost/optional.hpp>
#include <boost/shared_ptr.hpp>
#include "IWAReader.h"
#include "libetonyek_utils.h"

Go to the source code of this file.

Classes

class  libetonyek::IWAField
class  libetonyek::detail::IWAFieldImpl< TagV, ValueT, Reader >
class  libetonyek::IWAMessageField

Namespaces

namespace  libetonyek
namespace  libetonyek::detail

Typedefs

typedef boost::shared_ptr
< IWAField > 
libetonyek::IWAFieldPtr_t
typedef detail::IWAFieldImpl
< IWAField::TAG_UINT32,
uint32_t, IWAReader::UInt32 > 
libetonyek::IWAUInt32Field
typedef detail::IWAFieldImpl
< IWAField::TAG_UINT64,
uint64_t, IWAReader::UInt64 > 
libetonyek::IWAUInt64Field
typedef detail::IWAFieldImpl
< IWAField::TAG_SINT32,
int32_t, IWAReader::SInt32 > 
libetonyek::IWASInt32Field
typedef detail::IWAFieldImpl
< IWAField::TAG_SINT64,
int64_t, IWAReader::SInt64 > 
libetonyek::IWASInt64Field
typedef detail::IWAFieldImpl
< IWAField::TAG_BOOL, bool,
IWAReader::Bool > 
libetonyek::IWABoolField
typedef detail::IWAFieldImpl
< IWAField::TAG_FIXED64,
uint64_t, IWAReader::Fixed64 > 
libetonyek::IWAFixed64Field
typedef detail::IWAFieldImpl
< IWAField::TAG_DOUBLE, double,
IWAReader::Double > 
libetonyek::IWADoubleField
typedef detail::IWAFieldImpl
< IWAField::TAG_STRING,
std::string, IWAReader::String > 
libetonyek::IWAStringField
typedef detail::IWAFieldImpl
< IWAField::TAG_BYTES,
RVNGInputStreamPtr_t,
IWAReader::Bytes > 
libetonyek::IWABytesField
typedef detail::IWAFieldImpl
< IWAField::TAG_FIXED32,
uint32_t, IWAReader::Fixed32 > 
libetonyek::IWAFixed32Field
typedef detail::IWAFieldImpl
< IWAField::TAG_FLOAT, float,
IWAReader::Float > 
libetonyek::IWAFloatField

Functions

template<IWAField::Tag TagV, typename ValueT , typename Reader >
const ValueT & libetonyek::get (const detail::IWAFieldImpl< TagV, ValueT, Reader > &field)
template<IWAField::Tag TagV, typename ValueT , typename Reader >
const ValueT & libetonyek::get_optional_value_or (const detail::IWAFieldImpl< TagV, ValueT, Reader > &field, const ValueT &value)
template<IWAField::Tag TagV, typename ValueT , typename Reader , typename DefaultValueT >
const ValueT libetonyek::get_optional_value_or (const detail::IWAFieldImpl< TagV, ValueT, Reader > &field, const DefaultValueT &value)