Replace base_uint(string) with from_hex_text<> (RIPD-897)

Removes the base_uint constructor that took a string.  Replaces
that functionality with two free functions named from_hex_text<>.
Use of from_hex_text<> looks like this:

auto v = from_hex_text<uint256>("AAA555");
static_assert (std::is_same<decltype(v), uint256>::value, "Huh!");

from_hex_text<> only operates on base_uint types.  At the moment the
list of those types include:

 o uint128,
 o uint160,
 o uint256,
 o Directory,
 o Account,
 o Currency, and
 o NodeID.

Using from_hex_text<> with any other types will not compile due to
an enable_if.
This commit is contained in:
Scott Schurr
2015-05-29 10:31:13 -07:00
committed by Vinnie Falco
parent d7def5509d
commit 4515ac0bca
9 changed files with 48 additions and 25 deletions

View File

@@ -281,7 +281,8 @@ public:
const std::string cur = "015841551A748AD2C1F76FF6ECB0CCCD00000000";
unexpected (!to_currency (c, cur), "create custom currency");
unexpected (to_string (c) != cur, "check custom currency");
unexpected (c != Currency (cur), "check custom currency");
unexpected (c != Currency (
from_hex_text<Currency>(cur)), "check custom currency");
}
//--------------------------------------------------------------------------