Chemical Data Processing Library C++ API - Version 1.4.0
Classes | Namespaces | Functions
VectorProxy.hpp File Reference

Definition of vector proxy types. More...

#include <type_traits>
#include "CDPL/Math/Expression.hpp"
#include "CDPL/Math/VectorAssignment.hpp"
#include "CDPL/Math/TypeTraits.hpp"
#include "CDPL/Math/Functional.hpp"
#include "CDPL/Math/Range.hpp"
#include "CDPL/Math/Slice.hpp"

Go to the source code of this file.

Classes

class  CDPL::Math::VectorRange< V >
 Vector expression proxy that views a contiguous half-open subrange of an underlying vector. More...
 
class  CDPL::Math::VectorSlice< V >
 Vector expression proxy that views a strided slice of an underlying vector. More...
 
struct  CDPL::Math::VectorTemporaryTraits< VectorRange< V > >
 Math::VectorTemporaryTraits specialization inheriting the temporary type of the underlying vector for a Math::VectorRange view. More...
 
struct  CDPL::Math::VectorTemporaryTraits< const VectorRange< V > >
 Math::VectorTemporaryTraits specialization inheriting the temporary type of the underlying vector for a const Math::VectorRange view. More...
 
struct  CDPL::Math::VectorTemporaryTraits< VectorSlice< V > >
 Math::VectorTemporaryTraits specialization inheriting the temporary type of the underlying vector for a Math::VectorSlice view. More...
 
struct  CDPL::Math::VectorTemporaryTraits< const VectorSlice< V > >
 Math::VectorTemporaryTraits specialization inheriting the temporary type of the underlying vector for a const Math::VectorSlice view. More...
 

Namespaces

 CDPL
 The namespace of the Chemical Data Processing Library.
 
 CDPL::Math
 Contains classes and functions related to mathematics.
 

Functions

template<typename E >
VectorRange< E > CDPL::Math::range (VectorExpression< E > &mve, const typename VectorRange< E >::RangeType &r)
 Returns a mutable vector proxy viewing the subrange r of mve. More...
 
template<typename E >
VectorRange< const E > CDPL::Math::range (const VectorExpression< E > &cve, const typename VectorRange< const E >::RangeType &r)
 Returns a constant vector proxy viewing the subrange r of cve. More...
 
template<typename E >
VectorRange< E > CDPL::Math::range (VectorExpression< E > &mve, typename VectorRange< E >::RangeType::SizeType start, typename VectorRange< E >::RangeType::SizeType stop)
 Returns a mutable vector proxy viewing the subrange [start, stop) of mve. More...
 
template<typename E >
VectorRange< const E > CDPL::Math::range (const VectorExpression< E > &cve, typename VectorRange< const E >::RangeType::SizeType start, typename VectorRange< const E >::RangeType::SizeType stop)
 Returns a constant vector proxy viewing the subrange [start, stop) of cve. More...
 
template<typename E >
VectorSlice< E > CDPL::Math::slice (VectorExpression< E > &mve, const typename VectorSlice< E >::SliceType &s)
 Returns a mutable vector proxy viewing the strided slice s of mve. More...
 
template<typename E >
VectorSlice< const E > CDPL::Math::slice (const VectorExpression< E > &cve, const typename VectorSlice< const E >::SliceType &s)
 Returns a constant vector proxy viewing the strided slice s of cve. More...
 
template<typename E >
VectorSlice< E > CDPL::Math::slice (VectorExpression< E > &mve, typename VectorSlice< E >::SliceType::SizeType start, typename VectorSlice< E >::SliceType::DifferenceType stride, typename VectorSlice< E >::SliceType::SizeType size)
 Returns a mutable vector proxy viewing the strided slice (start, stride, size) of mve. More...
 
template<typename E >
VectorSlice< const E > CDPL::Math::slice (const VectorExpression< E > &cve, typename VectorSlice< const E >::SliceType::SizeType start, typename VectorSlice< const E >::SliceType::DifferenceType stride, typename VectorSlice< const E >::SliceType::SizeType size)
 Returns a constant vector proxy viewing the strided slice (start, stride, size) of cve. More...
 

Detailed Description

Definition of vector proxy types.