]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libstdc++-v3/testsuite/util/performance/assoc/timing/subscript_find_test.hpp
Update copyright years in libstdc++-v3/
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / util / performance / assoc / timing / subscript_find_test.hpp
index 96c08b5c4dbc4663b44f07f4b9f8ea7ac293d220..5b6341076629c60191ecaf7b6a42730cace20c35 100644 (file)
@@ -1,11 +1,11 @@
 // -*- C++ -*-
 
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+// Copyright (C) 2005-2014 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library 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
+// Foundation; either version 3, or (at your option) any later
 // version.
 
 // This library is distributed in the hope that it will be useful, but
 // 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.
+// along with this library; see the file COPYING3.  If not see
+// <http://www.gnu.org/licenses/>.
+
 
 // Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
 
 #include <common_type/assoc/string_form.hpp>
 #include <iterator>
 
-namespace pb_ds
+namespace __gnu_pbds
 {
-
   namespace test
   {
-
     namespace detail
     {
-
       template<typename It, class Cntnr>
       class subscript_find_functor
       {
       public:
-        subscript_find_functor(Cntnr& r_container,  It fnd_it_b,  It fnd_it_e) : m_r_container(r_container),
-                                                                                m_fnd_it_b(fnd_it_b),
-                                                                                m_fnd_it_e(fnd_it_e)
+        subscript_find_functor(Cntnr& container,  It fnd_it_b,  It fnd_it_e) 
+       : m_r_container(container), m_fnd_it_b(fnd_it_b), m_fnd_it_e(fnd_it_e)
        { }
 
        void
@@ -75,10 +61,8 @@ namespace pb_ds
          for (std::size_t i = 0; i < resolution; ++i)
            {
              It fnd_it = m_fnd_it_b;
-
              while (fnd_it != m_fnd_it_e)
                 ++m_r_container[(fnd_it++)->first];
-
              ++fnd_it;
            }
        }
@@ -91,67 +75,48 @@ namespace pb_ds
 
     } // namespace detail
 
-#define PB_DS_CLASS_T_DEC                      \
-    template<typename It>
-
-#define PB_DS_CLASS_C_DEC                              \
-    subscript_find_test<                               \
-                                               It>
-
     template<typename It>
-    class subscript_find_test : private pb_ds::test::detail::timing_test_base
+    class subscript_find_test : private __gnu_pbds::test::detail::timing_test_base
     {
     public:
-      subscript_find_test(It ins_b, It fnd_b, size_t ins_vn, size_t ins_vs, size_t ins_vm, size_t fnd_vn, size_t fnd_vs, size_t fnd_vm);
+      subscript_find_test(It ins_b, It b, size_t ins_vn, size_t ins_vs, 
+                         size_t ins_vm, size_t vn, size_t vs, size_t vm)
+      : m_ins_b(ins_b), m_fnd_b(b), m_ins_vn(ins_vn), m_ins_vs(ins_vs),
+       m_ins_vm(ins_vm), m_fnd_vn(vn), m_fnd_vs(vs), m_fnd_vm(vm)
+      { }
 
       template<typename Cntnr>
       void
-      operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>);
+      operator()(Cntnr);
 
     private:
-      subscript_find_test(const subscript_find_test& );
+      subscript_find_test(const subscript_find_test&);
 
     private:
       const It m_ins_b;
-
       const It m_fnd_b;
-
       const size_t m_ins_vn;
       const size_t m_ins_vs;
       const size_t m_ins_vm;
-
       const size_t m_fnd_vn;
       const size_t m_fnd_vs;
       const size_t m_fnd_vm;
     };
 
-    PB_DS_CLASS_T_DEC
-    PB_DS_CLASS_C_DEC::
-    subscript_find_test(It ins_b, It fnd_b, size_t ins_vn, size_t ins_vs, size_t ins_vm, size_t fnd_vn, size_t fnd_vs, size_t fnd_vm) :
-      m_ins_b(ins_b),
-      m_fnd_b(fnd_b),
-      m_ins_vn(ins_vn),
-      m_ins_vs(ins_vs),
-      m_ins_vm(ins_vm),
-      m_fnd_vn(fnd_vn),
-      m_fnd_vs(fnd_vs),
-      m_fnd_vm(fnd_vm)
-    { }
-
-    PB_DS_CLASS_T_DEC
-    template<typename Cntnr>
+   template<typename It>
+   template<typename Cntnr>
     void
-    PB_DS_CLASS_C_DEC::
-    operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
+    subscript_find_test<It>::
+    operator()(Cntnr)
     {
-      xml_result_set_performance_formatter res_set_fmt(
-                                                      string_form<Cntnr>::name(),
-                                                      string_form<Cntnr>::desc());
+      typedef xml_result_set_performance_formatter formatter_type;
+      formatter_type res_set_fmt(string_form<Cntnr>::name(),
+                                string_form<Cntnr>::desc());
 
-      for (size_t size_i = 0; m_ins_vn + size_i*  m_ins_vs < m_ins_vm; ++size_i)
+      for (size_t i = 0; m_ins_vn + i*  m_ins_vs < m_ins_vm; ++i)
        {
-         const size_t v = m_ins_vn + size_i*  m_ins_vs;
-         const size_t fnd_size = m_fnd_vn + size_i*  m_fnd_vs;
+         const size_t v = m_ins_vn + i*  m_ins_vs;
+         const size_t fnd_size = m_fnd_vn + i*  m_fnd_vs;
 
          It ins_it_b = m_ins_b;
          It ins_it_e = m_ins_b;
@@ -163,23 +128,17 @@ namespace pb_ds
          It fnd_it_e = m_fnd_b;
          std::advance(fnd_it_e, fnd_size);
 
-         pb_ds::test::detail::subscript_find_functor<It, Cntnr>
+         __gnu_pbds::test::detail::subscript_find_functor<It, Cntnr>
             fn(test_container, fnd_it_b, fnd_it_e);
 
          const double res =
-            pb_ds::test::detail::timing_test_base::operator()(fn);
+            __gnu_pbds::test::detail::timing_test_base::operator()(fn);
 
          res_set_fmt.add_res(v, res / fnd_size);
        }
     }
-
-#undef PB_DS_CLASS_T_DEC
-
-#undef PB_DS_CLASS_C_DEC
-
   } // namespace test
+} // namespace __gnu_pbds
 
-} // namespace pb_ds
-
-#endif // #ifndef PB_DS_SUBSCRIPT_TEST_HPP
+#endif