Sha256: 2a0f2b56d67e8f821a74f18b7c5f8d44e6e3fd1c602948a2fbc3387d4e34393b

Contents?: true

Size: 1005 Bytes

Versions: 38

Compression:

Stored size: 1005 Bytes

Contents

#include "Class.hpp"
#include "Exception.hpp"
#include "detail/creation_funcs.hpp"

Rice::Class::
Class()
  : Module_impl<Module, Class>()
{
}

Rice::Class::
Class(VALUE v)
  : Module_impl<Module, Class>(v)
{
  if(::rb_type(v) != T_CLASS)
  {
    throw Exception(
        rb_eTypeError,
        "Expected a Class but got a %s",
        rb_class2name(CLASS_OF(v))); // TODO: might raise an exception
  }
}

Rice::Class & Rice::Class::
undef_creation_funcs()
{
  detail::undef_creation_funcs(*this);
  return *this;
}

Rice::Class Rice::
define_class_under(
    Rice::Object module,
    char const * name,
    Rice::Object superclass)
{
  VALUE v = rb_define_class_under(module, name, superclass);
  return Class(v);
}

Rice::Class Rice::
define_class(
    char const * name,
    Rice::Object superclass)
{
  VALUE v = rb_define_class(name, superclass);
  return Class(v);
}

Rice::Class Rice::
anonymous_class(
    Rice::Object superclass)
{
  VALUE v = Class(rb_cClass).call("new");
  return Class(v);
}

Version data entries

38 entries across 38 versions & 6 rubygems

Version Path
rice-3.0.0 rice/Class.cpp
rice2-2.2.1 rice/Class.cpp
rice2-2.2.0 rice/Class.cpp
rice-2.2.0 rice/Class.cpp
rice-2.1.3 rice/Class.cpp
rice-2.1.2 rice/Class.cpp
rice-2.1.1 rice/Class.cpp
rice-2.1.0 rice/Class.cpp
rice-2.0.0 rice/Class.cpp
rice-1.7.0 rice/Class.cpp
rice-1.6.3 rice/Class.cpp
jameskilton-rice-1.2.0 rice/Class.cpp
rice-1.6.2 rice/Class.cpp
rice-1.6.1 rice/Class.cpp
rice-1.6.0 rice/Class.cpp
rice-1.6.0.pre rice/Class.cpp
rice-1.5.3 rice/Class.cpp
rice-1.5.2 rice/Class.cpp
keyme-rice-1.5.1.keyme1 rice/Class.cpp
keyme-rice-1.5.1.keyme rice/Class.cpp