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: Defines those template instances that are placed in the
17 * library rather than in the users object files.
21 // note no include guard, we may include this multiple times:
23 #ifndef BOOST_REGEX_NO_EXTERNAL_TEMPLATES
28 // this header can be included multiple times, each time with
29 // a different character type, BOOST_REGEX_CHAR_T must be defined
32 #ifndef BOOST_REGEX_CHAR_T
33 # error "BOOST_REGEX_CHAR_T not defined"
37 // what follows is compiler specific:
40 #if defined(__BORLANDC__) && (__BORLANDC__ < 0x600)
42 #ifdef BOOST_HAS_ABI_HEADERS
43 # include BOOST_ABI_PREFIX
46 # ifndef BOOST_REGEX_INSTANTIATE
47 # pragma option push -Jgx
50 template class BOOST_REGEX_DECL reg_expression< BOOST_REGEX_CHAR_T >;
52 # ifndef BOOST_REGEX_INSTANTIATE
56 #ifdef BOOST_HAS_ABI_HEADERS
57 # include BOOST_ABI_SUFFIX
60 #elif (defined(BOOST_MSVC) && defined(_MSC_EXTENSIONS)) || defined(__GNUC__)
62 # ifndef BOOST_REGEX_INSTANTIATE
63 # define template extern template
67 # pragma warning(push)
68 # pragma warning(disable : 4251 4231 4660)
71 template class BOOST_REGEX_DECL reg_expression< BOOST_REGEX_CHAR_T >;
85 #endif // BOOST_REGEX_NO_EXTERNAL_TEMPLATES