Tawara
0.1.0
|
JoinBlocks track operation. More...
#include <tawara/track_operation.h>
Public Member Functions | |
TrackJoinBlocks () | |
Construct a new JoinBlocks operation. More... | |
~TrackJoinBlocks () | |
Destructor. More... | |
std::string | type () const |
Get the type of operation to be performed. More... | |
void | append (uint64_t uid) |
Append a new UID to this operation. More... | |
uint64_t | remove (unsigned int pos) |
Remove a UID. More... | |
uint64_t | operator[] (unsigned int pos) const |
Const subscript operator. More... | |
unsigned int | count () const |
Get the number of UIDs stored. More... | |
virtual std::streamsize | write_body (std::ostream &output) |
TODO: Proper vector model for UIDs. More... | |
![]() | |
TrackOperationBase (ids::ID id) | |
Constructor - this must be called to set the Class ID. More... | |
virtual | ~TrackOperationBase () |
Desctructor. More... | |
![]() | |
MasterElement (uint32_t id, bool crc=false) | |
Create a new MasterElement. More... | |
virtual | ~MasterElement () |
Destructor. More... | |
![]() | |
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... | |
![]() | |
std::streamsize | write_id (std::ostream &output) |
Element ID writing. More... | |
virtual std::streamsize | write_size (std::ostream &output) |
Element size writing. More... | |
Protected Attributes | |
std::vector< UIntElement > | uids_ |
![]() | |
tawara::ids::ID | id_ |
std::streampos | offset_ |
Friends | |
bool | operator== (TrackJoinBlocks const &lhs, TrackJoinBlocks const &rhs) |
Equality operator. More... | |
Additional Inherited Members | |
![]() | |
typedef boost::shared_ptr < TrackOperationBase > | Ptr |
Base type of a track operation pointer. More... | |
JoinBlocks track operation.
This track operation is used to join the blocks of the source tracks into a single virtual track. Usually it is used to join tracks that are distinct in time. Joining tracks overlapped in time will lead to interleaved blocks of data at best and undefined results at worst, and should be avoided.
Definition at line 89 of file track_operation.h.
tawara::TrackJoinBlocks::TrackJoinBlocks | ( | ) |
Construct a new JoinBlocks operation.
|
inline |
Destructor.
Definition at line 97 of file track_operation.h.
void tawara::TrackJoinBlocks::append | ( | uint64_t | uid | ) |
Append a new UID to this operation.
[in] | uid | The UID to append. |
ValueOutOfRange | if a zero-value UID is appended. |
|
protectedvirtual |
Get the size of the body of this element.
Implements tawara::Element.
|
inline |
Get the number of UIDs stored.
Definition at line 126 of file track_operation.h.
uint64_t tawara::TrackJoinBlocks::operator[] | ( | unsigned int | pos | ) | const |
Const subscript operator.
Gets the UID at the specified position.
|
protectedvirtual |
Element body loading.
Implements tawara::Element.
uint64_t tawara::TrackJoinBlocks::remove | ( | unsigned int | pos | ) |
Remove a UID.
[in] | pos | The position of the UID to remove. |
|
inlinevirtual |
Get the type of operation to be performed.
Implements tawara::TrackOperationBase.
Definition at line 100 of file track_operation.h.
|
virtual |
TODO: Proper vector model for UIDs.
Element body writing.
ValueOutOfRange | if a zero-value UID is written. |
Implements tawara::Element.
|
friend |
Equality operator.
Definition at line 153 of file track_operation.h.
|
protected |
Definition at line 141 of file track_operation.h.