From c205570127c9f35607e55e96c4a2fac4c2553e99 Mon Sep 17 00:00:00 2001 From: Zachary Turner Date: Mon, 27 Apr 2015 17:19:26 +0000 Subject: Make an RAII com initializer. Differential Revision: http://reviews.llvm.org/D9267 Reviewed By: Aaron Ballman, David Majnemer llvm-svn: 235898 --- llvm/include/llvm/Support/COM.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 llvm/include/llvm/Support/COM.h (limited to 'llvm/include') diff --git a/llvm/include/llvm/Support/COM.h b/llvm/include/llvm/Support/COM.h new file mode 100644 index 00000000000..a2d5a7a68ba --- /dev/null +++ b/llvm/include/llvm/Support/COM.h @@ -0,0 +1,36 @@ +//===- llvm/Support/COM.h ---------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +/// \file +/// +/// Provides a library for accessing COM functionality of the Host OS. +/// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_SUPPORT_COM_H +#define LLVM_SUPPORT_COM_H + +namespace llvm { +namespace sys { + +enum class COMThreadingMode { SingleThreaded, MultiThreaded }; + +class InitializeCOMRAII { +public: + explicit InitializeCOMRAII(COMThreadingMode Threading, + bool SpeedOverMemory = false); + ~InitializeCOMRAII(); + +private: + InitializeCOMRAII(const InitializeCOMRAII &) = delete; + void operator=(const InitializeCOMRAII &) = delete; +}; +} +} + +#endif -- cgit v1.2.3