Provided by: ivtools-dev_1.2.11a1-2_amd64 bug

NAME

       Resource - shared object

SYNOPSIS

       #include <InterViews/resource.h>

DESCRIPTION

       Resource  is a class that provides a simple form of reference 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.  Otherwise do nothing.

       static void unref(Resource*)
              If the resource is not nil, call unref on it.  Otherwise 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  provided  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 will be removed in a future version.

BUGS

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

       When garbage collection is supported by the runtime system, resources will be unnecessary.