38 lines · c
1//===----------------------------------------------------------------------===//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 LIBCPP_TEST_SUPPORT_READ_WRITE_H10#define LIBCPP_TEST_SUPPORT_READ_WRITE_H11 12struct value_type_indirection {13 using value_type = int;14 value_type& operator*() const;15};16 17struct element_type_indirection {18 using element_type = long;19 element_type& operator*() const;20};21 22struct proxy_indirection {23 using value_type = int;24 value_type operator*() const;25};26 27struct read_only_indirection {28 using value_type = int const;29 value_type& operator*() const;30};31 32// doubles as missing_iter_reference_t33struct missing_dereference {34 using value_type = int;35};36 37#endif // LIBCPP_TEST_SUPPORT_READ_WRITE_H38