11 #ifndef __JSONV_DETAIL_BASIC_VIEW_HPP_INCLUDED__ 12 #define __JSONV_DETAIL_BASIC_VIEW_HPP_INCLUDED__ 31 template <
typename TIterator,
32 typename TConstIterator = TIterator
37 typedef TIterator iterator;
38 typedef TConstIterator const_iterator;
39 typedef std::reverse_iterator<iterator> reverse_iterator;
40 typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
41 typedef typename std::iterator_traits<iterator>::value_type value_type;
42 typedef typename std::iterator_traits<iterator>::reference reference;
43 typedef typename std::iterator_traits<iterator>::pointer pointer;
51 iterator begin() {
return _begin; }
52 const_iterator begin()
const {
return _begin; }
53 iterator end() {
return _end; }
54 const_iterator end()
const {
return _end; }
56 const_iterator cbegin()
const {
return _begin; }
57 const_iterator cend()
const {
return _end; }
59 reverse_iterator rbegin() {
return reverse_iterator(end()); };
60 const_reverse_iterator rbegin()
const {
return const_reverse_iterator(end()); }
61 reverse_iterator rend() {
return reverse_iterator(begin()); }
62 const_reverse_iterator rend()
const {
return reverse_iterator(begin()); }
64 const_reverse_iterator crbegin()
const {
return const_reverse_iterator(end()); }
65 const_reverse_iterator crend()
const {
return reverse_iterator(begin()); }
88 template <
typename TContainer,
90 typename TConstIterator = TIterator
99 template <
typename FBegin,
typename FEnd>
Copyright (c) 2014-2019 by Travis Gockel.
A form of basic_view that owns the object it is iterating over.
Something that owns an object.
A view template used for array and object views of a value.