summaryrefslogtreecommitdiffstats
path: root/include/godot_cpp/core/Dictionary.cpp
blob: 7ac6312b2c9ab77abd9e76cbe3f18dec3f5d07e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include "Dictionary.hpp"

#include "Variant.hpp"

#include "Array.hpp"

#include <godot/godot_dictionary.h>

namespace godot {

Dictionary::Dictionary()
{
	godot_dictionary_new(&_godot_dictionary);
}

void Dictionary::clear()
{
	godot_dictionary_clear(&_godot_dictionary);
}

bool Dictionary::empty() const
{
	return godot_dictionary_empty(&_godot_dictionary);
}

void Dictionary::erase(const Variant& key)
{
	godot_dictionary_erase(&_godot_dictionary, (godot_variant *) &key);
}

bool Dictionary::has(const Variant& key) const
{
	return godot_dictionary_has(&_godot_dictionary, (godot_variant *) &key);
}

bool Dictionary::has_all(const Array& keys) const
{
	return godot_dictionary_has_all(&_godot_dictionary, (godot_array *) &keys);
}

uint32_t Dictionary::hash() const
{
	return godot_dictionary_hash(&_godot_dictionary);
}

Array Dictionary::keys() const
{
	godot_array a = godot_dictionary_keys(&_godot_dictionary);
	return *(Array *) &a;
}

int Dictionary::parse_json(const String& json)
{
	return godot_dictionary_parse_json(&_godot_dictionary, (godot_string *) &json);
}

Variant &Dictionary::operator [](const Variant& key)
{
	return *(Variant *) godot_dictionary_operator_index(&_godot_dictionary, (godot_variant *) &key);
}

const Variant &Dictionary::operator [](const Variant& key) const
{
	// oops I did it again
	return *(Variant *) godot_dictionary_operator_index((godot_dictionary *) &_godot_dictionary, (godot_variant *) &key);
}

int Dictionary::size() const
{
	return godot_dictionary_size(&_godot_dictionary);
}

String Dictionary::to_json() const
{
	godot_string s = godot_dictionary_to_json(&_godot_dictionary);
	return *(String *) &s;
}

Array Dictionary::values() const
{
	godot_array a = godot_dictionary_values(&_godot_dictionary);
	return *(Array *) &a;
}

Dictionary::~Dictionary()
{
	godot_dictionary_destroy(&_godot_dictionary);
}


}