head	1.2;
access;
symbols
	r2_1:1.2
	r2_0:1.2
	r1_1_beta:1.2
	r0_11:1.2;
locks; strict;
comment	@//@;


1.2
date	93.05.26.17.15.00;	author rjj;	state Exp;
branches;
next	1.1;

1.1
date	92.12.16.02.10.01;	author rjj;	state Exp;
branches;
next	;


desc
@Initial version.  Used by IA_Deque.
@


1.2
log
@Added Copyright message
@
text
@// -*- C++ -*-
//      Copyright 1993, Center for Computer Vision and Visualization,
//      University of Florida.  All rights reserved.

#ifndef IA_Cell_h_
#define IA_Cell_h_

#include "ia.h"

static char IA_Cell_h_rcsid[] = "$Id: Cell.h,v 1.1 92/12/16 02:10:01 rjj Exp Locker: rjj $";

// $Log:	Cell.h,v $
//Revision 1.1  92/12/16  02:10:01  rjj
//Initial revision
//

template <class T>
class IA_Cell {
protected:
    IA_Cell<T>  *nextCell, *prevCell;
    
    void nullCell();

//    const  char* h_file() { return IA_Cell_h_rcsid; }
//    const  char* c_file();

public:
    T cellValue;    // NOTE: this belongs to the user of this class

    IA_Cell() {this->nullCell();}
    IA_Cell(T v) {this->nullCell();
	    this->setValue(v);}
    IA_Cell(const IA_Cell &c) {this->nullCell();
		   this->setValue(c.value());}
    
    T        value() const {return this->cellValue;}
    IA_Cell<T>* next()        {return this->nextCell;}
    IA_Cell<T>* prev()        {return this->prevCell;}
    IA_Cell<T>* unlink();
    IA_Cell<T>* skip(int);

    T     setValue(T v) {return this->cellValue = v;}
    
    IA_Cell<T>* setNext(IA_Cell<T> *theNextCell) {
	this->nextCell = theNextCell;
	return this;}
    
    IA_Cell<T>* setPrev(IA_Cell<T> *thePrevCell) {
	this->prevCell = thePrevCell;
	return this;}
};

#endif
@


1.1
log
@Initial revision
@
text
@d2 2
d10 1
a10 1
static char IA_Cell_h_rcsid[] = "$Id$";
d12 4
a15 1
// $Log$
@
