Removed sha-256 hash from test
authorkhizmax <libcds.dev@gmail.com>
Tue, 27 Oct 2015 19:52:40 +0000 (22:52 +0300)
committerkhizmax <libcds.dev@gmail.com>
Tue, 27 Oct 2015 19:52:40 +0000 (22:52 +0300)
20 files changed:
cds/intrusive/michael_set_nogc.h
projects/Win/vc12/unit-prerequisites.vcxproj
projects/Win/vc14/unit-prerequisites.vcxproj
projects/source.test-common.mk
tests/CMakeLists.txt
tests/hashing/hash_func.h
tests/hashing/sha256.cpp [deleted file]
tests/hashing/sha256.h [deleted file]
tests/unit/map2/map_defs.h
tests/unit/map2/map_find_string.h
tests/unit/map2/map_find_string_feldmanhashmap.cpp
tests/unit/map2/map_insdel_item_string.h
tests/unit/map2/map_insdel_item_string_feldmanhashmap.cpp
tests/unit/map2/map_insdel_string.h
tests/unit/map2/map_insdel_string_feldmanhashmap.cpp
tests/unit/map2/map_type_feldman_hashmap.h
tests/unit/set2/set_defs.h
tests/unit/set2/set_insdel_string.h
tests/unit/set2/set_insdel_string_feldmanhashset.cpp
tests/unit/set2/set_type_feldman_hashset.h

index 3eaeb04628966eabab6cdda17edad637aff7fb78..2bb458374da588bcbdd41bed537cce67dfffec45 100644 (file)
@@ -262,7 +262,7 @@ namespace cds { namespace intrusive {
         CDS_DEPRECATED("use contains()")
         value_type * find_with( Q const& key, Less pred )
         {
-            return contains( key );
+            return contains( key, pred );
         }
         //@endcond
 
index d0c0011583a55cfdd12e8e2b662927493026e386..99f7a1b370c8f6c25872339d5369bfa1fd77884d 100644 (file)
     <ClInclude Include="..\..\..\tests\hashing\city.h" />\r
     <ClInclude Include="..\..\..\tests\hashing\hash_func.h" />\r
     <ClInclude Include="..\..\..\tests\hashing\md5.h" />\r
-    <ClInclude Include="..\..\..\tests\hashing\sha256.h" />\r
     <ClInclude Include="..\..\..\tests\unit\ellen_bintree_update_desc_pool.h" />\r
     <ClInclude Include="..\..\..\tests\unit\michael_alloc.h" />\r
     <ClInclude Include="..\..\..\tests\cppunit\test_beans.h" />\r
       <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Level2</WarningLevel>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\tests\hashing\md5.cpp" />\r
-    <ClCompile Include="..\..\..\tests\hashing\sha256.cpp" />\r
     <ClCompile Include="..\..\..\tests\unit\ellen_bintree_update_desc_pool.cpp" />\r
     <ClCompile Include="..\..\..\tests\unit\michael_alloc.cpp" />\r
     <ClCompile Include="..\..\..\tests\cppunit\test_main.cpp">\r
index 68cfece4d953507bcbde94f9d22f1c6356d0a108..6668940f6e27dd0b26a25d572ed56179d1429578 100644 (file)
     <ClInclude Include="..\..\..\tests\hashing\city.h" />\r
     <ClInclude Include="..\..\..\tests\hashing\hash_func.h" />\r
     <ClInclude Include="..\..\..\tests\hashing\md5.h" />\r
-    <ClInclude Include="..\..\..\tests\hashing\sha256.h" />\r
     <ClInclude Include="..\..\..\tests\unit\ellen_bintree_update_desc_pool.h" />\r
     <ClInclude Include="..\..\..\tests\unit\michael_alloc.h" />\r
     <ClInclude Include="..\..\..\tests\cppunit\test_beans.h" />\r
       <WarningLevel Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Level2</WarningLevel>\r
     </ClCompile>\r
     <ClCompile Include="..\..\..\tests\hashing\md5.cpp" />\r
-    <ClCompile Include="..\..\..\tests\hashing\sha256.cpp" />\r
     <ClCompile Include="..\..\..\tests\unit\ellen_bintree_update_desc_pool.cpp" />\r
     <ClCompile Include="..\..\..\tests\unit\michael_alloc.cpp" />\r
     <ClCompile Include="..\..\..\tests\cppunit\test_main.cpp">\r
index 97aca01ded4a29954d2fd94eb17f633d10d94038..b478e7401f5d8b50273ac478a7f86e40a0fa00ef 100644 (file)
@@ -5,7 +5,6 @@ CDS_TESTCOMMON_SOURCES := \
     tests/unit/michael_alloc.cpp \
     tests/unit/ellen_bintree_update_desc_pool.cpp \
     tests/hashing/city.cpp \
-    tests/hashing/md5.cpp \
-    tests/hashing/sha256.cpp
+    tests/hashing/md5.cpp
 
 
index 8bbd6f530d36625df649a93ee511ba6dec6e31b4..2769e19fc3e0cd59889a5041b331de3a375d4264 100644 (file)
@@ -7,8 +7,7 @@ set(SOURCES cppunit/test_main.cpp
             unit/michael_alloc.cpp
             unit/ellen_bintree_update_desc_pool.cpp
             hashing/city.cpp
-            hashing/md5.cpp
-            hashing/sha256.cpp)
+            hashing/md5.cpp)
 
 add_library(${TEST_COMMON} OBJECT ${SOURCES})
 
index 8dd23abab83c515d6fcd5f229c484dfc21fe74b8..0cb77168ab1045abb05b613b47e23bd0d197b0bf 100644 (file)
@@ -5,7 +5,6 @@
 
 #include <cds/details/defs.h>
 
-#include "hashing/sha256.h"
 #include "hashing/md5.h"
 #if CDS_BUILD_BITS == 64
 #   include "hashing/city.h"
@@ -43,7 +42,6 @@ namespace hashing {
         }
     };
 
-    typedef hasher<SHA256> sha256;
     typedef hasher<MD5> md5;
 
 #if CDS_BUILD_BITS == 64
