2005-04-06 Thierry GERAUD <theo@tegucigalpa.lrde.epita.fr> * mlc/int.hh: Remove (redundant with mlc/arith.hh). * mlc/fun.hh: Add fwd decls for std::unary_function and std::binary_function. Index: mlc/fun.hh =================================================================== --- mlc/fun.hh (revision 120) +++ mlc/fun.hh (working copy) @@ -30,6 +30,15 @@ # include <mlc/any.hh> + +// fwd decls +namespace std { + template <class Arg, class Ret> struct unary_function; + template <class Arg1, class Arg2, class Ret> struct binary_function; +} + + + namespace mlc { @@ -45,7 +54,7 @@ namespace abstract { template <typename E> - class unary_function : public mlc::any__best_memory<E> + class unary_function : public mlc::any<E> { public: typedef E exact_type; @@ -71,7 +80,7 @@ // FIXME: Add meta_unary_function. template <typename E> - class binary_function : public mlc::any__best_memory<E> + class binary_function : public mlc::any<E> { public: typedef E exact_type; Index: mlc/int.hh =================================================================== --- mlc/int.hh (revision 120) +++ mlc/int.hh (working copy) @@ -1,62 +0,0 @@ -// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory -// -// This file is part of the Olena Library. This library is free -// software; you can redistribute it and/or modify it under the terms -// of the GNU General Public License version 2 as published by the -// Free Software Foundation. -// -// This library 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 this library; see the file COPYING. If not, write to -// the Free Software Foundation, 59 Temple Place - Suite 330, Boston, -// MA 02111-1307, USA. -// -// As a special exception, you may use this file as part of a free -// software library without restriction. Specifically, if other files -// instantiate templates or use macros or inline functions from this -// file, or you compile this file and link it with other files to -// produce an executable, this file does not by itself cause the -// resulting executable to be covered by the GNU General Public -// License. This exception does not however invalidate any other -// reasons why the executable file might be covered by the GNU General -// Public License. - -#ifndef METALIC_ARITH_HH -# define METALIC_ARITH_HH - -# include <mlc/bool.hh> - - - -namespace mlc -{ - - namespace arith { - - template <typename T, T i, T j> struct eq : public value <bool, (i == j)> {}; - template <typename T, T i, T j> struct neq : public value <bool, (i != j)> {}; - - template <typename T, T i, T j> struct less : public value <bool, (i < j)> {}; - template <typename T, T i, T j> struct leq : public value <bool, (i <= j)> {}; - - template <typename T, T i, T j> struct greater : public value <bool, (i > j)> {}; - template <typename T, T i, T j> struct geq : public value <bool, (i >= j)> {}; - - template <typename T, T i, T j> struct min : public value<T, (i < j ? i : j)> {}; - template <typename T, T i, T j> struct max : public value<T, (i > j ? i : j)> {}; - - template <typename T, T i, T j, T N> struct maxN : public value<T, (i > j ? - (i > N ? N : i) : - (j > N ? N : j))> {}; - template <typename T, T i, T N> struct saturateN : public value<T, (i > N ? N : i)> {}; - - } // end of namespace mlc::arith - -} // end of namespace mlc - - -#endif // ! METALIC_ARITH_HH