Sha256: 8e53a0adc5fb336760008dee3a28664bf07c9a1746ab43ccb76537ef61dac9bf

Contents?: true

Size: 780 Bytes

Versions: 25

Compression:

Stored size: 780 Bytes

Contents

#include "Object.hpp"
#include <algorithm>

inline Rice::Address_Registration_Guard::
Address_Registration_Guard(VALUE * address)
  : address_(address)
{
  registerExitHandler();
  rb_gc_register_address(address);
}

inline Rice::Address_Registration_Guard::
Address_Registration_Guard(Object * object)
  : address_(const_cast<VALUE *>(&object->value()))
{
  registerExitHandler();
  rb_gc_register_address(address_);
}

inline Rice::Address_Registration_Guard::
~Address_Registration_Guard()
{
  if (enabled)
    rb_gc_unregister_address(address_);
}

inline VALUE * Rice::Address_Registration_Guard::
address() const
{
  return address_;
}

inline void Rice::Address_Registration_Guard::
swap(Rice::Address_Registration_Guard & other)
{
  std::swap(address_, other.address_);
}

Version data entries

25 entries across 25 versions & 4 rubygems

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