pcapxx::internals::frame_iterator< Desc, Bottom > Struct Template Reference

Iterator over frames for PCAP descriptors . More...

#include <trace-tools/pcap/frame_iterator.hh>

Inheritance diagram for pcapxx::internals::frame_iterator< Desc, Bottom >:

tool::iterator_base< Bottom > tool::iterator< Bottom > tool::static_base< Bottom >

List of all members.

Public Types

typedef HIDDEN exact_type
typedef HIDDEN value_type
typedef HIDDEN iterable_type
typedef size_t difference_type

Public Member Functions

 frame_iterator (descriptor< Desc > &desc, bool end)
void increment ()
bool equal (const iterator_base &) const
const value_typeget () const
const value_typeget_ptr () const
Equality checks
bool operator== (const exact_type &) const
bool operator!= (const exact_type &) const
Increment operators
const exact_typeoperator++ ()
exact_type operator++ (int)
Indirections
const value_typeoperator * () const
const value_typeoperator-> () const
Downcast methods
const exact_typeexact () const
exact_typeexact ()
const exact_typeexact_ptr () const
exact_typeexact_ptr ()

Protected Types

typedef
boost::optional
< value_type
optional_value

Protected Attributes

iterable_typei_
optional_value v_

Friends

template<class D, class B>
void fill (void *, const pkthdr *, const void *)


Detailed Description

template<class Desc, class Bottom = tool::bottom>
struct pcapxx::internals::frame_iterator< Desc, Bottom >

Iterator over frames for PCAP descriptors .

Member Typedef Documentation

template<class Desc, class Bottom = tool::bottom>
typedef HIDDEN pcapxx::internals::frame_iterator< Desc, Bottom >::exact_type

Exact type for this template instantiation.

Reimplemented from tool::iterator_base< Bottom >.

template<class Bottom>
typedef HIDDEN tool::iterator_base< Bottom >::value_type [inherited]

This iterator's value type.

Reimplemented from tool::iterator< Bottom >.

template<class Bottom>
typedef HIDDEN tool::iterator_base< Bottom >::iterable_type [inherited]

Type of the iterable structure the iterator is obtained from.

Reimplemented in wifi::frame::filter::internals::ui_iterator< U, I, H, B, Bottom >.

template<class Bottom>
typedef boost::optional<value_type> tool::iterator_base< Bottom >::optional_value [protected, inherited]

Type for v_.

template<class Bottom>
typedef size_t tool::iterator< Bottom >::difference_type [inherited]

This iterator's difference type.


Constructor & Destructor Documentation

template<class D, class B>
pcapxx::internals::frame_iterator< D, B >::frame_iterator ( descriptor< D > &  desc,
bool  end 
) [inline]

tool::iterable -compatible constructor.


Member Function Documentation

template<class D, class B>
void pcapxx::internals::frame_iterator< D, B >::increment (  )  [inline]

Retrieve the next frame.

template<class B>
bool tool::iterator_base< B >::equal ( const iterator_base< Bottom > &  rhs  )  const [inline, inherited]

Equality check.

See also:
iterator

template<class B>
const iterator_base< B >::value_type & tool::iterator_base< B >::get (  )  const [inline, inherited]

Indirection as a reference.

See also:
iterator

template<class B>
const iterator_base< B >::value_type * tool::iterator_base< B >::get_ptr (  )  const [inline, inherited]

Indirection as a pointer.

See also:
iterator

template<class Bottom>
const static_base< Bottom >::exact_type & tool::static_base< Bottom >::exact (  )  const [inline, inherited]

Safely downcast to the exact type as a const reference.

template<class Bottom>
static_base< Bottom >::exact_type & tool::static_base< Bottom >::exact (  )  [inline, inherited]

Safely downcast to the exact type as a non-const reference.

template<class Bottom>
const static_base< Bottom >::exact_type * tool::static_base< Bottom >::exact_ptr (  )  const [inline, inherited]

Safely downcast to the exact type as a const pointer.

template<class Bottom>
static_base< Bottom >::exact_type * tool::static_base< Bottom >::exact_ptr (  )  [inline, inherited]

Safely downcast to the exact type as a non-const pointer.


Friends And Related Function Documentation

template<class Desc, class Bottom = tool::bottom>
template<class D, class B>
void fill ( void *  it,
const pkthdr h,
const void *  b 
) [friend]

Set a frame iterator's value according to a PCAP header and data.

Actually, this function should be a static method of frame_iterator. GCC does not allow that however since version 4.2.1. (Apparently it refuses to use a static method as template parameter for descriptor::loop.)


Member Data Documentation

template<class Bottom>
iterable_type* tool::iterator_base< Bottom >::i_ [protected, inherited]

Pointer to the iterable object.

template<class Bottom>
optional_value tool::iterator_base< Bottom >::v_ [protected, inherited]

Current value, or boost::none_t.


The documentation for this struct was generated from the following files:
Generated on Wed Sep 12 16:02:47 2007 for trace-tools by  doxygen 1.5.3