Resource - shared object


SYNOPSIS

       #include <InterViews/resource.h>


DESCRIPTION

       Resource  is a class that provides a simple form of refer-
       ence counting for shared objects.  Every  resource  has  a
       reference  count that is initially set to zero and must be
       explicitly incremented through a  call  to  Reference.   A
       resource   should  not  be  deleted  like  other  objects;
       instead, the static member function unref should  be  used
       to unreference the object.

       When  a  resource  is unreferenced, the reference count is
       decremented unless it is already zero.  If  the  count  is
       zero, the object is destroyed.


PUBLIC OPERATIONS

       Resource()
              Create  a  new  resource  object with its reference
              count set to zero.

       void ref()
              Increment the resource's reference count.

       void unref()
              Decrement the resource's reference count, if it  is
              positive, and delete this if the count is zero.

       static void ref(Resource*)
              If the resource is not nil, call ref on it.  Other-
              wise do nothing.

       static void unref(Resource*)
              If the resource is not nil, call unref on it.  Oth-
              erwise do nothing.

       void Reference()
              This  function is equivalent to ref and is provided
              solely for  backward  compatibility.   It  will  be
              removed in a future version.

       void Unreference()
              This  function  is  equivalent to unref and is pro-
              vided solely for backward compatibility.   It  will
              be removed in a future version.


FRIEND OPERATIONS

       void Unref(Resource*)
              This  function is equivalent to static unref and is
              provided solely  for  backward  compatibility.   It

       This  scheme  relies  on manual referencing, which is more
       efficient, but also more dangerous.

       When garbage collection is supported by the  runtime  sys-
       tem, resources will be unnecessary.
















































Man(1) output converted with man2html