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 > &e, const typename VectorRange< E >::RangeType &r)
 Creates a mutable Math::VectorRange view of the subrange r of the vector expression e. More...
 
template<typename E >
VectorRange< const E > CDPL::Math::range (const VectorExpression< E > &e, const typename VectorRange< const E >::RangeType &r)
 Creates a constant Math::VectorRange view of the subrange r of the vector expression e. More...
 
template<typename E >
VectorRange< E > CDPL::Math::range (VectorExpression< E > &e, typename VectorRange< E >::RangeType::SizeType start, typename VectorRange< E >::RangeType::SizeType stop)
 Creates a mutable Math::VectorRange view of the subrange [start, stop) of the vector expression e. More...
 
template<typename E >
VectorRange< const E > CDPL::Math::range (const VectorExpression< E > &e, typename VectorRange< const E >::RangeType::SizeType start, typename VectorRange< const E >::RangeType::SizeType stop)
 Creates a constant Math::VectorRange view of the subrange [start, stop) of the vector expression e. More...
 
template<typename E >
VectorSlice< E > CDPL::Math::slice (VectorExpression< E > &e, const typename VectorSlice< E >::SliceType &s)
 Creates a mutable Math::VectorSlice view of the slice s of the vector expression e. More...
 
template<typename E >
VectorSlice< const E > CDPL::Math::slice (const VectorExpression< E > &e, const typename VectorSlice< const E >::SliceType &s)
 Creates a constant Math::VectorSlice view of the slice s of the vector expression e. More...
 
template<typename E >
VectorSlice< E > CDPL::Math::slice (VectorExpression< E > &e, typename VectorSlice< E >::SliceType::SizeType start, typename VectorSlice< E >::SliceType::DifferenceType stride, typename VectorSlice< E >::SliceType::SizeType size)
 Creates a mutable Math::VectorSlice view of the slice (start, stride, size) of the vector expression e. More...
 
template<typename E >
VectorSlice< const E > CDPL::Math::slice (const VectorExpression< E > &e, typename VectorSlice< const E >::SliceType::SizeType start, typename VectorSlice< const E >::SliceType::DifferenceType stride, typename VectorSlice< const E >::SliceType::SizeType size)
 Creates a constant Math::VectorSlice view of the slice (start, stride, size) of the vector expression e. More...
 

Detailed Description

Definition of vector proxy types.