Sha256: c167ae849727f43b05c295d0c4f5664a43dfc63f37d12600d84deaacba6248ef
Contents?: true
Size: 1.75 KB
Versions: 5
Compression:
Stored size: 1.75 KB
Contents
#ifndef Rice__Forward_Declares__ipp_ #define Rice__Forward_Declares__ipp_ namespace Rice { // These methods cannot be defined where they are declared due to circular dependencies inline Class Object::class_of() const { return detail::protect(rb_class_of, value_); } inline String Object::to_s() const { return call("to_s"); } inline String Object::class_name() const { return detail::protect(rb_obj_classname, this->value()); } inline String Object::inspect() const { return call("inspect"); } inline Object Object::instance_eval(String const& s) { const VALUE argv[] = { s.value() }; return detail::protect(rb_obj_instance_eval, 1, &argv[0], this->value()); } inline Object Object::vcall(Identifier id, Array args) { std::vector<VALUE> a(args.size()); Array::const_iterator it = args.begin(); Array::const_iterator end = args.end(); for (int i = 0; it != end; i++, ++it) { a[i] = it->value(); } return detail::protect(rb_funcall3, this->value(), id.id(), (int)args.size(), (const VALUE*)a.data()); } inline std::ostream& operator<<(std::ostream& out, Object const& obj) { String s(obj.to_s()); out << s.c_str(); return out; } inline Identifier::Identifier(Symbol const& symbol) : id_(SYM2ID(symbol.value())) { } inline String Module::name() const { VALUE name = detail::protect(rb_mod_name, this->value()); if (name == Qnil) { return String(""); } else { return name; } } inline Array Module::ancestors() const { return detail::protect(rb_mod_ancestors, this->value()); } inline Class Module::singleton_class() const { return CLASS_OF(value()); } } #endif // Rice__Forward_Declares__ipp_
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
rice-4.0.4 | rice/forward_declares.ipp |
rice-4.0.3 | rice/forward_declares.ipp |
rice-4.0.2 | rice/forward_declares.ipp |
rice-4.0.1 | rice/forward_declares.ipp |
rice-4.0.0 | rice/forward_declares.ipp |