// -*- c++ -*-
// Copyright 1998,1999 Zanshin Inc.
// The contents of this file are subject to the Zanshin Public License Version
// 1.0 (the "License"); you may not use this file except in compliance with the
// License. You should have received a copy of the License with Latte; see
// the file COPYING. You may also obtain a copy of the License at
// .
//
// Software distributed under the License is distributed on an "AS IS" basis,
// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
// for the specific language governing rights and limitations under the
// License.
//
// The Original Code is Latte.
//
// The Initial Developer of the Original Code is Zanshin, Inc.
#ifndef RESTORER_H
# define RESTORER_H
#ifndef CONFIGURE_IS_RUNNING
# include
#endif // CONFIGURE_IS_RUNNING
template
class Restorer {
public:
Restorer(T &t) : t(t), val(t) {}
Restorer(T &t, const T &now, const T &later) : t(t), val(later) { t = now; }
~Restorer() { t = val; }
private:
T &t;
T val;
};
#endif // RESTORER_H