lazy_iterator_rep< C, T > Class Template Reference

#include <iterator.hpp>

Inheritance diagram for lazy_iterator_rep< C, T >:
iterator_rep< C > rep_struct format< C > empty_format

List of all members.

Public Types

Public Member Functions

Public Attributes

Protected Member Functions

Friends


Detailed Description

template<typename C, typename T>
class mmx::lazy_iterator_rep< C, T >

Definition at line 408 of file iterator.hpp.


Member Typedef Documentation

typedef empty_format FT [inherited]

Definition at line 196 of file type_props.hpp.


Constructor & Destructor Documentation

lazy_iterator_rep ( const T x2,
const format< C > &  fm 
) [inline]

Definition at line 414 of file iterator.hpp.

Referenced by lazy_iterator_rep< C, T >::clone().

00414                                                    :
00415     Iterator_rep (fm), x (x2), initialized (false) {}
  lazy_iterator_rep (const T& x2, bool init2, const iterator<C> it2,

lazy_iterator_rep ( const T x2,
bool  init2,
const iterator< C it2,
const format< C > &  fm 
) [inline]

Definition at line 416 of file iterator.hpp.

00417                                       :
00418     Iterator_rep (fm), x (x2), initialized (init2), it (it2) {}
  void initialize () {


Member Function Documentation

void advance (  )  [inline, protected, virtual]

Implements iterator_rep< C >.

Definition at line 427 of file iterator.hpp.

References lazy_iterator_rep< C, T >::initialize().

00427 { initialize (); ++it; }

iterator_rep<C>* clone (  )  [inline, protected, virtual]

Reimplemented from iterator_rep< C >.

Definition at line 431 of file iterator.hpp.

References iterator_rep< C >::copy, Format, and lazy_iterator_rep< C, T >::lazy_iterator_rep().

00431                          {
00432     return new lazy_iterator_rep (x, initialized, copy (it), (Format) *this); }

C current (  )  [inline, protected, virtual]

Implements iterator_rep< C >.

Definition at line 430 of file iterator.hpp.

References lazy_iterator_rep< C, T >::initialize().

00430 { initialize (); return *it; }

empty_format format1 (  )  const [inline, inherited]

Definition at line 189 of file type_props.hpp.

Referenced by mmx::get_format1().

00189 { return empty_format (); }

empty_format format2 (  )  const [inline, inherited]

Definition at line 190 of file type_props.hpp.

Referenced by mmx::get_format2().

00190 { return empty_format (); }

empty_format format3 (  )  const [inline, inherited]

Definition at line 191 of file type_props.hpp.

00191 { return empty_format (); }

void initialize (  )  [inline]

Definition at line 419 of file iterator.hpp.

References mmx::iterate().

Referenced by lazy_iterator_rep< C, T >::advance(), lazy_iterator_rep< C, T >::current(), lazy_iterator_rep< C, T >::is_busy(), and lazy_iterator_rep< C, T >::regress().

00419                      {
00420     if (initialized) return;
00421     initialized= true;
00422     it= iterate (x);
00423   }

bool is_busy (  )  [inline, protected, virtual]

Implements iterator_rep< C >.

Definition at line 426 of file iterator.hpp.

References iterator_rep< C >::busy, and lazy_iterator_rep< C, T >::initialize().

00426 { initialize (); return busy (it); }

virtual bool is_done (  )  [inline, protected, virtual, inherited]

Definition at line 41 of file iterator.hpp.

00041 { return !is_busy (); }

bool is_init (  )  [inline, protected, virtual]

Reimplemented from iterator_rep< C >.

Definition at line 428 of file iterator.hpp.

00428 { return !initialized; }

void regress (  )  [inline, protected, virtual]

Reimplemented from iterator_rep< C >.

Definition at line 429 of file iterator.hpp.

References lazy_iterator_rep< C, T >::initialize().

00429 { initialize (); --it; }

empty_format rfm (  )  const [inline, inherited]

Definition at line 188 of file type_props.hpp.

00188 { return *this; }

C sample (  )  const [inline, inherited]

Definition at line 202 of file type_props.hpp.

Referenced by mmx::get_sample().

00202 { return C(); }

format<C> tfm (  )  const [inline, inherited]

Definition at line 201 of file type_props.hpp.

00201 { return *this; }


Friends And Related Function Documentation

bool busy ( const iterator< C > &  it  )  [friend, inherited]
iterator<C> copy ( const iterator< C > &  it  )  [friend, inherited]

Definition at line 100 of file iterator.hpp.

Referenced by lazy_iterator_rep< C, T >::clone(), and join_iterator_rep< C >::clone().

00100 { return it.rep->clone (); }

bool done ( const iterator< C > &  it  )  [friend, inherited]

Definition at line 98 of file iterator.hpp.

00098 { return it.rep->is_done (); }

nat exact_hash ( const iterator< C > &  it  )  [friend, inherited]

Definition at line 184 of file iterator.hpp.

00195 : public Iterator_rep {

nat hash ( const iterator< C > &  it  )  [friend, inherited]

Definition at line 185 of file iterator.hpp.

00195 : public Iterator_rep {

bool init ( const iterator< C > &  it  )  [friend, inherited]

Definition at line 99 of file iterator.hpp.

Referenced by join_iterator_rep< C >::is_init(), and join_iterator_rep< C >::regress().

00099 { return it.rep->is_init (); }

friend class iterator< C > [friend, inherited]

Definition at line 55 of file iterator.hpp.


Member Data Documentation

MMX_ALLOCATORS int ref_count [inherited]

Definition at line 164 of file basix.hpp.


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

Generated on 6 Dec 2012 for basix by  doxygen 1.6.1