[llvm-commits] [llvm] r151828 - in /llvm/trunk/include/llvm: ADT/SaveAndRestore.h Support/SaveAndRestore.h

Argyrios Kyrtzidis akyrtzi at gmail.com
Thu Mar 1 11:45:47 PST 2012


Author: akirtzidis
Date: Thu Mar  1 13:45:47 2012
New Revision: 151828

URL: http://llvm.org/viewvc/llvm-project?rev=151828&view=rev
Log:
Move include/llvm/ADT/SaveAndRestore.h -> include/llvm/Support/SaveAndRestore.h

Added:
    llvm/trunk/include/llvm/Support/SaveAndRestore.h
      - copied, changed from r151824, llvm/trunk/include/llvm/ADT/SaveAndRestore.h
Removed:
    llvm/trunk/include/llvm/ADT/SaveAndRestore.h

Removed: llvm/trunk/include/llvm/ADT/SaveAndRestore.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/SaveAndRestore.h?rev=151827&view=auto
==============================================================================
--- llvm/trunk/include/llvm/ADT/SaveAndRestore.h (original)
+++ llvm/trunk/include/llvm/ADT/SaveAndRestore.h (removed)
@@ -1,47 +0,0 @@
-//===-- SaveAndRestore.h - Utility  -------------------------------*- C++ -*-=//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-//  This file provides utility classes that uses RAII to save and restore
-//  values.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_ADT_SAVERESTORE
-#define LLVM_ADT_SAVERESTORE
-
-namespace llvm {
-
-// SaveAndRestore - A utility class that uses RAII to save and restore
-//  the value of a variable.
-template<typename T>
-struct SaveAndRestore {
-  SaveAndRestore(T& x) : X(x), old_value(x) {}
-  SaveAndRestore(T& x, const T &new_value) : X(x), old_value(x) {
-    X = new_value;
-  }
-  ~SaveAndRestore() { X = old_value; }
-  T get() { return old_value; }
-private:
-  T& X;
-  T old_value;
-};
-
-// SaveOr - Similar to SaveAndRestore.  Operates only on bools; the old
-//  value of a variable is saved, and during the dstor the old value is
-//  or'ed with the new value.
-struct SaveOr {
-  SaveOr(bool& x) : X(x), old_value(x) { x = false; }
-  ~SaveOr() { X |= old_value; }
-private:
-  bool& X;
-  const bool old_value;
-};
-
-}
-#endif

Copied: llvm/trunk/include/llvm/Support/SaveAndRestore.h (from r151824, llvm/trunk/include/llvm/ADT/SaveAndRestore.h)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/SaveAndRestore.h?p2=llvm/trunk/include/llvm/Support/SaveAndRestore.h&p1=llvm/trunk/include/llvm/ADT/SaveAndRestore.h&r1=151824&r2=151828&rev=151828&view=diff
==============================================================================
    (empty)





More information about the llvm-commits mailing list