comparison Map.m @ 414:50fd7e88aa74 feature/better_map

Add a test implementation
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 02 Feb 2017 15:57:43 +0100
parents
children 16907bf31e67
comparison
equal deleted inserted replaced
378:18525f1bb941 414:50fd7e88aa74
1 classdef Map < handle
2 properties
3 map
4 end
5
6 % can we support multi map using varargin?
7
8 methods
9 function obj = Map()
10 obj.map = containers.Map()
11 end
12
13 function set(obj, k, v)
14 keyByteStream = getByteStreamFromArray(k);
15
16 obj.map(char(keyByteStream)) = v;
17 end
18
19 function v = get(obj, k)
20 keyByteStream = getByteStreamFromArray(k);
21
22 v = obj.map(char(keyByteStream));
23 end
24
25 function b = isKey(obj, k)
26 keyByteStream = getByteStreamFromArray(k);
27 b = obj.map.isKey(keyByteStream);
28 end
29
30 function c = keys(obj)
31 keyByteStreams = obj.map.keys;
32
33 n = length(keyByteStreams);
34
35 c = cell(1, n);
36 for i = 1:n
37 c{i} = getArrayFromByteStream(uint8(keyByteStreams{i}));
38 end
39 end
40
41 function l = length(obj)
42 l = obj.map.length;
43 end
44
45 function remove(obj, k)
46 keyByteStream = getByteStreamFromArray(k);
47 obj.map.remove(char(keyByteStream));
48 end
49
50 function s = size(obj)
51 s = obj.map.size;
52 end
53
54 function c = values(obj)
55 c = obj.map.values;
56 end
57 end
58 end