Chris@16
|
1 /*-----------------------------------------------------------------------------+
|
Chris@16
|
2 Copyright (c) 2007-2010: Joachim Faulhaber
|
Chris@16
|
3 +------------------------------------------------------------------------------+
|
Chris@16
|
4 Distributed under the Boost Software License, Version 1.0.
|
Chris@16
|
5 (See accompanying file LICENCE.txt or copy at
|
Chris@16
|
6 http://www.boost.org/LICENSE_1_0.txt)
|
Chris@16
|
7 +-----------------------------------------------------------------------------*/
|
Chris@16
|
8 #ifndef BOOST_ICL_DETAIL_STD_SET_HPP_JOFA_101007
|
Chris@16
|
9 #define BOOST_ICL_DETAIL_STD_SET_HPP_JOFA_101007
|
Chris@16
|
10
|
Chris@16
|
11 #include <set>
|
Chris@16
|
12 #include <boost/config.hpp>
|
Chris@16
|
13 #include <boost/icl/type_traits/type_to_string.hpp>
|
Chris@16
|
14 #include <boost/icl/type_traits/is_set.hpp>
|
Chris@16
|
15
|
Chris@16
|
16
|
Chris@16
|
17 namespace boost{namespace icl
|
Chris@16
|
18 {
|
Chris@16
|
19
|
Chris@16
|
20 template <class Type>
|
Chris@16
|
21 struct is_set<std::set<Type> >
|
Chris@16
|
22 {
|
Chris@16
|
23 typedef is_set<std::set<Type> > type;
|
Chris@16
|
24 BOOST_STATIC_CONSTANT(bool, value = true);
|
Chris@16
|
25 };
|
Chris@16
|
26
|
Chris@16
|
27
|
Chris@16
|
28 template <class Type>
|
Chris@16
|
29 struct type_to_string<std::set<Type> >
|
Chris@16
|
30 {
|
Chris@16
|
31 static std::string apply()
|
Chris@16
|
32 { return "set<"+ type_to_string<Type>::apply() +">"; }
|
Chris@16
|
33 };
|
Chris@16
|
34
|
Chris@16
|
35 template <class Type>
|
Chris@16
|
36 struct type_to_string<std::set<Type, std::greater<Type> > >
|
Chris@16
|
37 {
|
Chris@16
|
38 static std::string apply()
|
Chris@16
|
39 { return "set<"+ type_to_string<Type>::apply() +" g>"; }
|
Chris@16
|
40 };
|
Chris@16
|
41
|
Chris@16
|
42 }} // namespace icl boost
|
Chris@16
|
43
|
Chris@16
|
44 #endif // BOOST_ICL_DETAIL_STD_SET_HPP_JOFA_101007
|
Chris@16
|
45
|