]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/include/std-vector.hh
Imported Upstream version 2.14.2
[lilypond.git] / flower / include / std-vector.hh
index 1b7ae238561f86b9615205ffb07b9bda9a774bc7..43fed22f6846af88b99c8b8dec7f1944e9b25f55 100644 (file)
@@ -1,9 +1,20 @@
 /*
-  std-vector.hh -- declare vector
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the GNU LilyPond music typesetter
+  Copyright (C) 2006--2011 Jan Nieuwenhuizen <janneke@gnu.org>
 
-  (c) 2006--2009 Jan Nieuwenhuizen <janneke@gnu.org>
+  LilyPond 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 3 of the License, or
+  (at your option) any later version.
+
+  LilyPond 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 LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #ifndef STD_VECTOR_HH
 
 using namespace std;
 
-#if HAVE_BOOST_LAMBDA_LAMBDA_HPP
-#include <boost/lambda/lambda.hpp>
-#endif
-
 template<typename T>
 int default_compare (T const &a, T const &b)
 {
@@ -63,7 +70,7 @@ typedef size_t vsize;
 #if HAVE_STL_DATA_METHOD
 #include <vector>
 #else /* !HAVE_STL_DATA_METHOD */
-#define vector __vector
+#define vector __flower_vector
 #include <vector>
 #undef vector
 
@@ -71,21 +78,21 @@ namespace std {
 
   /* Interface without pointer arithmetic (iterator) semantics.  */
   template<typename T, typename A=std::allocator<T> >
-  class vector : public __vector<T, A>
+  class vector : public __flower_vector<T, A>
   {
   public:
-    typedef typename __vector<T>::iterator iterator;
-    typedef typename __vector<T>::const_iterator const_iterator;
+    typedef typename __flower_vector<T>::iterator iterator;
+    typedef typename __flower_vector<T>::const_iterator const_iterator;
 
-    vector<T, A> () : __vector<T, A> ()
+    vector<T, A> () : __flower_vector<T, A> ()
     {
     }
 
-    vector<T, A> (vector<T, A> const& v) : __vector<T, A> (v)
+    vector<T, A> (vector<T, A> const& v) : __flower_vector<T, A> (v)
     {
     }
 
-    vector<T, A> (const_iterator b, const_iterator e) : __vector<T, A> (b, e)
+    vector<T, A> (const_iterator b, const_iterator e) : __flower_vector<T, A> (b, e)
     {
     }
 
@@ -227,18 +234,6 @@ find (vector<T> const &v, T const &key)
   return find (v.begin (), v.end (), key);
 }
 
-#if HAVE_BOOST_LAMBDA_LAMBDA_HPP
-#include <boost/lambda/lambda.hpp>
-using namespace boost::lambda;
-template<typename T>
-void
-junk_pointers (vector<T> &v)
-{
-  for_each (v.begin (), v.end (), (delete _1, _1 = 0));
-  v.clear ();
-}
-#else
-
 template<typename T> struct del : public unary_function<T, void>
 {
   void operator() (T x)
@@ -256,7 +251,6 @@ junk_pointers (vector<T> &v)
   for_each (v.begin (), v.end (), del<T> ());
   v.clear ();
 }
-#endif /* HAVE_BOOST_LAMBDA */
 
 vector<string> string_split (string str, char c);
 string string_join (vector<string> const &strs, string infix);