// progminer -- Ethereum miner with OpenCL, CUDA and stratum support. // Copyright 2018 progminer Authors. // Licensed under GNU General Public License, Version 3. See the LICENSE file. /// @file /// Very common stuff (i.e. that every other header needs except vector_ref.h). #pragma once #include "vector_ref.h" #include #include #include using byte = uint8_t; namespace dev { // Binary data types. using bytes = std::vector; using bytesRef = vector_ref; using bytesConstRef = vector_ref; // Numeric types. using bigint = boost::multiprecision::number>; using u64 = boost::multiprecision::number>; using u128 = boost::multiprecision::number>; using u256 = boost::multiprecision::number>; using u160 = boost::multiprecision::number>; using u512 = boost::multiprecision::number>; // Null/Invalid values for convenience. static const u256 Invalid256 = ~(u256)0; /// Converts arbitrary value to string representation using std::stringstream. template std::string toString(_T const& _t) { std::ostringstream o; o << _t; return o.str(); } } // namespace dev