Alchemy  1.0
A framework to robustly process network messages and structured data
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Types | List of all members
Hg::detail::DataProxy< opaque_vector_trait, IdxT, FormatT > Struct Template Reference

A template to provide access to sequences of data fields. More...

#include <opaque_proxy.h>

Inheritance diagram for Hg::detail::DataProxy< opaque_vector_trait, IdxT, FormatT >:
Hg::detail::DataProxy< vector_trait, IdxT, FormatT > Hg::Datum< IdxT, FormatT > Hg::detail::FieldTypes< FieldT, TraitT >

Public Types

typedef value_type::const_iterator const_iterator
 A const iterator to a value_type index.
 
typedef value_type::const_reference const_reference
 Const Reference to an element in the vector.
 
typedef
value_type::const_reverse_iterator 
const_reverse_iterator
 A const reverse iterator to a value_type index.
 
typedef index_type::value_type data_type
 The value type of the element extracted at the current index defined in the parent TypeList.
 
typedef base_type::field_type field_type
 Type mapping for the message format type to the actual value_type.
 
typedef field_type::index_type index_type
 The raw type extracted at the current index defined in the parent TypeList.
 
typedef value_type::iterator iterator
 An iterator to a value_type index.
 
typedef value_type::reference reference
 Reference to an element in the vector.
 
typedef
value_type::reverse_iterator 
reverse_iterator
 A reverse iterator to a value_type index.
 
- Public Types inherited from Hg::detail::DataProxy< vector_trait, IdxT, FormatT >
typedef value_type::const_iterator const_iterator
 A const iterator to a value_type index.
 
typedef value_type::const_reference const_reference
 Const Reference to an element in the vector.
 
typedef
value_type::const_reverse_iterator 
const_reverse_iterator
 A const reverse iterator to a value_type index.
 
typedef index_type::value_type data_type
 The value type of the element extracted at the current index defined in the parent TypeList.
 
typedef
detail::DefineFieldType< IdxT,
format_type >::type 
field_type
 Type mapping for the message format type to the actual value_type.
 
typedef field_type::index_type index_type
 The raw type extracted at the current index defined in the parent TypeList.
 
typedef value_type::iterator iterator
 An iterator to a value_type index.
 
typedef value_type::reference reference
 Reference to an element in the vector.
 
typedef
value_type::reverse_iterator 
reverse_iterator
 A reverse iterator to a value_type index.
 
- Public Types inherited from Hg::Datum< IdxT, FormatT >
typedef
detail::DefineFieldType< Idx,
FormatT >::type 
field_type
 Type mapping for the message format type to the actual value_type.
 
typedef FormatT format_type
 format of the parent TypeList.
 
typedef field_type::index_type index_type
 The type extracted at the current index defined in the parent TypeList.
 
typedef field_type::value_type value_type
 The data type managed by this Datum. This is the type of data that will be written to the attached buffer.
 
- Public Types inherited from Hg::detail::FieldTypes< FieldT, TraitT >
typedef FieldT index_type
 
        The type at the index of the

parent type container.

 
typedef field_data_t
< index_type >::value_type 
value_type
 
        The specified value type for 

the current Datum.

 

Additional Inherited Members

- Public Member Functions inherited from Hg::detail::DataProxy< vector_trait, IdxT, FormatT >
 DataProxy ()
 Default Constructor.
 
 DataProxy (const DataProxy &proxy)
 Copy Constructor. More...
 
 DataProxy (const datum_type &datum)
 Value Constructor: Construct a proxy directly from a datum instance. More...
 
 DataProxy (const value_type &value)
 Value Constructor: Construct a proxy directly from a datum instance. More...
 
void assign (size_t count, const data_type &value)
 Replaces the contents of the container.
 
template<typename InputIt >
void assign (InputIt first, InputIt last)
 Replaces the contents of the container.
 
const_reference at (size_t idx) const
 Accesses the value at the specified index in the vector data..
 
reference at (size_t idx)
 Accesses the value at the specified index in the vector data..
 
const_reference back () const
 Accesses the value at the specified index in the vector data..
 
reference back ()
 Accesses the value at the specified index in the vector data..
 
iterator begin ()
 Returns an iterator to the first item in the vector.
 
size_t capacity () const
 Returns the number of elements that this vector can hold based on the current allocated space.
 
void clear ()
 Releases all allocated memory dedicated for storing entry data.
 
bool empty ()
 Indicates if the vector does not have any space allocated for data.
 
iterator end ()
 Returns an iterator to the item one passed the end of the vector.
 
iterator erase (iterator pos)
 Removes the specified element from this container. More...
 
iterator erase (iterator first, iterator last)
 Removes the range of specified elements from this container. More...
 
const_reference front () const
 Accesses the value at the specified index in the vector data..
 
reference front ()
 Accesses the value at the specified index in the vector data..
 
 operator reference ()
 Conversion operator to a base Datum Type. More...
 
 operator value_type () const
 Value Conversion Operator (value_type) More...
 
DataProxyoperator= (const datum_type &value)
 Value assignment.
 
DataProxyoperator= (const value_type &value)
 Value assignment.
 
const_reference operator[] (size_t idx) const
 Accesses the value at the specified index in the vector data..
 
reference operator[] (size_t idx)
 Accesses the value at the specified index in the vector data..
 
void pop_back ()
 Removes the last element in the container. More...
 
void push_back (const_reference value)
 Removes the specified element from this container. More...
 
reverse_iterator rbegin ()
 Returns an iterator to the last item of the vector moving in reverse.
 
reverse_iterator rend ()
 Returns an iterator to the item one passed the beginning of the vector, moving in reverse.
 
void reserve (size_t new_cap)
 Insures that space is reserved to hold at least new_cap elements.
 
void resize (size_t count)
 Changes the number of elements stored. More...
 
void resize (size_t count, data_type value)
 Changes the number of elements stored. More...
 
void set (const value_type &value)
 Updates the value of this VectorProxy with a std::vector type. More...
 
template<size_t ExtentT>
void set (const data_type(&value)[ExtentT])
 Updates the value of this Vector with a native array type. More...
 
size_t size () const
 Returns the number of valid objects managed by this vector structure.
 
void swap (DataProxy &other)
 Exchanges the contents of this DataProxy container with those of other. This version does not invoke any move, copy, or swap operations on the individual elements. More...
 
void swap (value_type &other)
 Exchanges the contents of the container with those of other. This version does not invoke any move, copy, or swap operations on the individual elements. More...
 
- Static Public Attributes inherited from Hg::Datum< IdxT, FormatT >
static const size_t k_offset
 The offset in the buffer where this msg field is located.
 
- Protected Member Functions inherited from Hg::Datum< IdxT, FormatT >
const value_typeget_data () const
 Returns the value of the data buffer.
 
value_typeget_reference ()
 Returns a reference to the internal data storage. More...
 
void set_data (const value_type &value)
 Returns the value of the data buffer.
 
- Protected Attributes inherited from Hg::detail::FieldTypes< FieldT, TraitT >
value_type m_data
 
            This is a local copy of the data

value to shadow the value held in the buffer.

 

Detailed Description

template<size_t IdxT, typename FormatT>
struct Hg::detail::DataProxy< opaque_vector_trait, IdxT, FormatT >

A template to provide access to sequences of data fields.

This version derives from the Vector Proxy. Additional functionality is defined for obtaining views of the data buffers.

IdxT FormatType

Definition at line 42 of file opaque_proxy.h.


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