1*d7b374a6SHerbert Dürr /**************************************************************
2*d7b374a6SHerbert Dürr  *
3*d7b374a6SHerbert Dürr  * Licensed to the Apache Software Foundation (ASF) under one
4*d7b374a6SHerbert Dürr  * or more contributor license agreements.  See the NOTICE file
5*d7b374a6SHerbert Dürr  * distributed with this work for additional information
6*d7b374a6SHerbert Dürr  * regarding copyright ownership.  The ASF licenses this file
7*d7b374a6SHerbert Dürr  * to you under the Apache License, Version 2.0 (the
8*d7b374a6SHerbert Dürr  * "License"); you may not use this file except in compliance
9*d7b374a6SHerbert Dürr  * with the License.  You may obtain a copy of the License at
10*d7b374a6SHerbert Dürr  *
11*d7b374a6SHerbert Dürr  *   http://www.apache.org/licenses/LICENSE-2.0
12*d7b374a6SHerbert Dürr  *
13*d7b374a6SHerbert Dürr  * Unless required by applicable law or agreed to in writing,
14*d7b374a6SHerbert Dürr  * software distributed under the License is distributed on an
15*d7b374a6SHerbert Dürr  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d7b374a6SHerbert Dürr  * KIND, either express or implied.  See the License for the
17*d7b374a6SHerbert Dürr  * specific language governing permissions and limitations
18*d7b374a6SHerbert Dürr  * under the License.
19*d7b374a6SHerbert Dürr  *
20*d7b374a6SHerbert Dürr  *************************************************************/
21*d7b374a6SHerbert Dürr 
22*d7b374a6SHerbert Dürr 
23*d7b374a6SHerbert Dürr //1. Force inclusion of a std:: using header to ensure the stlport define
24*d7b374a6SHerbert Dürr //of std as "stlport"
25*d7b374a6SHerbert Dürr #include <algorithm>
26*d7b374a6SHerbert Dürr #if defined(ADAPT_EXT_STL)
27*d7b374a6SHerbert Dürr //2. Force inclusion of stlport headers to get their stlport:: definitions
28*d7b374a6SHerbert Dürr #   include <ostream>
29*d7b374a6SHerbert Dürr #   include <istream>
30*d7b374a6SHerbert Dürr #   include <fstream>
31*d7b374a6SHerbert Dürr #   include <iostream>
32*d7b374a6SHerbert Dürr #   include <sstream>
33*d7b374a6SHerbert Dürr #   include <vector>
34*d7b374a6SHerbert Dürr #   include <deque>
35*d7b374a6SHerbert Dürr #   include <set>
36*d7b374a6SHerbert Dürr #   include <list>
37*d7b374a6SHerbert Dürr #   include <map>
38*d7b374a6SHerbert Dürr //3. Now force inclusion of native headers to get their std:: definitions
39*d7b374a6SHerbert Dürr #   if defined(std)
40*d7b374a6SHerbert Dürr #       define std_was_redefined_as_stlport std
41*d7b374a6SHerbert Dürr #       undef std
42*d7b374a6SHerbert Dürr #       define _STLP_OUTERMOST_HEADER_ID 0xdeadbeaf
43*d7b374a6SHerbert Dürr #       if defined(_GNUC__)
44*d7b374a6SHerbert Dürr #           pragma GCC visibility push(default)
45*d7b374a6SHerbert Dürr #       endif
46*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(exception_defines.h)
47*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(limits)
48*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(memory)
49*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(exception)
50*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(iosfwd)
51*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(algorithm)
52*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(string)
53*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(streambuf)
54*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(ios)
55*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(locale)
56*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(stdexcept)
57*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(ostream)
58*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(istream)
59*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(iostream)
60*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(sstream)
61*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(vector)
62*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(deque)
63*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(set)
64*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(list)
65*d7b374a6SHerbert Dürr #       include _STLP_NATIVE_HEADER(map)
66*d7b374a6SHerbert Dürr #       if defined(_GNUC__)
67*d7b374a6SHerbert Dürr #           pragma GCC visibility pop
68*d7b374a6SHerbert Dürr #       endif
69*d7b374a6SHerbert Dürr #   endif
70*d7b374a6SHerbert Dürr #endif
71*d7b374a6SHerbert Dürr //ext_std resolves to the std that external c++ libs, e.g. Graphite were built
72*d7b374a6SHerbert Dürr //against regardless of whether that is stlport or system stl
73*d7b374a6SHerbert Dürr namespace ext_std = std;
74