18#ifndef LLVM_SUPPORT_MSVCERRORWORKAROUNDS_H
19#define LLVM_SUPPORT_MSVCERRORWORKAROUNDS_H
59 template <
typename OtherT>
62 std::enable_if_t<std::is_convertible<OtherT, T>::value> * =
nullptr)
65 template <
class OtherT>
68 std::enable_if_t<std::is_convertible<OtherT, T>::value> * =
nullptr)
71 template <
class OtherT>
74 std::enable_if_t<!std::is_convertible<OtherT, T>::value> * =
nullptr)
Lightweight error class with error context and mandatory checking.
Error & operator=(const Error &Other)=delete
Tagged union holding either a T or a Error.
Error takeError()
Take ownership of the stored error.
Expected & operator=(Expected &&Other)
Move-assign from another Expected<T>.
MSVCPError(MSVCPError &&Other)
MSVCPError & operator=(MSVCPError Other)
MSVCPExpected(Expected< OtherT > &&Other, std::enable_if_t<!std::is_convertible< OtherT, T >::value > *=nullptr)
MSVCPExpected(Expected< OtherT > &&Other, std::enable_if_t< std::is_convertible< OtherT, T >::value > *=nullptr)
MSVCPExpected(MSVCPExpected &&Other)
MSVCPExpected(OtherT &&Val, std::enable_if_t< std::is_convertible< OtherT, T >::value > *=nullptr)
MSVCPExpected & operator=(MSVCPExpected &&Other)
This class wraps a string in an Error.
This is an optimization pass for GlobalISel generic memory operations.
std::error_code inconvertibleErrorCode()
The value returned by this function can be returned from convertToErrorCode for Error values where no...
Error make_error(ArgTs &&... Args)
Make a Error instance representing failure using the given error info type.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
void consumeError(Error Err)
Consume a Error without doing anything.
Implement std::hash so that hash_code can be used in STL containers.