Module: AutoC::Maps

Included in:
HashMap, TreeMap
Defined in:
lib/autoc/collection/map.rb

Overview

Instance Method Summary collapse

Instance Method Details

#write_intf_decls(stream, declare, define) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/autoc/collection/map.rb', line 15

def write_intf_decls(stream, declare, define)
  super
  stream << %$
    #{declare} #{ctor.declaration};
    #{declare} #{dtor.declaration};
    #{declare} #{copy.declaration};
    #{declare} #{equal.declaration};
    #{declare} #{identify.declaration};
    #{declare} void #{purge}(#{type_ref});
    #{declare} size_t #{size}(#{type_ref});
    #define #{empty}(self) (#{size}(self) == 0)
    #{declare} int #{containsKey}(#{type_ref}, #{key.type});
    #{declare} #{value.type} #{get}(#{type_ref}, #{key.type});
    #{declare} int #{put}(#{type_ref}, #{key.type}, #{value.type});
    #{declare} int #{replace}(#{type_ref}, #{key.type}, #{value.type});
    #{declare} int #{remove}(#{type_ref}, #{key.type});
    #{declare} int #{itMove}(#{it_ref});
    #{declare} #{key.type} #{itGetKey}(#{it_ref});
    #{declare} #{value.type} #{itGetElement}(#{it_ref});
    #define #{itGet}(it) #{itGetElement}(it)
  $
end

#write_intf_types(stream) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/autoc/collection/map.rb', line 6

def write_intf_types(stream)
  super
  stream << %$
    /***
    **** #{type}<#{key.type} -> #{value.type}>
    ***/
  $ if public?
end