CATCONTAINER__DEFINE Name
             CatContainer Purpose
        
        This is the most basic object in the Catalyst Library. It is actually a simple
        
        wrapper around the IDL_CONTAINER object, adding get-by-name, reference counting,
        
        and memory management. Reference counting is what assures that objects in the
        
        Catalyst system are not destroyed until every other object in the system is done
        
        using them. For the most part, users can completely ignore this feature of
        
        the program and their programs will clean themselves up miraculously. To avoid
        
        memory leaks, all you have to do is make sure you destroy all pointers and objects
        
        you use to hold information in your program in your CLEANUP method. (And be *absolutely*
        
        sure you call the superclass CLEANUP method.) But any objectyou add to another object is 
        
        destroyed automatically. This feature alone is worth the astronomical cost of the Catalyst Library!
Authors
 
        
        FANNING SOFTWARE CONSULTING   BURRIDGE COMPUTING
        
        1645 Sheely Drive             18 The Green South
        
        Fort Collins                  Warborough, Oxon
        
        CO 80526 USA                  OX10 7DN, ENGLAND
        
        Phone: 970-221-0438           Phone: +44 (0)1865 858279
        
        E-mail: davidf@dfanning.com   E-mail: davidb@burridgecomputing.co.uk
Superclasses
 
      
       IDL_CONTAINER Syntax
              catContainerObject = Obj_New('CatContainer')
Class Structure
 
  
   struct = { CatContainer,                   $ ; The CatContainer object class name.
              
              _autoDestroy      : 0B,         $ ; A flag denoting whether the object self destructs
                    
                     
       
                                                  when reference count reaches 0.
              
              _name             : "",         $ ; The "name" of the object.
              
              _parents          : OBJ_NEW (), $ ; A list (container) of parent objects.
              
              _memoryManagement : 0B,         $ ; A flag to show if objects contained within this
                    
                     
       
                                                  object know about this object.
              
              _indexed          : 0B,         $ ; A flag to specify whether the list is specifically indexed.
              
              INHERITS IDL_CONTAINER          $
                         }
Modification History
 
      
       Written by: David Burridge, 12th March 2003 
      
       Added OCHILD and OSYBLING keywords to the GetProperty method. 24 June 2005. DWF.
      
       Changed the AddParent method so that an object cannot have multiple, identical parent
          
           objects. A parent object is only added to the parent container if that object is not
          
           already a parent of the specified object. 30 August 2009. DWF.