Mercurial > hg > octave-nkf
diff src/oct-errno.h @ 5465:d6163c0effd5
[project @ 2005-09-23 15:42:48 by jwe]
author | jwe |
---|---|
date | Fri, 23 Sep 2005 15:42:49 +0000 |
parents | |
children | 93c65f2a5668 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/src/oct-errno.h @@ -0,0 +1,77 @@ +// oct-errno.h.in +/* + +Copyright (C) 2005 John W. Eaton + +This file is part of Octave. + +Octave is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2, or (at your option) any +later version. + +Octave is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Octave; see the file COPYING. If not, write to the Free +Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301, USA. + +*/ + +#if !defined (octave_errno_h) +#define octave_errno_h 1 + +#include <map> +#include <string> + +#include "oct-map.h" + +class +octave_errno +{ +protected: + + octave_errno (void); + +public: + + ~octave_errno (void) { } + + static bool instance_ok (void); + + static int lookup (const std::string& name); + + static Octave_map list (void); + + static int get (void) { return errno; } + + static int set (int val) + { + int retval = errno; + errno = val; + return retval; + } + +private: + + std::map<std::string, int> errno_tbl; + + static octave_errno *instance; + + int do_lookup (const std::string& name); + + Octave_map do_list (void); +}; + +#endif + +/* +;;; Local Variables: *** +;;; mode: C++ *** +;;; page-delimiter: "^/\\*" *** +;;; End: *** +*/