Tawara  0.1.0
Public Types | Public Member Functions | List of all members
tawara::BlockElement Class Reference

#include <tawara/block_element.h>

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

Public Types

typedef boost::shared_ptr
< BlockElement
Ptr
 
- Public Types inherited from tawara::Block
enum  LacingType { LACING_NONE, LACING_EBML, LACING_FIXED }
 Lacing types. More...
 
typedef boost::shared_ptr< BlockPtr
 Pointer to a block. More...
 
typedef boost::shared_ptr
< Block const > 
ConstPtr
 Constant pointer to a block. More...
 
typedef std::vector< char > Frame
 The type of a single frame of data. More...
 
typedef boost::shared_ptr< FrameFramePtr
 A pointer to a frame of data. More...
 
typedef std::vector< FramePtr >
::value_type 
value_type
 The value type of this container. More...
 
typedef std::vector< FramePtr >
::size_type 
size_type
 The size type of this container. More...
 
typedef std::vector< FramePtr >
::reference 
reference
 The reference type. More...
 
typedef std::vector< FramePtr >
::const_reference 
const_reference
 The constant reference type. More...
 
typedef std::vector< FramePtr >
::iterator 
iterator
 The random access iterator type. More...
 
typedef std::vector< FramePtr >
::const_iterator 
const_iterator
 The constant random access iterator type. More...
 
typedef std::vector< FramePtr >
::reverse_iterator 
reverse_iterator
 The reversed random access iterator type. More...
 
typedef std::vector< FramePtr >
::const_reverse_iterator 
const_reverse_iterator
 The constant reversed random access iterator type. More...
 

Public Member Functions

 BlockElement (tawara::ids::ID id, uint64_t track_number, int16_t timecode, LacingType lacing=LACING_NONE)
 
- 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...
 
- Public Member Functions inherited from tawara::Block
 Block (uint64_t track_number, int16_t timecode, LacingType lacing=LACING_NONE)
 Constructor. More...
 
virtual ~Block ()=0
 Desctructor. More...
 
virtual uint64_t track_number () const =0
 The block's track number. More...
 
virtual void track_number (uint64_t track_number)=0
 Set the block's track number. More...
 
virtual int16_t timecode () const =0
 The timecode of this block. More...
 
virtual void timecode (int16_t timecode)=0
 Set the block's timecode. More...
 
virtual bool invisible () const =0
 If this block is invisible. More...
 
virtual void invisible (bool invisible)=0
 Set if this block is invisible. More...
 
virtual LacingType lacing () const =0
 Get the lacing type in use. More...
 
virtual void lacing (LacingType lacing)=0
 Set the lacing type in use. More...
 
virtual value_typeat (size_type pos)=0
 Get the frame at the given position, with bounds checking. More...
 
virtual value_type const & at (size_type pos) const =0
 Get the frame at the given position, with bounds checking. More...
 
virtual value_typeoperator[] (size_type pos)=0
 Get a reference to a frame. More...
 
virtual value_type const & operator[] (size_type pos) const =0
 Get a reference to a frame. More...
 
virtual iterator begin ()=0
 Get an iterator to the first frame. More...
 
virtual const_iterator begin () const =0
 Get an iterator to the first frame. More...
 
virtual iterator end ()=0
 Get an iterator to the position past the last frame. More...
 
virtual const_iterator end () const =0
 Get an iterator to the position past the last frame. More...
 
virtual reverse_iterator rbegin ()=0
 Get a reverse iterator to the last frame. More...
 
virtual const_reverse_iterator rbegin () const =0
 Get a reverse iterator to the last frame. More...
 
virtual reverse_iterator rend ()=0
 Get a reverse iterator to the position before the first frame. More...
 
virtual const_reverse_iterator rend () const =0
 Get a reverse iterator to the position before the first frame. More...
 
virtual bool empty () const =0
 Check if there are no frames. More...
 
virtual size_type count () const =0
 Get the number of frames. More...
 
virtual size_type max_count () const =0
 Get the maximum number of frames. More...
 
virtual void clear ()=0
 Remove all frames. More...
 
virtual void erase (iterator position)=0
 Erase the frame at the specified iterator. More...
 
virtual void erase (iterator first, iterator last)=0
 Erase a range of frames. More...
 
virtual void push_back (value_type const &value)=0
 Add a frame to this block. More...
 
virtual void resize (size_type count)=0
 Resizes the frames storage. More...
 
virtual void swap (Block &other)
 Swaps the contents of this block with another. More...
 

Additional Inherited Members

- Protected Member Functions inherited from tawara::Element
virtual std::streamsize body_size () const =0
 Get the size of the body of this element. More...
 
std::streamsize write_id (std::ostream &output)
 Element ID writing. More...
 
virtual std::streamsize write_size (std::ostream &output)
 Element size writing. More...
 
virtual std::streamsize write_body (std::ostream &output)=0
 Element body writing. More...
 
virtual std::streamsize read_body (std::istream &input, std::streamsize size)=0
 Element body reading implementation. More...
 
- Protected Attributes inherited from tawara::Element
tawara::ids::ID id_
 
std::streampos offset_
 

Detailed Description

Definition at line 48 of file block_element.h.

Member Typedef Documentation

typedef boost::shared_ptr<BlockElement> tawara::BlockElement::Ptr

Definition at line 57 of file block_element.h.

Constructor & Destructor Documentation

tawara::BlockElement::BlockElement ( tawara::ids::ID  id,
uint64_t  track_number,
int16_t  timecode,
LacingType  lacing = LACING_NONE 
)
inline

Definition at line 51 of file block_element.h.


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