xref: /llvm-project/libcxx/include/__iterator/iterator.h (revision e99c4906e44ae3f921fa05356909d006cda8d954)
1f32f3db9SLouis Dionne // -*- C++ -*-
2f32f3db9SLouis Dionne //===----------------------------------------------------------------------===//
3f32f3db9SLouis Dionne //
4f32f3db9SLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5f32f3db9SLouis Dionne // See https://llvm.org/LICENSE.txt for license information.
6f32f3db9SLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7f32f3db9SLouis Dionne //
8f32f3db9SLouis Dionne //===----------------------------------------------------------------------===//
9f32f3db9SLouis Dionne 
10f32f3db9SLouis Dionne #ifndef _LIBCPP___ITERATOR_ITERATOR_H
11f32f3db9SLouis Dionne #define _LIBCPP___ITERATOR_ITERATOR_H
12f32f3db9SLouis Dionne 
13f32f3db9SLouis Dionne #include <__config>
14*e99c4906SNikolas Klauser #include <__cstddef/ptrdiff_t.h>
15f32f3db9SLouis Dionne 
16f32f3db9SLouis Dionne #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
17f32f3db9SLouis Dionne #  pragma GCC system_header
18f32f3db9SLouis Dionne #endif
19f32f3db9SLouis Dionne 
20f32f3db9SLouis Dionne _LIBCPP_BEGIN_NAMESPACE_STD
21f32f3db9SLouis Dionne 
229783f28cSLouis Dionne template <class _Category, class _Tp, class _Distance = ptrdiff_t, class _Pointer = _Tp*, class _Reference = _Tp&>
239783f28cSLouis Dionne struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 iterator {
24f32f3db9SLouis Dionne   typedef _Tp value_type;
25f32f3db9SLouis Dionne   typedef _Distance difference_type;
26f32f3db9SLouis Dionne   typedef _Pointer pointer;
27f32f3db9SLouis Dionne   typedef _Reference reference;
28f32f3db9SLouis Dionne   typedef _Category iterator_category;
29f32f3db9SLouis Dionne };
30f32f3db9SLouis Dionne 
31f32f3db9SLouis Dionne _LIBCPP_END_NAMESPACE_STD
32f32f3db9SLouis Dionne 
33f32f3db9SLouis Dionne #endif // _LIBCPP___ITERATOR_ITERATOR_H
34