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
128namespace boost{
129#ifdef BOOST_REGEX_NO_FWD
130typedef basic_regex<char, regex_traits<char> > regex;
131#ifndef BOOST_NO_WREGEX
132typedef basic_regex<wchar_t, regex_traits<wchar_t> > wregex;
133#endif
134#endif
135
136typedef match_results<const char*> cmatch;
137typedef match_results<std::string::const_iterator> smatch;
138#ifndef BOOST_NO_WREGEX
139typedef match_results<const wchar_t*> wcmatch;
140typedef 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

source code of boost/boost/regex/v4/regex.hpp