Add bitdeque, an std::deque<bool> analogue that does bit packing.
Summary:
This is a partial backport of core#25717
https://github.com/bitcoin/bitcoin/pull/25717/commits/84852bb6bb3579e475ce78fe729fd125ddbc715f
Depends on D15213
Test Plan:
ninja all check-all
Run the fuzzer
cmake -GNinja .. \ -DCMAKE_C_COMPILER=clang \ -DCMAKE_CXX_COMPILER=clang++ \ -DENABLE_SANITIZERS="fuzzer;address;undefined" ninja bitcoin-fuzzers export DIR_FUZZ_IN=~/dev/qa-assets/fuzz_seed_corpus ./test/fuzz/test_runner.py -g ${DIR_FUZZ_IN} bitdeque
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D15124