Sha256: d6000b8bcdc2134b6fe9ff1a4bce358cae97fd0d41efecbc121bc2165c1346b0
Contents?: true
Size: 1.21 KB
Versions: 7
Compression:
Stored size: 1.21 KB
Contents
#ifndef Rice__Director__hpp_ #define Rice__Director__hpp_ #include "cpp_api/Object.hpp" namespace Rice { /** * A Director works exactly as a SWIG %director works (thus the name). * You use this class to help build proxy classes so that polymorphism * works from C++ into Ruby. See the main README for how this class works. */ class Director { public: //! Construct new Director. Needs the Ruby object so that the // proxy class can call methods on that object. Director(Object self) : self_(self) { } virtual ~Director() = default; //! Raise a ruby exception when a call comes through for a pure virtual method /*! If a Ruby script calls 'super' on a method that's otherwise a pure virtual * method, use this method to throw an exception in this case. */ void raisePureVirtual() const { rb_raise(rb_eNotImpError, "Cannot call super() into a pure-virtual C++ method"); } //! Get the Ruby object linked to this C++ instance Object getSelf() const { return self_; } private: // Save the Ruby object related to the instance of this class Object self_; }; } #endif // Rice__Director__hpp_
Version data entries
7 entries across 7 versions & 1 rubygems