Protected_scm works only for static data and single members cannot
be destructed without destroying the whole protection chain. When
static member destructors are called, the Guile memory subsystem
is already down, so tampering with the storage is just a waste of
effort and snake oil at best.
public:
Protected_scm ();
Protected_scm (SCM);
public:
Protected_scm ();
Protected_scm (SCM);
Protected_scm &operator = (SCM);
Protected_scm &operator = (Protected_scm const &);
operator SCM () const;
Protected_scm &operator = (SCM);
Protected_scm &operator = (Protected_scm const &);
operator SCM () const;
-// For static objects, this will be called at program exit. With the
-// state of the memory system unknown, we refrain from any cleanup
-// actions outside of the object memory itself.
-
-Protected_scm::~Protected_scm ()
-{
- object_ = SCM_UNDEFINED;
-}
-
SCM Protected_scm::list_ = SCM_EOL;
SCM Protected_scm::last_ = SCM_EOL;
SCM Protected_scm::list_ = SCM_EOL;
SCM Protected_scm::last_ = SCM_EOL;