diff options
author | chriseth <c@ethdev.com> | 2016-10-25 21:31:36 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2016-10-25 21:32:37 +0800 |
commit | 2353da71c77dd235b35d16e7e024fa62408df610 (patch) | |
tree | 756604eaddf853a77c1fb04248f2305e1a33739a /libdevcore/Common.h | |
parent | af6afb0415761b53721f89c7f65064807f41cbd3 (diff) | |
parent | e3761bdf928e6a06e6620bc1b570d44264d24734 (diff) | |
download | dexon-solidity-2353da71c77dd235b35d16e7e024fa62408df610.tar.gz dexon-solidity-2353da71c77dd235b35d16e7e024fa62408df610.tar.zst dexon-solidity-2353da71c77dd235b35d16e7e024fa62408df610.zip |
Merge remote-tracking branch 'origin/develop' into release
Diffstat (limited to 'libdevcore/Common.h')
-rw-r--r-- | libdevcore/Common.h | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/libdevcore/Common.h b/libdevcore/Common.h index 6fbc112d..43ae7162 100644 --- a/libdevcore/Common.h +++ b/libdevcore/Common.h @@ -87,47 +87,6 @@ using bytes = std::vector<byte>; using bytesRef = vector_ref<byte>; using bytesConstRef = vector_ref<byte const>; -template <class T> -class secure_vector -{ -public: - secure_vector() {} - secure_vector(secure_vector<T> const& /*_c*/) = default; // See https://github.com/ethereum/libweb3core/pull/44 - explicit secure_vector(unsigned _size): m_data(_size) {} - explicit secure_vector(unsigned _size, T _item): m_data(_size, _item) {} - explicit secure_vector(std::vector<T> const& _c): m_data(_c) {} - explicit secure_vector(vector_ref<T> _c): m_data(_c.data(), _c.data() + _c.size()) {} - explicit secure_vector(vector_ref<const T> _c): m_data(_c.data(), _c.data() + _c.size()) {} - ~secure_vector() { ref().cleanse(); } - - secure_vector<T>& operator=(secure_vector<T> const& _c) - { - if (&_c == this) - return *this; - - ref().cleanse(); - m_data = _c.m_data; - return *this; - } - std::vector<T>& writable() { clear(); return m_data; } - std::vector<T> const& makeInsecure() const { return m_data; } - - void clear() { ref().cleanse(); } - - vector_ref<T> ref() { return vector_ref<T>(&m_data); } - vector_ref<T const> ref() const { return vector_ref<T const>(&m_data); } - - size_t size() const { return m_data.size(); } - bool empty() const { return m_data.empty(); } - - void swap(secure_vector<T>& io_other) { m_data.swap(io_other.m_data); } - -private: - std::vector<T> m_data; -}; - -using bytesSec = secure_vector<byte>; - // Numeric types. using bigint = boost::multiprecision::number<boost::multiprecision::cpp_int_backend<>>; using u64 = boost::multiprecision::number<boost::multiprecision::cpp_int_backend<64, 64, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void>>; |