CsString  1.4.0
doxypress_class.h
1 /*************************************************************************
2 *
3 * Copyright (c) 2017-2023 Barbara Geller & Ansel Sermersheim
4 *
5 * GNU Free Documentation License
6 * This file may be used under the terms of the GNU Free Documentation
7 * License version 1.3 as published by the Free Software Foundation
8 * and appearing in the file included in the packaging of this file.
9 *
10 *************************************************************************/
11 
12 /* classes added here to provide documentation */
13 
14 #include <cstddef>
15 #include <cs_char.h>
16 
17 namespace CsString {
18 
19 template<typename T>
20 class CsStringReverseIterator
21 {
22  public:
23  using difference_type = std::ptrdiff_t;
24  using pointer = CsChar *;
25  using reference = CsChar;
26  using size_type = std::ptrdiff_t;
27  using value_type = CsChar;
28  using iterator_category = std::random_access_iterator_tag;
29 
30  CsChar operator[](size_type n) const;
31 
32  bool operator!=(const CsStringReverseIterator &other) const;
33  bool operator==(const CsStringReverseIterator &other) const;
34 
35  bool operator< (const CsStringReverseIterator &other) const;
36  bool operator<= (const CsStringReverseIterator &other) const;
37  bool operator>(const CsStringReverseIterator &other) const;
38  bool operator>=(const CsStringReverseIterator &other) const;
39 
40  CsStringReverseIterator<T> &operator+=(size_type n);
41  CsStringReverseIterator<T> &operator-=(size_type n);
42  CsStringReverseIterator<T> &operator++();
43  CsStringReverseIterator<T> operator++(int);
44 
45  CsStringReverseIterator<T> operator+(size_type n) const;
46  CsStringReverseIterator<T> operator-(size_type n) const;
47 
48  size_type operator-(CsStringReverseIterator other) const;
49 
50  CsStringReverseIterator<T> &operator--();
51  CsStringReverseIterator<T> operator--(int);
52 };
53 
54 
55 }