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

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

#ifndef CT_SET_KERNEL_2_C
#define CT_SET_KERNEL_2_C 1

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

#include "CT/Set/Kernel_2.h"
#include "CT/Set/Kernel_C.h"
/*!
    #include "AT/General/Is_Equal_To.h"
    #include "AT/General/Hash.h"
!*/

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

concrete_template <
	concrete_instance class Item,
        /*!
            implements
                abstract_instance General_Is_Equal_To <Item>
        !*/
	concrete_instance utility_class Item_Hash,
	/*!
	    implements
		abstract_instance General_Hash <Item>
	!*/
	Integer_constant hash_table_size,
	/*!
	    satisfies restriction
	        hash_table_size > 0
	!*/
	concrete_instance class Set_Of_Item =
            Set_Kernel_1 <Item>,
        concrete_instance class Static_Array_Of_Set_Of_Item =
            Static_Array_Kernel_1 <
                    Set_Of_Item,
                    0,
                    hash_table_size - 1
                >,
	concrete_instance class Rep =
            Representation <
		    Static_Array_Of_Set_Of_Item,
		    Integer
		>
    >
class Set_Kernel_2_C :
    specializes
	Set_Kernel_C <
		Item,
		Set_Kernel_2 <
			Item,
                        Item_Hash,
			hash_table_size,
			Set_Of_Item,
			Static_Array_Of_Set_Of_Item,
			Rep
		    >
	    >
{};

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

#endif // CT_SET_KERNEL_2_C

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