• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*=============================================================================
2     Copyright (c) 2006 Tobias Schwinger
3     Copyright (c) 2002-2006 Hartmut Kaiser
4     http://spirit.sourceforge.net/
5 
6   Distributed under the Boost Software License, Version 1.0. (See accompanying
7   file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 =============================================================================*/
9 #if !defined(BOOST_SPIRIT_POSITION_ITERATOR_FWD_HPP)
10 #define BOOST_SPIRIT_POSITION_ITERATOR_FWD_HPP
11 
12 #include <string>
13 #include <iterator> // for std::iterator_traits
14 #include <boost/spirit/home/classic/namespace.hpp>
15 #include <boost/spirit/home/classic/core/nil.hpp>
16 
17 namespace boost { namespace spirit {
18 
19 BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
20 
21     template <typename String = std::string>
22     struct file_position_base;
23 
24     typedef file_position_base<std::string> file_position;
25 
26     template <typename String = std::string>
27     struct file_position_without_column_base;
28 
29     typedef file_position_without_column_base<std::string> file_position_without_column;
30 
31     template <
32         typename ForwardIteratorT,
33         typename PositionT = file_position_base<
34             std::basic_string<
35                 typename std::iterator_traits<ForwardIteratorT>::value_type
36             >
37         >,
38         typename SelfT = nil_t
39     >
40     class position_iterator;
41 
42     template
43     <
44         typename ForwardIteratorT,
45         typename PositionT = file_position_base<
46             std::basic_string<
47                 typename std::iterator_traits<ForwardIteratorT>::value_type
48             >
49         >
50     >
51     class position_iterator2;
52 
53     template <typename PositionT> class position_policy;
54 
55 BOOST_SPIRIT_CLASSIC_NAMESPACE_END
56 
57 }} // namespace BOOST_SPIRIT_CLASSIC_NS
58 
59 #endif
60 
61