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

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

#ifndef AT_GENERAL_PUT_TO
#define AT_GENERAL_PUT_TO 1

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

abstract_template <
	concrete_instance class Base
    >
class General_Put_To :
    extends
        concrete_instance Base
{
public:

    /*!
	math definition OUTPUT_REP (
		x: Base
	    ): string of character
    !*/

    procedure Put_To (
	    alters Character_OStream& str
	) is_abstract;
    /*!
	preserves self
	requires
	    str.is_open = true
	ensures
	    str.is_open = true  and
	    str.ext_name = #str.ext_name  and
	    str.content = #str.content * OUTPUT_REP (self)
    !*/

};

#endif // AT_GENERAL_PUT_TO

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