elements/src/support
Andrew Chow c033720b2b
Merge bitcoin/bitcoin#16195: util: Use void* throughout support/lockedpool.h
f36d1d5b89 Use void* throughout support/lockedpool.h (Jeffrey Czyz)

Pull request description:

  Replace uses of char* with void* in Arena's member variables. Instead,
  cast to char* where needed in the implementation.

  Certain compiler environments disallow std::hash<char*> specializations
  to prevent hashing the pointer's value instead of the string contents.
  Thus, compilation fails when std::unordered_map is keyed by char*.

  Explicitly using void* is a workaround in such environments. For
  consistency, void* is used throughout all member variables similarly to
  the public interface.

  Changes to this code are covered by src/test/allocator_tests.cpp.

ACKs for top commit:
  achow101:
    ACK f36d1d5b89
  theStack:
    Code-review ACK f36d1d5b89
  jonatack:
    ACK f36d1d5b89 review, debug build, unit tests, checked clang 15 raises "error: arithmetic on a pointer to void"  without the conversions here from the generic void* pointer back to char*

Tree-SHA512: f9074e6d29ef78c795a512a6e00e9b591e2ff34165d09b73eae9eef25098c59e543c194346fcd4e83185a39c430d43744b6f7f9d1728a132843c67bd27ea5189
2023-02-23 15:44:42 -05:00
..
allocators Pass all characters to SecureString including nulls 2023-02-21 14:40:59 -05:00
cleanse.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
cleanse.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
events.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
lockedpool.cpp Merge bitcoin/bitcoin#16195: util: Use void* throughout support/lockedpool.h 2023-02-23 15:44:42 -05:00
lockedpool.h Merge bitcoin/bitcoin#16195: util: Use void* throughout support/lockedpool.h 2023-02-23 15:44:42 -05:00