0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-03-08 14:34:53 -05:00
bitcoin-core/src
Pieter Wuille 818dc74ba2 Support serialization as another type without casting
This adds a READWRITEAS(type, obj) macro which serializes obj as if it
were casted to (const type&) when const, and to (type&) when non-const.

This makes it usable in serialization code that uses a single
implementation for both serialization and deserializing, which doesn't
know the constness of the object involved.
2018-03-20 17:08:06 -07:00
..
bench Benchmark BnB in the worst case where it exhausts 2018-03-13 12:39:35 -04:00
compat
config
consensus Calculate and store the number of bytes required to spend an input 2018-03-09 21:15:36 -05:00
crypto Consensus: Fix bug when compiler do not support __builtin_clz* 2018-03-01 17:20:27 +08:00
leveldb Bump leveldb subtree 2018-02-16 08:59:28 -05:00
obj
obj-test
policy Calculate and store the number of bytes required to spend an input 2018-03-09 21:15:36 -05:00
primitives Support serialization as another type without casting 2018-03-20 17:08:06 -07:00
qt wallet: Change output type globals to members 2018-03-17 16:10:01 -04:00
rpc Merge #9753: Add static_assert to prevent VARINT(<signed value>) 2018-03-19 17:26:43 +01:00
script Support serialization as another type without casting 2018-03-20 17:08:06 -07:00
secp256k1
support
test Add static_assert to prevent VARINT(<signed value>) 2018-03-15 18:57:55 -05:00
univalue
wallet Support serialization as another type without casting 2018-03-20 17:08:06 -07:00
zmq
.clang-format
addrdb.cpp
addrdb.h
addrman.cpp net: Correct addrman logging 2018-03-06 21:52:53 +01:00
addrman.h Support serialization as another type without casting 2018-03-20 17:08:06 -07:00
amount.h
arith_uint256.cpp
arith_uint256.h [arith_uint256] Avoid unnecessary this-copy using prefix operator 2018-02-28 19:59:19 +09:00
base58.cpp Split key_io (address/key encodings) off from base58 2018-02-19 18:55:21 -08:00
base58.h Split key_io (address/key encodings) off from base58 2018-02-19 18:55:21 -08:00
bech32.cpp
bech32.h
bitcoin-cli-res.rc
bitcoin-cli.cpp Create new wallet databases as directories rather than files 2018-03-03 10:26:55 -05:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Merge #10694: Remove redundant code in MutateTxSign(CMutableTransaction&, const std::string&) 2018-03-13 16:59:50 +01:00
bitcoind-res.rc
bitcoind.cpp
blockencodings.cpp
blockencodings.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
bloom.cpp
bloom.h
chain.cpp
chain.h Add static_assert to prevent VARINT(<signed value>) 2018-03-15 18:57:55 -05:00
chainparams.cpp Disable wallet fallbackfee by default on mainnet 2018-02-25 09:33:46 +08:00
chainparams.h Disable wallet fallbackfee by default on mainnet 2018-02-25 09:33:46 +08:00
chainparamsbase.cpp
chainparamsbase.h
chainparamsseeds.h
checkpoints.cpp Add LookupBlockIndex function 2018-03-06 19:52:19 +00:00
checkpoints.h Add LookupBlockIndex function 2018-03-06 19:52:19 +00:00
checkqueue.h
clientversion.cpp
clientversion.h
coins.cpp
coins.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
compat.h Add new prevector benchmarks. 2018-02-27 11:42:06 -08:00
compressor.cpp
compressor.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
core_io.h
core_memusage.h
core_read.cpp
core_write.cpp Split key_io (address/key encodings) off from base58 2018-02-19 18:55:21 -08:00
cuckoocache.h
dbwrapper.cpp Log fatal LevelDB errors more verbosely 2018-03-09 22:51:10 -08:00
dbwrapper.h Add DynamicMemoryUsage() to LevelDB 2018-03-06 00:25:39 -05:00
fs.cpp
fs.h
hash.cpp
hash.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
httprpc.cpp Split key_io (address/key encodings) off from base58 2018-02-19 18:55:21 -08:00
httprpc.h
httpserver.cpp
httpserver.h
indirectmap.h
init.cpp Merge #11041: Add LookupBlockIndex 2018-03-13 19:12:35 +01:00
init.h
key.cpp Merge #9598: Improve readability by removing redundant casts to same type (on all platforms) 2018-03-07 17:47:46 +01:00
key.h
key_io.cpp Simplify Base32 and Base64 conversions 2018-03-07 07:04:07 -08:00
key_io.h Split key_io (address/key encodings) off from base58 2018-02-19 18:55:21 -08:00
keystore.cpp
keystore.h
limitedmap.h
Makefile.am Implement Branch and Bound coin selection in a new file 2018-03-13 12:39:17 -04:00
Makefile.bench.include Add new prevector benchmarks. 2018-02-27 11:42:06 -08:00
Makefile.leveldb.include
Makefile.qt.include
Makefile.qttest.include
Makefile.test.include Add tests for the Branch and Bound algorithm 2018-03-13 12:39:26 -04:00
memusage.h
merkleblock.cpp
merkleblock.h
miner.cpp Remove unused variable in SortForBlock 2018-03-14 23:10:39 -07:00
miner.h Remove unused variable in SortForBlock 2018-03-14 23:10:39 -07:00
net.cpp Remove redundant checks for MSG_* from configure.ac 2018-03-15 20:02:00 +01:00
net.h Polish interfaces around PeerLogicValidation 2018-03-14 10:11:01 +01:00
net_processing.cpp Merge #11041: Add LookupBlockIndex 2018-03-13 19:12:35 +01:00
net_processing.h Polish interfaces around PeerLogicValidation 2018-03-14 10:11:01 +01:00
netaddress.cpp
netaddress.h
netbase.cpp Remove redundant checks for MSG_* from configure.ac 2018-03-15 20:02:00 +01:00
netbase.h
netmessagemaker.h
noui.cpp
noui.h
pow.cpp
pow.h
prevector.h Use memset() to optimize prevector::resize() 2018-02-27 13:27:51 -08:00
protocol.cpp Add setter for g_initial_block_download_completed 2018-02-17 21:28:50 +11:00
protocol.h Support serialization as another type without casting 2018-03-20 17:08:06 -07:00
pubkey.cpp
pubkey.h
random.cpp
random.h
rest.cpp Add LookupBlockIndex function 2018-03-06 19:52:19 +00:00
reverse_iterator.h
reverselock.h
scheduler.cpp
scheduler.h
serialize.h Support serialization as another type without casting 2018-03-20 17:08:06 -07:00
streams.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
sync.cpp
sync.h
threadinterrupt.cpp
threadinterrupt.h
threadsafety.h
timedata.cpp
timedata.h
tinyformat.h
torcontrol.cpp
torcontrol.h
txdb.cpp Add static_assert to prevent VARINT(<signed value>) 2018-03-15 18:57:55 -05:00
txdb.h Support serialization as another type without casting 2018-03-20 17:08:06 -07:00
txmempool.cpp
txmempool.h
ui_interface.cpp
ui_interface.h
uint256.cpp
uint256.h
undo.h Add static_assert to prevent VARINT(<signed value>) 2018-03-15 18:57:55 -05:00
util.cpp Merge #12542: Remove redundant includes. Conform to header include guidelines. 2018-03-16 16:59:27 -07:00
util.h Merge #10271: Use std:🧵:hardware_concurrency, instead of Boost, to determine available cores 2018-03-06 19:21:34 +01:00
utilmoneystr.cpp
utilmoneystr.h
utilstrencodings.cpp Simplify Base32 and Base64 conversions 2018-03-07 07:04:07 -08:00
utilstrencodings.h Generalize ConvertBits 2018-03-06 20:28:08 -08:00
utiltime.cpp Format timestamps using ISO 8601 formatting (e.g. "2018-02-28T12:34:56Z") 2018-03-09 15:02:01 +01:00
utiltime.h Format timestamps using ISO 8601 formatting (e.g. "2018-02-28T12:34:56Z") 2018-03-09 15:02:01 +01:00
validation.cpp Merge #12431: Only call NotifyBlockTip when chainActive changes 2018-03-15 17:05:43 +01:00
validation.h Add LookupBlockIndex function 2018-03-06 19:52:19 +00:00
validationinterface.cpp
validationinterface.h Polish interfaces around PeerLogicValidation 2018-03-14 10:11:01 +01:00
version.h
versionbits.cpp
versionbits.h
warnings.cpp
warnings.h