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


1.4
date	95.01.16.22.15.11;	author fjsoria;	state Exp;
branches;
next	1.3;

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

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

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


desc
@This header file includes all specializations.  It is necessary
because CFront is broken.
@


1.4
log
@fixing operator<< overload problem for IA_Point<int>
@
text
@// Emacs: -*- C++ -*-

//
// $Log: Point.h,v $
// Revision 1.3  1994/08/14  20:02:20  thoth
// DOS-inspired filename rework.
//
// Revision 1.2  1994/07/25  16:42:26  thoth
// FloatPoint is now either Point<double> or DoublePoint.
//
// Revision 1.1  1993/09/15  12:26:18  thoth
// Initial revision
//

#ifndef Point_h_
#define Point_h_

template <class T> class IA_Point {
  private:
    IA_Point();
    IA_Point(const IA_Point&);
    ~IA_Point();
    IA_Point & operator=(const IA_Point &);
    // Now no automatic instantiation of Point<T> will
    // result in a viable class because the most important
    // methods are inaccessible.

    // Only specializations will be available.
};

#endif

/*

  Point<double> uses Point<int>.  If the Point<int> specialization is
not seen before its use in Point<double> then horrible things will
happen.  This can happen if you #include "IntPoint.h"

#include "IntPoint.h"
which includes "Point.h"		before the definition of Point<int>
which includes "FloatPoint.h"		which uses Point<int>

 */

#ifdef __GNUC__
class IA_Point<int>;
class IA_Point<double>;
#else

#ifndef SUPPRESS_INCLUDE

/* SUPPRESS_INCLUDE is defined only by IntPoint.h and FloatPoint.h for
   the scope of this inclusion. */

/* These includes are for the benefit of template instantiations that
   need a Point.  This way if you need Point<T> you also see
   Point<int> and Point<double>, just in case T==int || T==double */

#include "IntPoint.h"
#include "DblPoint.h"
#endif
#endif


@


1.3
log
@DOS-inspired filename rework.
@
text
@d5 3
d31 2
d45 4
d62 2
a64 1
#endif
@


1.2
log
@FloatPoint is now either Point<double> or DoublePoint.
@
text
@d5 3
d51 1
a51 1
#include "DoublePoint.h"
@


1.1
log
@Initial revision
@
text
@d4 4
a7 1
// $Log:	Point.h.m4,v $
d48 1
a48 1
#include "FloatPoint.h"
@
