home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Jason Aller Floppy Collection
/
197.img
/
TCPLUS-8.ZIP
/
CLASSINC.ZIP
/
COLLECT.H
< prev
next >
Wrap
C/C++ Source or Header
|
1990-05-04
|
4KB
|
154 lines
#ifndef __COLLECT_H
#define __COLLECT_H
//
// This file contains proprietary information of Borland International.
// Copying or reproduction without prior written approval is prohibited.
//
// Copyright (c) 1990
// Borland International
// 1800 Scotts Valley Dr.
// Scotts Valley, CA 95066
// (408) 438-8400
//
// Contents ----------------------------------------------------------------
//
// Collection
//
// Description
//
// Defines the abstract class Collection. Collections group objects
// together and specify operations.
//
// End ---------------------------------------------------------------------
// Interface Dependencies ---------------------------------------------------
#ifndef __IOSTREAM_H
#include <iostream.h>
#define __IOSTREAM_H
#endif
#ifndef __CLSTYPES_H
#include <clstypes.h>
#endif
#ifndef __OBJECT_H
#include <object.h>
#endif
#ifndef __CONTAIN_H
#include <contain.h>
#endif
// End Interface Dependencies ------------------------------------------------
// Class //
class Collection: public Container
{
public:
virtual ~Collection();
virtual void add( Object& ) = 0;
virtual void detach( const Object&, int = 0 ) = 0;
virtual int hasMember( const Object& ) const;
virtual Object& findMember( const Object& ) const;
virtual ContainerIterator& initIterator() const = 0;
void destroy( const Object& o ) { detach( o, 1 ); }
virtual classType isA() const = 0;
virtual char *nameOf() const = 0;
virtual hashValueType hashValue() const = 0;
};
// Description -------------------------------------------------------------
//
// Defines the abstract class Collection. A Collection is a
// grouping of objects on which addition and deletion of objects
// may occur. In addition, a Collection supports a membership test.
//
// Public Members
//
// add
//
// Adds an object to the collection.
//
// destroy
//
// Removes an object reference from the collection and
// destroys the object.
//
// detach
//
// Removes all references to the object in the collection.
// Does not delete the object. Use this function when the collection
// elements are not owned by the collection.
//
// hasMember
//
// Test whether an object is part of the collection. Returns 1 if
// the object reference is found in the array.
//
// findMember
//
// Test whether an object is part of the collection. Returns a
// reference to the object in the collection if the object is found.
//
// initIterator
//
// Iterator initializer. Redeclared as pure virtual.
//
// isA
//
// Redeclared as pure virtual.
//
// nameOf
//
// Redeclared as pure virtual.
//
// hashValue
//
// Redeclared as pure virtual.
//
// Inherited Members
//
// isEmpty
//
// Inherited from Container.
//
// forEach
//
// Inherited from Container.
//
// firstThat
//
// Inherited from Container.
//
// lastThat
//
// Inherited from Container.
//
// printOn
//
// Inherited from Container.
//
// isEqual
//
// Inherited from Container.
//
// isSortable
//
// Inherited from Object.
//
// isAssociation
//
// Inherited from Object.
//
// End ---------------------------------------------------------------------
#endif // ifndef __COLLECT_H //