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 <cstddef>
#include <functional>
#include <initializer_list>
#include <iterator>
#include <numeric>
#include <span>
#include <type_traits>
#include <vector>
Go to the source code of this file.
Classes | |
class | Utils::Vector< T, N > |
struct | Utils::decay_to_scalar< T > |
Meta function to turns a Vector<1, T> into T. More... | |
struct | Utils::decay_to_scalar< Vector< T, N > > |
struct | Utils::decay_to_scalar< Vector< T, 1 > > |
struct | Utils::tuple_element< I, Vector< T, N > > |
struct | Utils::tuple_size< 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 > | |
Vector< T, N > & | 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 , std::enable_if_t< std::is_arithmetic_v< U >, bool > = true> | |
auto | Utils::operator* (U const &a, Vector< T, N > const &b) |
template<std::size_t N, typename T , class U , std::enable_if_t< std::is_arithmetic_v< U >, bool > = true> | |
auto | Utils::operator* (Vector< T, N > const &b, U const &a) |
template<std::size_t N, typename T > | |
Vector< T, N > & | Utils::operator*= (Vector< T, N > &b, T const &a) |
template<std::size_t N, typename T > | |
Vector< T, N > | Utils::operator/ (Vector< T, N > const &a, T const &b) |
template<std::size_t N, typename T > | |
Vector< T, N > | Utils::operator/ (T const &a, Vector< T, N > const &b) |
template<std::size_t N, typename T > | |
Vector< T, N > & | Utils::operator/= (Vector< T, N > &a, T const &b) |
template<std::size_t N, typename T , class U , class = std::enable_if_t<not(detail::is_vector<T>::value or detail::is_vector<U>::value)>> | |
auto | Utils::operator* (Vector< T, N > const &a, Vector< U, N > const &b) |
template<std::size_t N, typename T , class U , class = std::enable_if_t<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 > | |
Vector< T, N > | 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<class T , class U , std::size_t N, class = std::enable_if_t<not(detail::is_vector<T>::value)>> | |
auto | Utils::hadamard_product (T const &a, Vector< U, N > const &b) |
template<class T , class U , std::size_t N, class = std::enable_if_t<not(detail::is_vector<U>::value)>> | |
auto | Utils::hadamard_product (Vector< T, N > const &a, U const &b) |
template<typename T , typename U , class = std::enable_if_t<not(detail::is_vector<T>::value or 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<class T , class U , std::size_t N, class = std::enable_if_t<not(detail::is_vector<U>::value)>> | |
auto | Utils::hadamard_division (Vector< T, N > const &a, U const &b) |
template<class T , class U , std::size_t N, class = std::enable_if_t<not(detail::is_vector<T>::value)>> | |
auto | Utils::hadamard_division (T const &a, Vector< U, N > const &b) |
template<typename T , typename U , class = std::enable_if_t<not(detail::is_vector<T>::value or 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> | |
auto | Utils::get (Vector< T, N > const &a) -> std::enable_if_t<(I< N), const T & > |
Vector implementation and trait types for boost qvm interoperability.
Definition in file Vector.hpp.