aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-07-23 14:53:19 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2009-07-23 14:53:19 +0100
commit9004645f9500332a4febd014198b67165063b53a (patch)
tree271d9ea72aceeeb58d24c127d4078e94da27064d
parent73126bd67c4c25e5aced89fa761e4fefefd9f024 (diff)
downloadpaludis-9004645f9500332a4febd014198b67165063b53a.tar.gz
paludis-9004645f9500332a4febd014198b67165063b53a.tar.xz
concepts are dead
-rw-r--r--configure.ac34
-rw-r--r--doc/faq/general.html.part4
-rw-r--r--paludis/util/clone.hh6
-rw-r--r--paludis/util/create_iterator-fwd.hh6
-rw-r--r--paludis/util/create_iterator.hh12
-rw-r--r--paludis/util/destringify.hh36
-rw-r--r--paludis/util/dir_iterator.hh15
-rw-r--r--paludis/util/fast_unique_copy.hh24
-rw-r--r--paludis/util/iterator_funcs.hh18
-rw-r--r--paludis/util/join.hh43
-rw-r--r--paludis/util/log.hh5
-rw-r--r--paludis/util/member_iterator.hh18
-rw-r--r--paludis/util/random.hh11
-rw-r--r--paludis/util/stringify.hh26
-rw-r--r--paludis/util/wrapped_forward_iterator.hh16
-rw-r--r--paludis/util/wrapped_output_iterator.hh31
16 files changed, 13 insertions, 292 deletions
diff --git a/configure.ac b/configure.ac
index a99ea3b..74904c1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -649,40 +649,6 @@ int main(int, char **)
[AC_MSG_RESULT([no])])
dnl }}}
-dnl {{{ check for concept support
-AC_MSG_CHECKING([for compiler support for concepts])
-AC_COMPILE_IFELSE([
-auto concept Monkeyable<typename T_>
-{
- void T_::monkey () const;
-};
-
-template <Monkeyable Monkey_>
-void monkey_lots(const Monkey_ & m)
-{
- for (int x(0) ; x < 10 ; ++x)
- m.monkey();
-}
-
-struct Bobo
-{
- void monkey() const
- {
- }
-};
-
-int main(int, char **)
-{
- monkey_lots(Bobo());
-}
-],
- [AC_MSG_RESULT([yes])
- PALUDIS_CXXFLAGS="${PALUDIS_CXXFLAGS} -DPALUDIS_HAVE_CONCEPTS=1"
- PALUDIS_PC_CFLAGS="${PALUDIS_PC_CFLAGS} -DPALUDIS_HAVE_CONCEPTS=1"
- ],
- [AC_MSG_RESULT([no])])
-dnl }}}
-
dnl {{{ check for hashes
AC_MSG_CHECKING([for hashed associative containers])
AC_COMPILE_IFELSE([
diff --git a/doc/faq/general.html.part b/doc/faq/general.html.part
index 0ad5c6d..0df9358 100644
--- a/doc/faq/general.html.part
+++ b/doc/faq/general.html.part
@@ -107,10 +107,6 @@ probably others) the compiler will die with an internal error or a floating poin
exception; even without any non-standard optimisations turned on, ICC produces
code that is measurably faster than GCC.</p>
-<p>ConceptGCC has been known to work -- Paludis makes limited use of concepts where compiler
-support is available. Note that ConceptGCC isn't ABI compatible with GCC, so you'll need
-all of the link dependencies built using ConceptGCC rather than GCC too.</p>
-
<h2 id="verb">What term should I use to mean "to install a package using Paludis"?</h2>
<p>"Install".</p>
diff --git a/paludis/util/clone.hh b/paludis/util/clone.hh
index 6aed920..e1a9e99 100644
--- a/paludis/util/clone.hh
+++ b/paludis/util/clone.hh
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2007 David Leverton
- * Copyright (c) 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -24,10 +24,6 @@
#include <paludis/util/attributes.hh>
#include <tr1/memory>
-#ifdef PALUDIS_HAVE_CONCEPTS
-# include <concepts>
-#endif
-
/** \file
* Declares the Cloneable class and helpers.
*
diff --git a/paludis/util/create_iterator-fwd.hh b/paludis/util/create_iterator-fwd.hh
index 3808a11..fb6f1cb 100644
--- a/paludis/util/create_iterator-fwd.hh
+++ b/paludis/util/create_iterator-fwd.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007 Ciaran McCreesh
+ * Copyright (c) 2007, 2009 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -20,10 +20,6 @@
#ifndef PALUDIS_GUARD_PALUDIS_UTIL_CREATE_ITERATOR_FWD_HH
#define PALUDIS_GUARD_PALUDIS_UTIL_CREATE_ITERATOR_FWD_HH 1
-#ifdef PALUDIS_HAVE_CONCEPTS
-# include <concepts>
-#endif
-
namespace paludis
{
template <typename Value_, typename Iter_>
diff --git a/paludis/util/create_iterator.hh b/paludis/util/create_iterator.hh
index c4a8c22..87778a5 100644
--- a/paludis/util/create_iterator.hh
+++ b/paludis/util/create_iterator.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007 Ciaran McCreesh
+ * Copyright (c) 2007, 2009 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -82,14 +82,4 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_CONCEPTS
-namespace std
-{
- template <typename Value_, typename Iter_, typename In_>
- concept_map OutputIterator<paludis::CreateInsertIterator<Value_, Iter_>, In_>
- {
- };
-}
-#endif
-
#endif
diff --git a/paludis/util/destringify.hh b/paludis/util/destringify.hh
index dc6e4aa..cf09b7e 100644
--- a/paludis/util/destringify.hh
+++ b/paludis/util/destringify.hh
@@ -154,44 +154,12 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_CONCEPTS
- /**
- * A type is destringifiable if it can be default and copy constructed and read from an ostream.
- *
- * \ingroup g_strings
- * \since 0.26
- */
- auto concept IsDestringifiable<typename T_>
- {
- requires std::DefaultConstructible<T_>;
- requires std::CopyConstructible<T_>;
- std::ostream & operator<< (std::ostream &, const T_ &);
- };
-
- /**
- * A type is suitable for destringify exceptions if it can be thrown with a single string parameter.
- *
- * \ingroup g_strings
- * \since 0.26
- */
- auto concept IsDestringifyException<typename T_>
- {
- requires std::CopyConstructible<T_>;
- T_::T_(const std::string &);
- };
-#endif
-
/**
* Extract a value of some type from a string.
*
* \ingroup g_strings
*/
template <typename Type_, typename Exception_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires
- IsDestringifiable<Type_>,
- IsDestringifyException<Exception_>
-#endif
Type_ destringify(const std::string & s)
{
if (s == "")
@@ -201,10 +169,6 @@ namespace paludis
}
template <typename Type_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires
- IsDestringifiable<Type_>
-#endif
Type_ destringify(const std::string & s)
{
return destringify<Type_, DestringifyError>(s);
diff --git a/paludis/util/dir_iterator.hh b/paludis/util/dir_iterator.hh
index ff58849..b2c7efa 100644
--- a/paludis/util/dir_iterator.hh
+++ b/paludis/util/dir_iterator.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -26,10 +26,6 @@
#include <paludis/util/private_implementation_pattern.hh>
#include <iterator>
-#ifdef PALUDIS_HAVE_CONCEPTS
-# include <concepts>
-#endif
-
/** \file
* Declarations for DirIterator.
*
@@ -139,13 +135,4 @@ namespace paludis
#endif
}
-#ifdef PALUDIS_HAVE_CONCEPTS
-namespace std
-{
- concept_map ForwardIterator<paludis::DirIterator>
- {
- };
-}
-#endif
-
#endif
diff --git a/paludis/util/fast_unique_copy.hh b/paludis/util/fast_unique_copy.hh
index 12909dc..e716f9e 100644
--- a/paludis/util/fast_unique_copy.hh
+++ b/paludis/util/fast_unique_copy.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2009 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,12 +34,6 @@ namespace paludis
* For use by fast_unique_copy only.
*/
template <typename I_, typename O_, typename C_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires
- std::RandomAccessIterator<I_>,
- std::OutputIterator<O_, I_::value_type>,
- std::BinaryPredicate<C_, I_::reference, I_::reference>
-#endif
void
real_fast_unique_copy(const I_ & start, const I_ & end, const I_ & full_end, O_ out,
C_ comp, const I_ & mbgt)
@@ -72,21 +66,11 @@ namespace paludis
* Extract unique elements from a sorted range of random access iterators.
*/
template <typename I_, typename O_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires
- std::RandomAccessIterator<I_>,
- std::OutputIterator<O_, I_::value_type>,
- std::BinaryPredicate<std::less<I_::value_type>, I_::reference, I_::reference>
-#endif
void
fast_unique_copy(const I_ & start, const I_ & end, O_ out)
{
fast_unique_copy_internals::real_fast_unique_copy(start, end, end, out,
-#ifdef PALUDIS_HAVE_CONCEPTS
- std::less<I_::value_type>(),
-#else
std::less<typename std::iterator_traits<I_>::value_type>(),
-#endif
end);
}
@@ -94,12 +78,6 @@ namespace paludis
* Extract unique elements from a sorted range of random access iterators.
*/
template <typename I_, typename O_, typename C_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires
- std::RandomAccessIterator<I_>,
- std::OutputIterator<O_, I_::value_type>,
- std::BinaryPredicate<C_, I_::reference>
-#endif
void
fast_unique_copy(const I_ & start, const I_ & end, O_ out, C_ comp)
{
diff --git a/paludis/util/iterator_funcs.hh b/paludis/util/iterator_funcs.hh
index d125f6a..e726284 100644
--- a/paludis/util/iterator_funcs.hh
+++ b/paludis/util/iterator_funcs.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009 Ciaran McCreesh
* Copyright (c) 2007 David Leverton
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -23,10 +23,6 @@
#include <iterator>
-#ifdef PALUDIS_HAVE_CONCEPTS
-# include <concepts>
-#endif
-
namespace paludis
{
#ifdef PALUDIS_HAVE_STD_NEXT
@@ -38,9 +34,6 @@ namespace paludis
* \ingroup g_iterator
*/
template <typename T_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires std::ForwardIterator<T_>
-#endif
T_ next(const T_ & i)
{
T_ result(i);
@@ -53,9 +46,6 @@ namespace paludis
* \ingroup g_iterator
*/
template <typename T_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires std::ForwardIterator<T_>
-#endif
T_ next(const T_ & i, const int & n)
{
T_ result(i);
@@ -70,9 +60,6 @@ namespace paludis
* \ingroup g_iterator
*/
template <typename T_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires std::BidirectionalIterator<T_>
-#endif
T_ previous(const T_ & i)
{
T_ result(i);
@@ -86,9 +73,6 @@ namespace paludis
* \ingroup g_iterator
*/
template <typename T_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires std::ForwardIterator<T_>
-#endif
std::size_t capped_distance(T_ a, const T_ & b, unsigned n)
{
std::size_t x(0);
diff --git a/paludis/util/join.hh b/paludis/util/join.hh
index bdfec51..73e460f 100644
--- a/paludis/util/join.hh
+++ b/paludis/util/join.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2009 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -24,10 +24,6 @@
#include <iterator>
#include <string>
-#ifdef PALUDIS_HAVE_CONCEPTS
-# include <concepts>
-#endif
-
/** \file
* Declarations for the join function.
*
@@ -40,33 +36,12 @@
namespace paludis
{
-#ifdef PALUDIS_HAVE_CONCEPTS
- auto concept IsJoinResult<typename T_>
- {
- requires std::DefaultConstructible<T_>;
- requires std::CopyConstructible<T_>;
- void T_::operator+= (const T_ &);
- void T_::operator+= (const std::string &);
- };
-
- auto concept IsJoinStringifier<typename F_, typename T_, typename I_>
- {
- T_ operator() (const F_ &, const I_ &);
- };
-#endif
-
/**
* Join together the items from i to end using joiner.
*
* \ingroup g_strings
*/
template <typename I_, typename T_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires
- std::ForwardIterator<I_>,
- IsStringifiable<I_::reference>,
- IsJoinResult<T_>
-#endif
T_ join(I_ i, I_ end, const T_ & joiner)
{
T_ result;
@@ -88,12 +63,6 @@ namespace paludis
* \ingroup g_strings
*/
template <typename I_, typename T_, typename F_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires
- std::ForwardIterator<I_>,
- IsJoinResult<T_>,
- IsJoinStringifier<F_, T_, I_::reference>
-#endif
T_ join(I_ i, I_ end, const T_ & joiner, const F_ & f)
{
T_ result;
@@ -115,11 +84,6 @@ namespace paludis
* \ingroup g_strings
*/
template <typename I_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires
- std::ForwardIterator<I_>,
- IsStringifiable<I_::reference>
-#endif
std::string join(I_ begin, const I_ end, const char * const t)
{
return join(begin, end, std::string(t));
@@ -132,11 +96,6 @@ namespace paludis
* \ingroup g_strings
*/
template <typename I_, typename F_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires
- std::ForwardIterator<I_>,
- IsJoinStringifier<F_, std::string, I_::reference>
-#endif
std::string join(I_ begin, const I_ end, const char * const t, const F_ & f)
{
return join(begin, end, std::string(t), f);
diff --git a/paludis/util/log.hh b/paludis/util/log.hh
index 605af64..66eecbb 100644
--- a/paludis/util/log.hh
+++ b/paludis/util/log.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -138,9 +138,6 @@ namespace paludis
* Append some text to our message.
*/
template <typename T_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires IsStringifiable<T_>
-#endif
LogMessageHandler &
operator<< (const T_ & t)
{
diff --git a/paludis/util/member_iterator.hh b/paludis/util/member_iterator.hh
index 5cd8045..995df00 100644
--- a/paludis/util/member_iterator.hh
+++ b/paludis/util/member_iterator.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009 Ciaran McCreesh
* Copyright (c) 2007 David Leverton
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -25,11 +25,6 @@
#include <paludis/util/operators.hh>
#include <tr1/type_traits>
-#ifdef PALUDIS_HAVE_CONCEPTS
-# include <concepts>
-#endif
-
-
namespace paludis
{
template <typename Iterator_>
@@ -115,15 +110,4 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_CONCEPTS
-namespace std
-{
- template <typename Value_, typename Iterator_,
- Value_ std::tr1::remove_reference<typename std::iterator_traits<Iterator_>::value_type>::type::* member_>
- concept_map ForwardIterator<paludis::MemberIterator<Value_, Iterator_, member_> >
- {
- };
-}
-#endif
-
#endif
diff --git a/paludis/util/random.hh b/paludis/util/random.hh
index 49acb7b..a5d391f 100644
--- a/paludis/util/random.hh
+++ b/paludis/util/random.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -24,10 +24,6 @@
#include <inttypes.h>
#include <paludis/util/attributes.hh>
-#ifdef PALUDIS_HAVE_CONCEPTS
-# include <concepts>
-#endif
-
/** \file
* Declarations for the Random class.
*
@@ -74,11 +70,6 @@ namespace paludis
/// Fetch a random number in (0, max]
template <typename DiffType_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires
- std::HasMultiply<double, DiffType_>,
- std::CopyConstructible<DiffType_>
-#endif
DiffType_ operator() (DiffType_ max)
{
local_seed = (_a * local_seed + _b) % _m;
diff --git a/paludis/util/stringify.hh b/paludis/util/stringify.hh
index 1183cd4..ece8faf 100644
--- a/paludis/util/stringify.hh
+++ b/paludis/util/stringify.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -26,10 +26,6 @@
#include <sstream>
#include <string>
-#ifdef PALUDIS_HAVE_CONCEPTS
-# include <concepts>
-#endif
-
/** \file
* Stringify functions.
*
@@ -42,20 +38,6 @@
namespace paludis
{
-#ifdef PALUDIS_HAVE_CONCEPTS
- auto concept IsStreamStringifiable<typename T_>
- {
- requires ! std::Dereferenceable<T_>;
- std::ostream & operator<< (std::ostream &, const T_ &);
- };
-
- auto concept IsStringifiable<typename T_>
- {
- std::string stringify(const T_ &);
- };
-#endif
-
-#ifndef PALUDIS_HAVE_CONCEPTS
/**
* For use by stringify.
*
@@ -110,7 +92,6 @@ namespace paludis
enum { value = 0 } Value;
};
}
-#endif
template <typename T_> inline std::string stringify(const T_ & item);
@@ -124,17 +105,12 @@ namespace paludis
* \ingroup g_strings
*/
template <typename T_>
-#ifdef PALUDIS_HAVE_CONCEPTS
- requires IsStreamStringifiable<T_>
-#endif
std::string
real_stringify(const T_ & item)
{
-#ifndef PALUDIS_HAVE_CONCEPTS
/* check that we're not trying to stringify a pointer or somesuch */
int check_for_stringifying_silly_things
PALUDIS_ATTRIBUTE((unused)) = CheckType<T_>::value;
-#endif
std::ostringstream s;
s << item;
diff --git a/paludis/util/wrapped_forward_iterator.hh b/paludis/util/wrapped_forward_iterator.hh
index f0a6dbc..9b6bca6 100644
--- a/paludis/util/wrapped_forward_iterator.hh
+++ b/paludis/util/wrapped_forward_iterator.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -27,10 +27,6 @@
#include <tr1/type_traits>
#include <iterator>
-#ifdef PALUDIS_HAVE_CONCEPTS
-# include <concepts>
-#endif
-
namespace paludis
{
/**
@@ -109,14 +105,4 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_CONCEPTS
-namespace std
-{
- template <typename Tag_, typename Value_>
- concept_map ForwardIterator<paludis::WrappedForwardIterator<Tag_, Value_> >
- {
- };
-}
-#endif
-
#endif
diff --git a/paludis/util/wrapped_output_iterator.hh b/paludis/util/wrapped_output_iterator.hh
index 822c77c..0be9994 100644
--- a/paludis/util/wrapped_output_iterator.hh
+++ b/paludis/util/wrapped_output_iterator.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007 Ciaran McCreesh
+ * Copyright (c) 2007, 2009 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -24,10 +24,6 @@
#include <paludis/util/attributes.hh>
#include <iterator>
-#ifdef PALUDIS_HAVE_CONCEPTS
-# include <concepts>
-#endif
-
namespace paludis
{
/**
@@ -91,29 +87,4 @@ namespace paludis
};
}
-#ifdef PALUDIS_HAVE_CONCEPTS
-namespace std
-{
- template <typename Tag_, typename Value_>
- concept_map OutputIterator<paludis::WrappedOutputIterator<Tag_, Value_>, Value_>
- {
- };
-
- template <typename Tag_, typename Value_>
- concept_map OutputIterator<paludis::WrappedOutputIterator<Tag_, Value_>, Value_ &>
- {
- };
-
- template <typename Tag_, typename Value_>
- concept_map OutputIterator<paludis::WrappedOutputIterator<Tag_, Value_>, const Value_>
- {
- };
-
- template <typename Tag_, typename Value_>
- concept_map OutputIterator<paludis::WrappedOutputIterator<Tag_, Value_>, const Value_ &>
- {
- };
-}
-#endif
-
#endif