COM.h 976 B

123456789101112131415161718192021222324252627282930313233343536
  1. //===- 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. #ifndef LLVM_SUPPORT_COM_H
  15. #define LLVM_SUPPORT_COM_H
  16. namespace llvm {
  17. namespace sys {
  18. enum class COMThreadingMode { SingleThreaded, MultiThreaded };
  19. class InitializeCOMRAII {
  20. public:
  21. explicit InitializeCOMRAII(COMThreadingMode Threading,
  22. bool SpeedOverMemory = false);
  23. ~InitializeCOMRAII();
  24. private:
  25. InitializeCOMRAII(const InitializeCOMRAII &) = delete;
  26. void operator=(const InitializeCOMRAII &) = delete;
  27. };
  28. }
  29. }
  30. #endif