epoc32/include/stdapis/stlport/stl/wrappers/_map.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
--- a/epoc32/include/stdapis/stlport/stl/wrappers/_map.h	Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/stdapis/stlport/stl/wrappers/_map.h	Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,150 @@
-_map.h
+/*
+ * Copyright (c) 1999, 2000
+ * Boris Fomitchev
+ *
+ * This material is provided "as is", with absolutely no warranty expressed
+ * or implied. Any use is at your own risk.
+ *
+ * Permission to use or copy this software for any purpose is hereby granted 
+ * without fee, provided the above notices are retained on all copies.
+ * Permission to modify the code and to distribute modified code is granted,
+ * provided the above notices are retained, and a notice that the code was
+ * modified is included with the above copyright notice.
+ *
+ */
+
+/* NOTE: This is an internal header file, included by other STL headers.
+ *   You should not attempt to use it directly.
+ */
+
+#ifndef _STLP_INTERNAL_WRAP_MAP_H
+#define _STLP_INTERNAL_WRAP_MAP_H
+
+#ifndef _STLP_INTERNAL_MAP_H
+# include <stl/_map.h>
+#endif
+
+# ifdef _STLP_USE_NAMESPACES
+namespace STLPORT { 
+# endif
+
+#  if defined (_STLP_MINIMUM_DEFAULT_TEMPLATE_PARAMS)
+#   define __MAP_TEMPLATE_HEADER  template <class _Key, class _Tp>
+#   define __MAP_ARGUMENTS        _Key, _Tp
+#   define __MMAP_TEMPLATE_HEADER  template <class _Key, class _Tp>
+#   define __MMAP_ARGUMENTS        _Key, _Tp
+#   define _Compare less<_Key>
+#  else
+#   define __MAP_TEMPLATE_HEADER  template <class _Key, class _Tp, class _Compare >
+#   define __MAP_ARGUMENTS        _Key, _Tp, _Compare
+#   define __MMAP_TEMPLATE_HEADER  template <class _Key, class _Tp, class _Compare >
+#   define __MMAP_ARGUMENTS        _Key, _Tp, _Compare
+#  endif
+
+
+#  define __MAP_SUPER  __map< _Key, _Tp, _Compare, _STLP_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) >
+#  define __MMAP_SUPER  __multimap< _Key, _Tp, _Compare, _STLP_DEFAULT_PAIR_ALLOCATOR(const _Key, _Tp) >
+
+// provide a "default" map adaptor
+__MAP_TEMPLATE_HEADER
+class map : public __MAP_SUPER
+{
+  typedef map< __MAP_ARGUMENTS > _Self;
+public:
+    typedef __MAP_SUPER _Super;
+    __IMPORT_WITH_REVERSE_ITERATORS(_Super)
+    __IMPORT_SUPER_COPY_ASSIGNMENT(map, _Self, __MAP_SUPER)
+    map() : __MAP_SUPER(_Compare()) {}
+    explicit map(const _Compare& __comp) : __MAP_SUPER(__comp) {}
+    map(const typename _Super::value_type* __first, 
+	const typename _Super::value_type* __last) : 
+      __MAP_SUPER(__first, __last, _Compare()) { }
+    map(const typename _Super::value_type* __first, 
+	const typename _Super::value_type* __last, 
+        const _Compare& __comp) : __MAP_SUPER(__first, __last, __comp) { }
+    map(typename _Super::const_iterator __first, 
+	typename _Super::const_iterator __last) : 
+        __MAP_SUPER(__first, __last, _Compare()) { }
+    map(typename _Super::const_iterator __first, 
+	typename _Super::const_iterator __last, 
+        const _Compare& __comp) : __MAP_SUPER(__first, __last, __comp) { }
+};
+
+#  if defined (_STLP_BASE_MATCH_BUG)
+__MAP_TEMPLATE_HEADER
+inline bool operator==(const map< __MAP_ARGUMENTS >& __x, 
+                       const map< __MAP_ARGUMENTS >& __y) {
+  typedef __MAP_SUPER _Super;
+  return operator==((const _Super&)__x,(const _Super&)__y);
+}
+
+__MAP_TEMPLATE_HEADER
+inline bool operator<(const map< __MAP_ARGUMENTS >& __x, 
+                      const map< __MAP_ARGUMENTS >& __y) {
+  typedef __MAP_SUPER _Super;
+  return operator < ((const _Super&)__x,(const _Super&)__y);
+}
+#  endif /* _STLP_BASE_MATCH_BUG */
+
+
+// provide a "default" multimap adaptor
+__MMAP_TEMPLATE_HEADER
+class multimap : public __MMAP_SUPER
+{
+  typedef multimap< __MMAP_ARGUMENTS > _Self;
+public:
+    typedef __MMAP_SUPER  _Super;
+    __IMPORT_WITH_REVERSE_ITERATORS(_Super)
+    // copy & assignment from super
+    __IMPORT_SUPER_COPY_ASSIGNMENT(multimap, _Self, __MMAP_SUPER)
+    multimap() : __MMAP_SUPER(_Compare()) {}
+    explicit multimap(const _Compare& __comp) : __MMAP_SUPER(__comp) {}
+    multimap(const typename _Super::value_type* __first, 
+	     const typename _Super::value_type* __last) : 
+        __MMAP_SUPER(__first, __last, _Compare()) { }
+    multimap(const typename _Super::value_type* __first,
+	     const typename _Super::value_type* __last, 
+	     const _Compare& __comp) : __MMAP_SUPER(__first, __last, __comp) { }
+    multimap(typename _Super::const_iterator __first, 
+	     typename _Super::const_iterator __last) : 
+      __MMAP_SUPER(__first, __last, _Compare()) { }
+    multimap(typename _Super::const_iterator __first, 
+	     typename _Super::const_iterator __last, 
+	     const _Compare& __comp) : __MMAP_SUPER(__first, __last, __comp) { }
+};
+
+#  if defined (_STLP_BASE_MATCH_BUG)
+__MMAP_TEMPLATE_HEADER
+inline bool operator==(const multimap< __MMAP_ARGUMENTS >& __x, 
+                       const multimap< __MMAP_ARGUMENTS >& __y) {
+  typedef __MMAP_SUPER  _Super;
+  return (const _Super&)__x == (const _Super&)__y;
+}
+
+__MMAP_TEMPLATE_HEADER
+inline bool operator<(const multimap< __MMAP_ARGUMENTS >& __x, 
+                      const multimap< __MMAP_ARGUMENTS >& __y) {
+  typedef __MMAP_SUPER  _Super;
+  return (const _Super&)__x < (const _Super&)__y;
+}
+#  endif
+
+# undef __MMAP_TEMPLATE_HEADER
+# undef __MMAP_ARGUMENTS
+# undef __MMAP_SUPER
+
+# undef __MAP_TEMPLATE_HEADER
+# undef __MAP_ARGUMENTS
+# undef __MAP_SUPER
+
+# undef _Compare
+
+# ifdef _STLP_USE_NAMESPACES
+} /* namespace STLPORT */
+# endif
+
+#endif /* _STLP_INTERNAL_WRAP_MAP_H */
+
+// Local Variables:
+// mode:C++
+// End: