return sign==POSITIVE ? value : -(signed long)value;\r
}\r
\r
+Integer::Integer(BufferedTransformation &encodedInteger, size_t byteCount, Signedness s)\r
+{\r
+ Decode(encodedInteger, byteCount, s);\r
+}\r
+\r
Integer::Integer(BufferedTransformation &encodedInteger, size_t byteCount, Signedness s, ByteOrder o)\r
{\r
assert(o == BIG_ENDIAN_ORDER || o == LITTLE_ENDIAN_ORDER);\r
Decode(encodedInteger, byteCount, s);\r
}\r
\r
+Integer::Integer(const byte *encodedInteger, size_t byteCount, Signedness s)\r
+{\r
+ Decode(encodedInteger, byteCount, s);\r
+}\r
+\r
Integer::Integer(const byte *encodedInteger, size_t byteCount, Signedness s, ByteOrder o)\r
{\r
assert(o == BIG_ENDIAN_ORDER || o == LITTLE_ENDIAN_ORDER);\r
}\r
\r
template <class T>\r
-static Integer StringToInteger(const T *str, ByteOrder order)\r
+static Integer StringToInteger(const T *str, ByteOrder order = BIG_ENDIAN_ORDER)\r
{\r
assert( order == BIG_ENDIAN_ORDER || order == LITTLE_ENDIAN_ORDER );\r
\r
return v;\r
}\r
\r
+Integer::Integer(const char *str)\r
+ : reg(2), sign(POSITIVE)\r
+{\r
+ *this = StringToInteger(str);\r
+}\r
+\r
Integer::Integer(const char *str, ByteOrder order)\r
: reg(2), sign(POSITIVE)\r
{\r
*this = StringToInteger(str,order);\r
}\r
\r
+Integer::Integer(const wchar_t *str)\r
+ : reg(2), sign(POSITIVE)\r
+{\r
+ *this = StringToInteger(str);\r
+}\r
+\r
Integer::Integer(const wchar_t *str, ByteOrder order)\r
: reg(2), sign(POSITIVE)\r
{\r
//! insensitive suffix of 'h', 'o', or 'b'. No suffix means base 10.\r
//! \details Byte order was added at Crypto++ 5.7 to allow use of little-endian\r
//! integers with curve25519, Poly1305 and Microsoft CAPI.\r
- explicit Integer(const char *str, ByteOrder order = BIG_ENDIAN_ORDER);\r
+ explicit Integer(const char *str);\r
+ explicit Integer(const char *str, ByteOrder order);\r
\r
//! \brief Convert from a wide C-string\r
//! \param str wide C-string value\r
//! insensitive suffix of 'h', 'o', or 'b'. No suffix means base 10.\r
//! \details Byte order was added at Crypto++ 5.7 to allow use of little-endian\r
//! integers with curve25519, Poly1305 and Microsoft CAPI.\r
- explicit Integer(const wchar_t *str, ByteOrder order = BIG_ENDIAN_ORDER);\r
+ explicit Integer(const wchar_t *str);\r
+ explicit Integer(const wchar_t *str, ByteOrder order);\r
\r
//! \brief Convert from a big-endian byte array\r
//! \param encodedInteger big-endian byte array\r
//! \param order byte order\r
//! \details Byte order was added at Crypto++ 5.7 to allow use of little-endian\r
//! integers with curve25519, Poly1305 and Microsoft CAPI.\r
- Integer(const byte *encodedInteger, size_t byteCount, Signedness sign=UNSIGNED, ByteOrder order = BIG_ENDIAN_ORDER);\r
+ Integer(const byte *encodedInteger, size_t byteCount, Signedness sign=UNSIGNED);\r
+ Integer(const byte *encodedInteger, size_t byteCount, Signedness sign, ByteOrder order);\r
\r
//! \brief Convert from a big-endian array\r
//! \param bt BufferedTransformation object with big-endian byte array\r
//! \param order byte order\r
//! \details Byte order was added at Crypto++ 5.7 to allow use of little-endian\r
//! integers with curve25519, Poly1305 and Microsoft CAPI.\r
- Integer(BufferedTransformation &bt, size_t byteCount, Signedness sign=UNSIGNED, ByteOrder order = BIG_ENDIAN_ORDER);\r
+ Integer(BufferedTransformation &bt, size_t byteCount, Signedness sign=UNSIGNED);\r
+ Integer(BufferedTransformation &bt, size_t byteCount, Signedness sign, ByteOrder order);\r
\r
//! \brief Convert from a BER encoded byte array\r
//! \param bt BufferedTransformation object with BER encoded byte array\r