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_fwd.cpp
15   *   VERSION      see <boost/version.hpp>
16   *   DESCRIPTION: Forward declares boost::basic_regex<> and
17   *                associated typedefs.
18   */
19 
20 #ifndef BOOST_REGEX_FWD_HPP_INCLUDED
21 #define BOOST_REGEX_FWD_HPP_INCLUDED
22 
23 #ifndef BOOST_REGEX_CONFIG_HPP
24 #include <boost/regex/config.hpp>
25 #endif
26 
27 //
28 // define BOOST_REGEX_NO_FWD if this
29 // header doesn't work!
30 //
31 #ifdef BOOST_REGEX_NO_FWD
32 #  ifndef BOOST_RE_REGEX_HPP
33 #     include <boost/regex.hpp>
34 #  endif
35 #else
36 
37 namespace boost{
38 
39 template <class charT>
40 class cpp_regex_traits;
41 template <class charT>
42 struct c_regex_traits;
43 template <class charT>
44 class w32_regex_traits;
45 
46 #ifdef BOOST_REGEX_USE_WIN32_LOCALE
47 template <class charT, class implementationT = w32_regex_traits<charT> >
48 struct regex_traits;
49 #elif defined(BOOST_REGEX_USE_CPP_LOCALE)
50 template <class charT, class implementationT = cpp_regex_traits<charT> >
51 struct regex_traits;
52 #else
53 template <class charT, class implementationT = c_regex_traits<charT> >
54 struct regex_traits;
55 #endif
56 
57 template <class charT, class traits = regex_traits<charT> >
58 class basic_regex;
59 
60 typedef basic_regex<char, regex_traits<char> > regex;
61 #ifndef BOOST_NO_WREGEX
62 typedef basic_regex<wchar_t, regex_traits<wchar_t> > wregex;
63 #endif
64 
65 } // namespace boost
66 
67 #endif  // BOOST_REGEX_NO_FWD
68 
69 #endif
70 
71 
72 
73 
74