tool::window_maker< InputIterator, WSize, Step, Bottom > Struct Template Reference

Iterable object that builds windows over a sequence. More...

#include <wipal/tool/window.hh>

Inheritance diagram for tool::window_maker< InputIterator, WSize, Step, Bottom >:

tool::iterable< Bottom > tool::static_base< Bottom >

List of all members.

Public Types

typedef HIDDEN exact_type
Iterator types
typedef HIDDEN iterator
typedef iterator const_iterator

Public Member Functions

 window_maker (const InputIterator &first, const InputIterator &last)
iterator begin () const
iterator end () const
template<class OutputIterator>
void operator() (const OutputIterator &output) const
Apply a function/functor to each element
template<class Functor>
void for_each (Functor &f) const
template<class Functor>
void for_each (const Functor &f) const
Downcast methods
const exact_typeexact () const
exact_typeexact ()
const exact_typeexact_ptr () const
exact_typeexact_ptr ()

Friends

class window< InputIterator, WSize, Step >


Detailed Description

template<class InputIterator, unsigned WSize, unsigned Step = 1, class Bottom = bottom>
struct tool::window_maker< InputIterator, WSize, Step, Bottom >

Iterable object that builds windows over a sequence.

window_maker's main role is to provide a begin() and an end() method that return windows over a sequence.

See also:
window

Member Typedef Documentation

template<class Bottom = bottom>
typedef HIDDEN tool::iterable< Bottom >::exact_type [inherited]

Exact type for this template instantiation.

Reimplemented from tool::static_base< Bottom >.

Reimplemented in pcapxx::descriptor< Bottom >.


Constructor & Destructor Documentation

template<class I, unsigned Ws, unsigned S, class B>
tool::window_maker< I, Ws, S, B >::window_maker ( const I &  first,
const I &  last 
) [inline]

Construct a window_maker from a sequence.


Member Function Documentation

template<class B>
iterable< B >::iterator tool::iterable< B >::begin (  )  const [inline, inherited]

Get an iterator to the first element.

References tool::static_base< Bottom >::exact().

Referenced by tool::iterable< Bottom >::operator()().

template<class B>
iterable< B >::iterator tool::iterable< B >::end (  )  const [inline, inherited]

template<class B>
template<class O>
void tool::iterable< B >::operator() ( const O &  output  )  const [inline, inherited]

Copy elements to output .

References tool::iterable< Bottom >::begin(), and tool::iterable< Bottom >::end().

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

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.


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

Generated on Wed Mar 26 17:56:24 2008 for wipal by  doxygen 1.5.5