Raven Engine v0.1
Loading...
Searching...
No Matches
Vector.h File Reference

Templated N-dimensional vector types and utilities for Crux. More...

#include <array>

Classes

struct  Crux::Vector< T, N >
 General N-dimensional fixed-size vector container. More...
struct  Crux::Vector< T, 2 >
 2-dimensional vector. More...
struct  Crux::Vector< T, 3 >
 3-dimensional vector. More...
struct  Crux::Vector< T, 4 >
 4-dimensional vector. More...

Namespaces

namespace  Crux

Typedefs

using Crux::ivec2 = Vector<int, 2>
using Crux::ivec3 = Vector<int, 3>
 2D integer vector
using Crux::ivec4 = Vector<int, 4>
 3D integer vector
using Crux::uvec2 = Vector<unsigned, 2>
 4D integer vector
using Crux::uvec3 = Vector<unsigned, 3>
 2D unsigned vector
using Crux::uvec4 = Vector<unsigned, 4>
 3D unsigned vector
using Crux::vec2 = Vector<float, 2>
 4D unsigned vector
using Crux::vec3 = Vector<float, 3>
 2D float vector
using Crux::vec4 = Vector<float, 4>
 3D float vector
using Crux::dvec2 = Vector<double, 2>
 4D float vector
using Crux::dvec3 = Vector<double, 3>
 2D double vector
using Crux::dvec4 = Vector<double, 4>
 3D double vector

Functions

template<typename T>
constexpr bool Crux::operator== (const Vector< T, 2 > &lhs, const Vector< T, 2 > &rhs)
 Equality comparison for 2D vectors.
template<typename T>
constexpr bool Crux::operator!= (const Vector< T, 2 > &lhs, const Vector< T, 2 > &rhs)
 Inequality comparison for 2D vectors.
template<typename T>
constexpr bool Crux::operator== (const Vector< T, 3 > &lhs, const Vector< T, 3 > &rhs)
 Equality comparison for 3D vectors.
template<typename T>
constexpr bool Crux::operator!= (const Vector< T, 3 > &lhs, const Vector< T, 3 > &rhs)
 Inequality comparison for 3D vectors.
template<typename T>
constexpr bool Crux::operator== (const Vector< T, 4 > &lhs, const Vector< T, 4 > &rhs)
 Equality comparison for 4D vectors.
template<typename T>
constexpr bool Crux::operator!= (const Vector< T, 4 > &lhs, const Vector< T, 4 > &rhs)
 Inequality comparison for 4D vectors.

Detailed Description

Templated N-dimensional vector types and utilities for Crux.

Provides a simple, constexpr-friendly Vector<T, N> template with specializations for 2D, 3D, and 4D vectors, along with comparison operators and common type aliases. Designed for efficient storage, compile-time construction, and easy integration into Crux's math subsystems.

Author
Philip