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

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

#ifndef CT_XYZ_KERNEL_1_C
#define CT_XYZ_KERNEL_1_C 1

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

#include "CT/XYZ/Kernel_1.h"
#include "CT/XYZ/Kernel_C.h"

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

// This component has the same template parameters, including
// defaults, as XYZ_Kernel_1.  This permits a client to provide
// replacements for the default parameters if desired, though a client
// typically would not do this.

concrete_template <
        concrete_instance class Item,
        concrete_instance utility_class ABC_Utility,
        /*!
            implements
                abstract_instance ABC_Some_Op <Item>
        !*/
        concrete_instance class DEF_Of_Item =
            DEF_Kernel_1 <Item>,
        concrete_instance class Rep =
            Representation <
		    DEF_Of_Item,
		    Integer
		>
    >
class XYZ_Kernel_1_C :
    specializes
	XYZ_Kernel_C <
		Item,
		XYZ_Kernel_1 <
                        Item,
                        ABC_Utility,
			DEF_Of_Item,
                        Rep
		    >
	    >
{};

//----------------------------------------------------------------------

#endif // CT_XYZ_KERNEL_1_C

Last modified: Tue Aug 05 16:12:08 EDT 2008