This file contains concepts for C++ 20 along with some helper types to make it easier to produce iterators for the container wrappers (providers). More...


Go to the source code of this file.
Data Structures | |
| struct | garlic::BasicIteratorWrapper< ValueType, Iterator > |
| A trivial and basic iterator wrapper that conforms to the IteratorWrapper concept. More... | |
| class | garlic::ForwardIterator< Container, DifferenceType > |
| A forward iterator that takes an IteratorWrapper as a guide to produce a complete iterator. More... | |
| class | garlic::RandomAccessIterator< Container, DifferenceType > |
| A random access iterator that takes an IteratorWrapper as a guide to produce a complete iterator. More... | |
| class | garlic::back_inserter_iterator< LayerType > |
| A generic bask inserter iterator for all garlic Layer types. More... | |
| struct | garlic::MemberPair< ValueType, KeyType > |
| Generic struct to hold a pair to be used to store key-value associations in an object. More... | |
| struct | garlic::ConstListRange< LayerType > |
| Wrapper struct that can be used in a for-loop range iterating over lists. More... | |
| struct | garlic::ListRange< LayerType > |
| Wrapper struct that can be used in a for-loop range iterating over lists. More... | |
| struct | garlic::ConstMemberRange< LayerType > |
| Wrapper struct that can be used in a for-loop range iterating over an object's members. More... | |
| struct | garlic::MemberRange< LayerType > |
| Wrapper struct that can be used in a for-loop range iterating over an object's members. More... | |
Typedefs | |
| template<typename ValueType , typename Iterator > | |
| using | garlic::BasicForwardIterator = ForwardIterator< BasicIteratorWrapper< ValueType, Iterator > > |
| template<typename ValueType , typename Iterator > | |
| using | garlic::BasicRandomAccessIterator = RandomAccessIterator< BasicIteratorWrapper< ValueType, Iterator > > |
| Very basic random access iterator useful for making wrapper iterators for new providers. More... | |
Functions | |
| template<GARLIC_REF LayerType> | |
| static back_inserter_iterator< LayerType > | garlic::back_inserter (LayerType &&layer) |
| Helper method to produce garlic back inserter iterators. | |
This file contains concepts for C++ 20 along with some helper types to make it easier to produce iterators for the container wrappers (providers).
| using garlic::BasicForwardIterator = typedef ForwardIterator< BasicIteratorWrapper<ValueType, Iterator> > |
Very basic forward iterator useful for making wrapper iterators for new providers.
| ValueType | is the output garlic Layer type. |
| Iterator | is the underlying iterator type whose values get wrapped by the ValueType. |
| using garlic::BasicRandomAccessIterator = typedef RandomAccessIterator< BasicIteratorWrapper<ValueType, Iterator> > |
Very basic random access iterator useful for making wrapper iterators for new providers.
| ValueType | is the output garlic Layer type. |
| Iterator | is the underlying iterator type whose values get wrapped by the ValueType. |