[Webkit-unassigned] [Bug 136981] ArgumentEncoder::encode does not support long long

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Sep 21 19:02:11 PDT 2014


https://bugs.webkit.org/show_bug.cgi?id=136981





--- Comment #5 from Ting-Wei Lan <lantw44 at gmail.com>  2014-09-21 19:02:11 PST ---
(In reply to comment #4)
> There are an encoder and a decoder for duration in ArgumentCoders.h. Are they not matched by the compiler for some reason?
> 
> template<typename Rep, typename Period> struct ArgumentCoder<std::chrono::duration<Rep, Period>> {
>     static void encode(ArgumentEncoder& encoder, const std::chrono::duration<Rep, Period>& duration)
>     {
>         encoder << duration.count();
>     }
> 
>     static bool decode(ArgumentDecoder& decoder, std::chrono::duration<Rep, Period>& result)
>     {
>         Rep count;
>         if (!decoder.decode(count))
>             return false;
>         result = std::chrono::duration<Rep, Period>(count);
>         return true;
>     }
> };

encoder << duration.count() causes it to go back to ArgumentEncoder. duration.count() is a long long, but there is no matching ArgumentEncoder::encode function. Neither int32_t nor int64_t is a long long.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list