imgtools/imglib/boostlibrary/boost/regex/v4/instances.hpp
changeset 600 6d08f4a05d93
equal deleted inserted replaced
599:fa7a3cc6effd 600:6d08f4a05d93
       
     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         instances.cpp
       
    15   *   VERSION      see <boost/version.hpp>
       
    16   *   DESCRIPTION: Defines those template instances that are placed in the
       
    17   *                library rather than in the users object files.
       
    18   */
       
    19 
       
    20 //
       
    21 // note no include guard, we may include this multiple times:
       
    22 //
       
    23 #ifndef BOOST_REGEX_NO_EXTERNAL_TEMPLATES
       
    24 
       
    25 namespace boost{
       
    26 
       
    27 //
       
    28 // this header can be included multiple times, each time with
       
    29 // a different character type, BOOST_REGEX_CHAR_T must be defined
       
    30 // first:
       
    31 //
       
    32 #ifndef BOOST_REGEX_CHAR_T
       
    33 #  error "BOOST_REGEX_CHAR_T not defined"
       
    34 #endif
       
    35 
       
    36 #ifndef BOOST_REGEX_TRAITS_T
       
    37 #  define BOOST_REGEX_TRAITS_T , boost::regex_traits<BOOST_REGEX_CHAR_T >
       
    38 #endif
       
    39 
       
    40 //
       
    41 // what follows is compiler specific:
       
    42 //
       
    43 
       
    44 #if  defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
       
    45 
       
    46 #ifdef BOOST_HAS_ABI_HEADERS
       
    47 #  include BOOST_ABI_PREFIX
       
    48 #endif
       
    49 
       
    50 #  ifndef BOOST_REGEX_INSTANTIATE
       
    51 #     pragma option push -Jgx
       
    52 #  endif
       
    53 
       
    54 template class BOOST_REGEX_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >;
       
    55 template class BOOST_REGEX_DECL match_results< const BOOST_REGEX_CHAR_T* >;
       
    56 #ifndef BOOST_NO_STD_ALLOCATOR
       
    57 template class BOOST_REGEX_DECL ::boost::re_detail::perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >;
       
    58 #endif
       
    59 
       
    60 #  ifndef BOOST_REGEX_INSTANTIATE
       
    61 #     pragma option pop
       
    62 #  endif
       
    63 
       
    64 #ifdef BOOST_HAS_ABI_HEADERS
       
    65 #  include BOOST_ABI_SUFFIX
       
    66 #endif
       
    67 
       
    68 #elif defined(BOOST_MSVC) || defined(__ICL)
       
    69 
       
    70 #  ifndef BOOST_REGEX_INSTANTIATE
       
    71 #     ifdef __GNUC__
       
    72 #        define template __extension__ extern template
       
    73 #     else
       
    74 #        if BOOST_MSVC > 1310
       
    75 #           define BOOST_REGEX_TEMPLATE_DECL
       
    76 #        endif
       
    77 #        define template extern template
       
    78 #     endif
       
    79 #  endif
       
    80 
       
    81 #ifndef BOOST_REGEX_TEMPLATE_DECL
       
    82 #  define BOOST_REGEX_TEMPLATE_DECL BOOST_REGEX_DECL
       
    83 #endif
       
    84 
       
    85 #  ifdef BOOST_MSVC
       
    86 #     pragma warning(push)
       
    87 #     pragma warning(disable : 4251 4231 4660)
       
    88 #  endif
       
    89 
       
    90 template class BOOST_REGEX_TEMPLATE_DECL basic_regex< BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >;
       
    91 
       
    92 #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
       
    93 template class BOOST_REGEX_TEMPLATE_DECL match_results< const BOOST_REGEX_CHAR_T* >;
       
    94 #endif
       
    95 #ifndef BOOST_NO_STD_ALLOCATOR
       
    96 template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >;
       
    97 #endif
       
    98 #if !(defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB <= 1))\
       
    99    && !(defined(BOOST_INTEL_CXX_VERSION) && (BOOST_INTEL_CXX_VERSION <= 800))\
       
   100    && !(defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))\
       
   101    && !defined(BOOST_REGEX_ICU_INSTANCES)
       
   102 #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
       
   103 template class BOOST_REGEX_TEMPLATE_DECL match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >;
       
   104 #endif
       
   105 #ifndef BOOST_NO_STD_ALLOCATOR
       
   106 template class BOOST_REGEX_TEMPLATE_DECL ::boost::re_detail::perl_matcher< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator, match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >::allocator_type, boost::regex_traits<BOOST_REGEX_CHAR_T > >;
       
   107 #endif
       
   108 #endif
       
   109 
       
   110 
       
   111 #  ifdef BOOST_MSVC
       
   112 #     pragma warning(pop)
       
   113 #  endif
       
   114 
       
   115 #  ifdef template
       
   116 #     undef template
       
   117 #  endif
       
   118 
       
   119 #undef BOOST_REGEX_TEMPLATE_DECL
       
   120 
       
   121 #elif (defined(__GNUC__) && (__GNUC__ >= 3))
       
   122 
       
   123 #  ifndef BOOST_REGEX_INSTANTIATE
       
   124 #     define template __extension__ extern template
       
   125 #  endif
       
   126 
       
   127 #if !defined(BOOST_NO_STD_LOCALE) && !defined(BOOST_REGEX_ICU_INSTANCES)
       
   128 namespace re_detail{
       
   129 template BOOST_REGEX_DECL
       
   130 std::locale cpp_regex_traits_base<BOOST_REGEX_CHAR_T>::imbue(const std::locale& l);
       
   131 
       
   132 template BOOST_REGEX_DECL
       
   133 cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::string_type 
       
   134    cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::transform_primary(const BOOST_REGEX_CHAR_T* p1, const BOOST_REGEX_CHAR_T* p2) const;
       
   135 template BOOST_REGEX_DECL
       
   136 cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::string_type 
       
   137    cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::transform(const BOOST_REGEX_CHAR_T* p1, const BOOST_REGEX_CHAR_T* p2) const;
       
   138 template BOOST_REGEX_DECL
       
   139 cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::string_type 
       
   140    cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::lookup_collatename(const BOOST_REGEX_CHAR_T* p1, const BOOST_REGEX_CHAR_T* p2) const;
       
   141 template BOOST_REGEX_DECL
       
   142 void cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::init();
       
   143 template BOOST_REGEX_DECL
       
   144 cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::char_class_type 
       
   145    cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::lookup_classname_imp(const BOOST_REGEX_CHAR_T* p1, const BOOST_REGEX_CHAR_T* p2) const;
       
   146 #ifdef BOOST_REGEX_BUGGY_CTYPE_FACET
       
   147 template BOOST_REGEX_DECL
       
   148 bool cpp_regex_traits_implementation<BOOST_REGEX_CHAR_T>::isctype(const BOOST_REGEX_CHAR_T c, char_class_type mask) const;
       
   149 #endif
       
   150 } // namespace
       
   151 template BOOST_REGEX_DECL
       
   152 int cpp_regex_traits<BOOST_REGEX_CHAR_T>::toi(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last, int radix)const;
       
   153 template BOOST_REGEX_DECL
       
   154 std::string cpp_regex_traits<BOOST_REGEX_CHAR_T>::catalog_name(const std::string& name);
       
   155 template BOOST_REGEX_DECL
       
   156 std::string& cpp_regex_traits<BOOST_REGEX_CHAR_T>::get_catalog_name_inst();
       
   157 template BOOST_REGEX_DECL
       
   158 std::string cpp_regex_traits<BOOST_REGEX_CHAR_T>::get_catalog_name();
       
   159 #ifdef BOOST_HAS_THREADS
       
   160 template BOOST_REGEX_DECL
       
   161 static_mutex& cpp_regex_traits<BOOST_REGEX_CHAR_T>::get_mutex_inst();
       
   162 #endif
       
   163 #endif
       
   164 
       
   165 template BOOST_REGEX_DECL basic_regex<BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >& 
       
   166    basic_regex<BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >::do_assign(
       
   167       const BOOST_REGEX_CHAR_T* p1, 
       
   168       const BOOST_REGEX_CHAR_T* p2, 
       
   169       flag_type f);
       
   170 template BOOST_REGEX_DECL basic_regex<BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >::locale_type BOOST_REGEX_CALL 
       
   171    basic_regex<BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >::imbue(locale_type l);
       
   172 
       
   173 template BOOST_REGEX_DECL void BOOST_REGEX_CALL 
       
   174    match_results<const BOOST_REGEX_CHAR_T*>::maybe_assign(
       
   175       const match_results<const BOOST_REGEX_CHAR_T*>& m);
       
   176 
       
   177 namespace re_detail{
       
   178 template BOOST_REGEX_DECL void perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >::construct_init(
       
   179       const basic_regex<BOOST_REGEX_CHAR_T BOOST_REGEX_TRAITS_T >& e, match_flag_type f);
       
   180 template BOOST_REGEX_DECL bool perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >::match();
       
   181 template BOOST_REGEX_DECL bool perl_matcher<BOOST_REGEX_CHAR_T const *, match_results< const BOOST_REGEX_CHAR_T* >::allocator_type BOOST_REGEX_TRAITS_T >::find();
       
   182 } // namespace
       
   183 
       
   184 #if (defined(__GLIBCPP__) || defined(__GLIBCXX__)) \
       
   185    && !defined(BOOST_REGEX_ICU_INSTANCES)\
       
   186    && !defined(__SGI_STL_PORT)\
       
   187    && !defined(_STLPORT_VERSION)
       
   188 // std:basic_string<>::const_iterator instances as well:
       
   189 template BOOST_REGEX_DECL void BOOST_REGEX_CALL 
       
   190    match_results<std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator>::maybe_assign(
       
   191       const match_results<std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator>& m);
       
   192 
       
   193 namespace re_detail{
       
   194 template BOOST_REGEX_DECL void perl_matcher<std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator, match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >::allocator_type, boost::regex_traits<BOOST_REGEX_CHAR_T > >::construct_init(
       
   195       const basic_regex<BOOST_REGEX_CHAR_T>& e, match_flag_type f);
       
   196 template BOOST_REGEX_DECL bool perl_matcher<std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator, match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >::allocator_type, boost::regex_traits<BOOST_REGEX_CHAR_T > >::match();
       
   197 template BOOST_REGEX_DECL bool perl_matcher<std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator, match_results< std::basic_string<BOOST_REGEX_CHAR_T>::const_iterator >::allocator_type, boost::regex_traits<BOOST_REGEX_CHAR_T > >::find();
       
   198 } // namespace
       
   199 #endif
       
   200 
       
   201 #  ifdef template
       
   202 #     undef template
       
   203 #  endif
       
   204 
       
   205 
       
   206 #endif
       
   207 
       
   208 } // namespace boost
       
   209 
       
   210 #endif // BOOST_REGEX_NO_EXTERNAL_TEMPLATES
       
   211 
       
   212 
       
   213 
       
   214 
       
   215