8 #ifndef BLACKCAT_TENSORS_ALGROITHMS_REFERENCE_ITERATOR_H_ 9 #define BLACKCAT_TENSORS_ALGROITHMS_REFERENCE_ITERATOR_H_ 14 namespace algorithms {
20 using parent =
typename std::vector<T*>::iterator;
31 return *(parent::operator[](index));
40 template<
class ... Ts>
42 container { &ts... } {
55 template<
class T,
class ... Ts>
T & operator[](std::size_t index) const
Definition: reference_iterator.h:30
const auto t() const
Definition: expression_operations.h:93
Definition: reference_iterator.h:17
std::random_access_iterator_tag iterator_category
Definition: reference_iterator.h:19
typename std::vector< T * >::iterator parent
Definition: reference_iterator.h:20
auto begin()
Definition: reference_iterator.h:45
ReferenceList(Ts &... ts)
Definition: reference_iterator.h:41
int size_t
Definition: common.h:283
ReferenceIterator(parent p)
Definition: reference_iterator.h:22
Definition: reference_iterator.h:36
T & operator*() const
Definition: reference_iterator.h:26
ReferenceList< T > enumerate(T &t, Ts &... ts)
Definition: reference_iterator.h:56
std::vector< T * > container
Definition: reference_iterator.h:38
auto operator*(const ScalarType ¶m) const
Definition: expression_operations.h:49
The Evaluator determines if an expression needs to be greedily optimized.
Definition: algorithms.h:22
auto end()
Definition: reference_iterator.h:49