同步操作将从 hinus/pythonvm 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#ifndef HI_DICT_HPP#define HI_DICT_HPP#include "object/hiObject.hpp"#include "util/map.hpp"class DictKlass : public Klass {private:DictKlass();static DictKlass* instance;public:static DictKlass* get_instance();void initialize();virtual HiObject* getattr(HiObject* x, HiString* y);virtual HiObject* subscr (HiObject* x, HiObject* y);virtual HiObject* iter(HiObject* x);virtual void print(HiObject* obj);virtual void store_subscr(HiObject* x, HiObject* y, HiObject* z);virtual void del_subscr (HiObject* x, HiObject* y);virtual HiObject* allocate_instance(HiObject* callable,ArrayList<HiObject*>* args);virtual size_t size();virtual void oops_do(OopClosure* f, HiObject* obj);};class HiDict : public HiObject {friend class DictKlass;private:Map<HiObject*, HiObject*>* _map;public:HiDict();HiDict(Map<HiObject*, HiObject*>* map);Map<HiObject*, HiObject*>* map() { return _map; }void put(HiObject* k, HiObject* v) { _map->put(k, v); }HiObject* get(HiObject* k) { return _map->get(k); }bool has_key(HiObject* k) { return _map->has_key(k); }int size() { return _map->size(); }HiObject* remove(HiObject* k) { return _map->remove(k); }void update(HiDict* d);};HiObject* dict_set_default(ObjList args);HiObject* dict_remove(ObjList args);HiObject* dict_keys(ObjList args);HiObject* dict_values(ObjList args);HiObject* dict_items(ObjList args);HiObject* dict_iterkeys(ObjList args);HiObject* dict_itervalues(ObjList args);HiObject* dict_iteritems(ObjList args);enum ITER_TYPE {ITER_KEY = 0,ITER_VALUE,ITER_ITEM};template<ITER_TYPE n>class DictIteratorKlass : public Klass {private:static DictIteratorKlass* instance;DictIteratorKlass();public:static DictIteratorKlass* get_instance();virtual HiObject* iter(HiObject* x) { return x; }virtual HiObject* next(HiObject* x);};class DictIterator : public HiObject {private:HiDict* _owner;int _iter_cnt;public:DictIterator(HiDict* owner);HiDict* owner() { return _owner; }int iter_cnt() { return _iter_cnt; }void inc_cnt() { _iter_cnt++; }};#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。