//===------ IslOstream.h ----------------------------------------*- C++ -*-===//
 
//
 
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 
// See https://llvm.org/LICENSE.txt for license information.
 
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
//
 
//===----------------------------------------------------------------------===//
 
//
 
// raw_ostream printers for isl C++ objects.
 
//
 
//===----------------------------------------------------------------------===//
 
 
 
#include "polly/Support/GICHelper.h"
 
#include "llvm/Support/raw_ostream.h"
 
#include "isl/isl-noexceptions.h"
 
namespace polly {
 
 
 
#define ADD_OSTREAM_PRINTER(name)                                              \
 
  inline llvm::raw_ostream &operator<<(llvm::raw_ostream &OS,                  \
 
                                       const name &Obj) {                      \
 
    OS << stringFromIslObj(Obj);                                               \
 
    return OS;                                                                 \
 
  }
 
 
 
ADD_OSTREAM_PRINTER(isl::aff)
 
ADD_OSTREAM_PRINTER(isl::ast_expr)
 
ADD_OSTREAM_PRINTER(isl::ast_node)
 
ADD_OSTREAM_PRINTER(isl::basic_map)
 
ADD_OSTREAM_PRINTER(isl::basic_set)
 
ADD_OSTREAM_PRINTER(isl::map)
 
ADD_OSTREAM_PRINTER(isl::set)
 
ADD_OSTREAM_PRINTER(isl::id)
 
ADD_OSTREAM_PRINTER(isl::multi_aff)
 
ADD_OSTREAM_PRINTER(isl::multi_pw_aff)
 
ADD_OSTREAM_PRINTER(isl::multi_union_pw_aff)
 
ADD_OSTREAM_PRINTER(isl::point)
 
ADD_OSTREAM_PRINTER(isl::pw_aff)
 
ADD_OSTREAM_PRINTER(isl::pw_multi_aff)
 
ADD_OSTREAM_PRINTER(isl::schedule)
 
ADD_OSTREAM_PRINTER(isl::schedule_node)
 
ADD_OSTREAM_PRINTER(isl::space)
 
ADD_OSTREAM_PRINTER(isl::union_access_info)
 
ADD_OSTREAM_PRINTER(isl::union_flow)
 
ADD_OSTREAM_PRINTER(isl::union_set)
 
ADD_OSTREAM_PRINTER(isl::union_map)
 
ADD_OSTREAM_PRINTER(isl::union_pw_aff)
 
ADD_OSTREAM_PRINTER(isl::union_pw_multi_aff)
 
} // namespace polly