60 lines
1001 B
C++
60 lines
1001 B
C++
#ifndef DICTIONARY_H
|
|
#define DICTIONARY_H
|
|
|
|
#include "Variant.hpp"
|
|
|
|
#include "Array.hpp"
|
|
|
|
#include <gdnative/dictionary.h>
|
|
|
|
namespace godot {
|
|
|
|
class Dictionary {
|
|
godot_dictionary _godot_dictionary;
|
|
|
|
friend Variant::operator Dictionary() const;
|
|
inline explicit Dictionary(const godot_dictionary &other) {
|
|
_godot_dictionary = other;
|
|
}
|
|
|
|
public:
|
|
Dictionary();
|
|
Dictionary(const Dictionary &other);
|
|
Dictionary &operator=(const Dictionary &other);
|
|
|
|
template <class... Args>
|
|
static Dictionary make(Args... args) {
|
|
return helpers::add_all(Dictionary(), args...);
|
|
}
|
|
|
|
void clear();
|
|
|
|
bool empty() const;
|
|
|
|
void erase(const Variant &key);
|
|
|
|
bool has(const Variant &key) const;
|
|
|
|
bool has_all(const Array &keys) const;
|
|
|
|
uint32_t hash() const;
|
|
|
|
Array keys() const;
|
|
|
|
Variant &operator[](const Variant &key);
|
|
|
|
const Variant &operator[](const Variant &key) const;
|
|
|
|
int size() const;
|
|
|
|
String to_json() const;
|
|
|
|
Array values() const;
|
|
|
|
~Dictionary();
|
|
};
|
|
|
|
} // namespace godot
|
|
|
|
#endif // DICTIONARY_H
|