1e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott /* 2e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * 3e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * Copyright (c) 1994 4e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * Hewlett-Packard Company 5e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * 6e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * Copyright (c) 1996,1997 7e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * Silicon Graphics Computer Systems, Inc. 8e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * 9e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * Copyright (c) 1997 10e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * Moscow Center for SPARC Technology 11e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * 12e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * Copyright (c) 1999 13e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * Boris Fomitchev 14e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * 15e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * This material is provided "as is", with absolutely no warranty expressed 16e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * or implied. Any use is at your own risk. 17e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * 18e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * Permission to use or copy this software for any purpose is hereby granted 19e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * without fee, provided the above notices are retained on all copies. 20e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * Permission to modify the code and to distribute modified code is granted, 21e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * provided the above notices are retained, and a notice that the code was 22e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * modified is included with the above copyright notice. 23e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * 24e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott */ 25e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 26e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#define _STLP_EXPOSE_GLOBALS_IMPLEMENTATION 27e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 28e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include "stlport_prefix.h" 29e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 30e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if !defined (_STLP_DEBUG) && ! defined (_STLP_ASSERTIONS) 31e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if !defined (__APPLE__) || !defined (__GNUC__) || (__GNUC__ < 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ < 3)) 32e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott/* dums: Please if the following code was being uncommented please explain why 33e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * as for the moment it only looks like a source of inconsistency in the way 34e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * STLport different translation units are compiled. 35e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott */ 36e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott//# define _STLP_ASSERTIONS 1 37e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 38e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 39e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 40e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <utility> 41e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <memory> 42e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <vector> 43e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <set> 44e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <list> 45e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <slist> 46e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <deque> 47e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <hash_map> 48e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <limits> 49e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <string> 50e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <stdexcept> 51e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <bitset> 52e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <locale> 53e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 54e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if defined (__DMC__) 55e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// for rope static members 56e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# include <rope> 57e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 58e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 59e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#include <stl/_range_errors.c> 60e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 61e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_BEGIN_NAMESPACE 62e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 63e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if defined (_STLP_NO_EXCEPTION_HEADER) || defined (_STLP_BROKEN_EXCEPTION_CLASS) 64e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottexception::exception() _STLP_NOTHROW {} 65e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottexception::~exception() _STLP_NOTHROW {} 66e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottbad_exception::bad_exception() _STLP_NOTHROW {} 67e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottbad_exception::~bad_exception() _STLP_NOTHROW {} 68e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottconst char* exception::what() const _STLP_NOTHROW { return "class exception"; } 69e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottconst char* bad_exception::what() const _STLP_NOTHROW { return "class bad_exception"; } 70e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 71e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 72e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if defined (_STLP_OWN_STDEXCEPT) 73e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# include <stl/_stdexcept_base.c> 74e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 75e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// boris : those are needed to force typeinfo nodes to be created in here only 76e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottlogic_error::~logic_error() _STLP_NOTHROW_INHERENTLY {} 77e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottruntime_error::~runtime_error() _STLP_NOTHROW_INHERENTLY {} 78e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottdomain_error::~domain_error() _STLP_NOTHROW_INHERENTLY {} 79e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottinvalid_argument::~invalid_argument() _STLP_NOTHROW_INHERENTLY {} 80e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottlength_error::~length_error() _STLP_NOTHROW_INHERENTLY {} 81e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottout_of_range::~out_of_range() _STLP_NOTHROW_INHERENTLY {} 82e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottrange_error::~range_error() _STLP_NOTHROW_INHERENTLY {} 83e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottoverflow_error::~overflow_error() _STLP_NOTHROW_INHERENTLY {} 84e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottunderflow_error::~underflow_error() _STLP_NOTHROW_INHERENTLY {} 85e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 86e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 87e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 88e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if !defined(_STLP_WCE_EVC3) 89e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if defined (_STLP_NO_BAD_ALLOC) 90e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottconst nothrow_t nothrow /* = {} */; 91e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 92e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 93e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 94e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if !defined (_STLP_NO_FORCE_INSTANTIATE) 95e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 96e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if defined (_STLP_DEBUG) || defined (_STLP_ASSERTIONS) 97e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_PRIV_NAMESPACE 98e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC __stl_debug_engine<bool>; 99e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_STD_NAMESPACE 100e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 101e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 102e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC __debug_alloc<__node_alloc>; 103e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC __debug_alloc<__new_alloc>; 104e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 105e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott//Export of the types used to represent buckets in the hashtable implementation. 106e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott/* 107e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * For the vector class we do not use any MSVC6 workaround even if we export it from 108e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * the STLport dynamic libraries because we know what methods are called and none is 109e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * a template method. Moreover the exported class is an instanciation of vector with 110e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * _Slist_node_base struct that is an internal STLport class that no user should ever 111e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * use. 112e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott */ 113e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if !defined (_STLP_USE_PTR_SPECIALIZATIONS) 114e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC allocator<_STLP_PRIV _Slist_node_base*>; 115e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 116e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_PRIV_NAMESPACE 117e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_alloc_proxy<_Slist_node_base**, _Slist_node_base*, 118e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott allocator<_Slist_node_base*> >; 119e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _Vector_base<_Slist_node_base*, 120e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott allocator<_Slist_node_base*> >; 121e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_STD_NAMESPACE 122e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 123e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 124e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if defined (_STLP_DEBUG) 125e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_PRIV_NAMESPACE 126e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_NON_DBG_NAME(vector)<_Slist_node_base*, 127e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott allocator<_Slist_node_base*> >; 128e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_STD_NAMESPACE 129e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 130e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 131e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC vector<_STLP_PRIV _Slist_node_base*, 132e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott allocator<_STLP_PRIV _Slist_node_base*> >; 133e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott//End of hashtable bucket types export. 134e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 135e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott//Export of _Locale_impl facets container: 136e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if !defined (_STLP_USE_PTR_SPECIALIZATIONS) 137e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC allocator<locale::facet*>; 138e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 139e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_PRIV_NAMESPACE 140e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_alloc_proxy<locale::facet**, locale::facet*, allocator<locale::facet*> >; 141e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _Vector_base<locale::facet*, allocator<locale::facet*> >; 142e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_STD_NAMESPACE 143e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 144e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 145e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if defined (_STLP_DEBUG) 146e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_PRIV_NAMESPACE 147e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# define _STLP_NON_DBG_VECTOR _STLP_NON_DBG_NAME(vector) 148e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC __construct_checker<_STLP_PRIV _STLP_NON_DBG_VECTOR<locale::facet*, allocator<locale::facet*> > >; 149e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_NON_DBG_VECTOR<locale::facet*, allocator<locale::facet*> >; 150e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# undef _STLP_NON_DBG_VECTOR 151e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_STD_NAMESPACE 152e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 153e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 154e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC vector<locale::facet*, allocator<locale::facet*> >; 155e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott//End of export of _Locale_impl facets container. 156e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 157e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if defined (_STLP_USE_PTR_SPECIALIZATIONS) 158e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC allocator<void*>; 159e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 160e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttypedef _STLP_PRIV _List_node<void*> _VoidPtr_Node; 161e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC allocator<_VoidPtr_Node>; 162e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 163e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_PRIV_NAMESPACE 164e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 165e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_alloc_proxy<void**, void*, allocator<void*> >; 166e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _Vector_base<void*, allocator<void*> >; 167e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_PTR_IMPL_NAME(vector)<void*, allocator<void*> >; 168e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 169e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _List_node<void*>; 170e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_alloc_proxy<_List_node_base, _VoidPtr_Node, allocator<_VoidPtr_Node> >; 171e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _List_base<void*, allocator<void*> >; 172e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_PTR_IMPL_NAME(list)<void*, allocator<void*> >; 173e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 174e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _Slist_node<void*>; 175e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_alloc_proxy<_Slist_node_base, _Slist_node<void*>, allocator<_Slist_node<void*> > >; 176e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _Slist_base<void*, allocator<void*> >; 177e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_PTR_IMPL_NAME(slist)<void*, allocator<void*> >; 178e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 179e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_alloc_proxy<size_t, void*, allocator<void*> >; 180e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_alloc_proxy<void***, void**, allocator<void**> >; 181e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate struct _STLP_CLASS_DECLSPEC _Deque_iterator<void*, _Nonconst_traits<void*> >; 182e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _Deque_base<void*, allocator<void*> >; 183e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _STLP_PTR_IMPL_NAME(deque)<void*, allocator<void*> >; 184e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 185e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_STD_NAMESPACE 186e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 187e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif /* _STLP_USE_PTR_SPECIALIZATIONS */ 188e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 189e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_PRIV_NAMESPACE 190e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 191e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _Rb_global<bool>; 192e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _List_global<bool>; 193e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 194e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _Sl_global<bool>; 195e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _Stl_prime<bool>; 196e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 197e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scotttemplate class _STLP_CLASS_DECLSPEC _LimG<bool>; 198e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 199e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_MOVE_TO_STD_NAMESPACE 200e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 201e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif /* _STLP_NO_FORCE_INSTANTIATE */ 202e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 203e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_END_NAMESPACE 204e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 205e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if defined (_STLP_SIGNAL_RUNTIME_COMPATIBILITY) 206e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottextern "C" void _STLP_DECLSPEC _STLP_CALL _STLP_SIGNAL_RUNTIME_COMPATIBILITY() {} 207e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 208e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 209e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#define FORCE_SYMBOL extern 210e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 211e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if defined (_WIN32) && defined (_STLP_USE_DECLSPEC) && !defined (_STLP_USE_STATIC_LIB) 212e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// stlportmt.cpp : Defines the entry point for the DLL application. 213e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott// 214e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# undef FORCE_SYMBOL 215e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# define FORCE_SYMBOL APIENTRY 216e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 217e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottextern "C" { 218e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 219e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick ScottBOOL APIENTRY DllMain( HANDLE hModule, 220e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott DWORD ul_reason_for_call, 221e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott LPVOID) { 222e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott switch (ul_reason_for_call) { 223e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott case DLL_PROCESS_ATTACH: 224e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott DisableThreadLibraryCalls((HINSTANCE)hModule); 225e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott case DLL_THREAD_ATTACH: 226e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott case DLL_THREAD_DETACH: 227e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott case DLL_PROCESS_DETACH: 228e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott break; 229e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 230e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott return TRUE; 231e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott} 232e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 233e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott} /* extern "C" */ 234e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 235e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if !defined (_STLP_MSVC) && !defined (__MINGW32__) 236e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_BEGIN_NAMESPACE 237e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 238e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottstatic void FORCE_SYMBOL 239e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottforce_link() { 240e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott set<int>::iterator iter; 241e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott // _M_increment; _M_decrement instantiation 242e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott ++iter; 243e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott --iter; 244e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott} 245e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 246e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_END_NAMESPACE 247e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 248e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 249e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif /* _WIN32 */ 250e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 251e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#if defined (__ICL) && (__ICL >= 900) && (_STLP_MSVC_LIB < 1300) 252e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# undef std 253e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott 254e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottnamespace std 255e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott{ 256e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott void _STLP_CALL unexpected() { 257e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott unexpected_handler hdl; 258e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott set_unexpected(hdl = set_unexpected((unexpected_handler)0)); 259e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott hdl(); 260e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott } 261e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott} 262e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott#endif 263