Object Hierarchy Diagram
                                     
          
          
                    Any Object ----+---- QueueList (generic queue object)
                                   |
                                   |
                                   +---- StackList (generic stack object)
                                   |
                                   |
                                   +---- InputStruct
                                   |
                                   |
                                   +---- OutputStruct
                                   |
                                   |
                                   +---- IndentStruct
                     
          
          Notes of class usage:
          IndentStruct:
          Even though IndentStruct is defined as a class, it is basically
          a record structure. I have defined it as a class to help storage
          of the record data easier, and to automate some of the
          initialisation process. However, there are no methods (apart from
          the constructor), that handles any of the object's data. All data
          is altered directly within the class (i.e don't use methods to
          change data).
          
          InputStruct: 
          This is basically like the IndentStruct, except it has no defined
          constructor. The class is used the same was as a normal
          structure. A destructor isn't implemented as existing data may
          belong to two, or more other objects.
          
          OutputStruct:
          This has more OO implementation than the previous two objects 
          (i.e constructor, destructor), but data is accessed the same as
          any structure. 

























                            Entity RelationShip Diagram
          
          
          
                        +-----------+              +-------------+
                        |           |     have    /|             |
                        | QueueList |--------------| InputStruct |
                        |           |             \|             |
                        +-----------+              +-------------+
                              |
                              |
                              |                    +--------------+
                              |           have    /|              |
                              +--------------------| OutputStruct |
                                                  \|              |
                                                   +--------------+
          
          
                        +-----------+              +--------------+
                        |           |     have    /|              |
                        | StackList |--------------| IndentStruct |
                        |           |             \|              |
                        +-----------+              +--------------+