1//===- llvm/Support/COM.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/// \file
9///
10/// Provides a library for accessing COM functionality of the Host OS.
11///
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_SUPPORT_COM_H
15#define LLVM_SUPPORT_COM_H
16
17namespace llvm {
18namespace sys {
19
20enum class COMThreadingMode { SingleThreaded, MultiThreaded };
21
22class InitializeCOMRAII {
23public:
24 explicit InitializeCOMRAII(COMThreadingMode Threading,
25 bool SpeedOverMemory = false);
26 ~InitializeCOMRAII();
27
28private:
29 InitializeCOMRAII(const InitializeCOMRAII &) = delete;
30 void operator=(const InitializeCOMRAII &) = delete;
31};
32}
33}
34
35#endif
36

source code of llvm/include/llvm/Support/COM.h