バナーをクリックすれば目次に戻ります
Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.
RWTValMap<K,T,C>
#include <rw/tvmap.h> RWTValMap<K,T,C> m;
注 - RWTValMap には標準 C++ ライブラリが必要です。
bool operator()(const K& x, const K& y) constこれは、コレクション内において、x とそのパートナーが y とそのパートナーより前になる場合、TRUE を返します。C++ 標準ヘッダーファイル <functional> からの構造体 less<T> がその例です。
RWTValMap<K,T,C> は、コレクション内の既存のキーと等しいキーは受け付けません (RWTValMultiMap<K,T,C> には、互いに等しい複数のキーを含めることができます)。等しいかどうかは、== 演算子ではなく、比較オブジェクトにもとづいて判定されます。比較オブジェクト comp を使用するとき、キー a と b は次の場合に等しくなります。
!comp(a,b) && !comp(b,a)
// // tvmbday.cpp // #include <rw/tvmap.h> #include <rw/cstring.h> #include <rw/rwdate.h> #include <iostream.h> main(){ RWTValMap<RWCString, RWDate, less<RWCString> > birthdays; birthdays.insert("John", RWDate(12, "April",1975)); birthdays.insert("Ivan", RWDate(2, "Nov", 1980)); // 別の構文: birthdays["Susan"] = RWDate(30, "June", 1955); birthdays["Gene"] = RWDate(5, "Jan", 1981); // 誕生日を出力: cout << birthdays["John"] << endl; return 0; } |
04/12/75 |
クラス map<K,T,C,allocator> は、このコレクションの基礎となる実装として使用される C++ 標準コレクションです。
typedef map<K,T,C,allocator> container_type; typedef container_type::iterator iterator; typedef container_type::const_iterator const_iterator; typedef container_type::size_type size_type; typedef pair <const K,T> value_type; typedef pair <const K,T>& reference; typedef const pair <const K,T>& const_reference;
RWTValMap<K,T,C>(const C& comp = C());
RWTValMap<K,T,C>(const container_type& m);
RWTValMap<K,T,C>(const RWTValMap<K,T,C>& rwm);
RWTValMap<K,T,C>(const value_type* first, const value_type* last,const C& comp = C());
RWTValMap<K,T,C>& operator=(const RWTValMap<K,T,C>& m); RWTValMap<K,T,C>& operator=(const container_type& m);
bool operator<(const RWTValMap<K,T,C>& m) const; bool operator<(const container_type & m) const;
bool operator==(const RWTValMap<K,T,C>& m) const; bool operator==(const container_type & m) const;
T& operator[](const K& key);
void apply(void (*fn)(const K&, T&, void*),void* d); void apply(void (*fn)(const K&, const T&, void*), void* d) const;
void yourfun(const K& key, T& a, void* d); void yourfun(const K& key, const T& a,void* d);
void applyToKeyAndValue(void (*fn)(const K&, T&, void*),void* d); void applyToKeyAndValue (void (*fn)(const K&, const T&, void*), void* d) const;
iterator begin(); const_iterator begin() const;
void clear();
bool contains(const K& key) const;
bool contains(bool (*fn)(const_reference,void*), void* d) const;
bool yourTester(const_reference a, void* d);
iterator end(); const_iterator end() const;
size_type entries() const;
bool find(const K& key, Key& r) const;
bool find(bool (*fn)(const_reference,void*), void* d, pair<K,T>& r) const;
bool yourTester(const_reference a, void* d);
bool findValue(const K& key, T& r) const;
bool findKeyValue(const K& key, K& kr, T& tr) const;
bool insert(const K& key, const T& a);
bool insertKeyAndValue(const K& key, const T& a);
bool isEmpty() const;
size_type occurrencesOf(const K& key) const;
size_type occurrencesOf (bool (*fn)(const_reference&,void*),void* d) const;
bool yourTester(const_reference& a, void* d);
bool remove(const K& key);
bool remove(bool (*fn)(const_reference,void*), void* d);
bool yourTester(const_reference a, void* d);
size_type removeAll(const K& key);
size_type removeAll(bool (*fn)(const_reference,void*), void* d);
bool yourTester(const_reference a, void* d);
map<K,T,C,allocator>& std(); const map<K,T,C,allocator>& std() const;
RWvostream& operator<<(RWvostream& strm, const RWTValMap<K,T,C>& coll); RWFile& operator<<(RWFile& strm, const RWTValMap<K,T,C>& coll);
RWvistream& operator>>(RWvistream& strm, RWTValMap<K,T,C>& coll); RWFile& operator>>(RWFile& strm, RWTValMap<K,T,C>& coll);
RWvistream& operator>>(RWvistream& strm, RWTValMap<K,T,C>*& p); RWFile& operator>>(RWFile& strm, RWTValMap<K,T,C>*& p);