CXXR (C++ R)
Namespaces | Functions | Variables
ProtectStack.cpp File Reference

($Id: ProtectStack.cpp 1397 2013-08-16 18:25:59Z arr $)

#include "CXXR/ProtectStack.h"
#include <stdexcept>
Include dependency graph for ProtectStack.cpp:

Namespaces

namespace  CXXR
 Namespace for the CXXR project.

Functions

void Rf_ppsRestoreSize (size_t new_size)
 Restore C pointer protection stack to a previous size.
size_t Rf_ppsSize ()
 Current size of C pointer protection stack.

Variables

SEXP(* CXXR::ForceNonInline::protectp )(SEXP) = Rf_protect
void(* CXXR::ForceNonInline::unprotectp )(int) = Rf_unprotect
void(* CXXR::ForceNonInline::unprotect_ptrp )(RObject *) = Rf_unprotect_ptr
void(* CXXR::ForceNonInline::ProtectWithIndexp )(SEXP, PROTECT_INDEX *) = R_ProtectWithIndex
void(* CXXR::ForceNonInline::Reprotectp )(SEXP, PROTECT_INDEX) = R_Reprotect

Detailed Description

Implementation of class CXXR::ProtectStack and associated C interface.


Function Documentation

void Rf_ppsRestoreSize ( size_t  new_size)

Restore C pointer protection stack to a previous size.

Restore the C pointer protection stack to a previous size by popping elements off the top.

Parameters:
new_sizeThe size to which the stack is to be restored. Must not be greater than the current size.
Deprecated:
This is an interface for C code to call CXXR::ProtectStack::restoreSize(), which may cease to be available in future. In C++, use of the ProtectStack::Scope class is preferable.
size_t Rf_ppsSize ( )

Current size of C pointer protection stack.

Returns:
the current size of the C pointer protection stack.
Deprecated:
This is an interface for C code to call CXXR::ProtectStack::size(), which may cease to be public in future.