OSDN Git Service

2006-09-27 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / testsuite / util / performance / assoc / timing / subscript_insert_test.hpp
index ad3d650..1e067c0 100644 (file)
 
 namespace pb_ds
 {
-
   namespace test
   {
-
     namespace detail
     {
-
       template<typename It, class Cntnr>
       class subscript_insert_functor
       {
       public:
-        subscript_insert_functor(It ins_it_b,  It ins_it_e) : m_ins_it_b(ins_it_b),
-                                                             m_ins_it_e(ins_it_e)
+        subscript_insert_functor(It ins_it_b,  It ins_it_e) 
+       : m_ins_it_b(ins_it_b), m_ins_it_e(ins_it_e)
        { }
 
        void
@@ -76,7 +73,6 @@ namespace pb_ds
          for (std::size_t i = 0; i < resolution; ++i)
            {
              Cntnr cntnr;
-
              for (It ins_it = m_ins_it_b; ins_it != m_ins_it_e; ++ins_it)
                 ++cntnr[ins_it->first];
            }
@@ -89,71 +85,50 @@ namespace pb_ds
 
     } // namespace detail
 
-#define PB_DS_CLASS_T_DEC                      \
-    template<typename It>
-
-#define PB_DS_CLASS_C_DEC                              \
-    subscript_insert_test<                             \
-                                               It>
-
     template<typename It>
     class subscript_insert_test : private pb_ds::test::detail::timing_test_base
     {
     public:
-      subscript_insert_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_insert_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_insert_test(const subscript_insert_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_insert_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 It>
     template<typename Cntnr>
     void
-    PB_DS_CLASS_C_DEC::
-    operator()(__gnu_cxx::typelist::detail::type_to_type<Cntnr>)
+    subscript_insert_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 v = m_ins_vn + i * m_ins_vs;
          It ins_it_b = m_ins_b;
          It ins_it_e = m_ins_b;
          std::advance(ins_it_e, v);
-
          pb_ds::test::detail::subscript_insert_functor<It, Cntnr>
             fn(ins_it_b, ins_it_e);
 
@@ -163,14 +138,8 @@ namespace pb_ds
          res_set_fmt.add_res(v, res / v);
        }
     }
-
-#undef PB_DS_CLASS_T_DEC
-
-#undef PB_DS_CLASS_C_DEC
-
   } // namespace test
-
 } // namespace pb_ds
 
-#endif // #ifndef PB_DS_SUBSCRIPT_TEST_HPP
+#endif