Firefly 3.1.0
Standalone library for vector calculations
Loading...
Searching...
No Matches
vector.hpp File Reference
#include <algorithm>
#include <array>
#include <cassert>
#include <cmath>
#include <complex>
#include <cstddef>
#include <initializer_list>
#include <iomanip>
#include <numeric>
#include <sstream>
#include <stdexcept>
#include <type_traits>

Go to the source code of this file.

Classes

struct  firefly::common_type< T1, T2 >
 Customised common_type implementation that handles cases where one or both types may be arithmetic or std::complex. More...
 
struct  firefly::common_type< T1, std::complex< T2 > >
 Specialisation of common_type for cases where the first type is arithmetic and the second is std::complex. More...
 
struct  firefly::common_type< std::complex< T1 >, T2 >
 Specialisation of common_type for cases where the first type is std::complex and the second is arithmetic. More...
 
struct  firefly::common_type< std::complex< T1 >, std::complex< T2 > >
 Specialisation of common_type for cases where both types are std::complex. More...
 
struct  firefly::is_complex< T >
 Trait to determine if a type is a std::complex type. More...
 
struct  firefly::is_complex< std::complex< T > >
 Specialization of is_complex for std::complex types. More...
 
class  firefly::vector< T, Length >
 Represents a mathematical vector in n-dimensional space. More...
 

Namespaces

namespace  firefly
 

Concepts

concept  firefly::complex_type
 Concept that ensures the type is a complex number type.
 
concept  firefly::vector_type
 Concept that ensures the type is either arithmetic or a complex type.
 

Typedefs

template<typename T1 , typename T2 >
using firefly::common_type_t = typename common_type< T1, T2 >::type
 Helper alias template for the common_type structure, similar to std::common_type_t.
 

Variables

template<typename T >
constexpr bool firefly::is_complex_v = is_complex<T>::value
 Helper variable template for is_complex.