regex_fwd.hpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. * LOCATION: see http://www.boost.org for most recent version.
  13. * FILE regex_fwd.cpp
  14. * VERSION see <boost/version.hpp>
  15. * DESCRIPTION: Forward declares boost::basic_regex<> and
  16. * associated typedefs.
  17. */
  18. #ifndef BOOST_REGEX_FWD_HPP_INCLUDED
  19. #define BOOST_REGEX_FWD_HPP_INCLUDED
  20. #ifndef BOOST_REGEX_CONFIG_HPP
  21. #include <boost/regex/config.hpp>
  22. #endif
  23. //
  24. // define BOOST_REGEX_NO_FWD if this
  25. // header doesn't work!
  26. //
  27. #ifdef BOOST_REGEX_NO_FWD
  28. # ifndef BOOST_RE_REGEX_HPP
  29. # include <boost/regex.hpp>
  30. # endif
  31. #else
  32. namespace boost{
  33. template <class charT>
  34. class cpp_regex_traits;
  35. template <class charT>
  36. struct c_regex_traits;
  37. template <class charT>
  38. class w32_regex_traits;
  39. #ifdef BOOST_REGEX_USE_WIN32_LOCALE
  40. template <class charT, class implementationT = w32_regex_traits<charT> >
  41. struct regex_traits;
  42. #elif defined(BOOST_REGEX_USE_CPP_LOCALE)
  43. template <class charT, class implementationT = cpp_regex_traits<charT> >
  44. struct regex_traits;
  45. #else
  46. template <class charT, class implementationT = c_regex_traits<charT> >
  47. struct regex_traits;
  48. #endif
  49. template <class charT, class traits = regex_traits<charT> >
  50. class basic_regex;
  51. typedef basic_regex<char, regex_traits<char> > regex;
  52. #ifndef BOOST_NO_WREGEX
  53. typedef basic_regex<wchar_t, regex_traits<wchar_t> > wregex;
  54. #endif
  55. } // namespace boost
  56. #endif // BOOST_REGEX_NO_FWD
  57. #endif