libzeep

PrevUpHomeNext

Class template iterator_impl

zeep::xml::iterator_impl — generic iterator class.

Synopsis

// In header: <zeep/xml/node.hpp>

template<typename NodeType, 
         typename ContainerNodeType> 
class iterator_impl {
public:
  // types
  typedef                                ;          
  typedef   ;
  typedef basic_node_list<  ;     
  typedef         ;  
  typedef                               ;         
  typedef                          ;    
  typedef                            ;            
  typedef                            ;          

  // construct/copy/destruct
  () = ;
  (iterator_impl &) = ;
  template<typename OtherNodeType, typename OtherContainerNodeType> 
    (iterator_impl< );
  (container_type &);
  (container_type &, );
  ();
  (iterator_impl &&) ;
  template<typename Iterator, 
             = > 
    ();
  iterator_impl & (iterator_impl &);
  iterator_impl & (iterator_impl &&) ;
  template<typename Iterator, 
             = > 
    iterator_impl & ();

  // public member functions
   ();
   () ;
  iterator_impl & ();
  iterator_impl ();
  iterator_impl & ();
  iterator_impl ();
   (iterator_impl &) ;
   (iterator_impl &) ;
  template<typename RNodeType>  () ;
  template<typename RNodeType>  () ;
  iterator_impl & ();
  iterator_impl & ();
  iterator_impl () ;
  iterator_impl () ;
   (iterator_impl &) ;
  () ;
  ();

  // private member functions
   () ;
   ();
   ();
   ();
   ();
   ();
};

Description

We can have iterators that point to nodes, elements and attributes. Iterating over nodes is simply following next/prev. But iterating elements is a bit more difficult, since you then have to skip nodes in between that are not an element, like comments or text.

iterator_impl public construct/copy/destruct

  1. () = ;
  2. (iterator_impl & i) = ;
  3. template<typename OtherNodeType, typename OtherContainerNodeType> 
      (iterator_impl<  i);
    copy constructor, kind of
  4. (container_type & container);
    create iterator pointing to begin of parent element
  5. (container_type & container,  current);
    create iterator pointing to end of parent element
  6. ( current);
    constructor taking a node pointer
  7. (iterator_impl && i) ;
  8. template<typename Iterator, 
               = > 
      ( i);
  9. iterator_impl & (iterator_impl & i);
  10. iterator_impl & (iterator_impl && i) ;
  11. template<typename Iterator, 
               = > 
      iterator_impl & ( i);

iterator_impl public member functions

  1.  ();
  2.  () ;
  3. iterator_impl & ();
  4. iterator_impl ();
  5. iterator_impl & ();
  6. iterator_impl ();
  7.  (iterator_impl & other) ;
  8.  (iterator_impl & other) ;
  9. template<typename RNodeType>  ( n) ;
  10. template<typename RNodeType>  ( n) ;
  11. iterator_impl & ( i);
  12. iterator_impl & ( i);
  13. iterator_impl ( i) ;
  14. iterator_impl ( i) ;
  15.  (iterator_impl & other) ;
  16. () ;
  17. ();

iterator_impl private member functions

  1.  () ;
  2.  ();
  3.  ();
  4.  ();
  5.  ();
  6.  ();

PrevUpHomeNext