Chemical Data Processing Library C++ API - Version 1.2.0
Classes | Namespaces | Typedefs | Functions
Vector.hpp File Reference

Definition of vector data types. More...

#include <cstddef>
#include <algorithm>
#include <vector>
#include <limits>
#include <utility>
#include <unordered_map>
#include <type_traits>
#include <initializer_list>
#include <memory>
#include "CDPL/Math/Check.hpp"
#include "CDPL/Math/VectorExpression.hpp"
#include "CDPL/Math/VectorAssignment.hpp"
#include "CDPL/Math/DirectAssignmentProxy.hpp"
#include "CDPL/Math/Functional.hpp"
#include "CDPL/Math/TypeTraits.hpp"
#include "CDPL/Math/SparseContainerElement.hpp"
#include "CDPL/Base/Exceptions.hpp"

Go to the source code of this file.

Classes

class  CDPL::Math::VectorReference< V >
 
class  CDPL::Math::InitListVector< T >
 
class  CDPL::Math::Vector< T, A >
 
class  CDPL::Math::SparseVector< T, A >
 
class  CDPL::Math::BoundedVector< T, N >
 
class  CDPL::Math::CVector< T, N >
 
class  CDPL::Math::ZeroVector< T >
 
class  CDPL::Math::UnitVector< T >
 
class  CDPL::Math::ScalarVector< T >
 
struct  CDPL::Math::VectorTemporaryTraits< const VectorReference< V > >
 
struct  CDPL::Math::VectorTemporaryTraits< VectorReference< V > >
 

Namespaces

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

Typedefs

typedef ScalarVector< float > CDPL::Math::FScalarVector
 
typedef ScalarVector< double > CDPL::Math::DScalarVector
 
typedef ScalarVector< long > CDPL::Math::LScalarVector
 
typedef ScalarVector< unsigned long > CDPL::Math::ULScalarVector
 
typedef ZeroVector< float > CDPL::Math::FZeroVector
 
typedef ZeroVector< double > CDPL::Math::DZeroVector
 
typedef ZeroVector< long > CDPL::Math::LZeroVector
 
typedef ZeroVector< unsigned long > CDPL::Math::ULZeroVector
 
typedef UnitVector< float > CDPL::Math::FUnitVector
 
typedef UnitVector< double > CDPL::Math::DUnitVector
 
typedef UnitVector< long > CDPL::Math::LUnitVector
 
typedef UnitVector< unsigned long > CDPL::Math::ULUnitVector
 
typedef CVector< float, 2 > CDPL::Math::Vector2F
 A bounded 2 element vector holding floating point values of type float. More...
 
typedef CVector< float, 3 > CDPL::Math::Vector3F
 A bounded 3 element vector holding floating point values of type float. More...
 
typedef CVector< float, 4 > CDPL::Math::Vector4F
 A bounded 4 element vector holding floating point values of type float. More...
 
typedef CVector< double, 2 > CDPL::Math::Vector2D
 A bounded 2 element vector holding floating point values of type double. More...
 
typedef CVector< double, 3 > CDPL::Math::Vector3D
 A bounded 3 element vector holding floating point values of type double. More...
 
typedef CVector< double, 4 > CDPL::Math::Vector4D
 A bounded 4 element vector holding floating point values of type double. More...
 
typedef CVector< double, 7 > CDPL::Math::Vector7D
 A bounded 7 element vector holding floating point values of type double. More...
 
typedef CVector< long, 2 > CDPL::Math::Vector2L
 A bounded 2 element vector holding signed integers of type long. More...
 
typedef CVector< long, 3 > CDPL::Math::Vector3L
 A bounded 3 element vector holding signed integers of type long. More...
 
typedef CVector< long, 4 > CDPL::Math::Vector4L
 A bounded 4 element vector holding signed integers of type long. More...
 
typedef CVector< unsigned long, 2 > CDPL::Math::Vector2UL
 A bounded 2 element vector holding unsigned integers of type unsigned long. More...
 
typedef CVector< unsigned long, 3 > CDPL::Math::Vector3UL
 A bounded 3 element vector holding unsigned integers of type unsigned long. More...
 
typedef CVector< unsigned long, 4 > CDPL::Math::Vector4UL
 A bounded 4 element vector holding unsigned integers of type unsigned long. More...
 
typedef Vector< float > CDPL::Math::FVector
 An unbounded dense vector holding floating point values of type float. More...
 
typedef Vector< double > CDPL::Math::DVector
 An unbounded dense vector holding floating point values of type double. More...
 
typedef Vector< long > CDPL::Math::LVector
 An unbounded dense vector holding signed integers of type long. More...
 
typedef Vector< unsigned long > CDPL::Math::ULVector
 An unbounded dense vector holding unsigned integers of type unsigned long. More...
 
typedef SparseVector< float > CDPL::Math::SparseFVector
 An unbounded sparse vector holding floating point values of type float. More...
 
typedef SparseVector< double > CDPL::Math::SparseDVector
 An unbounded sparse vector holding floating point values of type double. More...
 
typedef SparseVector< long > CDPL::Math::SparseLVector
 An unbounded sparse vector holding signed integers of type long. More...
 
typedef SparseVector< unsigned long > CDPL::Math::SparseULVector
 An unbounded sparse vector holding unsigned integers of type unsigned long. More...
 

Functions

template<typename T1 , typename T2 >
CVector< typename CommonType< T1, T2 >::Type, 2 > CDPL::Math::vec (const T1 &t1, const T2 &t2)
 
template<typename T1 , typename T2 , typename T3 >
CVector< typename CommonType< typename CommonType< T1, T2 >::Type, T3 >::Type, 3 > CDPL::Math::vec (const T1 &t1, const T2 &t2, const T3 &t3)
 
template<typename T1 , typename T2 , typename T3 , typename T4 >
CVector< typename CommonType< typename CommonType< typename CommonType< T1, T2 >::Type, T3 >::Type, T4 >::Type, 4 > CDPL::Math::vec (const T1 &t1, const T2 &t2, const T3 &t3, const T4 &t4)
 

Detailed Description

Definition of vector data types.