Tawara  0.1.0
Public Member Functions | Protected Member Functions | List of all members
tawara::BinaryElement Class Reference

Binary primitive element. More...

#include <tawara/binary_element.h>

Inheritance diagram for tawara::BinaryElement:
Inheritance graph
[legend]
Collaboration diagram for tawara::BinaryElement:
Collaboration graph
[legend]

Public Member Functions

 BinaryElement (uint32_t id, std::vector< char > value)
 Create a new binary element with no default. More...
 
 BinaryElement (uint32_t id, std::vector< char > value, std::vector< char > default_value)
 Create a new binary element with a default value. More...
 
virtual BinaryElementoperator= (std::vector< char > const &rhs)
 Value assignment operator. More...
 
- Public Member Functions inherited from tawara::PrimitiveElement< std::vector< char > >
 PrimitiveElement (uint32_t id, std::vector< char >value)
 Create a new element with no default. More...
 
 PrimitiveElement (uint32_t id, std::vector< char >value, std::vector< char >default_value)
 Create a signed integer element with a default value. More...
 
virtual uint32_t id () const
 Get the element's ID. More...
 
virtual void id (uint32_t id)
 Set the element's ID. More...
 
virtual std::vector< char > value () const
 Get the value. More...
 
virtual void value (std::vector< char >value)
 Set the value. More...
 
 operator std::vector< char > () const
 Cast to the stored type. More...
 
virtual bool has_default () const
 Check if a default value is set. More...
 
virtual std::vector< char > get_default () const
 Get the default value. More...
 
virtual void set_default (std::vector< char >default_value)
 Set the default value. More...
 
virtual std::vector< char > remove_default ()
 Remove the default value. More...
 
virtual bool is_default () const
 Check if this element is at the default value. More...
 
- Public Member Functions inherited from tawara::Element
 Element (tawara::ids::ID id)
 Create a new Element. More...
 
virtual ~Element ()
 Destructor. More...
 
uint32_t id () const
 Get the element's ID. More...
 
std::streampos offset () const
 Get the element's offset in the byte stream. More...
 
virtual std::streamsize size () const
 Get the total size of the element. More...
 
virtual std::streamsize write (std::ostream &output)
 Element writing. More...
 
virtual std::streamsize read (std::istream &input)
 Element reading. More...
 

Protected Member Functions

virtual std::streamsize body_size () const
 Get the size of the body of this element. More...
 
virtual std::streamsize read_body (std::istream &input, std::streamsize size)
 Element body loading. More...
 
virtual std::streamsize write_body (std::ostream &output)
 Element body writing. More...
 
- Protected Member Functions inherited from tawara::PrimitiveElement< std::vector< char > >
virtual bool equal_ (PrimitiveElement< std::vector< char > > const &rhs)
 
- Protected Member Functions inherited from tawara::Element
std::streamsize write_id (std::ostream &output)
 Element ID writing. More...
 
virtual std::streamsize write_size (std::ostream &output)
 Element size writing. More...
 

Additional Inherited Members

- Protected Attributes inherited from tawara::PrimitiveElement< std::vector< char > >
std::vector< char > value_
 
std::vector< char > default_
 
bool has_default_
 
- Protected Attributes inherited from tawara::Element
tawara::ids::ID id_
 
std::streampos offset_
 

Detailed Description

Binary primitive element.

This element stores a block of opaque binary data.

Definition at line 57 of file binary_element.h.

Constructor & Destructor Documentation

tawara::BinaryElement::BinaryElement ( uint32_t  id,
std::vector< char >  value 
)

Create a new binary element with no default.

Parameters
[in]idThe element's ID, as an unsigned integer up to 28 bits.
[in]valueThe element's value.
tawara::BinaryElement::BinaryElement ( uint32_t  id,
std::vector< char >  value,
std::vector< char >  default_value 
)

Create a new binary element with a default value.

Parameters
[in]idThe element's ID, as an unsigned integer up to 28 bits.
[in]valueThe element's value.
[in]default_valueThe default value of the element.

Member Function Documentation

virtual std::streamsize tawara::BinaryElement::body_size ( ) const
protectedvirtual

Get the size of the body of this element.

Implements tawara::Element.

virtual BinaryElement& tawara::BinaryElement::operator= ( std::vector< char > const &  rhs)
virtual

Value assignment operator.

Reimplemented from tawara::PrimitiveElement< std::vector< char > >.

virtual std::streamsize tawara::BinaryElement::read_body ( std::istream &  input,
std::streamsize  size 
)
protectedvirtual

Element body loading.

Implements tawara::Element.

virtual std::streamsize tawara::BinaryElement::write_body ( std::ostream &  output)
protectedvirtual

Element body writing.

Implements tawara::Element.


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