39 #if !defined(TAWARA_TRACK_OPERATION_H_)
40 #define TAWARA_TRACK_OPERATION_H_
42 #include <boost/operators.hpp>
43 #include <boost/smart_ptr.hpp>
74 virtual std::string type()
const = 0;
77 typedef boost::shared_ptr<TrackOperationBase>
Ptr;
90 public boost::equality_comparable<TrackJoinBlocks>
110 void append(uint64_t uid);
117 uint64_t
remove(
unsigned int pos);
123 uint64_t operator[](
unsigned int pos)
const;
126 unsigned int count()
const {
return uids_.size(); }
134 virtual std::streamsize write_body(std::ostream& output);
144 virtual std::streamsize body_size()
const;
147 virtual std::streamsize read_body(std::istream& input,
148 std::streamsize
size);
163 #endif // TAWARA_TRACK_OPERATION_H_
virtual ~TrackOperationBase()
Desctructor.
Abstract base class for individual track operations.
JoinBlocks track operation.
std::streamsize size(ID id)
Get the number of bytes required by an ID.
The MasterElement interface.
std::vector< UIntElement > uids_
bool operator==(AttachedFile const &lhs, AttachedFile const &rhs)
Equality operator for the AttachedFile object.
TrackOperationBase(ids::ID id)
Constructor - this must be called to set the Class ID.
~TrackJoinBlocks()
Destructor.
std::string type() const
Get the type of operation to be performed.
const ID TrackJoinBlocks(0xE9)
boost::shared_ptr< TrackOperationBase > Ptr
Base type of a track operation pointer.
unsigned int count() const
Get the number of UIDs stored.