|
| Expected (Error Err) |
| Create an Expected<T> error value from the given Error. More...
|
|
| Expected (ErrorSuccess)=delete |
| Forbid to convert from Error::success() implicitly, this avoids having Expected<T> foo() { return Error::success(); } which compiles otherwise but triggers the assertion above. More...
|
|
template<typename OtherT > |
| Expected (OtherT &&Val, std::enable_if_t< std::is_convertible_v< OtherT, T >> *=nullptr) |
| Create an Expected<T> success value from the given OtherT value, which must be convertible to T. More...
|
|
| Expected (Expected &&Other) |
| Move construct an Expected<T> value. More...
|
|
template<class OtherT > |
| Expected (Expected< OtherT > &&Other, std::enable_if_t< std::is_convertible_v< OtherT, T >> *=nullptr) |
| Move construct an Expected<T> value from an Expected<OtherT>, where OtherT must be convertible to T. More...
|
|
template<class OtherT > |
| Expected (Expected< OtherT > &&Other, std::enable_if_t<!std::is_convertible_v< OtherT, T >> *=nullptr) |
| Move construct an Expected<T> value from an Expected<OtherT>, where OtherT isn't convertible to T. More...
|
|
Expected & | operator= (Expected &&Other) |
| Move-assign from another Expected<T>. More...
|
|
| ~Expected () |
| Destroy an Expected<T>. More...
|
|
| operator bool () |
| Return false if there is an error. More...
|
|
reference | get () |
| Returns a reference to the stored T value. More...
|
|
const_reference | get () const |
| Returns a const reference to the stored T value. More...
|
|
template<class OtherT > |
Error | moveInto (OtherT &Value, std::enable_if_t< std::is_assignable< OtherT &, T && >::value > *=nullptr) && |
| Returns takeError() after moving the held T (if any) into V . More...
|
|
template<typename ErrT > |
bool | errorIsA () const |
| Check that this Expected<T> is an error of type ErrT. More...
|
|
Error | takeError () |
| Take ownership of the stored error. More...
|
|
pointer | operator-> () |
| Returns a pointer to the stored T value. More...
|
|
const_pointer | operator-> () const |
| Returns a const pointer to the stored T value. More...
|
|
reference | operator* () |
| Returns a reference to the stored T value. More...
|
|
const_reference | operator* () const |
| Returns a const reference to the stored T value. More...
|
|
template<class T>
class llvm::Expected< T >
Tagged union holding either a T or a Error.
This class parallels ErrorOr, but replaces error_code with Error. Since Error cannot be copied, this class replaces getError() with takeError(). It also adds an bool errorIsA<ErrT>() method for testing the error class type.
Example usage of 'Expected<T>' as a function return type:
Expected<int> myDivide(
int A,
int B) {
"B must not be zero!");
}
}
Checking the results of to a function returning 'Expected<T>':
For unit-testing a function returning an 'Expected<T>', see the 'EXPECT_THAT_EXPECTED' macros in llvm/Testing/Support/Error.h
Definition at line 41 of file APFloat.h.
Take ownership of the stored error.
After calling this the Expected<T> is in an indeterminate state that can only be safely destructed. No further calls (beside the destructor) should be made on the Expected<T> value.
Definition at line 597 of file Error.h.
Referenced by llvm::objcopy::coff::addGnuDebugLink(), llvm::objcopy::NameMatcher::addMatcher(), llvm::pdb::PDBFileBuilder::addNamedStream(), llvm::BitstreamCursor::advance(), advanceToMetaBlock(), llvm::BitcodeAnalyzer::analyze(), llvm::object::ELFFile< ELFT >::android_relas(), llvm::lto::backend(), llvm::object::BindRebaseSegInfo::BindRebaseSegInfo(), llvm::pdb::PDBFileBuilder::commit(), llvm::msf::MSFBuilder::commit(), llvm::RuntimeDyldImpl::computeSectionStubBufSize(), llvm::object::computeSymbolSizes(), llvm::RuntimeDyldImpl::computeTotalAllocSize(), llvm::object::SectionRef::containsSymbol(), llvm::gsym::ObjectFileTransformer::convert(), llvm::object::MinidumpFile::create(), llvm::GlobPattern::create(), llvm::symbolize::SymbolizableObjectFile::create(), llvm::MinidumpYAML::Stream::create(), llvm::object::Slice::create(), llvm::object::IRObjectFile::create(), llvm::objcopy::NameOrPattern::create(), llvm::lto::InputFile::create(), llvm::objcopy::elf::IHexReader::create(), llvm::object::createBinary(), llvm::pdb::NativeSession::createFromExe(), llvm::LTOModule::createInputFile(), llvm::mca::InstrBuilder::createInstruction(), llvm::jitlink::createLinkGraphFromELFObject(), createMemberHeaderParseError(), createOnDiskBuffer(), llvm::remarks::createYAMLParserFromMeta(), decode(), llvm::object::ELFFile< ELFT >::decodeBBAddrMap(), llvm::objcopy::deepWriteArchive(), llvm::NewArchiveMember::detectKindFromObject(), doImportingForModule(), llvm::DWARFLocationTable::dumpLocationList(), llvm::objcopy::wasm::dumpSectionToFile(), dumpSectionToFile(), llvm::object::ELFFile< ELFT >::dynamicEntries(), llvm::orc::RTDyldObjectLinkingLayer::emit(), llvm::RuntimeDyldImpl::emitSection(), llvm::BitstreamCursor::EnterSubBlock(), llvm::objcopy::executeObjcopyOnArchive(), llvm::objcopy::xcoff::executeObjcopyOnBinary(), llvm::objcopy::elf::executeObjcopyOnBinary(), llvm::objcopy::wasm::executeObjcopyOnBinary(), llvm::objcopy::coff::executeObjcopyOnBinary(), llvm::objcopy::elf::executeObjcopyOnIHex(), llvm::objcopy::macho::executeObjcopyOnMachOUniversalBinary(), llvm::objcopy::elf::executeObjcopyOnRawBinary(), llvm::expectedToErrorOrAndEmitErrors(), llvm::object::extractOffloadBinaries(), llvm::DebuginfodFetcher::fetch(), llvm::ifs::filterIFSSyms(), llvm::orc::DebugObject::finalizeAsync(), llvm::RuntimeDyldELF::finalizeLoad(), llvm::RuntimeDyldCOFFX86_64::finalizeLoad(), llvm::pdb::GSIStreamBuilder::finalizeMsfLayout(), llvm::DebuginfodCollection::findBinaryPath(), llvm::object::IRObjectFile::findBitcodeInMemBuffer(), llvm::object::IRObjectFile::findBitcodeInObject(), llvm::DebuginfodCollection::findDebugBinaryPath(), llvm::pdb::TpiStream::findFullDeclForForwardRef(), llvm::pdb::NativeInlineSiteSymbol::findInlineeLinesByVA(), llvm::pdb::NativeFunctionSymbol::findInlineFramesByVA(), llvm::pdb::SymbolCache::findLineNumbersByVA(), llvm::MCJIT::findSymbol(), llvm::lto::findThinLTOModule(), llvm::JITSymbolFlags::fromObjectSymbol(), llvm::ARMJITSymbolFlags::fromObjectSymbol(), llvm::DWARFDebugAranges::generate(), llvm::MCJIT::generateCodeForModule(), llvm::object::AbstractArchiveMemberHeader::getAccessMode(), llvm::object::Archive::Child::getAsBinary(), llvm::DWARFFormValue::getAsCString(), llvm::getBitcodeFileContents(), getBitcodeFileMachine(), llvm::getBitcodeLTOInfo(), llvm::getBitcodeProducerString(), llvm::getBitcodeTargetTriple(), llvm::object::Archive::Child::getBuffer(), llvm::getCachedOrDownloadArtifact(), llvm::orc::getCOFFObjectFileSymbolInfo(), llvm::object::ObjectFile::getCommonSymbolSize(), llvm::object::XCOFFObjectFile::getCommonSymbolSizeImpl(), llvm::object::SectionRef::getContents(), getCUIdentifiers(), getDbiStreamPtr(), llvm::object::ELFFile< ELFT >::getDynSymtabSize(), llvm::object::getELFAddend(), llvm::orc::getELFObjectFileSymbolInfo(), llvm::object::XCOFFObjectFile::getExceptionEntries(), llvm::object::getExtendedSymbolTableIndex(), llvm::MemoryBuffer::getFileAsStream(), getFileAux(), llvm::object::Archive::Child::getFullName(), llvm::gsym::GsymReader::getFunctionInfo(), llvm::orc::getGenericObjectFileSymbolInfo(), llvm::object::XCOFFObjectFile::getImportFileTable(), llvm::object::AbstractArchiveMemberHeader::getLastModified(), llvm::getLazyBitcodeModule(), llvm::DWARFContext::getLineTableForUnit(), llvm::object::ELFFile< ELFT >::getLinkAsStrtab(), llvm::orc::getMachOObjectFileSymbolInfo(), llvm::ExpressionFormat::getMatchingString(), llvm::object::Archive::Child::getMemoryBufferRef(), llvm::pdb::getModuleDebugStream(), llvm::getModuleSummaryIndex(), llvm::object::ArchiveMemberHeader::getName(), llvm::object::Archive::Child::getName(), llvm::object::Archive::Child::getNext(), llvm::object::ArchiveMemberHeader::getNextChildLoc(), llvm::object::BigArchiveMemberHeader::getNextChildLoc(), llvm::getOffset(), llvm::NewArchiveMember::getOldMember(), getOpenFileImpl(), getPdbPathFromExe(), llvm::LTOModule::getProducerString(), llvm::object::BigArchiveMemberHeader::getRawName(), getReadWriteFile(), llvm::object::ELFObjectFile< ELFT >::getRelocatedSection(), llvm::remarks::getRemarksSectionContents(), llvm::StringSubstitution::getResult(), llvm::NumericSubstitution::getResult(), llvm::object::ELFFile< ELFT >::getSectionIndex(), llvm::objcopy::elf::SectionTableRef::getSectionOfType(), getSingleModule(), llvm::object::BigArchiveMemberHeader::getSize(), llvm::object::ELFFile< ELFT >::getStringTableForSymtab(), llvm::object::ELFObjectFile< ELFT >::getSymbolAddress(), llvm::object::ELFObjectFile< ELFT >::getSymbolAlignment(), llvm::object::XCOFFObjectFile::getSymbolAlignment(), llvm::object::ELFObjectFile< ELFT >::getSymbolBinding(), llvm::objcopy::elf::SymbolTableSection::getSymbolByIndex(), llvm::object::ELFObjectFile< ELFT >::getSymbolELFType(), llvm::object::ELFObjectFile< ELFT >::getSymbolFlags(), llvm::object::XCOFFObjectFile::getSymbolFlags(), getSymbolInfo(), llvm::object::ELFObjectFile< ELFT >::getSymbolName(), llvm::object::ELFObjectFile< ELFT >::getSymbolOther(), llvm::object::ELFObjectFile< ELFT >::getSymbolSection(), llvm::object::XCOFFObjectFile::getSymbolSection(), llvm::object::COFFObjectFile::getSymbolSection(), llvm::object::XCOFFObjectFile::getSymbolSectionName(), llvm::object::XCOFFObjectFile::getSymbolSize(), llvm::object::ELFObjectFile< ELFT >::getSymbolType(), llvm::object::XCOFFObjectFile::getSymbolType(), llvm::object::ELFObjectFile< ELFT >::getSymbolValueImpl(), getUUID(), llvm::BitcodeReaderValueList::getValueFwdRef(), llvm::object::ELFFile< ELFT >::getVersionDefinitions(), llvm::object::ELFFile< ELFT >::getVersionDependencies(), llvm::jitlink::COFFLinkGraphBuilder::graphifySections(), llvm::jitlink::COFFLinkGraphBuilder::graphifySymbols(), handleCompressedSection(), llvm::handleSection(), llvm::pdb::PDBFile::hasPDBInjectedSourceStream(), llvm::pdb::PDBFile::hasPDBStringTable(), llvm::FunctionImporter::importFunctions(), llvm::objcopy::elf::Section::initialize(), llvm::objcopy::elf::SectionIndexSection::initialize(), llvm::objcopy::elf::SymbolTableSection::initialize(), llvm::objcopy::elf::RelocSectionWithSymtabBase< DynamicSymbolTableSection >::initialize(), initRelocations(), isArchiveSymbol(), llvm::isBitcodeContainingObjCCategory(), llvm::LTOModule::isBitcodeFile(), llvm::LTOModule::isBitcodeForTarget(), isBlock(), isCodeViewDebugSubsection(), llvm::object::ELFObjectFile< ELFT >::isDebugSection(), llvm::object::MachOObjectFile::isDebugSection(), llvm::object::COFFObjectFile::isDebugSection(), llvm::object::XCOFFSymbolRef::isFunction(), llvm::object::ObjectFile::isSectionBitcode(), llvm::object::ArchiveMemberHeader::isThin(), llvm::isThumbFunc(), isVariableIndexable(), jumpToValueSymbolTable(), llvm::remarks::RemarkLinker::link(), llvm::jitlink::JITLinkerBase::linkPhase2(), llvm::jitlink::JITLinkerBase::linkPhase3(), llvm::jitlink::JITLinkerBase::linkPhase4(), LLVMCreateBinary(), LLVMCreateObjectFile(), LLVMMachOUniversalBinaryCopyObjectForArch(), LLVMMoveToContainingSection(), LLVMRemarkParserGetNext(), llvm::object::ResourceSectionRef::load(), llvm::pdb::loadDataForEXE(), llvm::xray::loadInstrumentationMap(), loadObj(), llvm::xray::loadProfile(), llvm::xray::loadTraceFile(), llvm::object::ELFFile< ELFT >::loadVersionMap(), llvm::localCache(), llvm::gsym::GsymReader::lookup(), lookupSections(), llvm::logicalview::LVBinaryReader::mapVirtualAddress(), llvm::MSVCPExpected< T >::MSVCPExpected(), llvm::remarks::YAMLRemarkParser::next(), llvm::orc::DebugObjectManagerPlugin::notifyEmitted(), llvm::pdb::InputFile::open(), llvm::parseBitcodeFile(), parseBitcodeFileImpl(), parseBlock(), llvm::remarks::BitstreamParserHelper::parseBlockInfoBlock(), llvm::Pattern::parseNumericSubstitutionBlock(), parseRecord(), llvm::remarks::YAMLRemarkParser::parseRemark(), parseV5DirFileTables(), llvm::RuntimeDyldCOFFI386::processRelocationRef(), llvm::RuntimeDyldCOFFThumb::processRelocationRef(), llvm::RuntimeDyldCOFFAArch64::processRelocationRef(), llvm::RuntimeDyldCOFFX86_64::processRelocationRef(), llvm::RuntimeDyldELF::processRelocationRef(), llvm::BitstreamCursor::ReadAbbrevRecord(), readBBAddrMapImpl(), readCoverageMappingData(), readDynsymVersionsImpl(), llvm::ifs::readELFFile(), llvm::object::readIRSymtab(), llvm::readModuleSummaryIndex(), llvm::sys::fs::readNativeFileToEOF(), llvm::BitstreamCursor::readRecord(), readTriple(), llvm::objcopy::coff::Object::removeSymbols(), replaceDebugSections(), llvm::pdb::PDBFile::safelyCreateNamedStream(), llvm::pdb::NativeSession::searchForPdb(), llvm::remarks::RemarkLinker::serialize(), llvm::setupLLVMOptimizationRemarks(), llvm::BitstreamCursor::SkipBlock(), llvm::BitstreamCursor::skipRecord(), llvm::lto::thinBackend(), updateSection(), upgrade(), llvm::DWARFLocationTable::visitAbsoluteLocationList(), llvm::writeArchive(), llvm::writeArchiveToStream(), llvm::ifs::writeELFBinaryToFile(), llvm::writeToOutput(), llvm::object::writeUniversalBinary(), llvm::object::writeUniversalBinaryToStream(), and llvm::yaml::yaml2ObjectFile().