39 #ifndef __EST_CONTENTS_H__ 
   40 #define __EST_CONTENTS_H__ 
   54     void (*free_func)(
void *data);
 
   59     int unref() { 
return --refs; }
 
   61     int ref() { 
return ++refs; }
 
   63     int the_refs() { 
return refs; }
 
   64     void *contents() { 
return data; }
 
   66     {refs = c.refs; data = c.data; free_func = c.free_func; 
return *
this;}
 
   74     void unref_contents(
void)
 
   75        { 
if ((content_data != 0) &&
 
   76          (content_data->unref() == 0))
 
   83     void set_contents(
void *p,
void (*free_func)(
void *p))
 
   85     void *get_contents()
 const  
   86          {
return (content_data ? content_data->contents() : 0);}
 
   88     int refs()
 const { 
return ((content_data == 0) ? 0 :
 
   89              content_data->the_refs());}
 
   92        content_data = c.content_data; 
 
   93        if (content_data != 0) content_data->ref();