Resolve/C++ Catalog
CT/Natural/Kernel_C.h
Copyright © 2010, Reusable Software Research Group, The Ohio State University

//  /*-------------------------------------------------------------------*\
//  |   Concrete Template : Natural_Kernel_C
//  \*-------------------------------------------------------------------*/

#ifndef CT_NATURAL_KERNEL_C
#define CT_NATURAL_KERNEL_C 1

///------------------------------------------------------------------------
/// Global Context --------------------------------------------------------
///------------------------------------------------------------------------

/*!
    #include "AI/Natural/Kernel.h"
!*/

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

concrete_template <
	concrete_instance class Natural_Base
	/*!
	    implements
		abstract_instance Natural_Kernel
	!*/
    >
class Natural_Kernel_C :
    checks
	concrete_instance Natural_Base
{
public:

    procedure_body Multiply_By_Radix (
	    preserves Integer k
	)
    {
	assert (0 <= k,
		"0 <= k");
	assert (k < self.Radix (),
		"k < RADIX");
	self.Natural_Base::Multiply_By_Radix (k);
    }

};

#endif // CT_NATURAL_KERNEL_C

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