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

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

#ifndef CT_PARTIAL_MAP_KERNEL_4_C
#define CT_PARTIAL_MAP_KERNEL_4_C 1

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

#include "CT/Partial_Map/Kernel_4.h"
#include "CT/Partial_Map/Kernel_C.h"
/*!
    #include "AT/General/Is_Equal_To.h"
    #include "AT/General/Hash.h"
!*/

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

concrete_template <
	concrete_instance class D_Item,
	/*!
	    implements
		abstract_instance General_Is_Equal_To <D_Item, D_Item>
	!*/
	concrete_instance class R_Item,
	concrete_instance utility_class D_Item_Hash,
	/*!
	    implements
		abstract_instance General_Hash <D_Item>
	!*/	    
	Integer_constant hash_table_size,
	/*!
	    satisfies restriction
	        hash_table_size > 0
	!*/
        concrete_instance class D_R_Partial_Map =
            Partial_Map_Kernel_1 <
                    D_Item,
                    R_Item
                >,
        concrete_instance class Static_Array_Of_Partial_Map =
            Static_Array_Kernel_1 <
		    D_R_Partial_Map,
		    0,
		    hash_table_size - 1
		>,
	concrete_instance class Rep =
            Representation <
		    Static_Array_Of_Partial_Map,
		    Integer
		>
    >
class Partial_Map_Kernel_4_C :
    specializes
	Partial_Map_Kernel_C <
		D_Item,
		R_Item,
		Partial_Map_Kernel_4 <
                        D_Item,
                        R_Item,
			D_Item_Hash,
			hash_table_size,
			D_R_Partial_Map,
			Static_Array_Of_Partial_Map,
			Rep
                    >
	    >
{};

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

#endif // CT_PARTIAL_MAP_KERNEL_4_C

Last modified: Thu Dec 17 15:41:29 EST 2009