mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 20:40:28 -04:00 
			
		
		
		
	
		
			
	
	
		
			43 lines
		
	
	
		
			970 B
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			970 B
		
	
	
	
		
			C++
		
	
	
	
	
	
|  | // Copyright David Abrahams 2004. Use, modification and distribution is
 | ||
|  | // subject to the Boost Software License, Version 1.0. (See accompanying
 | ||
|  | // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | ||
|  | #ifndef NODE_ITERATOR1_DWA2004110_HPP
 | ||
|  | # define NODE_ITERATOR1_DWA2004110_HPP
 | ||
|  | 
 | ||
|  | # include "node.hpp"
 | ||
|  | # include <boost/iterator/iterator_facade.hpp>
 | ||
|  | 
 | ||
|  | class node_iterator | ||
|  |   : public boost::iterator_facade< | ||
|  |         node_iterator | ||
|  |       , node_base | ||
|  |       , boost::forward_traversal_tag | ||
|  |     > | ||
|  | { | ||
|  |  public: | ||
|  |     node_iterator() | ||
|  |       : m_node(0) | ||
|  |     {} | ||
|  | 
 | ||
|  |     explicit node_iterator(node_base* p) | ||
|  |       : m_node(p) | ||
|  |     {} | ||
|  | 
 | ||
|  |  private: | ||
|  |     friend class boost::iterator_core_access; | ||
|  | 
 | ||
|  |     void increment() | ||
|  |     { m_node = m_node->next(); } | ||
|  |      | ||
|  |     bool equal(node_iterator const& other) const | ||
|  |     { return this->m_node == other.m_node; } | ||
|  |      | ||
|  |     node_base& dereference() const | ||
|  |     { return *m_node; } | ||
|  | 
 | ||
|  |     node_base* m_node; | ||
|  | }; | ||
|  | 
 | ||
|  | 
 | ||
|  | #endif // NODE_ITERATOR1_DWA2004110_HPP
 |