text: /*
   *  Main authors:
   *    Noric Couderc <noric@sics.se>
   *
   *  Contributing authors:
   *    Mats Carlsson <mats.carlsson@ri.se>
   *    Roberto Castaneda Lozano <roberto.castaneda@ri.se>
   *
   *  This file is part of Unison, see http://unison-code.github.io
   *
   *  Copyright (c) 2016, RISE SICS AB
   *  All rights reserved.
   *
   *  Redistribution and use in source and binary forms, with or without
   *  modification, are permitted provided that the following conditions are met:
   *  1. Redistributions of source code must retain the above copyright notice,
   *     this list of conditions and the following disclaimer.
   *  2. Redistributions in binary form must reproduce the above copyright notice,
   *     this list of conditions and the following disclaimer in the documentation
   *     and/or other materials provided with the distribution.
   *  3. Neither the name of the copyright holder nor the names of its
   *     contributors may be used to endorse or promote products derived from this
   *     software without specific prior written permission.
   *
   *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
   *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   *  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
   *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   *  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   *  POSSIBILITY OF SUCH DAMAGE.
   */
  #ifndef __UNSAFE_TEMP__
  #define __UNSAFE_TEMP__
  
  
  #include "../common/util.hpp" // min_of, etc...
  #include "../models/parameters.hpp"
  #include "models/globalmodel.hpp"
  #include "procedures/presolverprocedures.hpp"
  #include "auxiliary.hpp" // auxiliary functions as defined in the spec
  #include <limits>
  #include <vector>
  
  bool temp_is_unsafe(const Parameters& input, const temporary t);
  void temp_domain(Parameters& input);
  void suppress_copies(Parameters& input, block b, vector<presolver_conj>& Nogoods);
  
  #endif
  