All Classes Functions Variables Typedefs Friends Pages
IMap.h
1 //------------------------------------------------------------------------------
2 //
3 // Copyright (c) 2015 Glympse Inc. All rights reserved.
4 //
5 //------------------------------------------------------------------------------
6 
7 #ifndef IMAP_H__GLYMPSE__
8 #define IMAP_H__GLYMPSE__
9 
10 namespace Glympse
11 {
12 
13 /*C*/
14 template< class K, class V > struct IMap;
15 // Smart pointer wrapper over IMap.
16 template< class K, class V > class GMap
17 {
18  private: GMap();
19  public: typedef O< IMap< K, V > > ptr;
20 };
21 
22 
23 /*C*/template< class K, class V > struct IMap : public ICommon
24 /*J*public interface GMap<K, V> extends GCommon**/
25 /*S*public interface GMap<K, V> : GCommon, IReadOnlyDictionary<K, Object>**/
26 {
27  public: virtual V get(const K& key) = 0;
28 
29  public: virtual bool containsKey(const K& key) = 0;
30 
31  public: virtual bool containsValue(const V& value) = 0;
32 
33  public: virtual typename GEnumeration<K>::ptr keys() = 0;
34 
35  public: virtual int32 size() = 0;
36 };
37 
38 }
39 
40 #endif // !IMAP_H__GLYMPSE__