📄 _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_NAMESPACESnamespace 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_HEADERclass 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_HEADERinline 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_HEADERinline 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_HEADERclass 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_HEADERinline 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_HEADERinline 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:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -