Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00016
00017 #ifndef STXXL_TEST_HEADER__MAP_TEST_HANDLERS_H_
00018 #define STXXL_TEST_HEADER__MAP_TEST_HANDLERS_H_
00019
00020 #include <stxxl/bits/namespace.h>
00021
00022 __STXXL_BEGIN_NAMESPACE
00023
00024
00025
00026
00027
00028 template <typename MAPTYPE>
00029 bool there(MAPTYPE & map_, const typename MAPTYPE::key_type & key, typename MAPTYPE::mapped_type data)
00030 {
00031 if (!((*map_.find(key)).second == data))
00032 {
00033 typename MAPTYPE::iterator iter = map_.find(key);
00034 STXXL_VERBOSE2("iter=(" << (*iter).first << ":" << (*iter).second << ")");
00035 STXXL_VERBOSE2("key=" << key);
00036 STXXL_VERBOSE2("data=" << data);
00037 return false;
00038 }
00039 return true;
00040 }
00041
00042
00043
00044
00045
00046 template <typename MAPTYPE>
00047 bool is_equal_end(MAPTYPE & map_, typename MAPTYPE::iterator & iter)
00048 {
00049 return iter == map_.end();
00050 }
00051
00052
00053
00054
00055
00056 template <typename value_type>
00057 bool is_same(value_type & v1, value_type & v2)
00058 {
00059 return v1.first == v2.first && v1.second == v2.second;
00060 }
00061
00062 template <typename value_type>
00063 bool is_same(const value_type & v1, const value_type & v2)
00064 {
00065 return v1.first == v2.first && v1.second == v2.second;
00066 }
00067
00068
00069
00070
00071
00072 template <typename MAPTYPE>
00073 bool not_there(MAPTYPE & map_, const typename MAPTYPE::key_type & key)
00074 {
00075 return map_.find(key) == map_.end();
00076 }
00077
00078
00079
00080
00081
00082 template <typename MAPTYPE>
00083 bool is_empty(MAPTYPE & map_)
00084 {
00085 return map_.empty();
00086 }
00087
00088
00089
00090
00091
00092 template <typename MAPTYPE>
00093 bool is_end(MAPTYPE & map_, typename MAPTYPE::iterator & iter)
00094 {
00095 return iter == map_.end();
00096 }
00097
00098 template <typename MAPTYPE>
00099 bool is_end(const MAPTYPE & map_, typename MAPTYPE::const_iterator & iter)
00100 {
00101 return iter == map_.end();
00102 }
00103
00104
00105
00106
00107
00108 template <typename MAPTYPE>
00109 bool is_size(MAPTYPE & map_, const typename MAPTYPE::size_type & size)
00110 {
00111 return map_.size() == size;
00112 }
00113
00114 __STXXL_END_NAMESPACE
00115
00116 #endif // !STXXL_TEST_HEADER__MAP_TEST_HANDLERS_H_