Mercurial > illumos > onarm
view usr/src/cmd/man/src/util/nsgmls.src/include/OwnerTable.cxx @ 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 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* * Copyright 1994 James Clark * See the file COPYING for copying permission. */ #pragma ident "@(#)OwnerTable.cxx 1.5 05/08/22 SMI" #ifndef OwnerTable_DEF_INCLUDED #define OwnerTable_DEF_INCLUDED 1 #ifdef SP_NAMESPACE namespace SP_NAMESPACE { #endif template < class T, class K, class HF, class KF > OwnerTable < T, K, HF, KF > ::~OwnerTable() { for (size_t i = 0; i < this->vec_.size(); i++) delete this->vec_[i]; } template < class T, class K, class HF, class KF > void OwnerTable < T, K, HF, KF > ::clear() { for (size_t i = 0; i < this->vec_.size(); i++) delete this->vec_[i]; PointerTable < T *, K, HF, KF > ::clear(); } template < class T, class K, class HF, class KF > void CopyOwnerTable < T, K, HF, KF > ::operator = ( const CopyOwnerTable < T, K, HF, KF > &t) { this->clear(); PointerTable < T *, K, HF, KF > ::operator = (t); // FIXME This isn't exception safe. for (size_t i = 0; i < this->vec_.size(); i++) if (this->vec_[i]) this->vec_[i] = this->vec_[i]->copy(); } #ifdef SP_NAMESPACE } #endif #endif /* not OwnerTable_DEF_INCLUDED */