• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*=============================================================================
2     Copyright (C) 2006 Tobias Schwinger
3     http://spirit.sourceforge.net/
4 
5   Distributed under the Boost Software License, Version 1.0. (See accompanying
6   file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 =============================================================================*/
8 #if !defined(BOOST_SPIRIT_NUMERICS_FWD_HPP)
9 #   define BOOST_SPIRIT_NUMERICS_FWD_HPP
10 
11 #include <boost/spirit/home/classic/namespace.hpp>
12 
13 namespace boost { namespace spirit {
14 
15 BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN
16 
17     ///////////////////////////////////////////////////////////////////////////
18     //
19     //  uint_parser class
20     //
21     ///////////////////////////////////////////////////////////////////////////
22     template <
23         typename T = unsigned,
24         int Radix = 10,
25         unsigned MinDigits = 1,
26         int MaxDigits = -1
27     >
28     struct uint_parser;
29 
30     ///////////////////////////////////////////////////////////////////////////
31     //
32     //  int_parser class
33     //
34     ///////////////////////////////////////////////////////////////////////////
35     template <
36         typename T = unsigned,
37         int Radix = 10,
38         unsigned MinDigits = 1,
39         int MaxDigits = -1
40     >
41     struct int_parser;
42 
43     ///////////////////////////////////////////////////////////////////////////
44     //
45     //  sign_parser class
46     //
47     ///////////////////////////////////////////////////////////////////////////
48     struct sign_parser;
49 
50     ///////////////////////////////////////////////////////////////////////////
51     //
52     //  default real number policies
53     //
54     ///////////////////////////////////////////////////////////////////////////
55     template <typename T>
56     struct ureal_parser_policies;
57 
58     template <typename T>
59     struct real_parser_policies;
60 
61     ///////////////////////////////////////////////////////////////////////////
62     //
63     //  real_parser class
64     //
65     ///////////////////////////////////////////////////////////////////////////
66     template <
67         typename T = double,
68         typename RealPoliciesT = ureal_parser_policies<T>
69     >
70     struct real_parser;
71 
72     ///////////////////////////////////////////////////////////////////////////
73     //
74     //  strict reals (do not allow plain integers (no decimal point))
75     //
76     ///////////////////////////////////////////////////////////////////////////
77     template <typename T>
78     struct strict_ureal_parser_policies;
79 
80     template <typename T>
81     struct strict_real_parser_policies;
82 
83 BOOST_SPIRIT_CLASSIC_NAMESPACE_END
84 
85 }} // namespace BOOST_SPIRIT_CLASSIC_NS
86 
87 #endif
88 
89