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

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

#ifndef CT_PARTIAL_MAP_KERNEL_2_C
#define CT_PARTIAL_MAP_KERNEL_2_C 1

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

#include "CT/Partial_Map/Kernel_2.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_Pair =
            Record <
		    D_Item, 
		    R_Item
		>,
        concrete_instance class Queue_Of_D_R_Pair =
    	    Queue_Kernel_1a <D_R_Pair>,
        concrete_instance class Array_Of_Queue =
	    Array_Kernel_1 <Queue_Of_D_R_Pair>,
	concrete_instance class Rep =
	    Representation <
		    Array_Of_Queue,
		    Integer
		>
    >
class Partial_Map_Kernel_2_C :
    specializes
	Partial_Map_Kernel_C <
		D_Item,
		R_Item,
		Partial_Map_Kernel_2 <
                        D_Item,
                        R_Item,
                        D_Item_Hash,
			hash_table_size,
			D_R_Pair,
			Queue_Of_D_R_Pair,
			Array_Of_Queue,
			Rep
                    >
	    >
{};

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

#endif // CT_PARTIAL_MAP_KERNEL_2_C

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