LLVM 22.0.0git
ConfigManager.h
Go to the documentation of this file.
1//===- ConfigManager.h ------------------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_OBJCOPY_CONFIGMANAGER_H
10#define LLVM_OBJCOPY_CONFIGMANAGER_H
11
21
22namespace llvm {
23namespace objcopy {
24
26 virtual ~ConfigManager() {}
27
28 const CommonConfig &getCommonConfig() const override { return Common; }
29
30 Expected<const ELFConfig &> getELFConfig() const override { return ELF; }
31
32 Expected<const COFFConfig &> getCOFFConfig() const override;
33
34 Expected<const MachOConfig &> getMachOConfig() const override;
35
36 Expected<const WasmConfig &> getWasmConfig() const override;
37
38 Expected<const XCOFFConfig &> getXCOFFConfig() const override;
39
40 Expected<const DXContainerConfig &> getDXContainerConfig() const override;
41
42 // All configs.
50};
51
52} // namespace objcopy
53} // namespace llvm
54
55#endif // LLVM_OBJCOPY_CONFIGMANAGER_H
#define LLVM_ABI
Definition: Compiler.h:213
Tagged union holding either a T or a Error.
Definition: Error.h:485
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
const CommonConfig & getCommonConfig() const override
Definition: ConfigManager.h:28
Expected< const ELFConfig & > getELFConfig() const override
Definition: ConfigManager.h:30
DXContainerConfig DXContainer
Definition: ConfigManager.h:49