Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Unified Diff: gcc/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp

Issue 3050029: [gcc] GCC 4.5.0=>4.5.1 (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/nacl-toolchain.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: gcc/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp
diff --git a/gcc/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp b/gcc/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp
deleted file mode 100644
index a4a768e5e1c5c0b968831484955635c84ce1f360..0000000000000000000000000000000000000000
--- a/gcc/libstdc++-v3/testsuite/util/regression/trait/assoc/trait.hpp
+++ /dev/null
@@ -1,206 +0,0 @@
-// -*- C++ -*-
-
-// Copyright (C) 2005, 2006, 2009 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 3, or (at your option) any later
-// version.
-
-// 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 COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-
-// Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.
-
-// Permission to use, copy, modify, sell, and distribute this software
-// is hereby granted without fee, provided that the above copyright
-// notice appears in all copies, and that both that copyright notice
-// and this permission notice appear in supporting documentation. None
-// of the above authors, nor IBM Haifa Research Laboratories, make any
-// representation about the suitability of this software for any
-// purpose. It is provided "as is" without express or implied
-// warranty.
-
-/**
- * @file trait.hpp
- * Contains traits for a random regression test
- * for a specific container type.
- */
-
-#ifndef PB_DS_REGRESSION_TEST_TRAIT_HPP
-#define PB_DS_REGRESSION_TEST_TRAIT_HPP
-
-#include <regression/trait/erase_if_fn.hpp>
-#include <regression/trait/assoc/to_string.hpp>
-#include <regression/trait/assoc/type_trait.hpp>
-#include <regression/trait/assoc/native_type_trait.hpp>
-#include <regression/trait/assoc/resize_trait.hpp>
-#include <regression/trait/assoc/get_set_loads_trait.hpp>
-#include <regression/trait/assoc/get_set_load_trait.hpp>
-#include <regression/trait/assoc/node_update_trait.hpp>
-
-namespace __gnu_pbds
-{
-namespace test
-{
-namespace detail
-{
-
-#define PB_DS_CLASS_T_DEC \
- template<typename Cntnr>
-
-#define PB_DS_CLASS_C_DEC \
- regression_test_traits<Cntnr>
-
-#define PB_DS_TYPE_TRAITS_C_DEC \
- regression_test_type_traits<Cntnr>
-
-#define PB_DS_NATIVE_TYPE_TRAITS_C_DEC \
- native_type_traits<typename PB_DS_TYPE_TRAITS_C_DEC::key_type, \
- typename PB_DS_TYPE_TRAITS_C_DEC::mapped_type, \
- typename Cntnr::allocator_type>
-
-#define PB_DS_RESIZE_TRAITS_C_DEC \
- regression_test_resize_traits<Cntnr, typename Cntnr::container_category>
-
-#define PB_DS_SET_LOADS_TRAITS_C_DEC \
- regression_test_get_set_loacontainer_traits<Cntnr, \
- typename Cntnr::container_category>
-
-#define PB_DS_SET_LOAD_TRAITS_C_DEC \
- regression_test_get_set_load_traits<Cntnr,typename Cntnr::container_category>
-
-#define PB_DS_NODE_UPDATOR_TRAITS_C_DEC \
- regression_test_node_update_traits<Cntnr, typename Cntnr::container_category>
-
- template<typename Cntnr>
- struct regression_test_traits : private PB_DS_TYPE_TRAITS_C_DEC,
- private PB_DS_NATIVE_TYPE_TRAITS_C_DEC,
- private PB_DS_RESIZE_TRAITS_C_DEC,
- private PB_DS_NODE_UPDATOR_TRAITS_C_DEC,
- private PB_DS_SET_LOADS_TRAITS_C_DEC,
- private PB_DS_SET_LOAD_TRAITS_C_DEC
- {
- private:
- typedef PB_DS_NATIVE_TYPE_TRAITS_C_DEC native_type_traits_base;
- typedef PB_DS_TYPE_TRAITS_C_DEC type_traits_base;
-
- public:
- typedef typename Cntnr::value_type value_type;
- typedef typename Cntnr::const_reference const_reference;
- typedef typename PB_DS_NATIVE_TYPE_TRAITS_C_DEC::type native_type;
- typedef typename native_type::value_type native_value_type;
-
- // Only associative containers.
- typedef typename Cntnr::key_type key_type;
- typedef typename Cntnr::const_key_reference const_key_reference;
- typedef typename native_type::key_type native_key_type;
-
- enum
- {
- resize = PB_DS_RESIZE_TRAITS_C_DEC::value,
- get_set_loads = PB_DS_SET_LOADS_TRAITS_C_DEC::value,
- get_set_load = PB_DS_SET_LOAD_TRAITS_C_DEC::value,
- order_statistics = PB_DS_NODE_UPDATOR_TRAITS_C_DEC::order_statistics,
- prefix_search = PB_DS_NODE_UPDATOR_TRAITS_C_DEC::prefix_search
- };
-
- template<typename T>
- struct erase_if_fn : public regression_test_erase_if_fn<T>
- { };
-
- static size_t
- erase_if(native_type& r_native_c)
- {
- typedef regression_test_erase_if_fn<native_value_type> erase_if_fn;
- typename native_type::iterator it = r_native_c.begin();
- size_t num_ersd = 0;
- while (it != r_native_c.end())
- if (erase_if_fn()(*it))
- {
- ++num_ersd;
- r_native_c.erase(it);
- it = r_native_c.begin();
- }
- else
- ++it;
- return num_ersd;
- }
-
- static void
- print_container(const Cntnr& r_c, std::ostream& r_os)
- { PB_DS_TYPE_TRAITS_C_DEC::print_container(r_c, r_os); }
-
- template<typename Gen>
- static key_type
- generate_key(Gen& r_gen, size_t max)
- { return PB_DS_TYPE_TRAITS_C_DEC::generate_key(r_gen, max); }
-
- template<typename Gen>
- static value_type
- generate_value(Gen& r_gen, size_t max)
- { return PB_DS_TYPE_TRAITS_C_DEC::generate_value(r_gen, max); }
-
- static const_key_reference
- extract_key(const_reference r_val)
- { return type_traits_base::extract_key(r_val); }
-
- static native_key_type
- native_key(const_key_reference r_key)
- { return native_type_traits_base::native_key(r_key); }
-
- static native_value_type
- native_value(const_reference r_val)
- { return native_type_traits_base::native_value(r_val); }
-
- static const native_key_type&
- extract_native_key(const native_value_type& r_val)
- { return native_type_traits_base::extract_key(r_val); }
-
- static bool
- cmp(const_reference r_val, const native_value_type& r_native_val)
- { return val_to_string(r_val) == native_val_to_string(r_native_val); }
-
- static std::string
- val_to_string(const_reference r_val)
- { return to_string(r_val); }
-
- static std::string
- key_to_string(const_key_reference r_key)
- { return to_string(r_key); }
-
- static std::string
- native_val_to_string(const native_value_type& r_native_val)
- { return to_string(r_native_val); }
-
- static bool
- prefix_match(const_key_reference r_key, const std::string& r_native_key)
- {
- const size_t len = std::min(r_key.length(), r_native_key.length());
- const std::string substr = r_native_key.substr(0, len);
- return substr == static_cast<const std::string&>(r_key);
- }
- };
-
-#undef PB_DS_TYPE_TRAITS_C_DEC
-#undef PB_DS_NATIVE_TYPE_TRAITS_C_DEC
-#undef PB_DS_RESIZE_TRAITS_C_DEC
-#undef PB_DS_SET_LOADS_TRAITS_C_DEC
-#undef PB_DS_SET_LOAD_TRAITS_C_DEC
-#undef PB_DS_NODE_UPDATOR_TRAITS_C_DEC
-#undef PB_DS_CLASS_T_DEC
-#undef PB_DS_CLASS_C_DEC
-
-} // namespace detail
-} // namespace test
-} // namespace __gnu_pbds
-
-#endif

Powered by Google App Engine
This is Rietveld 408576698