diff --git a/tests/hashing/sha256.cpp b/tests/hashing/sha256.cpp
deleted file mode 100644 (file)
index 0c6138c..0000000
+++ /dev/null
@@ -1,411 +0,0 @@
-// //////////////////////////////////////////////////////////
-// sha256.cpp
-// Copyright (c) 2014,2015 Stephan Brumme. All rights reserved.
-// see http://create.stephan-brumme.com/disclaimer.html
-//
-
-#include "sha256.h"
-
-// big endian architectures need #define __BYTE_ORDER __BIG_ENDIAN
-#ifndef _MSC_VER
-#include <endian.h>
-#endif
-
-
-/// same as reset()
-SHA256::SHA256()
-{
-  reset();
-}
-
-
-/// restart
-void SHA256::reset()
-{
-  m_numBytes   = 0;
-  m_bufferSize = 0;
-
-  // according to RFC 1321
-  m_hash[0] = 0x6a09e667;
-  m_hash[1] = 0xbb67ae85;
-  m_hash[2] = 0x3c6ef372;
-  m_hash[3] = 0xa54ff53a;
-  m_hash[4] = 0x510e527f;
-  m_hash[5] = 0x9b05688c;
-  m_hash[6] = 0x1f83d9ab;
-  m_hash[7] = 0x5be0cd19;
-}
-
-
-namespace
-{
-  inline uint32_t rotate(uint32_t a, uint32_t c)
-  {
-    return (a >> c) | (a << (32 - c));
-  }
-
-  inline uint32_t swap(uint32_t x)
-  {
-#if defined(__GNUC__) || defined(__clang__)
-    return __builtin_bswap32(x);
-#endif
-#ifdef MSC_VER
-    return _byteswap_ulong(x);
-#endif
-
-    return (x >> 24) |
-          ((x >>  8) & 0x0000FF00) |
-          ((x <<  8) & 0x00FF0000) |
-           (x << 24);
-  }
-
-  // mix functions for processBlock()
-  inline uint32_t f1(uint32_t e, uint32_t f, uint32_t g)
-  {
-    uint32_t term1 = rotate(e, 6) ^ rotate(e, 11) ^ rotate(e, 25);
-    uint32_t term2 = (e & f) ^ (~e & g); //(g ^ (e & (f ^ g)))
-    return term1 + term2;
-  }
-
-  inline uint32_t f2(uint32_t a, uint32_t b, uint32_t c)
-  {
-    uint32_t term1 = rotate(a, 2) ^ rotate(a, 13) ^ rotate(a, 22);
-    uint32_t term2 = ((a | b) & c) | (a & b); //(a & (b ^ c)) ^ (b & c);
-    return term1 + term2;
-  }
-}
-
-
-/// process 64 bytes
-void SHA256::processBlock(const void* data)
-{
-  // get last hash
-  uint32_t a = m_hash[0];
-  uint32_t b = m_hash[1];
-  uint32_t c = m_hash[2];
-  uint32_t d = m_hash[3];
-  uint32_t e = m_hash[4];
-  uint32_t f = m_hash[5];
-  uint32_t g = m_hash[6];
-  uint32_t h = m_hash[7];
-
-  // data represented as 16x 32-bit words
-  const uint32_t* input = (uint32_t*) data;
-  // convert to big endian
-  uint32_t words[64];
-  int i;
-  for (i = 0; i < 16; i++)
-#if defined(__BYTE_ORDER) && (__BYTE_ORDER != 0) && (__BYTE_ORDER == __BIG_ENDIAN)
-    words[i] =      input[i];
-#else
-    words[i] = swap(input[i]);
-#endif
-
-  uint32_t x,y; // temporaries
-
-  // first round
-  x = h + f1(e,f,g) + 0x428a2f98 + words[ 0]; y = f2(a,b,c); d += x; h = x + y;
-  x = g + f1(d,e,f) + 0x71374491 + words[ 1]; y = f2(h,a,b); c += x; g = x + y;
-  x = f + f1(c,d,e) + 0xb5c0fbcf + words[ 2]; y = f2(g,h,a); b += x; f = x + y;
-  x = e + f1(b,c,d) + 0xe9b5dba5 + words[ 3]; y = f2(f,g,h); a += x; e = x + y;
-  x = d + f1(a,b,c) + 0x3956c25b + words[ 4]; y = f2(e,f,g); h += x; d = x + y;
-  x = c + f1(h,a,b) + 0x59f111f1 + words[ 5]; y = f2(d,e,f); g += x; c = x + y;
-  x = b + f1(g,h,a) + 0x923f82a4 + words[ 6]; y = f2(c,d,e); f += x; b = x + y;
-  x = a + f1(f,g,h) + 0xab1c5ed5 + words[ 7]; y = f2(b,c,d); e += x; a = x + y;
-
-  // secound round
-  x = h + f1(e,f,g) + 0xd807aa98 + words[ 8]; y = f2(a,b,c); d += x; h = x + y;
-  x = g + f1(d,e,f) + 0x12835b01 + words[ 9]; y = f2(h,a,b); c += x; g = x + y;
-  x = f + f1(c,d,e) + 0x243185be + words[10]; y = f2(g,h,a); b += x; f = x + y;
-  x = e + f1(b,c,d) + 0x550c7dc3 + words[11]; y = f2(f,g,h); a += x; e = x + y;
-  x = d + f1(a,b,c) + 0x72be5d74 + words[12]; y = f2(e,f,g); h += x; d = x + y;
-  x = c + f1(h,a,b) + 0x80deb1fe + words[13]; y = f2(d,e,f); g += x; c = x + y;
-  x = b + f1(g,h,a) + 0x9bdc06a7 + words[14]; y = f2(c,d,e); f += x; b = x + y;
-  x = a + f1(f,g,h) + 0xc19bf174 + words[15]; y = f2(b,c,d); e += x; a = x + y;
-
-  // extend to 24 words
-  for (; i < 24; i++)
-    words[i] = words[i-16] +
-               (rotate(words[i-15],  7) ^ rotate(words[i-15], 18) ^ (words[i-15] >>  3)) +
-               words[i-7] +
-               (rotate(words[i- 2], 17) ^ rotate(words[i- 2], 19) ^ (words[i- 2] >> 10));
-
-  // third round
-  x = h + f1(e,f,g) + 0xe49b69c1 + words[16]; y = f2(a,b,c); d += x; h = x + y;
-  x = g + f1(d,e,f) + 0xefbe4786 + words[17]; y = f2(h,a,b); c += x; g = x + y;
-  x = f + f1(c,d,e) + 0x0fc19dc6 + words[18]; y = f2(g,h,a); b += x; f = x + y;
-  x = e + f1(b,c,d) + 0x240ca1cc + words[19]; y = f2(f,g,h); a += x; e = x + y;
-  x = d + f1(a,b,c) + 0x2de92c6f + words[20]; y = f2(e,f,g); h += x; d = x + y;
-  x = c + f1(h,a,b) + 0x4a7484aa + words[21]; y = f2(d,e,f); g += x; c = x + y;
-  x = b + f1(g,h,a) + 0x5cb0a9dc + words[22]; y = f2(c,d,e); f += x; b = x + y;
-  x = a + f1(f,g,h) + 0x76f988da + words[23]; y = f2(b,c,d); e += x; a = x + y;
-
-  // extend to 32 words
-  for (; i < 32; i++)
-    words[i] = words[i-16] +
-               (rotate(words[i-15],  7) ^ rotate(words[i-15], 18) ^ (words[i-15] >>  3)) +
-               words[i-7] +
-               (rotate(words[i- 2], 17) ^ rotate(words[i- 2], 19) ^ (words[i- 2] >> 10));
-
-  // fourth round
-  x = h + f1(e,f,g) + 0x983e5152 + words[24]; y = f2(a,b,c); d += x; h = x + y;
-  x = g + f1(d,e,f) + 0xa831c66d + words[25]; y = f2(h,a,b); c += x; g = x + y;
-  x = f + f1(c,d,e) + 0xb00327c8 + words[26]; y = f2(g,h,a); b += x; f = x + y;
-  x = e + f1(b,c,d) + 0xbf597fc7 + words[27]; y = f2(f,g,h); a += x; e = x + y;
-  x = d + f1(a,b,c) + 0xc6e00bf3 + words[28]; y = f2(e,f,g); h += x; d = x + y;
-  x = c + f1(h,a,b) + 0xd5a79147 + words[29]; y = f2(d,e,f); g += x; c = x + y;
-  x = b + f1(g,h,a) + 0x06ca6351 + words[30]; y = f2(c,d,e); f += x; b = x + y;
-  x = a + f1(f,g,h) + 0x14292967 + words[31]; y = f2(b,c,d); e += x; a = x + y;
-
-  // extend to 40 words
-  for (; i < 40; i++)
-    words[i] = words[i-16] +
-               (rotate(words[i-15],  7) ^ rotate(words[i-15], 18) ^ (words[i-15] >>  3)) +
-               words[i-7] +
-               (rotate(words[i- 2], 17) ^ rotate(words[i- 2], 19) ^ (words[i- 2] >> 10));
-
-  // fifth round
-  x = h + f1(e,f,g) + 0x27b70a85 + words[32]; y = f2(a,b,c); d += x; h = x + y;
-  x = g + f1(d,e,f) + 0x2e1b2138 + words[33]; y = f2(h,a,b); c += x; g = x + y;
-  x = f + f1(c,d,e) + 0x4d2c6dfc + words[34]; y = f2(g,h,a); b += x; f = x + y;
-  x = e + f1(b,c,d) + 0x53380d13 + words[35]; y = f2(f,g,h); a += x; e = x + y;
-  x = d + f1(a,b,c) + 0x650a7354 + words[36]; y = f2(e,f,g); h += x; d = x + y;
-  x = c + f1(h,a,b) + 0x766a0abb + words[37]; y = f2(d,e,f); g += x; c = x + y;
-  x = b + f1(g,h,a) + 0x81c2c92e + words[38]; y = f2(c,d,e); f += x; b = x + y;
-  x = a + f1(f,g,h) + 0x92722c85 + words[39]; y = f2(b,c,d); e += x; a = x + y;
-
-  // extend to 48 words
-  for (; i < 48; i++)
-    words[i] = words[i-16] +
-               (rotate(words[i-15],  7) ^ rotate(words[i-15], 18) ^ (words[i-15] >>  3)) +
-               words[i-7] +
-               (rotate(words[i- 2], 17) ^ rotate(words[i- 2], 19) ^ (words[i- 2] >> 10));
-
-  // sixth round
-  x = h + f1(e,f,g) + 0xa2bfe8a1 + words[40]; y = f2(a,b,c); d += x; h = x + y;
-  x = g + f1(d,e,f) + 0xa81a664b + words[41]; y = f2(h,a,b); c += x; g = x + y;
-  x = f + f1(c,d,e) + 0xc24b8b70 + words[42]; y = f2(g,h,a); b += x; f = x + y;
-  x = e + f1(b,c,d) + 0xc76c51a3 + words[43]; y = f2(f,g,h); a += x; e = x + y;
-  x = d + f1(a,b,c) + 0xd192e819 + words[44]; y = f2(e,f,g); h += x; d = x + y;
-  x = c + f1(h,a,b) + 0xd6990624 + words[45]; y = f2(d,e,f); g += x; c = x + y;
-  x = b + f1(g,h,a) + 0xf40e3585 + words[46]; y = f2(c,d,e); f += x; b = x + y;
-  x = a + f1(f,g,h) + 0x106aa070 + words[47]; y = f2(b,c,d); e += x; a = x + y;
-
-  // extend to 56 words
-  for (; i < 56; i++)
-    words[i] = words[i-16] +
-               (rotate(words[i-15],  7) ^ rotate(words[i-15], 18) ^ (words[i-15] >>  3)) +
-               words[i-7] +
-               (rotate(words[i- 2], 17) ^ rotate(words[i- 2], 19) ^ (words[i- 2] >> 10));
-
-  // seventh round
-  x = h + f1(e,f,g) + 0x19a4c116 + words[48]; y = f2(a,b,c); d += x; h = x + y;
-  x = g + f1(d,e,f) + 0x1e376c08 + words[49]; y = f2(h,a,b); c += x; g = x + y;
-  x = f + f1(c,d,e) + 0x2748774c + words[50]; y = f2(g,h,a); b += x; f = x + y;
-  x = e + f1(b,c,d) + 0x34b0bcb5 + words[51]; y = f2(f,g,h); a += x; e = x + y;
-  x = d + f1(a,b,c) + 0x391c0cb3 + words[52]; y = f2(e,f,g); h += x; d = x + y;
-  x = c + f1(h,a,b) + 0x4ed8aa4a + words[53]; y = f2(d,e,f); g += x; c = x + y;
-  x = b + f1(g,h,a) + 0x5b9cca4f + words[54]; y = f2(c,d,e); f += x; b = x + y;
-  x = a + f1(f,g,h) + 0x682e6ff3 + words[55]; y = f2(b,c,d); e += x; a = x + y;
-
-  // extend to 64 words
-  for (; i < 64; i++)
-    words[i] = words[i-16] +
-               (rotate(words[i-15],  7) ^ rotate(words[i-15], 18) ^ (words[i-15] >>  3)) +
-               words[i-7] +
-               (rotate(words[i- 2], 17) ^ rotate(words[i- 2], 19) ^ (words[i- 2] >> 10));
-
-  // eigth round
-  x = h + f1(e,f,g) + 0x748f82ee + words[56]; y = f2(a,b,c); d += x; h = x + y;
-  x = g + f1(d,e,f) + 0x78a5636f + words[57]; y = f2(h,a,b); c += x; g = x + y;
-  x = f + f1(c,d,e) + 0x84c87814 + words[58]; y = f2(g,h,a); b += x; f = x + y;
-  x = e + f1(b,c,d) + 0x8cc70208 + words[59]; y = f2(f,g,h); a += x; e = x + y;
-  x = d + f1(a,b,c) + 0x90befffa + words[60]; y = f2(e,f,g); h += x; d = x + y;
-  x = c + f1(h,a,b) + 0xa4506ceb + words[61]; y = f2(d,e,f); g += x; c = x + y;
-  x = b + f1(g,h,a) + 0xbef9a3f7 + words[62]; y = f2(c,d,e); f += x; b = x + y;
-  x = a + f1(f,g,h) + 0xc67178f2 + words[63]; y = f2(b,c,d); e += x; a = x + y;
-
-  // update hash
-  m_hash[0] += a;
-  m_hash[1] += b;
-  m_hash[2] += c;
-  m_hash[3] += d;
-  m_hash[4] += e;
-  m_hash[5] += f;
-  m_hash[6] += g;
-  m_hash[7] += h;
-}
-
-
-/// add arbitrary number of bytes
-void SHA256::add(const void* data, size_t numBytes)
-{
-  const uint8_t* current = (const uint8_t*) data;
-
-  if (m_bufferSize > 0)
-  {
-    while (numBytes > 0 && m_bufferSize < BlockSize)
-    {
-      m_buffer[m_bufferSize++] = *current++;
-      numBytes--;
-    }
-  }
-
-  // full buffer
-  if (m_bufferSize == BlockSize)
-  {
-    processBlock(m_buffer);
-    m_numBytes  += BlockSize;
-    m_bufferSize = 0;
-  }
-
-  // no more data ?
-  if (numBytes == 0)
-    return;
-
-  // process full blocks
-  while (numBytes >= BlockSize)
-  {
-    processBlock(current);
-    current    += BlockSize;
-    m_numBytes += BlockSize;
-    numBytes   -= BlockSize;
-  }
-
-  // keep remaining bytes in buffer
-  while (numBytes > 0)
-  {
-    m_buffer[m_bufferSize++] = *current++;
-    numBytes--;
-  }
-}
-
-
-/// process final block, less than 64 bytes
-void SHA256::processBuffer()
-{
-  // the input bytes are considered as bits strings, where the first bit is the most significant bit of the byte
-
-  // - append "1" bit to message
-  // - append "0" bits until message length in bit mod 512 is 448
-  // - append length as 64 bit integer
-
-  // number of bits
-  size_t paddedLength = m_bufferSize * 8;
-
-  // plus one bit set to 1 (always appended)
-  paddedLength++;
-
-  // number of bits must be (numBits % 512) = 448
-  size_t lower11Bits = paddedLength & 511;
-  if (lower11Bits <= 448)
-    paddedLength +=       448 - lower11Bits;
-  else
-    paddedLength += 512 + 448 - lower11Bits;
-  // convert from bits to bytes
-  paddedLength /= 8;
-
-  // only needed if additional data flows over into a second block
-  unsigned char extra[BlockSize];
-
-  // append a "1" bit, 128 => binary 10000000
-  if (m_bufferSize < BlockSize)
-    m_buffer[m_bufferSize] = 128;
-  else
-    extra[0] = 128;
-
-  size_t i;
-  for (i = m_bufferSize + 1; i < BlockSize; i++)
-    m_buffer[i] = 0;
-  for (; i < paddedLength; i++)
-    extra[i - BlockSize] = 0;
-
-  // add message length in bits as 64 bit number
-  uint64_t msgBits = 8 * (m_numBytes + m_bufferSize);
-  // find right position
-  unsigned char* addLength;
-  if (paddedLength < BlockSize)
-    addLength = m_buffer + paddedLength;
-  else
-    addLength = extra + paddedLength - BlockSize;
-
-  // must be big endian
-  *addLength++ = (unsigned char)((msgBits >> 56) & 0xFF);
-  *addLength++ = (unsigned char)((msgBits >> 48) & 0xFF);
-  *addLength++ = (unsigned char)((msgBits >> 40) & 0xFF);
-  *addLength++ = (unsigned char)((msgBits >> 32) & 0xFF);
-  *addLength++ = (unsigned char)((msgBits >> 24) & 0xFF);
-  *addLength++ = (unsigned char)((msgBits >> 16) & 0xFF);
-  *addLength++ = (unsigned char)((msgBits >>  8) & 0xFF);
-  *addLength   = (unsigned char)( msgBits        & 0xFF);
-
-  // process blocks
-  processBlock(m_buffer);
-  // flowed over into a second block ?
-  if (paddedLength > BlockSize)
-    processBlock(extra);
-}
-
-
-/// return latest hash as 64 hex characters
-std::string SHA256::getHash()
-{
-  // compute hash (as raw bytes)
-  unsigned char rawHash[HashBytes];
-  getHash(rawHash);
-
-  // convert to hex string
-  std::string result;
-  result.reserve(2 * HashBytes);
-  for (int i = 0; i < HashBytes; i++)
-  {
-    static const char dec2hex[16+1] = "0123456789abcdef";
-    result += dec2hex[(rawHash[i] >> 4) & 15];
-    result += dec2hex[ rawHash[i]       & 15];
-  }
-
-  return result;
-}
-
-
-/// return latest hash as bytes
-void SHA256::getHash(unsigned char buffer[SHA256::HashBytes])
-{
-  // save old hash if buffer is partially filled
-  uint32_t oldHash[HashValues];
-  for (int i = 0; i < HashValues; i++)
-    oldHash[i] = m_hash[i];
-
-  // process remaining bytes
-  processBuffer();
-
-  unsigned char* current = buffer;
-  for (int i = 0; i < HashValues; i++)
-  {
-    *current++ = (m_hash[i] >> 24) & 0xFF;
-    *current++ = (m_hash[i] >> 16) & 0xFF;
-    *current++ = (m_hash[i] >>  8) & 0xFF;
-    *current++ =  m_hash[i]        & 0xFF;
-
-    // restore old hash
-    m_hash[i] = oldHash[i];
-  }
-}
-
-
-/// compute SHA256 of a memory block
-std::string SHA256::operator()(const void* data, size_t numBytes)
-{
-  reset();
-  add(data, numBytes);
-  return getHash();
-}
-
-
-/// compute SHA256 of a string, excluding final zero
-std::string SHA256::operator()(const std::string& text)
-{
-  reset();
-  add(text.c_str(), text.size());
-  return getHash();
-}
diff --git a/tests/hashing/sha256.h b/tests/hashing/sha256.h
deleted file mode 100644 (file)
index aeaf314..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-// //////////////////////////////////////////////////////////
-// sha256.h
-// Copyright (c) 2014,2015 Stephan Brumme. All rights reserved.
-// see http://create.stephan-brumme.com/disclaimer.html
-//
-
-#pragma once
-
-//#include "hash.h"
-#include <string>
-
-// define fixed size integer types
-#ifdef _MSC_VER
-// Windows
-typedef unsigned __int8  uint8_t;
-typedef unsigned __int32 uint32_t;
-typedef unsigned __int64 uint64_t;
-#else
-// GCC
-#include <stdint.h>
-#endif
-
-
-/// compute SHA256 hash
-/** Usage:
-    SHA256 sha256;
-    std::string myHash  = sha256("Hello World");     // std::string
-    std::string myHash2 = sha256("How are you", 11); // arbitrary data, 11 bytes
-
-    // or in a streaming fashion:
-
-    SHA256 sha256;
-    while (more data available)
-      sha256.add(pointer to fresh data, number of new bytes);
-    std::string myHash3 = sha256.getHash();
-  */
-class SHA256 //: public Hash
-{
-public:
-  /// split into 64 byte blocks (=> 512 bits), hash is 32 bytes long
-  enum { BlockSize = 512 / 8, HashBytes = 32 };
-
-  /// same as reset()
-  SHA256();
-
-  /// compute SHA256 of a memory block
-  std::string operator()(const void* data, size_t numBytes);
-  /// compute SHA256 of a string, excluding final zero
-  std::string operator()(const std::string& text);
-
-  /// add arbitrary number of bytes
-  void add(const void* data, size_t numBytes);
-
-  /// return latest hash as 64 hex characters
-  std::string getHash();
-  /// return latest hash as bytes
-  void        getHash(unsigned char buffer[HashBytes]);
-
-  /// restart
-  void reset();
-
-private:
-  /// process 64 bytes
-  void processBlock(const void* data);
-  /// process everything left in the internal buffer
-  void processBuffer();
-
-  /// size of processed data in bytes
-  uint64_t m_numBytes;
-  /// valid bytes in m_buffer
-  size_t   m_bufferSize;
-  /// bytes not processed yet
-  uint8_t  m_buffer[BlockSize];
-
-  enum { HashValues = HashBytes / 4 };
-  /// hash, stored as integers
-  uint32_t m_hash[HashValues];
-};
index b44879dea36a6bbc757ab331ca7100a9c2b000a5..3c398160ad95348a61de149da586c2adc88d8e5e 100644 (file)
     CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_md5_stat) \
     CDSUNIT_TEST_FeldmanHashMap_md5_RCU_Signal
 
