blob: a2d5a7a68ba9f866b24d23fbf2a258a300555259 [file] [log] [blame]
Andrew Scull5e1ddfa2018-08-14 10:06:54 +01001//===- llvm/Support/COM.h ---------------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9/// \file
10///
11/// Provides a library for accessing COM functionality of the Host OS.
12///
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_SUPPORT_COM_H
16#define LLVM_SUPPORT_COM_H
17
18namespace llvm {
19namespace sys {
20
21enum class COMThreadingMode { SingleThreaded, MultiThreaded };
22
23class InitializeCOMRAII {
24public:
25 explicit InitializeCOMRAII(COMThreadingMode Threading,
26 bool SpeedOverMemory = false);
27 ~InitializeCOMRAII();
28
29private:
30 InitializeCOMRAII(const InitializeCOMRAII &) = delete;
31 void operator=(const InitializeCOMRAII &) = delete;
32};
33}
34}
35
36#endif