// Emacs: -*- C++ -*-

/* meant to be included in the middle of CoreImage's declaration */

// FUNKY_ERROR is defined in CoreImage.h because CFront is psycho

private:

// modify the appropriate entries in vals
static void vec_restrict_assign(const IA_SetStructure &ss, T ** dst,
#ifdef FUNKY_ERROR
				void *src_
#else
				IA_IVIter<P,T> *src
#endif
				);

// construct a new vector from ps, val and img 
static void const_restrict_assign(const IA_SetStructure &ss, T ** dst,
				  T src1,
#ifdef FUNKY_ERROR
				  void *src2_
#else
				  IA_IVIter<P,T> *src2
#endif
				  );

// construct a new vector from dst and src 
static void iter_restrict_assign(const IA_SetStructure &ss, T ** dst,
#ifdef FUNKY_ERROR
				 void *src1_,
				 void *src2_
#else
				 IA_IVIter<P,T> *src1,
				 IA_IVIter<P,T> *src2
#endif
				 );

public:

IA_CoreImage& restrict_assign(const IA_CoreImage&);
