|
@@ -1,5 +1,5 @@
|
|
/*
|
|
/*
|
|
- * Copyright (C)2005-2017 Haxe Foundation
|
|
|
|
|
|
+ * Copyright (C)2005-2019 Haxe Foundation
|
|
*
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
* copy of this software and associated documentation files (the "Software"),
|
|
* copy of this software and associated documentation files (the "Software"),
|
|
@@ -22,28 +22,33 @@
|
|
package haxe.ds;
|
|
package haxe.ds;
|
|
|
|
|
|
@:headerClassCode("
|
|
@:headerClassCode("
|
|
- inline void set(String key, ::null value) { __string_hash_set(h,key,value); }
|
|
|
|
- inline void set(String key, bool value) { __string_hash_set(h,key,value); }
|
|
|
|
- inline void set(String key, char value) { __string_hash_set_int(h,key,value); }
|
|
|
|
- inline void set(String key, unsigned char value) { __string_hash_set_int(h,key,value); }
|
|
|
|
- inline void set(String key, signed char value) { __string_hash_set_int(h,key,value); }
|
|
|
|
- inline void set(String key, short value) { __string_hash_set_int(h,key,value); }
|
|
|
|
- inline void set(String key, unsigned short value) { __string_hash_set_int(h,key,value); }
|
|
|
|
- inline void set(String key, int value) { __string_hash_set_int(h,key,value); }
|
|
|
|
- inline void set(String key, unsigned int value) { __string_hash_set_int(h,key,value); }
|
|
|
|
- inline void set(String key, float value) { __string_hash_set_float(h,key,value); }
|
|
|
|
- inline void set(String key, double value) { __string_hash_set_float(h,key,value); }
|
|
|
|
- inline void set(String key, ::String value) { __string_hash_set_string(h,key,value); }
|
|
|
|
|
|
+ inline void set(String key, ::null value) { __string_hash_set(HX_MAP_THIS,key,value); }
|
|
|
|
+ inline void set(String key, bool value) { __string_hash_set(HX_MAP_THIS,key,value); }
|
|
|
|
+ inline void set(String key, char value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
|
|
|
|
+ inline void set(String key, unsigned char value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
|
|
|
|
+ inline void set(String key, signed char value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
|
|
|
|
+ inline void set(String key, short value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
|
|
|
|
+ inline void set(String key, unsigned short value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
|
|
|
|
+ inline void set(String key, int value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
|
|
|
|
+ inline void set(String key, unsigned int value) { __string_hash_set_int(HX_MAP_THIS,key,value); }
|
|
|
|
+ inline void set(String key, float value) { __string_hash_set_float(HX_MAP_THIS,key,value); }
|
|
|
|
+ inline void set(String key, double value) { __string_hash_set_float(HX_MAP_THIS,key,value); }
|
|
|
|
+ inline void set(String key, ::String value) { __string_hash_set_string(HX_MAP_THIS,key,value); }
|
|
|
|
|
|
template<typename V, typename H>
|
|
template<typename V, typename H>
|
|
- inline void set(String key, const ::cpp::Struct<V,H> &value) {__string_hash_set(h,key,value); }
|
|
|
|
|
|
+ inline void set(String key, const ::cpp::Struct<V,H> &value) {__string_hash_set(HX_MAP_THIS,key,value); }
|
|
template<typename V>
|
|
template<typename V>
|
|
- inline void set(String key, const ::cpp::Function<V> &value) {__string_hash_set(h,key,(Dynamic)value ); }
|
|
|
|
|
|
+ inline void set(String key, const ::cpp::Function<V> &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }
|
|
template<typename V>
|
|
template<typename V>
|
|
- inline void set(String key, const ::cpp::Pointer<V> &value) {__string_hash_set(h,key,(Dynamic)value ); }
|
|
|
|
|
|
+ inline void set(String key, const ::cpp::Pointer<V> &value) {__string_hash_set(HX_MAP_THIS,key,(Dynamic)value ); }
|
|
|
|
|
|
template<typename VALUE>
|
|
template<typename VALUE>
|
|
inline void set(Dynamic &key, const VALUE &value) { set( (String)key, value ); }
|
|
inline void set(Dynamic &key, const VALUE &value) { set( (String)key, value ); }
|
|
|
|
+
|
|
|
|
+ inline bool get_bool(String key) { return __string_hash_get_bool(h,key); }
|
|
|
|
+ inline int get_int(String key) { return __string_hash_get_int(h,key); }
|
|
|
|
+ inline Float get_float(String key) { return __string_hash_get_float(h,key); }
|
|
|
|
+ inline String get_string(String key) { return __string_hash_get_string(h,key); }
|
|
")
|
|
")
|
|
@:coreApi class StringMap<T> implements haxe.Constraints.IMap<String,T> {
|
|
@:coreApi class StringMap<T> implements haxe.Constraints.IMap<String,T> {
|
|
@:ifFeature("haxe.ds.StringMap.*")
|
|
@:ifFeature("haxe.ds.StringMap.*")
|
|
@@ -52,7 +57,7 @@ package haxe.ds;
|
|
public function new() : Void { }
|
|
public function new() : Void { }
|
|
|
|
|
|
public function set( key : String, value : T ) : Void {
|
|
public function set( key : String, value : T ) : Void {
|
|
- untyped __global__.__string_hash_set(h,key,value);
|
|
|
|
|
|
+ untyped __global__.__string_hash_set(__cpp__("HX_MAP_THIS"),key,value);
|
|
}
|
|
}
|
|
|
|
|
|
public function get( key : String ) : Null<T> {
|
|
public function get( key : String ) : Null<T> {
|
|
@@ -80,4 +85,16 @@ package haxe.ds;
|
|
public function toString() : String {
|
|
public function toString() : String {
|
|
return untyped __global__.__string_hash_to_string(h);
|
|
return untyped __global__.__string_hash_to_string(h);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ #if (scriptable)
|
|
|
|
+ private function setString(key:String,val:String) : Void { untyped __string_hash_set_string(__cpp__("HX_MAP_THIS"),key,val); }
|
|
|
|
+ private function setInt(key:String,val:Int) : Void { untyped __string_hash_set_int(__cpp__("HX_MAP_THIS"),key,val); }
|
|
|
|
+ private function setBool(key:String,val:Bool) : Void { untyped __string_hash_set_int(__cpp__("HX_MAP_THIS"),key,val); }
|
|
|
|
+ private function setFloat(key:String,val:Float) : Void { untyped __string_hash_set_float(__cpp__("HX_MAP_THIS"),key,val); }
|
|
|
|
+
|
|
|
|
+ private function getString(key:String) : String { return untyped __string_hash_get_string(h,key); }
|
|
|
|
+ private function getInt(key:String) : Int { return untyped __string_hash_get_int(h,key); }
|
|
|
|
+ private function getBool(key:String) : Bool { return untyped __string_hash_get_bool(h,key); }
|
|
|
|
+ private function getFloat(key:String) : Float { return untyped __string_hash_get_float(h,key); }
|
|
|
|
+ #end
|
|
}
|
|
}
|