head	1.7;
access;
symbols
	r2_1:1.4
	r2_0:1.4
	r1_1_beta:1.3
	r1_1_alpha:1.2
	r1_0:1.2
	r0_11:1.2
	r0_10:1.1
	r0_9:1.1;
locks; strict;
comment	@// @;


1.7
date	94.12.03.03.19.13;	author fjsoria;	state Exp;
branches;
next	1.6;

1.6
date	94.12.01.15.51.07;	author fjsoria;	state Exp;
branches;
next	1.5;

1.5
date	94.11.30.19.21.40;	author fjsoria;	state Exp;
branches;
next	1.4;

1.4
date	94.08.18.23.39.28;	author thoth;	state Exp;
branches;
next	1.3;

1.3
date	94.07.25.16.58.52;	author thoth;	state Exp;
branches;
next	1.2;

1.2
date	94.03.30.13.45.29;	author thoth;	state Exp;
branches;
next	1.1;

1.1
date	93.09.15.12.38.15;	author thoth;	state Exp;
branches;
next	;


desc
@Implementation of the base pointset iterator.
@


1.7
log
@modified outline destructor r to us hash_managed_delete
instead of hash_table.remoe(domain)
@
text
@// Emacs: -*- C++ -*-

//
//	Copyright 1993, Center for Computer Vision and Visualization,
//	University of Florida.  All rights reserved.
//

// 
// $Log: BasePSIter.c,v $
// Revision 1.6  1994/12/01  15:51:07  fjsoria
// changed gaurd __NO_INLINE_DESTRUCTORS to
// __NO_OUTLINE_DESTRUCTORS
//
// Revision 1.5  1994/11/30  19:21:40  fjsoria
// added my changes for hash_managed_delete , instead
// of using delete_domain.
//
// Revision 1.4  1994/08/18  23:39:28  thoth
// DOS-inspired filename rework
//
// Revision 1.3  1994/07/25  16:58:52  thoth
// \Name sanitization
//
// Revision 1.2  1994/03/30  13:45:29  thoth
// Renamed files to BasePSIter.
// Destructor for BasePSIter<IntPoint> needs to use the hash table.
//
// Revision 1.1  1993/09/15  12:38:15  thoth
// Initial revision
//

#include "BasePSIter.h"
#include "IntPS.h"
#include "HashTable.h"

template <class P>
IA_BasePSIter<P>::IA_BasePSIter(IA_BasePS<P> *x)
     :domain(x)
{
  domain->enref();
}

template <class P>
IA_BasePSIter<P>:: IA_BasePSIter(const IA_BasePSIter<P> & psi) {
  domain = psi.domain;
  domain->enref();
}

template <class P>
IA_BasePSIter<P>& IA_BasePSIter<P>:: operator=(const IA_BasePSIter<P> &arg) {
    IA_BasePS<P>	*temp = arg.domain;
    temp->enref();
    if (domain->unref() <=0)
	delete domain;
    domain = temp;
    return *this;
}

#ifndef __NO_OUTLINE_DESTRUCTORS

template <class P>
IA_BasePSIter<P>:: ~IA_BasePSIter() {
    if (domain->unref() <= 0)
	delete domain;
}

IA_BasePSIter<IA_Point<int> >::~IA_BasePSIter() {
  hash_managed_delete(domain);
  /*if (domain->unref() <= 0) {
	IA_Set<IA_Point<int> >::hash_table.remove(domain);
	delete domain;
    }*/
}

#endif
@


1.6
log
@changed gaurd __NO_INLINE_DESTRUCTORS to
__NO_OUTLINE_DESTRUCTORS
@
text
@d10 4
d68 2
a69 1
    if (domain->unref() <= 0) {
d72 1
a72 1
    }
@


1.5
log
@added my changes for hash_managed_delete , instead
of using delete_domain.
@
text
@d10 4
d55 1
a55 1
#ifndef __NO_INLINE_DESTRUCTORS
@


1.4
log
@DOS-inspired filename rework
@
text
@d10 3
d41 5
a45 3
IA_BasePSIter<IA_Point<int> >::~IA_BasePSIter() {
    if (domain->unref() <= 0) {
	IA_Set<IA_Point<int> >::hash_table.remove(domain);
d47 2
a48 1
    }
d51 2
d59 3
a61 5
template <class P>
IA_BasePSIter<P>& IA_BasePSIter<P>:: operator=(const IA_BasePSIter<P> &arg) {
    IA_BasePS<P>	*temp = arg.domain;
    temp->enref();
    if (domain->unref() <=0)
d63 1
a63 2
    domain = temp;
    return *this;
d65 2
@


1.3
log
@\Name sanitization
@
text
@d10 3
d22 1
a22 1
#include "IntPointSet.h"
@


1.2
log
@Renamed files to BasePSIter.
Destructor for BasePSIter<IntPoint> needs to use the hash table.
@
text
@d9 5
a13 1
// $Log: BaseIPSIter.c,v $
d37 1
a37 1
	IA_Set<IA_IntPoint>::hash_table.remove(domain);
@


1.1
log
@Initial revision
@
text
@d9 4
a12 1
// $Log:	BaseIPSIter.h,v $
d14 3
a16 1
#include "BaseIPSIter.h"
d30 8
@
