1 /*
2  *
3  * Copyright (c) 1998-2002
4  * John Maddock
5  *
6  * Use, modification and distribution are subject to the
7  * Boost Software License, Version 1.0. (See accompanying file
8  * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9  *
10  */
11 
12  /*
13   *   LOCATION:    see http://www.boost.org for most recent version.
14   *   FILE         regex.cpp
15   *   VERSION      see <boost/version.hpp>
16   *   DESCRIPTION: Declares boost::basic_regex<> and associated
17   *                functions and classes. This header is the main
18   *                entry point for the template regex code.
19   */
20 
21 #ifndef BOOST_RE_REGEX_HPP_INCLUDED
22 #define BOOST_RE_REGEX_HPP_INCLUDED
23 
24 #ifdef __cplusplus
25 
26 // what follows is all C++ don't include in C builds!!
27 
28 #ifndef BOOST_REGEX_CONFIG_HPP
29 #include <boost/regex/config.hpp>
30 #endif
31 #ifndef BOOST_REGEX_WORKAROUND_HPP
32 #include <boost/regex/v4/regex_workaround.hpp>
33 #endif
34 
35 #ifndef BOOST_REGEX_FWD_HPP
36 #include <boost/regex_fwd.hpp>
37 #endif
38 #ifndef BOOST_REGEX_TRAITS_HPP
39 #include <boost/regex/regex_traits.hpp>
40 #endif
41 #ifndef BOOST_REGEX_RAW_BUFFER_HPP
42 #include <boost/regex/v4/error_type.hpp>
43 #endif
44 #ifndef BOOST_REGEX_V4_MATCH_FLAGS
45 #include <boost/regex/v4/match_flags.hpp>
46 #endif
47 #ifndef BOOST_REGEX_RAW_BUFFER_HPP
48 #include <boost/regex/v4/regex_raw_buffer.hpp>
49 #endif
50 #ifndef BOOST_RE_PAT_EXCEPT_HPP
51 #include <boost/regex/pattern_except.hpp>
52 #endif
53 
54 #ifndef BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP
55 #include <boost/regex/v4/char_regex_traits.hpp>
56 #endif
57 #ifndef BOOST_REGEX_V4_STATES_HPP
58 #include <boost/regex/v4/states.hpp>
59 #endif
60 #ifndef BOOST_REGEX_V4_REGBASE_HPP
61 #include <boost/regex/v4/regbase.hpp>
62 #endif
63 #ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP
64 #include <boost/regex/v4/iterator_traits.hpp>
65 #endif
66 #ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP
67 #include <boost/regex/v4/basic_regex.hpp>
68 #endif
69 #ifndef BOOST_REGEX_V4_BASIC_REGEX_CREATOR_HPP
70 #include <boost/regex/v4/basic_regex_creator.hpp>
71 #endif
72 #ifndef BOOST_REGEX_V4_BASIC_REGEX_PARSER_HPP
73 #include <boost/regex/v4/basic_regex_parser.hpp>
74 #endif
75 #ifndef BOOST_REGEX_V4_SUB_MATCH_HPP
76 #include <boost/regex/v4/sub_match.hpp>
77 #endif
78 #ifndef BOOST_REGEX_FORMAT_HPP
79 #include <boost/regex/v4/regex_format.hpp>
80 #endif
81 #ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP
82 #include <boost/regex/v4/match_results.hpp>
83 #endif
84 #ifndef BOOST_REGEX_V4_PROTECTED_CALL_HPP
85 #include <boost/regex/v4/protected_call.hpp>
86 #endif
87 #ifndef BOOST_REGEX_MATCHER_HPP
88 #include <boost/regex/v4/perl_matcher.hpp>
89 #endif
90 //
91 // template instances:
92 //
93 #define BOOST_REGEX_CHAR_T char
94 #ifdef BOOST_REGEX_NARROW_INSTANTIATE
95 #  define BOOST_REGEX_INSTANTIATE
96 #endif
97 #include <boost/regex/v4/instances.hpp>
98 #undef BOOST_REGEX_CHAR_T
99 #ifdef BOOST_REGEX_INSTANTIATE
100 #  undef BOOST_REGEX_INSTANTIATE
101 #endif
102 
103 #ifndef BOOST_NO_WREGEX
104 #define BOOST_REGEX_CHAR_T wchar_t
105 #ifdef BOOST_REGEX_WIDE_INSTANTIATE
106 #  define BOOST_REGEX_INSTANTIATE
107 #endif
108 #include <boost/regex/v4/instances.hpp>
109 #undef BOOST_REGEX_CHAR_T
110 #ifdef BOOST_REGEX_INSTANTIATE
111 #  undef BOOST_REGEX_INSTANTIATE
112 #endif
113 #endif
114 
115 #if !defined(BOOST_NO_WREGEX) && defined(BOOST_REGEX_HAS_OTHER_WCHAR_T)
116 #define BOOST_REGEX_CHAR_T unsigned short
117 #ifdef BOOST_REGEX_US_INSTANTIATE
118 #  define BOOST_REGEX_INSTANTIATE
119 #endif
120 #include <boost/regex/v4/instances.hpp>
121 #undef BOOST_REGEX_CHAR_T
122 #ifdef BOOST_REGEX_INSTANTIATE
123 #  undef BOOST_REGEX_INSTANTIATE
124 #endif
125 #endif
126 
127 
128 namespace boost{
129 #ifdef BOOST_REGEX_NO_FWD
130 typedef basic_regex<char, regex_traits<char> > regex;
131 #ifndef BOOST_NO_WREGEX
132 typedef basic_regex<wchar_t, regex_traits<wchar_t> > wregex;
133 #endif
134 #endif
135 
136 typedef match_results<const char*> cmatch;
137 typedef match_results<std::string::const_iterator> smatch;
138 #ifndef BOOST_NO_WREGEX
139 typedef match_results<const wchar_t*> wcmatch;
140 typedef match_results<std::wstring::const_iterator> wsmatch;
141 #endif
142 
143 } // namespace boost
144 #ifndef BOOST_REGEX_MATCH_HPP
145 #include <boost/regex/v4/regex_match.hpp>
146 #endif
147 #ifndef BOOST_REGEX_V4_REGEX_SEARCH_HPP
148 #include <boost/regex/v4/regex_search.hpp>
149 #endif
150 #ifndef BOOST_REGEX_ITERATOR_HPP
151 #include <boost/regex/v4/regex_iterator.hpp>
152 #endif
153 #ifndef BOOST_REGEX_TOKEN_ITERATOR_HPP
154 #include <boost/regex/v4/regex_token_iterator.hpp>
155 #endif
156 #ifndef BOOST_REGEX_V4_REGEX_GREP_HPP
157 #include <boost/regex/v4/regex_grep.hpp>
158 #endif
159 #ifndef BOOST_REGEX_V4_REGEX_REPLACE_HPP
160 #include <boost/regex/v4/regex_replace.hpp>
161 #endif
162 #ifndef BOOST_REGEX_V4_REGEX_MERGE_HPP
163 #include <boost/regex/v4/regex_merge.hpp>
164 #endif
165 #ifndef BOOST_REGEX_SPLIT_HPP
166 #include <boost/regex/v4/regex_split.hpp>
167 #endif
168 
169 #endif  // __cplusplus
170 
171 #endif  // include
172 
173 
174 
175 
176 
177 
178 
179 
180 
181 
182 
183 
184 
185 
186 
187 
188 
189 
190 
191 
192 
193 
194 
195 
196 
197 
198 
199 
200 
201 
202 
203