本文整理汇总了C++中BinaryWriter::put_BitPacker方法的典型用法代码示例。如果您正苦于以下问题:C++ BinaryWriter::put_BitPacker方法的具体用法?C++ BinaryWriter::put_BitPacker怎么用?C++ BinaryWriter::put_BitPacker使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BinaryWriter
的用法示例。
在下文中一共展示了BinaryWriter::put_BitPacker方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: serialize
void LedgerEntryVector::serialize(BinaryWriter& bw) const
{
bw.put_uint8_t(LEDGERENTRYVECTOR_CODE);
bw.put_var_int(leVec_.size());
for (auto& le : leVec_)
{
auto idSize = le.ID_.size();
size_t totalsize = idSize + 53;
bw.put_var_int(totalsize);
bw.put_var_int(idSize);
bw.put_BinaryData((uint8_t*)le.ID_.c_str(), idSize);
bw.put_uint64_t(le.value_);
bw.put_uint32_t(le.blockNum_);
bw.put_BinaryData(le.txHash_);
bw.put_uint32_t(le.index_);
bw.put_uint32_t(le.txTime_);
BitPacker<uint8_t> bp;
bp.putBit(le.isCoinbase_);
bp.putBit(le.isSentToSelf_);
bp.putBit(le.isChangeBack_);
bp.putBit(le.optInRBF_);
bw.put_BitPacker(bp);
}
}
示例2: serializeDbValue
void TxIOPair::serializeDbValue(BinaryWriter& bw) const
{
uint8_t sersize = 17; //bit pack + amount + txout key
if (hasTxIn())
sersize += 8;
bw.put_uint8_t(sersize);
BitPacker<uint8_t> bitpacker;
bitpacker.putBit(isTxOutFromSelf_);
bitpacker.putBit(isFromCoinbase_);
bitpacker.putBit(hasTxIn());
bitpacker.putBit(isMultisig_);
bitpacker.putBit(isUTXO_);
bitpacker.putBit(isFromSameBlock_);
bw.put_BitPacker(bitpacker);
bw.put_uint64_t(amount_);
bw.put_BinaryData(getDBKeyOfOutput());
if (hasTxIn())
{
bw.put_BinaryData(getDBKeyOfInput());
}
}