**fig5_14.txt** /* 1*/ template /* 2*/ void /* 3*/ Hash_Table:: /* 4*/ Allocate_Cells( ) /* 5*/ { /* 6*/ The_Cells = new Hash_Entry [ H_Size ]; /* 7*/ if( The_Cells == NULL ) /* 8*/ Error( "Out of space!!" ); /* 9*/ } /*10*/ template /*11*/ Hash_Table:: /*12*/ Hash_Table( unsigned int Initial_Size ) /*13*/ { /*14*/ H_Size = Next_Prime( Initial_Size ); /*15*/ Allocate_Cells( ); /*16*/ } /* 1*/ template /* 2*/ void /* 3*/ Hash_Table:: /* 4*/ Initialize_Table( ) /* 5*/ { /* 6*/ delete [ ] The_Cells; /* 7*/ Allocate_Cells( ); /* 8*/ } /* 1*/ template /* 2*/ const Hash_Table & /* 3*/ Hash_Table:: /* 4*/ operator = ( const Hash_Table & Value ) /* 5*/ { /* 6*/ if( this != &Value ) /* 7*/ { /* 8*/ delete [ ] The_Cells; /* 9*/ H_Size = Value.H_Size; /*10*/ Allocate_Cells( ); /*11*/ for( int i = 0; i < H_Size; i++ ) /*12*/ The_Cells[ i ] = Value.The_Cells[ i ]; /*13*/ } /*14*/ return *this; /*15*/ }