table_iterator_rep< C, T, V > Class Template Reference

#include <table.hpp>

Inheritance diagram for table_iterator_rep< C, T, V >:
iterator_rep< pair< T, C > > rep_struct format< pair< T, 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, typename V = exact_eq_table>
class mmx::table_iterator_rep< C, T, V >

Definition at line 385 of file table.hpp.


Member Typedef Documentation

typedef empty_format FT [inherited]

Definition at line 196 of file type_props.hpp.


Constructor & Destructor Documentation

table_iterator_rep ( const table< C, T, V > &  t2,
nat  i2,
const list< pair< T, C > > &  l2 
) [inline, protected]

Definition at line 391 of file table.hpp.

Referenced by table_iterator_rep< C, T, V >::clone(), and new_table_iterator_rep< C, T, V >::clone().

00391                                                                           :
00392     iterator_rep<pair<T,C> > (format<pair<T,C> > (CF2 (t2), CF1 (t2))),
00393     t(t2), i(i2), l(l2) {}
  void spool () {

table_iterator_rep ( const table< C, T, V > &  t2  )  [inline]

Definition at line 408 of file table.hpp.

References table_iterator_rep< C, T, V >::spool().

00408                                       :
00409     iterator_rep<pair<T,C> > (format<pair<T,C> > (CF2 (t2), CF1 (t2))),
00410     t(t2), i(0), l(t->a[0]) { spool (); }
};


Member Function Documentation

void advance (  )  [inline, protected, virtual]

Implements iterator_rep< pair< T, C > >.

Definition at line 402 of file table.hpp.

References mmx::read_cdr(), and table_iterator_rep< C, T, V >::spool().

00402 { l= read_cdr (l); spool (); }

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

Reimplemented from iterator_rep< pair< T, C > >.

Definition at line 404 of file table.hpp.

References table_iterator_rep< C, T, V >::table_iterator_rep().

00404                                      {
00405     return new table_iterator_rep (t, i, l); }

pair<T,C> current (  )  [inline, protected, virtual]

Implements iterator_rep< pair< T, C > >.

Definition at line 403 of file table.hpp.

References mmx::read_car().

00403 { return read_car (l); }

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 (); }

bool is_busy (  )  [inline, protected, virtual]

Implements iterator_rep< pair< T, C > >.

Definition at line 401 of file table.hpp.

00401 { return i<t->n; }

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

Definition at line 41 of file iterator.hpp.

00041 { return !is_busy (); }

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

Definition at line 42 of file iterator.hpp.

00042                           {
00043     ERROR ("not implemented (is_init)"); return false; }

virtual void regress (  )  [inline, protected, virtual, inherited]

Definition at line 45 of file iterator.hpp.

00045                           {
00046     ERROR ("not implemented (regress)"); }

empty_format rfm (  )  const [inline, inherited]

Definition at line 188 of file type_props.hpp.

00188 { return *this; }

pair< T, C > sample (  )  const [inline, inherited]

Definition at line 202 of file type_props.hpp.

00202 { return C(); }

void spool (  )  [inline, protected]

Definition at line 394 of file table.hpp.

References mmx::is_nil().

Referenced by table_iterator_rep< C, T, V >::advance(), new_table_iterator_rep< C, T, V >::advance(), new_table_iterator_rep< C, T, V >::new_table_iterator_rep(), and table_iterator_rep< C, T, V >::table_iterator_rep().

00394                 {
00395     while (is_nil (l)) {
00396       i++;
00397       if (i >= t->n) break;
00398       l= t->a[i];
00399     }
00400   }

format<pair< T, 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< pair< T, C > > &  it  )  [friend, inherited]

Definition at line 97 of file iterator.hpp.

00097 { return it.rep->is_busy (); }

iterator<pair< T, C > > copy ( const iterator< pair< T, C > > &  it  )  [friend, inherited]

Definition at line 100 of file iterator.hpp.

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

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

Definition at line 98 of file iterator.hpp.

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

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

Definition at line 184 of file iterator.hpp.

00195 : public Iterator_rep {

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

Definition at line 185 of file iterator.hpp.

00195 : public Iterator_rep {

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

Definition at line 99 of file iterator.hpp.

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

friend class iterator< pair< T, 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