Explorar o código

refactor: don't use optional for relative pointer

Sam Jaffe hai 3 meses
pai
achega
dd9d64885b
Modificáronse 1 ficheiros con 3 adicións e 5 borrados
  1. 3 5
      include/jvalidate/detail/relative_pointer.h

+ 3 - 5
include/jvalidate/detail/relative_pointer.h

@@ -33,7 +33,7 @@ public:
       return where.parent(parent_steps_).back();
     }
     auto rval = where.parent(parent_steps_).walk(root);
-    return pointer_ ? pointer_->walk(rval) : rval;
+    return pointer_.walk(rval);
   }
 
   friend std::ostream & operator<<(std::ostream & os, RelativePointer const & rel) {
@@ -41,15 +41,13 @@ public:
     if (rel.requests_key_) {
       return os << '#';
     }
-    if (rel.pointer_) {
-      os << *rel.pointer_;
-    }
+    os << rel.pointer_;
     return os;
   }
 
 private:
   size_t parent_steps_ = 0;
   bool requests_key_ = false;
-  std::optional<Pointer> pointer_ = std::nullopt;
+  Pointer pointer_ = {};
 };
 }