Skip to content

Commit

Permalink
Removed 'secure_vector'
Browse files Browse the repository at this point in the history
  • Loading branch information
wingyplus committed Oct 15, 2016
1 parent 5e75cae commit 941a016
Showing 1 changed file with 0 additions and 41 deletions.
41 changes: 0 additions & 41 deletions libdevcore/Common.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>>;
Expand Down

0 comments on commit 941a016

Please sign in to comment.