mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-12-12 13:43:43 +01:00
Merge bitcoin/bitcoin#29369: refactor: Allow CScript construction from any std::input_iterator
fa7b9b99a2refactor: Require std::input_iterator for all InputIterator in prevector (MarcoFalke)d444441900refactor: Allow CScript construction from any std::input_iterator (MarcoFalke) Pull request description: Currently only (pre)vector iterators and raw pointers are accepted. However, this makes it harder to construct from input iterators provided by other classes, such as `std::span`. Fix that. ACKs for top commit: delta1: reACKfa7b9b9achow101: ACKfa7b9b99a2hodlinator: ACKfa7b9b99a2ryanofsky: Code review ACKfa7b9b99a2Tree-SHA512: 2760861f8bce42fb27dc0825e61621cb157f1ac3619a0834df38eb8319b6dcf9de43d90397a4c160f43340880c1553df638848e9057a27c792214331243ef4a5
This commit is contained in:
@@ -429,11 +429,11 @@ protected:
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
CScript() = default;
|
||||
CScript(const_iterator pbegin, const_iterator pend) : CScriptBase(pbegin, pend) { }
|
||||
CScript(std::vector<unsigned char>::const_iterator pbegin, std::vector<unsigned char>::const_iterator pend) : CScriptBase(pbegin, pend) { }
|
||||
CScript(const unsigned char* pbegin, const unsigned char* pend) : CScriptBase(pbegin, pend) { }
|
||||
template <std::input_iterator InputIterator>
|
||||
CScript(InputIterator first, InputIterator last) : CScriptBase{first, last} { }
|
||||
|
||||
SERIALIZE_METHODS(CScript, obj) { READWRITE(AsBase<CScriptBase>(obj)); }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user