Skip to content

Commit 6e1f6f2

Browse files
author
David Ungar
committed
Add getPtrOrNull to NullablePtr
1 parent d2a0757 commit 6e1f6f2

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

include/swift/Basic/NullablePtr.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,14 @@ class NullablePtr {
5555
assert(Ptr && "Pointer wasn't checked for null!");
5656
return Ptr;
5757
}
58-
59-
T *getPtrOrNull() { return Ptr; }
60-
const T *getPtrOrNull() const { return Ptr; }
58+
59+
T *getPtrOrNull() { return getPtrOr(nullptr); }
60+
const T *getPtrOrNull() const { return getPtrOr(nullptr); }
61+
62+
T *getPtrOr(T *defaultValue) { return Ptr ? Ptr : defaultValue; }
63+
const T *getPtrOr(const T *defaultValue) const {
64+
return Ptr ? Ptr : defaultValue;
65+
}
6166

6267
explicit operator bool() const { return Ptr; }
6368

0 commit comments

Comments
 (0)