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