177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner/*
277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Copyright (c) 1999
377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Silicon Graphics Computer Systems, Inc.
477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner *
577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Copyright (c) 1999
677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Boris Fomitchev
777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner *
877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * This material is provided "as is", with absolutely no warranty expressed
977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * or implied. Any use is at your own risk.
1077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner *
1177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Permission to use or copy this software for any purpose is hereby granted
1277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * without fee, provided the above notices are retained on all copies.
1377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * Permission to modify the code and to distribute modified code is granted,
1477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * provided the above notices are retained, and a notice that the code was
1577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner * modified is included with the above copyright notice.
1677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner *
1777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner */
1877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner// WARNING: This is an internal header file, included by other C++
1977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner// standard library headers.  You should not attempt to use this header
2077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner// file directly.
2177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
2277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
2377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#ifndef _STLP_INTERNAL_NUM_GET_H
2477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#define _STLP_INTERNAL_NUM_GET_H
2577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
2677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#ifndef _STLP_INTERNAL_ISTREAMBUF_ITERATOR_H
2777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  include <stl/_istreambuf_iterator.h>
2877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
2977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
3077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#ifndef _STLP_C_LOCALE_H
3177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  include <stl/c_locale.h>
3277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
3377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
3477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#ifndef _STLP_INTERNAL_NUMPUNCT_H
3577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  include <stl/_numpunct.h>
3677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
3777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
3877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#ifndef _STLP_INTERNAL_CTYPE_H
3977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  include <stl/_ctype.h>
4077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
4177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
4277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#ifndef _STLP_INTERNAL_IOSTREAM_STRING_H
4377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  include <stl/_iostream_string.h>
4477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
4577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
4677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#ifndef _STLP_FACETS_FWD_H
4777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  include <stl/_facets_fwd.h>
4877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
4977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
5077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner_STLP_BEGIN_NAMESPACE
5177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
5277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner//----------------------------------------------------------------------
5377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner// num_get facets
5477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
5577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnertemplate <class _CharT, class _InputIter>
5677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerclass num_get: public locale::facet {
5777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerpublic:
5877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  typedef _CharT     char_type;
5977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  typedef _InputIter iter_type;
6077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
6177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  explicit num_get(size_t __refs = 0): locale::facet(__refs) {}
6277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
6377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if !defined (_STLP_NO_BOOL)
6477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
6577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, bool& __val) const
6677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
6777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
6877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
6977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if defined (_STLP_FIX_LIBRARY_ISSUES)
7077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
7177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, short& __val) const
7277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
7377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
7477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
7577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, int& __val) const
7677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
7777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
7877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
7977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
8077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, long& __val) const
8177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
8277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
8377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
8477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, unsigned short& __val) const
8577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
8677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
8777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
8877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, unsigned int& __val) const
8977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
9077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
9177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
9277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, unsigned long& __val) const
9377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
9477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
9577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if defined (_STLP_LONG_LONG)
9677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
9777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, _STLP_LONG_LONG& __val) const
9877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
9977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
10077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
10177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, unsigned _STLP_LONG_LONG& __val) const
10277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
10377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif /* _STLP_LONG_LONG */
10477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
10577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
10677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, float& __val) const
10777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
10877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
10977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
11077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, double& __val) const
11177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
11277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
11377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if !defined (_STLP_NO_LONG_DOUBLE)
11477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
11577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, long double& __val) const
11677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
11777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner# endif
11877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
11977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  _InputIter get(_InputIter __ii, _InputIter __end, ios_base& __str,
12077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                 ios_base::iostate& __err, void*& __val) const
12177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  { return do_get(__ii, __end, __str, __err, __val); }
12277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
12377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  static locale::id id;
12477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
12577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerprotected:
12677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  ~num_get() {}
12777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
12877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  typedef string               string_type;
12977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  typedef ctype<_CharT>        _Ctype;
13077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  typedef numpunct<_CharT>     _Numpunct;
13177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
13277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if !defined (_STLP_NO_BOOL)
13377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
13477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, bool& __val) const;
13577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
13677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
13777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
13877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, long& __val) const;
13977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
14077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, unsigned short& __val) const;
14177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
14277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, unsigned int& __val) const;
14377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
14477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, unsigned long& __val) const;
14577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
14677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if defined (_STLP_FIX_LIBRARY_ISSUES)
14777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  // issue 118 : those are actually not supposed to be here
14877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
14977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, short& __val) const;
15077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
15177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, int& __val) const;
15277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
15377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
15477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
15577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, float& __val) const;
15677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
15777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, double& __val) const;
15877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
15977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, void*& __p) const;
16077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
16177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if !defined (_STLP_NO_LONG_DOUBLE)
16277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
16377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, long double& __val) const;
16477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
16577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
16677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if defined (_STLP_LONG_LONG)
16777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
16877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, _STLP_LONG_LONG& __val) const;
16977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  virtual _InputIter do_get(_InputIter __ii, _InputIter __end, ios_base& __str,
17077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                            ios_base::iostate& __err, unsigned _STLP_LONG_LONG& __val) const;
17177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
17277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
17377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner};
17477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
17577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
17677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if defined (_STLP_USE_TEMPLATE_EXPORT)
17777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner_STLP_EXPORT_TEMPLATE_CLASS num_get<char, istreambuf_iterator<char, char_traits<char> > >;
17877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner// _STLP_EXPORT_TEMPLATE_CLASS num_get<char, const char*>;
17977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  if !defined (_STLP_NO_WCHAR_T)
18077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner_STLP_EXPORT_TEMPLATE_CLASS num_get<wchar_t, istreambuf_iterator<wchar_t, char_traits<wchar_t> > >;
18177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner// _STLP_EXPORT_TEMPLATE_CLASS num_get<wchar_t, const wchar_t*>;
18277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  endif
18377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
18477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
18577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION)
18677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
18777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner_STLP_MOVE_TO_PRIV_NAMESPACE
18877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
18977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner_STLP_DECLSPEC bool _STLP_CALL __valid_grouping(const char*, const char*, const char*, const char*);
19077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
19177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnertemplate <class _InputIter, class _Integer, class _CharT>
19277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerbool _STLP_CALL
19377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner__get_decimal_integer(_InputIter& __first, _InputIter& __last, _Integer& __val, _CharT*);
19477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
19577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  if !defined (_STLP_NO_WCHAR_T)
19677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerbool _STLP_DECLSPEC _STLP_CALL __get_fdigit(wchar_t&, const wchar_t*);
19777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerbool _STLP_DECLSPEC _STLP_CALL __get_fdigit_or_sep(wchar_t&, wchar_t, const wchar_t*);
19877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  endif
19977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
20077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnerinline void  _STLP_CALL
20177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner_Initialize_get_float(const ctype<char>&,
20277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                       char& Plus, char& Minus,
20377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                       char& pow_e, char& pow_E,
20477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                       char*) {
20577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  Plus = '+';
20677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  Minus = '-';
20777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  pow_e = 'e';
20877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner  pow_E = 'E';
20977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner}
21077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
21177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  if !defined (_STLP_NO_WCHAR_T)
21277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnervoid _STLP_DECLSPEC _STLP_CALL _Initialize_get_float(const ctype<wchar_t>&,
21377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner                                                     wchar_t&, wchar_t&, wchar_t&, wchar_t&, wchar_t*);
21477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  endif
21577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnervoid _STLP_DECLSPEC _STLP_CALL __string_to_float(const __iostring&, float&);
21677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnervoid _STLP_DECLSPEC _STLP_CALL __string_to_float(const __iostring&, double&);
21777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  if !defined (_STLP_NO_LONG_DOUBLE)
21877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turnervoid _STLP_DECLSPEC _STLP_CALL __string_to_float(const __iostring&, long double&);
21977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  endif
22077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
22177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner_STLP_MOVE_TO_STD_NAMESPACE
22277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
22377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif /* _STLP_EXPOSE_STREAM_IMPLEMENTATION */
22477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
22577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
22677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner_STLP_END_NAMESPACE
22777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
22877dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#if defined (_STLP_EXPOSE_STREAM_IMPLEMENTATION) && !defined (_STLP_LINK_TIME_INSTANTIATION)
22977dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#  include <stl/_num_get.c>
23077dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif
23177dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
23277dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner#endif /* _STLP_INTERNAL_NUM_GET_H */
23377dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
23477dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner// Local Variables:
23577dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner// mode:C++
23677dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner// End:
23777dc872c5c4ae67e051d1bf7edf96ce36c7b9be2David 'Digit' Turner
238