senf::detail::PacketImpl Class Reference

Internal: Packet data storage. More...

#include <senf/Packets/PacketImpl.hh>

Inheritance diagram for senf::detail::PacketImpl:
Inheritance graph
[legend]

List of all members.


Detailed Description

Internal: Packet data storage.

For internal use only.

This is the class holding the packet data and the interpreter chain. All manipulations of the packet data are performed via the interface exported here. This is very important, since PacketImpl will update the interpreters (that is the vector indices stored therein) whenever the data is changed.

Definition at line 110 of file PacketImpl.hh.


Classes

struct   Guard
  Internal: Keep PacketImpl instance alive. More...
union   SimpleAnnotationSlot

Public Types

typedef senf::detail::packet::byte  byte
typedef
senf::detail::packet::raw_container 
raw_container
typedef
senf::detail::packet::size_type 
size_type
typedef
senf::detail::packet::difference_type 
difference_type
typedef
senf::detail::packet::interpreter_list 
interpreter_list
typedef
senf::detail::packet::iterator 
iterator
typedef
senf::detail::packet::const_iterator 
const_iterator
typedef
senf::detail::packet::refcount_t 
refcount_t

Public Member Functions

  PacketImpl ()
  PacketImpl (size_type size, byte initValue)
template<class InputIterator >
  PacketImpl (InputIterator b, InputIterator e)
  ~PacketImpl ()
void  add_ref ()
void  release ()
refcount_t  refcount () const
PacketInterpreterBase first ()
PacketInterpreterBase last ()
PacketInterpreterBase next (PacketInterpreterBase *p)
PacketInterpreterBase prev (PacketInterpreterBase *p)
void  appendInterpreter (PacketInterpreterBase *p)
void  prependInterpreter (PacketInterpreterBase *p)
void  prependInterpreter (PacketInterpreterBase *p, PacketInterpreterBase *before)
void  truncateInterpreters (PacketInterpreterBase *p)
void  truncateInterpretersBackwards (PacketInterpreterBase *p)
iterator  begin ()
iterator  end ()
size_type  size ()
void  insert (PacketData *self, iterator pos, byte v)
void  insert (PacketData *self, iterator pos, size_type n, byte v)
template<class ForwardIterator >
void  insert (PacketData *self, iterator pos, ForwardIterator f, ForwardIterator l)
void  erase (PacketData *self, iterator pos)
void  erase (PacketData *self, iterator first, iterator last)
void  clear (PacketData *self)
void  reserve (size_type n)
size_type  capacity () const
template<class Annotation >
Annotation &  annotation ()
void  clearAnnotations ()
void  assignAnnotations (PacketImpl const &other)
void  dumpAnnotations (std::ostream &os)

Member Typedef Documentation

typedef senf::detail::packet::byte senf::detail::PacketImpl::
byte

Definition at line 115 of file PacketImpl.hh.

typedef senf::detail::packet::const_iterator senf::detail::PacketImpl::
const_iterator

Definition at line 121 of file PacketImpl.hh.

typedef senf::detail::packet::difference_type senf::detail::PacketImpl::
difference_type

Definition at line 118 of file PacketImpl.hh.

typedef senf::detail::packet::interpreter_list senf::detail::PacketImpl::
interpreter_list

Definition at line 119 of file PacketImpl.hh.

typedef senf::detail::packet::iterator senf::detail::PacketImpl::
iterator

Definition at line 120 of file PacketImpl.hh.

typedef senf::detail::packet::raw_container senf::detail::PacketImpl::
raw_container

Definition at line 116 of file PacketImpl.hh.

typedef senf::detail::packet::refcount_t senf::detail::PacketImpl::
refcount_t

Definition at line 122 of file PacketImpl.hh.

typedef senf::detail::packet::size_type senf::detail::PacketImpl::
size_type

Definition at line 117 of file PacketImpl.hh.


Constructor & Destructor Documentation

senf::detail::PacketImpl::
PacketImpl ()

Definition at line 101 of file PacketImpl.cci.

senf::detail::PacketImpl::
PacketImpl ( size_type  size,
byte  initValue )

Definition at line 107 of file PacketImpl.cci.

