First public contribution.
3 * Copyright (c) 1998-2002
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)
13 * LOCATION: see http://www.boost.org for most recent version.
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.
21 #ifndef BOOST_RE_REGEX_HPP_INCLUDED
22 #define BOOST_RE_REGEX_HPP_INCLUDED
26 // what follows is all C++ don't include in C builds!!
28 #ifndef BOOST_REGEX_CONFIG_HPP
29 #include <boost/regex/config.hpp>
31 #ifndef BOOST_REGEX_WORKAROUND_HPP
32 #include <boost/regex/v4/regex_workaround.hpp>
35 #ifndef BOOST_REGEX_FWD_HPP
36 #include <boost/regex_fwd.hpp>
38 #ifndef BOOST_REGEX_TRAITS_HPP
39 #include <boost/regex/regex_traits.hpp>
41 #ifndef BOOST_REGEX_RAW_BUFFER_HPP
42 #include <boost/regex/v4/error_type.hpp>
44 #ifndef BOOST_REGEX_V4_MATCH_FLAGS
45 #include <boost/regex/v4/match_flags.hpp>
47 #ifndef BOOST_REGEX_RAW_BUFFER_HPP
48 #include <boost/regex/v4/regex_raw_buffer.hpp>
50 #ifndef BOOST_RE_PAT_EXCEPT_HPP
51 #include <boost/regex/pattern_except.hpp>
54 #ifndef BOOST_REGEX_V4_CHAR_REGEX_TRAITS_HPP
55 #include <boost/regex/v4/char_regex_traits.hpp>
57 #ifndef BOOST_REGEX_V4_STATES_HPP
58 #include <boost/regex/v4/states.hpp>
60 #ifndef BOOST_REGEX_V4_REGBASE_HPP
61 #include <boost/regex/v4/regbase.hpp>
63 #ifndef BOOST_REGEX_V4_ITERATOR_TRAITS_HPP
64 #include <boost/regex/v4/iterator_traits.hpp>
66 #ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP
67 #include <boost/regex/v4/basic_regex.hpp>
69 #ifndef BOOST_REGEX_V4_BASIC_REGEX_CREATOR_HPP
70 #include <boost/regex/v4/basic_regex_creator.hpp>
72 #ifndef BOOST_REGEX_V4_BASIC_REGEX_PARSER_HPP
73 #include <boost/regex/v4/basic_regex_parser.hpp>
75 #ifndef BOOST_REGEX_V4_SUB_MATCH_HPP
76 #include <boost/regex/v4/sub_match.hpp>
78 #ifndef BOOST_REGEX_FORMAT_HPP
79 #include <boost/regex/v4/regex_format.hpp>
81 #ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP
82 #include <boost/regex/v4/match_results.hpp>
84 #ifndef BOOST_REGEX_V4_PROTECTED_CALL_HPP
85 #include <boost/regex/v4/protected_call.hpp>
87 #ifndef BOOST_REGEX_MATCHER_HPP
88 #include <boost/regex/v4/perl_matcher.hpp>
91 // template instances:
93 #define BOOST_REGEX_CHAR_T char
94 #ifdef BOOST_REGEX_NARROW_INSTANTIATE
95 # define BOOST_REGEX_INSTANTIATE
97 #include <boost/regex/v4/instances.hpp>
98 #undef BOOST_REGEX_CHAR_T
99 #ifdef BOOST_REGEX_INSTANTIATE
100 # undef BOOST_REGEX_INSTANTIATE
103 #ifndef BOOST_NO_WREGEX
104 #define BOOST_REGEX_CHAR_T wchar_t
105 #ifdef BOOST_REGEX_WIDE_INSTANTIATE
106 # define BOOST_REGEX_INSTANTIATE
108 #include <boost/regex/v4/instances.hpp>
109 #undef BOOST_REGEX_CHAR_T
110 #ifdef BOOST_REGEX_INSTANTIATE
111 # undef BOOST_REGEX_INSTANTIATE
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
120 #include <boost/regex/v4/instances.hpp>
121 #undef BOOST_REGEX_CHAR_T
122 #ifdef BOOST_REGEX_INSTANTIATE
123 # undef BOOST_REGEX_INSTANTIATE
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;
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;
144 #ifndef BOOST_REGEX_MATCH_HPP
145 #include <boost/regex/v4/regex_match.hpp>
147 #ifndef BOOST_REGEX_V4_REGEX_SEARCH_HPP
148 #include <boost/regex/v4/regex_search.hpp>
150 #ifndef BOOST_REGEX_ITERATOR_HPP
151 #include <boost/regex/v4/regex_iterator.hpp>
153 #ifndef BOOST_REGEX_TOKEN_ITERATOR_HPP
154 #include <boost/regex/v4/regex_token_iterator.hpp>
156 #ifndef BOOST_REGEX_V4_REGEX_GREP_HPP
157 #include <boost/regex/v4/regex_grep.hpp>
159 #ifndef BOOST_REGEX_V4_REGEX_REPLACE_HPP
160 #include <boost/regex/v4/regex_replace.hpp>
162 #ifndef BOOST_REGEX_V4_REGEX_MERGE_HPP
163 #include <boost/regex/v4/regex_merge.hpp>
165 #ifndef BOOST_REGEX_SPLIT_HPP
166 #include <boost/regex/v4/regex_split.hpp>
169 #endif // __cplusplus