Fix documentation build under maverick (doxygen 1.7.1)
[senf.git] / senf / Utils / Console / STLSupport.hh
index d459488..8f95a12 100644 (file)
@@ -1,6 +1,6 @@
 // $Id$
 //
-// Copyright (C) 2009 
+// Copyright (C) 2009
 // Fraunhofer Institute for Open Communication Systems (FOKUS)
 // Competence Center NETwork research (NET), St. Augustin, GERMANY
 //     Stefan Bund <g0dil@berlios.de>
 #include "Traits.hh"
 
 //#include "STLSupport.mpp"
-///////////////////////////////hh.p////////////////////////////////////////
+#include "STLSupport.ih"
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 
 namespace senf {
 namespace console {
 
 #ifndef DOXYGEN
 
-    template <class Sequence>
-    struct SequenceArgumentTraits
-    {
-        typedef Sequence type;
-        static bool const singleToken = false;
-
-        static void parse(ParseCommandInfo::TokensRange const & tokens, type & out);
-        static std::string description();
-        static std::string str(type const & value);
-    };
-
-    template <class Sequence>
-    struct SequenceReturnValueTraits
-    {
-        typedef Sequence type;
-
-        static void format(type const & value, std::ostream & os);
-    };
-
     template <class T, class Alloc>
     struct ArgumentTraits< std::vector<T,Alloc> >
-        : public SequenceArgumentTraits< std::vector<T,Alloc> >
+        : public detail::CollectionArgumentTraits< std::vector<T,Alloc>,
+                                                   detail::PushBackFunctor >
     {};
 
     template <class T, class Alloc>
     struct ReturnValueTraits< std::vector<T,Alloc> >
-        : public SequenceReturnValueTraits< std::vector<T,Alloc> >
+        : public detail::CollectionReturnValueTraits< std::vector<T,Alloc> >
     {};
 
     template <class T, class Alloc>
     struct ArgumentTraits< std::list<T,Alloc> >
-        : public SequenceArgumentTraits< std::list<T,Alloc> >
+        : public detail::CollectionArgumentTraits< std::list<T,Alloc>,
+                                                   detail::PushBackFunctor >
     {};
 
     template <class T, class Alloc>
     struct ReturnValueTraits< std::list<T,Alloc> >
-        : public SequenceReturnValueTraits< std::list<T,Alloc> >
+        : public detail::CollectionReturnValueTraits< std::list<T,Alloc> >
+    {};
+
+    template <class Key, class Compare, class Alloc>
+    struct ArgumentTraits< std::set<Key,Compare,Alloc> >
+        : public detail::CollectionArgumentTraits< std::set<Key,Compare,Alloc>,
+                                                   detail::InsertFunctor >
+    {};
+
+    template <class Key, class Compare, class Alloc>
+    struct ReturnValueTraits< std::set<Key,Compare,Alloc> >
+        : public detail::CollectionReturnValueTraits< std::set<Key,Compare,Alloc> >
+    {};
+
+    template <class Key, class Compare, class Alloc>
+    struct ArgumentTraits< std::multiset<Key,Compare,Alloc> >
+        : public detail::CollectionArgumentTraits< std::multiset<Key,Compare,Alloc>,
+                                                   detail::InsertFunctor >
+    {};
+
+    template <class Key, class Compare, class Alloc>
+    struct ReturnValueTraits< std::multiset<Key,Compare,Alloc> >
+        : public detail::CollectionReturnValueTraits< std::multiset<Key,Compare,Alloc> >
+    {};
+
+    template <class Key, class Data, class Compare, class Alloc>
+    struct ArgumentTraits< std::map<Key,Data,Compare,Alloc> >
+        : public detail::MapArgumentTraits< std::map<Key,Data,Compare,Alloc> >
+    {};
+
+    template <class Key, class Data, class Compare, class Alloc>
+    struct ReturnValueTraits< std::map<Key,Data,Compare,Alloc> >
+        : public detail::MapReturnValueTraits< std::map<Key,Data,Compare,Alloc> >
+    {};
+
+    template <class Key, class Data, class Compare, class Alloc>
+    struct ArgumentTraits< std::multimap<Key,Data,Compare,Alloc> >
+        : public detail::MapArgumentTraits< std::multimap<Key,Data,Compare,Alloc> >
+    {};
+
+    template <class Key, class Data, class Compare, class Alloc>
+    struct ReturnValueTraits< std::multimap<Key,Data,Compare,Alloc> >
+        : public detail::MapReturnValueTraits< std::multimap<Key,Data,Compare,Alloc> >
     {};
 
     template <class T1, class T2>
@@ -101,10 +127,10 @@ namespace console {
 
 }}
 
-///////////////////////////////hh.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 //#include "STLSupport.cci"
 #include "STLSupport.ct"
-//#include "STLSupport.cti"
+#include "STLSupport.cti"
 #endif
 
 \f