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. |