/*++ Copyright (c) 1990 Microsoft Corporation Module Name: contain.hxx Abstract: This module contains the definition for the CONTAINER class, the most primitive, abstract class in the container sub-hierarchy. CONTAINERs of all types are repositories for OBJECTs. CONTAINER is the most abstract in that it makes no assumptions about the ordering of it's contents. Environment: ULIB, User Mode --*/ #if ! defined( _CONTAINER_ ) #define _CONTAINER_ DECLARE_CLASS( CONTAINER ); class CONTAINER : public OBJECT { public: VIRTUAL ~CONTAINER( ); VIRTUAL BOOLEAN Put( IN OUT POBJECT Member ) PURE; VIRTUAL ULONG QueryMemberCount( ) CONST PURE; VIRTUAL BOOLEAN DeleteAllMembers( ) PURE; NONVIRTUAL BOOLEAN IsEmpty( ) CONST; protected: DECLARE_CONSTRUCTOR( CONTAINER ); }; INLINE BOOLEAN CONTAINER::IsEmpty( ) CONST /*++ Routine Description: Determine if the container is empty. Arguments: None. Return Value: BOOLEAN - TRUE if the container is empty. --*/ { return QueryMemberCount() == 0; } #endif // _CONTAINER_