template<class InputIterator >
senf::detail::PacketImpl::
PacketImpl ( InputIterator  b,
InputIterator  e )

Definition at line 83 of file PacketImpl.cti.

senf::detail::PacketImpl::
~PacketImpl ()

Definition at line 43 of file PacketImpl.cc.


Member Function Documentation

void senf::detail::PacketImpl::
add_ref ()

Definition at line 115 of file PacketImpl.cci.

template<class Annotation >
Annotation & senf::detail::PacketImpl::
annotation ()

Definition at line 92 of file PacketImpl.cti.

void senf::detail::PacketImpl::
appendInterpreter ( PacketInterpreterBase p )

Definition at line 65 of file PacketImpl.cc.

void senf::detail::PacketImpl::
assignAnnotations ( PacketImpl const &  other )

Definition at line 165 of file PacketImpl.cc.

senf::detail::PacketImpl::iterator senf::detail::PacketImpl::
begin ()

Definition at line 164 of file PacketImpl.cci.

senf::detail::PacketImpl::size_type senf::detail::PacketImpl::
capacity ()

Definition at line 214 of file PacketImpl.cci.

void senf::detail::PacketImpl::
clear ( PacketData self )

Definition at line 87 of file PacketImpl.cc.

void senf::detail::PacketImpl::
clearAnnotations ()

Definition at line 159 of file PacketImpl.cc.

void senf::detail::PacketImpl::
dumpAnnotations ( std::ostream &  os )

Definition at line 149 of file PacketImpl.cc.

senf::detail::PacketImpl::iterator senf::detail::PacketImpl::
end ()

Definition at line 169 of file PacketImpl.cci.

void senf::detail::PacketImpl::
erase ( PacketData self,
iterator  first,
iterator  last )

Definition at line 201 of file PacketImpl.cci.

void senf::detail::PacketImpl::
erase ( PacketData self,
iterator  pos )

Definition at line 194 of file PacketImpl.cci.

senf::PacketInterpreterBase * senf::detail::PacketImpl::
first ()

Definition at line 128 of file PacketImpl.cci.

template<class ForwardIterator >
void senf::detail::PacketImpl::
insert ( PacketData self,
iterator  pos,
ForwardIterator  f,
ForwardIterator  l )

Definition at line 74 of file PacketImpl.cti.

void senf::detail::PacketImpl::
insert ( PacketData self,
iterator  pos,
size_type  n,
byte  v )

Definition at line 186 of file PacketImpl.cci.

void senf::detail::PacketImpl::
insert ( PacketData self,
iterator  pos,
byte  v )

Definition at line 179 of file PacketImpl.cci.

senf::PacketInterpreterBase * senf::detail::PacketImpl::
last ()

Definition at line 133 of file PacketImpl.cci.

senf::PacketInterpreterBase * senf::detail::PacketImpl::
next ( PacketInterpreterBase p )

Definition at line 138 of file PacketImpl.cci.

void senf::detail::PacketImpl::
prependInterpreter ( PacketInterpreterBase p,
PacketInterpreterBase before )

Definition at line 77 of file PacketImpl.cc.

void senf::detail::PacketImpl::
prependInterpreter ( PacketInterpreterBase p )

Definition at line 71 of file PacketImpl.cc.

senf::PacketInterpreterBase * senf::detail::PacketImpl::
prev ( PacketInterpreterBase p )

Definition at line 144 of file PacketImpl.cci.

senf::detail::PacketImpl::refcount_t senf::detail::PacketImpl::
refcount ()

Definition at line 120 of file PacketImpl.cci.

void senf::detail::PacketImpl::
release ()

Definition at line 50 of file PacketImpl.cc.

void senf::detail::PacketImpl::
reserve ( size_type  n )

Definition at line 209 of file PacketImpl.cci.

senf::detail::PacketImpl::size_type senf::detail::PacketImpl::
size ()

Definition at line 174 of file PacketImpl.cci.

void senf::detail::PacketImpl::
truncateInterpreters ( PacketInterpreterBase p )

Definition at line 150 of file PacketImpl.cci.

void senf::detail::PacketImpl::
truncateInterpretersBackwards ( PacketInterpreterBase p )

Definition at line 156 of file PacketImpl.cci.


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