-// SHA256
-
-#undef CDSUNIT_DECLARE_FeldmanHashMap_sha256
-#undef CDSUNIT_DECLARE_FeldmanHashMap_sha256_RCU_Signal
-#undef CDSUNIT_TEST_FeldmanHashMap_sha256
-#undef CDSUNIT_TEST_FeldmanHashMap_sha256_RCU_Signal
-
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-#   define CDSUNIT_DECLARE_FeldmanHashMap_sha256_RCU_Signal \
-        TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_sha256) \
-        TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_shb_sha256_stat) \
-        TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_sha256) \
-        TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_sht_sha256_stat) \
-
-#   define CDSUNIT_TEST_FeldmanHashMap_sha256_RCU_Signal \
-        CPPUNIT_TEST(FeldmanHashMap_rcu_shb_sha256) \
-        CPPUNIT_TEST(FeldmanHashMap_rcu_shb_sha256_stat) \
-        CPPUNIT_TEST(FeldmanHashMap_rcu_sht_sha256) \
-        CPPUNIT_TEST(FeldmanHashMap_rcu_sht_sha256_stat) \
-
-#else
-#   define CDSUNIT_DECLARE_FeldmanHashMap_sha256_RCU_Signal
-#   define CDSUNIT_TEST_FeldmanHashMap_sha256_RCU_Signal
-#endif
-
-
-#define CDSUNIT_DECLARE_FeldmanHashMap_sha256 \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_sha256) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_hp_sha256_stat) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_sha256) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_dhp_sha256_stat) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_sha256) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpi_sha256_stat) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_sha256) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpb_sha256_stat) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_sha256) \
-    TEST_CASE(tag_FeldmanHashMap, FeldmanHashMap_rcu_gpt_sha256_stat) \
-    CDSUNIT_DECLARE_FeldmanHashMap_sha256_RCU_Signal
-
-#define CDSUNIT_TEST_FeldmanHashMap_sha256 \
-    CPPUNIT_TEST(FeldmanHashMap_hp_sha256) \
-    CPPUNIT_TEST(FeldmanHashMap_hp_sha256_stat) \
-    CPPUNIT_TEST(FeldmanHashMap_dhp_sha256) \
-    CPPUNIT_TEST(FeldmanHashMap_dhp_sha256_stat) \
-    CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_sha256) \
-    CPPUNIT_TEST(FeldmanHashMap_rcu_gpi_sha256_stat) \
-    CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_sha256) \
-    CPPUNIT_TEST(FeldmanHashMap_rcu_gpb_sha256_stat) \
-    CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_sha256) \
-    CPPUNIT_TEST(FeldmanHashMap_rcu_gpt_sha256_stat) \
-    CDSUNIT_TEST_FeldmanHashMap_sha256_RCU_Signal
 
 // CityHash - only for 64bit
 
     CDSUNIT_DECLARE_FeldmanHashMap_fixed \
     CDSUNIT_DECLARE_FeldmanHashMap_stdhash \
     CDSUNIT_DECLARE_FeldmanHashMap_md5 \
