wpl::filter::fast_intersector< InputIterator1, InputIterator2, Bottom > Struct Template Reference

Inheritance diagram for wpl::filter::fast_intersector< InputIterator1, InputIterator2, Bottom >:
wpl::tool::iterable< Bottom > wpl::tool::static_base< Bottom >

List of all members.

Public Types

enum  { hash_bucket_count = 1 << 25 }
typedef tool::hash_set
< typename
InputIterator1::value_type > 
arrivals_type
typedef HIDDEN exact_type
Iterator types

typedef HIDDEN iterator
typedef iterator const_iterator

Public Member Functions

 fast_intersector (const InputIterator1 &first1, const InputIterator1 &last1, const InputIterator2 &first2, const InputIterator2 &last2, const unsigned precision)
void reset_lhs (const InputIterator1 &first1, const InputIterator1 &last1)
void reset_rhs (const InputIterator2 &first2, const InputIterator2 &last2)
iterator begin () const
iterator end () const
template<class OutputIterator >
void operator() (const OutputIterator &output) const
template<class O >
void operator() (const O &o) const
template<class F >
void for_each (F &f) const
template<class F >
void for_each (const F &f) 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 internals::fast_intersector_iterator< InputIterator1, InputIterator2, Bottom, tool::bottom >

template<class InputIterator1, class InputIterator2, class Bottom = tool::bottom>
struct wpl::filter::fast_intersector< InputIterator1, InputIterator2, Bottom >


Member Enumeration Documentation

template<class InputIterator1 , class InputIterator2 , class Bottom = tool::bottom>
anonymous enum
Enumerator:
hash_bucket_count 

Size of the hash table that contains unique frames from the second trace.

The worst case we have met has 7047619 unique frames. The closest power of 2 is 1 << 23 = 8388608. To have an efficient hash table we must have a bucket count several orders of magnitude larger. Thus 1 << 25 = (1 << 23) * 4.


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

Generated by  doxygen 1.6.2