36 lines · c
1//===-- lib/runtime/descriptor-io.h -----------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef FLANG_RT_RUNTIME_DESCRIPTOR_IO_H_10#define FLANG_RT_RUNTIME_DESCRIPTOR_IO_H_11 12#include "flang-rt/runtime/connection.h"13 14namespace Fortran::runtime {15class Descriptor;16} // namespace Fortran::runtime17 18namespace Fortran::runtime::io {19class IoStatementState;20struct NonTbpDefinedIoTable;21} // namespace Fortran::runtime::io22 23namespace Fortran::runtime::io::descr {24 25template <Direction DIR>26RT_API_ATTRS bool DescriptorIO(IoStatementState &, const Descriptor &,27 const NonTbpDefinedIoTable * = nullptr);28 29extern template RT_API_ATTRS bool DescriptorIO<Direction::Output>(30 IoStatementState &, const Descriptor &, const NonTbpDefinedIoTable *);31extern template RT_API_ATTRS bool DescriptorIO<Direction::Input>(32 IoStatementState &, const Descriptor &, const NonTbpDefinedIoTable *);33 34} // namespace Fortran::runtime::io::descr35#endif // FLANG_RT_RUNTIME_DESCRIPTOR_IO_H_36