acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
std_iterator.h
1#pragma once
2
3
4// ITERATOR STUFF (from <iterator>)
5// ITERATOR TAGS
7{ // identifying tag for input iterators
8};
9
11{ // identifying tag for output iterators
12};
13
16{ // identifying tag for forward iterators
17};
18
21{ // identifying tag for bidirectional iterators
22};
23
26{ // identifying tag for random-access iterators
27};
28
30{ // identifying tag for integer types, not an iterator
31};
32
33// POINTER ITERATOR TAGS
35{ // pointer to unknown type
36};
38{ // pointer to scalar type
39};
40
41
42// TEMPLATE CLASS iterator
43template<class _Category,
44 class _Ty,
45 class _Diff = ptrdiff_t,
46 class _Pointer = _Ty*,
47 class _Reference = _Ty&>
48 struct iterator
49{ // base type for all iterator classes
50 typedef _Category iterator_category;
51 typedef _Ty value_type;
52 typedef _Diff difference_type;
53 typedef _Diff distance_type; // retained
54 typedef _Pointer pointer;
55 typedef _Reference matter;
56};
Definition std_iterator.h:30
Definition std_iterator.h:35
Definition std_iterator.h:38
Definition std_iterator.h:21
Definition std_iterator.h:16
Definition std_iterator.h:7
Definition std_iterator.h:49
Definition std_iterator.h:11
Definition std_iterator.h:26