197403Sobrien// Explicit instantiation file.
297403Sobrien
3169691Skan// Copyright (C) 2001, 2002, 2004, 2006 Free Software Foundation, Inc.
497403Sobrien//
597403Sobrien// This file is part of the GNU ISO C++ Library.  This library is free
697403Sobrien// software; you can redistribute it and/or modify it under the
797403Sobrien// terms of the GNU General Public License as published by the
897403Sobrien// Free Software Foundation; either version 2, or (at your option)
997403Sobrien// any later version.
1097403Sobrien
1197403Sobrien// This library is distributed in the hope that it will be useful,
1297403Sobrien// but WITHOUT ANY WARRANTY; without even the implied warranty of
1397403Sobrien// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1497403Sobrien// GNU General Public License for more details.
1597403Sobrien
1697403Sobrien// You should have received a copy of the GNU General Public License along
1797403Sobrien// with this library; see the file COPYING.  If not, write to the Free
18169691Skan// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
1997403Sobrien// USA.
2097403Sobrien
2197403Sobrien// As a special exception, you may use this file as part of a free software
2297403Sobrien// library without restriction.  Specifically, if other files instantiate
2397403Sobrien// templates or use macros or inline functions from this file, or you compile
2497403Sobrien// this file and link it with other files to produce an executable, this
2597403Sobrien// file does not by itself cause the resulting executable to be covered by
2697403Sobrien// the GNU General Public License.  This exception does not however
2797403Sobrien// invalidate any other reasons why the executable file might be covered by
2897403Sobrien// the GNU General Public License.
2997403Sobrien
3097403Sobrien//
3197403Sobrien// ISO C++ 14882:
3297403Sobrien//
3397403Sobrien
3497403Sobrien#include <ext/rope>
35102782Skan#include <ext/stdio_filebuf.h>
3697403Sobrien
37169691Skan_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
38132720Skan
39169691Skan  namespace
40169691Skan  {
41169691Skan    const int min_len = __detail::_S_max_rope_depth + 1;
42169691Skan  }
43132720Skan
4497403Sobrien  template
45102782Skan    const unsigned long
46132720Skan    rope<char, std::allocator<char> >::_S_min_len[min_len];
47102782Skan
48102782Skan  template
49102782Skan    char
50102782Skan    rope<char, std::allocator<char> >::
51102782Skan    _S_fetch(_Rope_RopeRep<char, std::allocator<char> >*, size_type);
52102782Skan
53102782Skan  template class stdio_filebuf<char>;
54102782Skan
55132720Skan#ifdef _GLIBCXX_USE_WCHAR_T
56102782Skan  template
57132720Skan    const unsigned long
58132720Skan    rope<wchar_t, std::allocator<wchar_t> >::_S_min_len[min_len];
59102782Skan
60102782Skan  template
61102782Skan    wchar_t
62102782Skan    rope<wchar_t, std::allocator<wchar_t> >::
63102782Skan    _S_fetch(_Rope_RopeRep<wchar_t, std::allocator<wchar_t> >*, size_type);
64102782Skan
65102782Skan  template class stdio_filebuf<wchar_t>;
66102782Skan#endif
67169691Skan
68169691Skan_GLIBCXX_END_NAMESPACE
69