Template Class VectorExprAccess

Inheritance Relationships

Derived Types

Class Documentation

template<typename Derived, typename Vector>
class VectorExprAccess

element access to an Expr Derived that is a Vector : the mutable accessors invalidate the memoized hash of Derived , which must befriend this class

Note

declares no member types, which would make those of Vector ambiguous in Derived

Subclassed by sequant::NormalOperatorSequence< S >, sequant::Operator< S >

Public Functions

inline const Vector::value_type &operator[](std::size_t i) const
inline Vector::value_type &operator[](std::size_t i)
inline const Vector::value_type &at(std::size_t i) const
inline Vector::value_type &at(std::size_t i)
inline auto begin() const
inline auto begin()
inline auto end() const
inline auto end()
inline auto rbegin() const
inline auto rbegin()
inline auto rend() const
inline auto rend()
inline void push_back(const typename Vector::value_type &value)
inline void push_back(typename Vector::value_type &&value)
template<typename ...Args>
inline Vector::value_type &emplace_back(Args&&... args)
inline void pop_back()
template<typename ...Args>
inline auto insert(typename Vector::const_iterator pos, Args&&... args)
inline auto insert(typename Vector::const_iterator pos, std::initializer_list<typename Vector::value_type> values)
inline auto erase(typename Vector::const_iterator pos)
inline auto erase(typename Vector::const_iterator first, typename Vector::const_iterator last)
inline void clear()
template<typename ...Args>
inline void resize(Args&&... args)