Update std::expected to match libc++ coding style
[WebKit-https.git] / Source / WebKit / Platform / IPC / ArgumentCoders.h
index 4d12af4..8384525 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010-2016 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2017 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
 
 #include "Decoder.h"
 #include "Encoder.h"
+#include <chrono>
 #include <utility>
-#include <wtf/Expected.h>
 #include <wtf/Forward.h>
-#include <wtf/HashCountedSet.h>
-#include <wtf/HashMap.h>
-#include <wtf/HashSet.h>
-#include <wtf/OptionSet.h>
-#include <wtf/Optional.h>
 #include <wtf/SHA1.h>
-#include <wtf/Variant.h>
-#include <wtf/Vector.h>
 
 namespace IPC {
 
@@ -431,11 +424,12 @@ template<typename KeyArg, typename HashArg, typename KeyTraitsArg> struct Argume
 
         HashSetType tempHashSet;
         for (uint64_t i = 0; i < hashSetSize; ++i) {
-            KeyArg key;
-            if (!decoder.decode(key))
+            std::optional<KeyArg> key;
+            decoder >> key;
+            if (!key)
                 return false;
 
-            if (!tempHashSet.add(key).isNewEntry) {
+            if (!tempHashSet.add(*key).isNewEntry) {
                 // The hash map already has the specified key, bail.
                 decoder.markInvalid();
                 return false;
@@ -488,10 +482,10 @@ template<typename KeyArg, typename HashArg, typename KeyTraitsArg> struct Argume
     }
 };
 
-template<typename ValueType, typename ErrorType> struct ArgumentCoder<WTF::Expected<ValueType, ErrorType>> {
-    static void encode(Encoder& encoder, const WTF::Expected<ValueType, ErrorType>& expected)
+template<typename ValueType, typename ErrorType> struct ArgumentCoder<Expected<ValueType, ErrorType>> {
+    static void encode(Encoder& encoder, const Expected<ValueType, ErrorType>& expected)
     {
-        if (!expected.hasValue()) {
+        if (!expected.has_value()) {
             encoder << false;
             encoder << expected.error();
             return;
@@ -500,7 +494,7 @@ template<typename ValueType, typename ErrorType> struct ArgumentCoder<WTF::Expec
         encoder << expected.value();
     }
 
-    static std::optional<WTF::Expected<ValueType, ErrorType>> decode(Decoder& decoder)
+    static std::optional<Expected<ValueType, ErrorType>> decode(Decoder& decoder)
     {
         std::optional<bool> hasValue;
         decoder >> hasValue;
@@ -513,7 +507,7 @@ template<typename ValueType, typename ErrorType> struct ArgumentCoder<WTF::Expec
             if (!value)
                 return std::nullopt;
             
-            WTF::Expected<ValueType, ErrorType> expected(WTFMove(*value));
+            Expected<ValueType, ErrorType> expected(WTFMove(*value));
             return WTFMove(expected);
         }
         std::optional<ErrorType> error;