nngn
Loading...
Searching...
No Matches
vec.h File Reference
#include <cstddef>
#include <cstring>
#include <functional>
#include <numeric>
#include <utility>
#include "utils/concepts.h"
#include "utils/utils.h"
Include dependency graph for vec.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  nngn::vec< CRTP, T, N >
 

Namespaces

namespace  nngn
 

Concepts

concept  nngn::vector
 

Typedefs

template<typename T , std::size_t N>
using nngn::vec_type_t = typename vec_type< T, N >::type
 
template<typename T >
using nngn::vector_type = typename T::type
 

Functions

template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr const R * nngn::begin (const T< R > &v)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr const R * nngn::end (const T< R > &v)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr R * nngn::begin (T< R > &v)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr R * nngn::end (T< R > &v)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr bool nngn::operator== (const T< R > &v0, const T< R > &v1)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr bool nngn::operator!= (const T< R > &v0, const T< R > &v1)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr T< R > nngn::operator+ (R s, const T< R > &v)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr T< R > nngn::operator- (R s, const T< R > &v)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr T< R > nngn::operator* (R s, const T< R > &v)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr T< R > nngn::operator/ (R s, const T< R > &v)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr T< R > nngn::operator+ (const T< R > &v, R s)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr T< R > nngn::operator- (const T< R > &v, R s)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr T< R > nngn::operator* (const T< R > &v, R s)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr T< R > nngn::operator/ (const T< R > &v, R s)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr T< R > nngn::operator+ (const T< R > &v0, const T< R > &v1)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr T< R > nngn::operator- (const T< R > &v0, const T< R > &v1)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr T< R > nngn::operator* (const T< R > &v0, const T< R > &v1)
 
template<template< typename > typename T, typename R >
requires vector<T, R>
constexpr T< R > nngn::operator/ (const T< R > &v0, const T< R > &v1)