head	1.2;
access;
symbols
	bobbase:1.2
	bob:1.2;
locks; strict;
comment	@// @;


1.2
date	94.10.05.16.21.09;	author ljr;	state Exp;
branches;
next	1.1;

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


desc
@Set iterator base class implementation.
@


1.2
log
@added #include "BSetIter.h" for BC++
@
text
@// Emacs -*- C++ -*-

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

//
// $Log: BSetIter.c,v $
// Revision 1.1  1994/10/03  21:01:43  thoth
// Initial revision
//

#include "BSetIter.h"

template <class T>
IA_BaseSetIter<T>::IA_BaseSetIter(IA_BaseSet<T> *set)
: domain(set) {
    domain->incr_ref();
}

template <class T>
IA_BaseSetIter<T>::IA_BaseSetIter(const IA_BaseSetIter<T> &iter)
:domain(iter.domain)
{
    domain->incr_ref();
}

template <class T>
IA_BaseSetIter<T>::~IA_BaseSetIter()
{
    if (domain->decr_ref() <= 0) {
	delete domain;
    }
    // domain = 0;
}

#if 0
// we will never be doing this
template <class T>
IA_BaseSetIter<T>&
IA_BaseSetIter<T>::operator=(const IA_BaseSetIter<T> &arg)
{
    IA_BaseSet<T>	*temp = domain;

    domain = arg.domain;
    domain->incr_ref();

    if (temp->decr_ref() <= 0)
	delete temp;

    return *this;
}

#endif
@


1.1
log
@Initial revision
@
text
@d10 5
@