-    CDSUNIT_DECLARE_FeldmanHashMap_sha256 \
     CDSUNIT_DECLARE_FeldmanHashMap_city \
 
 #define CDSUNIT_TEST_FeldmanHashMap \
     CDSUNIT_TEST_FeldmanHashMap_fixed \
     CDSUNIT_TEST_FeldmanHashMap_stdhash \
     CDSUNIT_TEST_FeldmanHashMap_md5 \
-    CDSUNIT_TEST_FeldmanHashMap_sha256 \
     CDSUNIT_TEST_FeldmanHashMap_city
 
index cbba772cca70e75a7f468eb288eb5fb1e38c631e..ad328bbba269f8fa642bfca63847a694b59f3292 100644 (file)
@@ -217,7 +217,6 @@ namespace map2 {
         CDSUNIT_DECLARE_EllenBinTreeMap
         CDSUNIT_DECLARE_BronsonAVLTreeMap
         CDSUNIT_DECLARE_FeldmanHashMap_md5
-        CDSUNIT_DECLARE_FeldmanHashMap_sha256
         CDSUNIT_DECLARE_FeldmanHashMap_city
         CDSUNIT_DECLARE_StripedMap
         CDSUNIT_DECLARE_RefinableMap
@@ -235,7 +234,6 @@ namespace map2 {
             CDSUNIT_TEST_EllenBinTreeMap
             CDSUNIT_TEST_BronsonAVLTreeMap
             CDSUNIT_TEST_FeldmanHashMap_md5
-            CDSUNIT_TEST_FeldmanHashMap_sha256
             CDSUNIT_TEST_FeldmanHashMap_city
             CDSUNIT_TEST_CuckooMap
             CDSUNIT_TEST_StripedMap
index af6121efc9eec0d80f3c5a93039d2a383115f383..26a906000e961d0a61937d28f2e2610536fe717d 100644 (file)
@@ -9,6 +9,5 @@
 
 namespace map2 {
     CDSUNIT_DECLARE_FeldmanHashMap_md5
-    CDSUNIT_DECLARE_FeldmanHashMap_sha256
     CDSUNIT_DECLARE_FeldmanHashMap_city
 } // namespace map2
index 56ef762ef3b37ac4de11d19c4e904fe47f74c9fd..2dfcbaf02c6c4656325ca74bc26fdc6e638904b0 100644 (file)
@@ -258,7 +258,6 @@ namespace map2 {
         CDSUNIT_DECLARE_EllenBinTreeMap
         CDSUNIT_DECLARE_BronsonAVLTreeMap
         CDSUNIT_DECLARE_FeldmanHashMap_md5
-        CDSUNIT_DECLARE_FeldmanHashMap_sha256
         CDSUNIT_DECLARE_FeldmanHashMap_city
         CDSUNIT_DECLARE_StripedMap
         CDSUNIT_DECLARE_RefinableMap
@@ -272,7 +271,6 @@ namespace map2 {
             CDSUNIT_TEST_EllenBinTreeMap
             CDSUNIT_TEST_BronsonAVLTreeMap
             CDSUNIT_TEST_FeldmanHashMap_md5
-            CDSUNIT_TEST_FeldmanHashMap_sha256
             CDSUNIT_TEST_FeldmanHashMap_city
             CDSUNIT_TEST_CuckooMap
             CDSUNIT_TEST_StripedMap
index 659d0e65e448253c9130e7637756222877d4cf83..4039ae0aa8518956a674d1b3f7fde656dbef7de6 100644 (file)
@@ -9,6 +9,5 @@
 
 namespace map2 {
     CDSUNIT_DECLARE_FeldmanHashMap_md5
-    CDSUNIT_DECLARE_FeldmanHashMap_sha256
     CDSUNIT_DECLARE_FeldmanHashMap_city
 } // namespace map2
index 8c71f0818277734936ab10a7fe992c2672cd38bb..294b92987861e88f0dbbdb49573c6eb2021bdbe2 100644 (file)
@@ -256,7 +256,6 @@ namespace map2 {
         CDSUNIT_DECLARE_SkipListMap
         CDSUNIT_DECLARE_EllenBinTreeMap
         CDSUNIT_DECLARE_BronsonAVLTreeMap
-        CDSUNIT_DECLARE_FeldmanHashMap_sha256
         CDSUNIT_DECLARE_FeldmanHashMap_city
         CDSUNIT_DECLARE_StripedMap
         CDSUNIT_DECLARE_RefinableMap
@@ -269,7 +268,6 @@ namespace map2 {
             CDSUNIT_TEST_SkipListMap
             CDSUNIT_TEST_EllenBinTreeMap
             CDSUNIT_TEST_BronsonAVLTreeMap
-            CDSUNIT_TEST_FeldmanHashMap_sha256
             CDSUNIT_TEST_FeldmanHashMap_city
             CDSUNIT_TEST_CuckooMap
             CDSUNIT_TEST_StripedMap
index 60cc35138a492d3dea884a7d23f45cb95708560a..71e318311fefd523f21f41784db4a7bf092271a2 100644 (file)
@@ -8,6 +8,5 @@
 #include "map2/map_defs.h"
 
 namespace map2 {
-    CDSUNIT_DECLARE_FeldmanHashMap_sha256
     CDSUNIT_DECLARE_FeldmanHashMap_city
 } // namespace map2
index b858846c71c4e659162eeb1c42de94e4230fa1c9..d23cb3b2d225633aae61ad15215ff30016489ce4 100644 (file)
@@ -69,35 +69,6 @@ namespace map2 {
         typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_stdhash_stat >    FeldmanHashMap_rcu_sht_stdhash_stat;
 #endif
 
-        // SHA256
-        struct traits_FeldmanHashMap_sha256 : public cc::feldman_hashmap::traits
-        {
-            typedef ::hashing::sha256 hash;
-        };
-        typedef FeldmanHashMap< cds::gc::HP,  Key, Value, traits_FeldmanHashMap_sha256 >    FeldmanHashMap_hp_sha256;
-        typedef FeldmanHashMap< cds::gc::DHP, Key, Value, traits_FeldmanHashMap_sha256 >    FeldmanHashMap_dhp_sha256;
-        typedef FeldmanHashMap< rcu_gpi, Key, Value, traits_FeldmanHashMap_sha256 >    FeldmanHashMap_rcu_gpi_sha256;
-        typedef FeldmanHashMap< rcu_gpb, Key, Value, traits_FeldmanHashMap_sha256 >    FeldmanHashMap_rcu_gpb_sha256;
-        typedef FeldmanHashMap< rcu_gpt, Key, Value, traits_FeldmanHashMap_sha256 >    FeldmanHashMap_rcu_gpt_sha256;
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-        typedef FeldmanHashMap< rcu_shb, Key, Value, traits_FeldmanHashMap_sha256 >    FeldmanHashMap_rcu_shb_sha256;
-        typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_sha256 >    FeldmanHashMap_rcu_sht_sha256;
-#endif
-
-        struct traits_FeldmanHashMap_sha256_stat : public traits_FeldmanHashMap_sha256
-        {
-            typedef cc::feldman_hashmap::stat<> stat;
-        };
-        typedef FeldmanHashMap< cds::gc::HP,  Key, Value, traits_FeldmanHashMap_sha256_stat >    FeldmanHashMap_hp_sha256_stat;
-        typedef FeldmanHashMap< cds::gc::DHP, Key, Value, traits_FeldmanHashMap_sha256_stat >    FeldmanHashMap_dhp_sha256_stat;
-        typedef FeldmanHashMap< rcu_gpi, Key, Value, traits_FeldmanHashMap_sha256_stat >    FeldmanHashMap_rcu_gpi_sha256_stat;
-        typedef FeldmanHashMap< rcu_gpb, Key, Value, traits_FeldmanHashMap_sha256_stat >    FeldmanHashMap_rcu_gpb_sha256_stat;
-        typedef FeldmanHashMap< rcu_gpt, Key, Value, traits_FeldmanHashMap_sha256_stat >    FeldmanHashMap_rcu_gpt_sha256_stat;
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-        typedef FeldmanHashMap< rcu_shb, Key, Value, traits_FeldmanHashMap_sha256_stat >    FeldmanHashMap_rcu_shb_sha256_stat;
-        typedef FeldmanHashMap< rcu_sht, Key, Value, traits_FeldmanHashMap_sha256_stat >    FeldmanHashMap_rcu_sht_sha256_stat;
-#endif
-
         //MD5
         struct traits_FeldmanHashMap_md5 : public cc::feldman_hashmap::traits
         {
index ce1f9c1e26819bbc9b3062e5d5cbddd834e44409..f9e07cf2a02ec640d45f352916cf1023f2a1486a 100644 (file)
     CDSUNIT_TEST_FeldmanHashSet_md5_RCU_signal
 
 
-// SHA256
-#undef CDSUNIT_DECLARE_FeldmanHashSet_sha256
-#undef CDSUNIT_DECLARE_FeldmanHashSet_sha256_RCU_signal
-#undef CDSUNIT_TEST_FeldmanHashSet_sha256
-#undef CDSUNIT_TEST_FeldmanHashSet_sha256_RCU_signal
-
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-#   define CDSUNIT_DECLARE_FeldmanHashSet_sha256_RCU_signal  \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_sha256) \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_sha256_stat) \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_sha256) \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_sha256_stat) \
-
-#   define CDSUNIT_TEST_FeldmanHashSet_sha256_RCU_signal \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_sha256) \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_shb_sha256_stat) \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_sha256) \
-        TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_sht_sha256_stat) \
-
-#else
-#   define CDSUNIT_DECLARE_FeldmanHashSet_sha256_RCU_signal
-#   define CDSUNIT_TEST_FeldmanHashSet_sha256_RCU_signal
-#endif
-
-#define CDSUNIT_DECLARE_FeldmanHashSet_sha256  \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_sha256) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_hp_sha256_stat) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_sha256) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_dhp_sha256_stat) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_sha256) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpi_sha256_stat) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_sha256) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpb_sha256_stat) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_sha256) \
-    TEST_CASE(tag_FeldmanHashSet, FeldmanHashSet_rcu_gpt_sha256_stat) \
-    CDSUNIT_DECLARE_FeldmanHashSet_sha256_RCU_signal
-
-#define CDSUNIT_TEST_FeldmanHashSet_sha256  \
-    CPPUNIT_TEST(FeldmanHashSet_hp_sha256) \
-    CPPUNIT_TEST(FeldmanHashSet_hp_sha256_stat) \
-    CPPUNIT_TEST(FeldmanHashSet_dhp_sha256) \
-    CPPUNIT_TEST(FeldmanHashSet_dhp_sha256_stat) \
-    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_sha256) \
-    CPPUNIT_TEST(FeldmanHashSet_rcu_gpi_sha256_stat) \
-    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_sha256) \
-    CPPUNIT_TEST(FeldmanHashSet_rcu_gpb_sha256_stat) \
-    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_sha256) \
-    CPPUNIT_TEST(FeldmanHashSet_rcu_gpt_sha256_stat) \
-    CDSUNIT_TEST_FeldmanHashSet_sha256_RCU_signal
-
-
 // CityHash -only for 64bit 
 #undef CDSUNIT_DECLARE_FeldmanHashSet_city
 #undef CDSUNIT_DECLARE_FeldmanHashSet_city_RCU_signal
     CDSUNIT_DECLARE_FeldmanHashSet_fixed \
     CDSUNIT_DECLARE_FeldmanHashSet_stdhash \
     CDSUNIT_DECLARE_FeldmanHashSet_md5 \
-    CDSUNIT_DECLARE_FeldmanHashSet_sha256 \
     CDSUNIT_DECLARE_FeldmanHashSet_city
 
 #define CDSUNIT_TEST_FeldmanHashSet \
     CDSUNIT_TEST_FeldmanHashSet_fixed \
     CDSUNIT_TEST_FeldmanHashSet_stdhash \
     CDSUNIT_TEST_FeldmanHashSet_md5 \
-    CDSUNIT_TEST_FeldmanHashSet_sha256 \
     CDSUNIT_TEST_FeldmanHashSet_city
index 6ab2f4207b13ec9642cc03671d03c2ecb882a08e..36ae9565689cda21f1a2341a110406625d22bb2d 100644 (file)
@@ -519,7 +519,6 @@ namespace set2 {
         CDSUNIT_DECLARE_EllenBinTreeSet
         CDSUNIT_DECLARE_FeldmanHashSet_stdhash
         CDSUNIT_DECLARE_FeldmanHashSet_md5
-        CDSUNIT_DECLARE_FeldmanHashSet_sha256
         CDSUNIT_DECLARE_FeldmanHashSet_city
         CDSUNIT_DECLARE_StdSet
 
@@ -529,7 +528,6 @@ namespace set2 {
             CDSUNIT_TEST_SkipListSet
             CDSUNIT_TEST_FeldmanHashSet_stdhash
             CDSUNIT_TEST_FeldmanHashSet_md5
-            CDSUNIT_TEST_FeldmanHashSet_sha256
             CDSUNIT_TEST_FeldmanHashSet_city
             CDSUNIT_TEST_EllenBinTreeSet
             CDSUNIT_TEST_StripedSet
index e9becc459cac576870bb925e1fd80a5b0e7fa350..306d8f2b32a08adbeaebbcc02398419ed9c452b7 100644 (file)
@@ -10,6 +10,5 @@
 namespace set2 {
     CDSUNIT_DECLARE_FeldmanHashSet_stdhash
     CDSUNIT_DECLARE_FeldmanHashSet_md5
-    CDSUNIT_DECLARE_FeldmanHashSet_sha256
     CDSUNIT_DECLARE_FeldmanHashSet_city
 } // namespace set2
index 68066db0b1f2796f9452bcae7e04744b2d505ba8..5b82c7547154c442fa047e8962b9d5fdee5c996e 100644 (file)
@@ -152,31 +152,6 @@ namespace set2 {
         typedef FeldmanHashSet< rcu_sht, key_val<std::hash<key_type>>, traits_FeldmanHashSet_stat >    FeldmanHashSet_rcu_sht_stdhash_stat;
 #endif
 
-        // SHA256
-        typedef FeldmanHashSet< cds::gc::HP,  key_val<::hashing::sha256>, default_traits >    FeldmanHashSet_hp_sha256;
-        typedef FeldmanHashSet< cds::gc::DHP, key_val<::hashing::sha256>, default_traits >    FeldmanHashSet_dhp_sha256;
-        typedef FeldmanHashSet< rcu_gpi, key_val<::hashing::sha256>, default_traits >    FeldmanHashSet_rcu_gpi_sha256;
-        typedef FeldmanHashSet< rcu_gpb, key_val<::hashing::sha256>, default_traits >    FeldmanHashSet_rcu_gpb_sha256;
-        typedef FeldmanHashSet< rcu_gpt, key_val<::hashing::sha256>, default_traits >    FeldmanHashSet_rcu_gpt_sha256;
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-        typedef FeldmanHashSet< rcu_shb, key_val<::hashing::sha256>, default_traits >    FeldmanHashSet_rcu_shb_sha256;
-        typedef FeldmanHashSet< rcu_sht, key_val<::hashing::sha256>, default_traits >    FeldmanHashSet_rcu_sht_sha256;
-#endif
-
-        struct traits_FeldmanHashSet_sha256_stat : public default_traits
-        {
-            typedef cc::feldman_hashset::stat<> stat;
-        };
-        typedef FeldmanHashSet< cds::gc::HP,  key_val<::hashing::sha256>, traits_FeldmanHashSet_sha256_stat >    FeldmanHashSet_hp_sha256_stat;
-        typedef FeldmanHashSet< cds::gc::DHP, key_val<::hashing::sha256>, traits_FeldmanHashSet_sha256_stat >    FeldmanHashSet_dhp_sha256_stat;
-        typedef FeldmanHashSet< rcu_gpi, key_val<::hashing::sha256>, traits_FeldmanHashSet_sha256_stat >    FeldmanHashSet_rcu_gpi_sha256_stat;
-        typedef FeldmanHashSet< rcu_gpb, key_val<::hashing::sha256>, traits_FeldmanHashSet_sha256_stat >    FeldmanHashSet_rcu_gpb_sha256_stat;
-        typedef FeldmanHashSet< rcu_gpt, key_val<::hashing::sha256>, traits_FeldmanHashSet_sha256_stat >    FeldmanHashSet_rcu_gpt_sha256_stat;
-#ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED
-        typedef FeldmanHashSet< rcu_shb, key_val<::hashing::sha256>, traits_FeldmanHashSet_sha256_stat >    FeldmanHashSet_rcu_shb_sha256_stat;
-        typedef FeldmanHashSet< rcu_sht, key_val<::hashing::sha256>, traits_FeldmanHashSet_sha256_stat >    FeldmanHashSet_rcu_sht_sha256_stat;
-#endif
-
         //MD5
         typedef FeldmanHashSet< cds::gc::HP,  key_val<::hashing::md5>, default_traits >    FeldmanHashSet_hp_md5;
         typedef FeldmanHashSet< cds::gc::DHP, key_val<::hashing::md5>, default_traits >    FeldmanHashSet_dhp_md5;