Mercurial > repos > public > sbplib
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 |