![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Vector implementation and trait types for boost qvm interoperability. More...
#include <boost/qvm/deduce_vec.hpp>#include <boost/qvm/vec_traits.hpp>#include "utils/Array.hpp"#include <algorithm>#include <cassert>#include <cmath>#include <concepts>#include <cstddef>#include <functional>#include <initializer_list>#include <iterator>#include <numeric>#include <ranges>#include <span>#include <type_traits>#include <vector>
Include dependency graph for Vector.hpp:Go to the source code of this file.
Classes | |
| class | Utils::Vector< T, N > |
| struct | Utils::Vector< T, N >::is_vector< U > |
| struct | Utils::Vector< T, N >::is_vector< Vector< U, Np > > |
| struct | Utils::decay_to_scalar< T > |
| Meta function to turn a Vector<T, 1> into T. More... | |
| struct | Utils::decay_to_scalar< Vector< T, N > > |
| struct | Utils::decay_to_scalar< Vector< T, 1 > > |
| struct | std::tuple_element< I, Utils::Vector< T, N > > |
| struct | std::tuple_size< Utils::Vector< T, N > > |
| struct | boost::qvm::vec_traits<::Utils::Vector< T, N > > |
| struct | boost::qvm::deduce_vec< Utils::Vector< T, 3 >, 3 > |
Namespaces | |
| namespace | Utils |
| namespace | boost |
| namespace | boost::qvm |
Typedefs | |
| template<class T > | |
| using | Utils::Vector3 = Vector< T, 3 > |
| template<std::size_t N> | |
| using | Utils::VectorXd = Vector< double, N > |
| using | Utils::Vector2d = VectorXd< 2 > |
| using | Utils::Vector3d = VectorXd< 3 > |
| using | Utils::Vector4d = VectorXd< 4 > |
| using | Utils::Vector6d = VectorXd< 6 > |
| using | Utils::Vector9d = VectorXd< 9 > |
| template<std::size_t N> | |
| using | Utils::VectorXf = Vector< float, N > |
| using | Utils::Vector3f = VectorXf< 3 > |
| template<std::size_t N> | |
| using | Utils::VectorXi = Vector< int, N > |
| using | Utils::Vector3i = VectorXi< 3 > |
Functions | |
| template<std::size_t N, typename T > | |
| constexpr bool | Utils::operator< (Vector< T, N > const &a, Vector< T, N > const &b) |
| template<std::size_t N, typename T > | |
| constexpr bool | Utils::operator> (Vector< T, N > const &a, Vector< T, N > const &b) |
| template<std::size_t N, typename T > | |
| constexpr bool | Utils::operator<= (Vector< T, N > const &a, Vector< T, N > const &b) |
| template<std::size_t N, typename T > | |
| constexpr bool | Utils::operator>= (Vector< T, N > const &a, Vector< T, N > const &b) |
| template<std::size_t N, typename T > | |
| constexpr bool | Utils::operator== (Vector< T, N > const &a, Vector< T, N > const &b) |
| template<std::size_t N, typename T > | |
| constexpr bool | Utils::operator!= (Vector< T, N > const &a, Vector< T, N > const &b) |
| template<std::size_t N, typename T , typename U > | |
| auto | Utils::operator+ (Vector< T, N > const &a, Vector< U, N > const &b) |
| template<std::size_t N, typename T > | |
| auto & | Utils::operator+= (Vector< T, N > &a, Vector< T, N > const &b) |
| template<std::size_t N, typename T , typename U > | |
| auto | Utils::operator- (Vector< T, N > const &a, Vector< U, N > const &b) |
| template<std::size_t N, typename T > | |
| Vector< T, N > | Utils::operator- (Vector< T, N > const &a) |
| template<std::size_t N, typename T > | |
| Vector< T, N > & | Utils::operator-= (Vector< T, N > &a, Vector< T, N > const &b) |
| template<std::size_t N, typename T , class U > requires (std::is_arithmetic_v<U>) | |
| auto | Utils::operator* (U const &a, Vector< T, N > const &b) |
| template<std::size_t N, typename T , class U > requires (std::is_arithmetic_v<U>) | |
| auto | Utils::operator* (Vector< T, N > const &a, U const &b) |
| template<std::size_t N, typename T > | |
| auto & | Utils::operator*= (Vector< T, N > &b, T const &a) |
| template<std::size_t N, typename T , class U > | |
| auto | Utils::operator/ (Vector< T, N > const &a, U const &b) |
| template<std::size_t N, typename T , class U > | |
| auto | Utils::operator/ (U const &a, Vector< T, N > const &b) |
| template<std::size_t N, typename T > | |
| auto & | Utils::operator/= (Vector< T, N > &a, T const &b) |
| template<std::size_t N, typename T , class U > requires (not(detail::is_vector<T>::value or detail::is_vector<U>::value)) | |
| auto constexpr | Utils::operator* (Vector< T, N > const &a, Vector< U, N > const &b) |
| template<std::size_t N, typename T , class U > requires (std::is_integral_v<T> and std::is_integral_v<U>) | |
| auto | Utils::operator% (Vector< T, N > const &a, Vector< U, N > const &b) |
| template<std::size_t N, typename T > | |
| auto | Utils::sqrt (Vector< T, N > const &a) |
| template<class T > | |
| Vector< T, 3 > | Utils::vector_product (Vector< T, 3 > const &a, Vector< T, 3 > const &b) |
| template<class T , std::size_t N> | |
| T | Utils::product (Vector< T, N > const &v) |
| template<class T , class U , std::size_t N> | |
| auto | Utils::hadamard_product (Vector< T, N > const &a, Vector< U, N > const &b) |
| template<typename T , typename U > requires (not(detail::is_vector<T>::value and detail::is_vector<U>::value)) | |
| auto | Utils::hadamard_product (T const &a, U const &b) |
| template<class T , class U , std::size_t N> | |
| auto | Utils::hadamard_division (Vector< T, N > const &a, Vector< U, N > const &b) |
| template<typename T , typename U > requires (not(detail::is_vector<T>::value and detail::is_vector<U>::value)) | |
| auto | Utils::hadamard_division (T const &a, U const &b) |
| template<typename T > | |
| Vector< T, 3 > | Utils::unit_vector (unsigned int i) |
| template<std::size_t I, class T , std::size_t N> | |
| T & | Utils::get (Vector< T, N > &a) noexcept |
| template<std::size_t I, class T , std::size_t N> | |
| T const & | Utils::get (Vector< T, N > const &a) noexcept |
Vector implementation and trait types for boost qvm interoperability.
Definition in file Vector.hpp.