Sha256: f1dc2246879f41b999bf314e99935b7d85607a6b45a825a965c990e6741fddf3

Contents?: true

Size: 771 Bytes

Versions: 38

Compression:

Stored size: 771 Bytes

Contents

#ifndef Rice__detail__protect__hpp_
#define Rice__detail__protect__hpp_

#include "ruby.hpp"

/*! \file
 *  \brief Functions for making exception-safe calls into Ruby code.
 *  These are the building blocks for building other exception-safe
 *  helper functions.
 */

namespace Rice
{

namespace detail
{

//! Call the given function, converting Ruby exceptions to C++
//! exceptions.
/*! Call the function f with the parameter arg  If f raises a Ruby
 * exception, then the exception is re-thrown as an Exception.  If f
 * exits with any other non-zero tag (e.g. a Symbol is thrown), then the
 * tag is re-thrown as a Jump_Tag.
 */
VALUE protect(
    RUBY_VALUE_FUNC f,
    VALUE arg);

} // namespace detail

} // namespace Rice

#endif // Rice__detail__protect__hpp_

Version data entries

38 entries across 38 versions & 6 rubygems

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