head	1.1;
access;
symbols
	bobbase:1.1
	bob:1.1.1
	r2_1:1.1;
locks
	thoth:1.1.1.1; strict;
comment	@// @;


1.1
date	94.09.16.18.24.34;	author thoth;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	95.01.13.19.58.04;	author thoth;	state Exp;
branches;
next	;


desc
@value composition.
@


1.1
log
@Initial revision
@
text
@// Emacs: -*- C++ -*-

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


//
// $Log: AuxImage.h,v $

#ifndef ImgComp_h_
#define ImgComp_h_

#include "Closure.h"
#include "CoreImage.h"

// value composition
template <class P, class Q, class R, class S, class T>
IA_CoreImage<P,Q> compose(R (*)(S), const IA_CoreImage<P,T> &, const Q*, const R*, const S*);

template <class P, class R, class S, class T>
inline IA_CoreImage<P,R> compose(R (*f)(S), const IA_CoreImage<P,T> &i, const R*, const S*) { return compose(f, i, (const R*)0, (const R*)0, (const S*)0); }

template <class P, class S, class T>
inline IA_CoreImage<P,S> compose(S (*f)(T), const IA_CoreImage<P,T> &i, const S*) { return compose(f, i, (const S*)0, (const S*)0, (const T*)0); }

template <class P, class T>
inline IA_CoreImage<P,T> compose(T (*f)(T), const IA_CoreImage<P,T> &i) { return compose(f, i, (const T*)0, (const T*)0, (const T*)0); }




template <class P, class Q, class R, class S, class T>
IA_CoreImage<P,Q> compose(const IA_Closure<S,R>&, const IA_CoreImage<P,T> &, const Q*);

template <class P, class R, class S, class T>
inline IA_CoreImage<P,R> compose(const IA_Closure<S,R>&f, const IA_CoreImage<P,T> &i) { return compose(f, i, (const R*)0); }

#endif // ImgComp_h_
@


1.1.1.1
log
@CoreImage has been re-merged with Image.  All special stuff should be
friends of FBI now.
@
text
@d10 1
a10 4
// $Log: ImgComp.h,v $
// Revision 1.1  1994/09/16  18:24:34  thoth
// Initial revision
//
d16 1
a16 2
//#include "Image.h"
template <class P, class T> class IA_Image;
d20 1
a20 1
IA_Image<P,Q> compose(R (*)(S), const IA_Image<P,T> &, const Q*, const R*, const S*);
d23 1
a23 1
inline IA_Image<P,R> compose(R (*f)(S), const IA_Image<P,T> &i, const R*, const S*) { return compose(f, i, (const R*)0, (const R*)0, (const S*)0); }
d26 1
a26 1
inline IA_Image<P,S> compose(S (*f)(T), const IA_Image<P,T> &i, const S*) { return compose(f, i, (const S*)0, (const S*)0, (const T*)0); }
d29 1
a29 1
inline IA_Image<P,T> compose(T (*f)(T), const IA_Image<P,T> &i) { return compose(f, i, (const T*)0, (const T*)0, (const T*)0); }
d35 1
a35 1
IA_Image<P,Q> compose(const IA_Closure<S,R>&, const IA_Image<P,T> &, const Q*);
d38 1
a38 1
inline IA_Image<P,R> compose(const IA_Closure<S,R>&f, const IA_Image<P,T> &i) { return compose(f, i, (const R*)0); }
@
