//===----------------------------------------------------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//
#ifndef LIBCPP_TEST_SUPPORT_READ_WRITE_H
#define LIBCPP_TEST_SUPPORT_READ_WRITE_H

struct value_type_indirection {
  using value_type = int;
  value_type& operator*() const;
};

struct element_type_indirection {
  using element_type = long;
  element_type& operator*() const;
};

struct proxy_indirection {
  using value_type = int;
  value_type operator*() const;
};

struct read_only_indirection {
  using value_type = int const;
  value_type& operator*() const;
};

// doubles as missing_iter_reference_t
struct missing_dereference {
  using value_type = int;
};

#endif // LIBCPP_TEST_SUPPORT_READ_WRITE_H
