Add ByteVector Conversion Functions, Tests #1158
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I'm currently working on #1149. In Matroska, some elements have a UID which is implemented as a 64 bit unsigned integer.
ByteVector
currently does not have conversions forULongLong
, onlyLongLong
. Casting an unsigned integer type to a signed integer type is implementation-defined if the value is higher than the max value of the signed type, so I would like to have aULongLong
function available to avoid the cast.While looking at the code, I made some other improvements as well. Here is a summary of the changes:
ByteVector::toULongLong
,ByteVector::fromULongLong
, and tests for bothByteVector::fromUShort
, and testsByteVector::from*
functions. Currently, there are no tests for these functionsByteVector::toLongLong
(I presume this was a copy/paste error)