Add get and getError methods to ErrorOr.

ErrorOr is modeled after boost::optional which has a get method.

llvm-svn: 198792
This commit is contained in:
Rafael Espindola 2014-01-08 21:17:09 +00:00
parent cfd2ca5826
commit 5d16475b31
1 changed files with 7 additions and 0 deletions

View File

@ -178,10 +178,17 @@ public:
return HasError ? 0 : unspecified_bool_true;
}
T &get() { return *getStorage(); }
const T &get() const { return const_cast<ErrorOr<T> >(this)->get(); }
operator llvm::error_code() const {
return HasError ? *getErrorStorage() : llvm::error_code::success();
}
error_code getError() const {
return HasError ? *getErrorStorage() : error_code::success();
}
pointer operator ->() {
return toPointer(getStorage());
}