1 /*=============================================================================
2 Copyright (c) 2006 Tobias Schwinger
3 Copyright (c) 2002-2006 Hartmut Kaiser
4 http://spirit.sourceforge.net/
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
13 #include <boost/detail/iterator.hpp> // for boost::detail::iterator_traits
14 #include <boost/spirit/home/classic/namespace.hpp>
15 #include <boost/spirit/home/classic/core/nil.hpp>
17 namespace boost { namespace spirit {
19 BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
21 template <typename String = std::string>
22 struct file_position_base;
24 typedef file_position_base<std::string> file_position;
26 template <typename String = std::string>
27 struct file_position_without_column_base;
29 typedef file_position_without_column_base<std::string> file_position_without_column;
32 typename ForwardIteratorT,
33 typename PositionT = file_position_base<
35 typename boost::detail::iterator_traits<ForwardIteratorT>::value_type
38 typename SelfT = nil_t
40 class position_iterator;
44 typename ForwardIteratorT,
45 typename PositionT = file_position_base<
47 typename boost::detail::iterator_traits<ForwardIteratorT>::value_type
51 class position_iterator2;
53 template <typename PositionT> class position_policy;
55 BOOST_SPIRIT_CLASSIC_NAMESPACE_END
57 }} // namespace BOOST_SPIRIT_CLASSIC_NS