Mercurial > illumos > onarm
view usr/src/cmd/man/src/util/nsgmls.src/include/IList.h @ 0:c9caec207d52 b86
Initial porting based on b86
author | Koji Uno <koji.uno@sun.com> |
---|---|
date | Tue, 02 Jun 2009 18:56:50 +0900 |
parents | |
children | 1a15d5aaf794 |
line wrap: on
line source
// Copyright (c) 1994 James Clark // See the file COPYING for copying permission. #pragma ident "@(#)IList.h 1.4 00/07/17 SMI" #ifndef IList_INCLUDED #define IList_INCLUDED 1 #include "IListBase.h" #ifdef SP_NAMESPACE namespace SP_NAMESPACE { #endif template<class T> class IListIter; // This owns the objects that are put in it. template<class T> class IList : private IListBase { public: IList() { } IList(T *p) : IListBase(p) { } ~IList() { clear(); } void append(T *p) { IListBase::append(p); } void insert(T *p) { IListBase::insert(p); } void remove(T *p) { IListBase::remove(p); } void swap(IList<T> &list) { IListBase::swap(list); } T *head() const { return (T *)IListBase::head(); } T *get() { return (T *)IListBase::get(); } IListBase::clear; IListBase::empty; friend class IListIter<T>; private: IList(const IList<T> &); // undefined IList<T> &operator=(const IList<T> &); // undefined }; #ifdef SP_NAMESPACE } #endif #endif /* not IList_INCLUDED */