Resolve/C++ Catalog
AT/General/Copy_To.h
Copyright © 2010, Reusable Software Research Group, The Ohio State University

//  /*-------------------------------------------------------------------*\
//  |   Abstract Template : General_Copy_To
//  \*-------------------------------------------------------------------*/

#ifndef AT_GENERAL_COPY_TO
#define AT_GENERAL_COPY_TO 1

///------------------------------------------------------------------------
/// Interface -------------------------------------------------------------
///------------------------------------------------------------------------

abstract_template <
        concrete_instance class Base,
	concrete_instance class T
	/*!
	    satisfies restriction
		[T implements whatever Base implements]
	!*/
    >
class General_Copy_To :
    extends
        concrete_instance Base
{
public:

    procedure Copy_To (
	    produces T& x
	) is_abstract;
    /*!
	preserves self
	ensures
	    x = self
    !*/

};

#endif // AT_GENERAL_COPY_TO

Last modified: Thu Jan 11 17:05:57 EST 2007