clang 20.0.0git
Classes | Typedefs | Functions
hlsl::__detail Namespace Reference

Classes

struct  enable_if
 
struct  enable_if< true, T >
 
struct  is_same
 
struct  is_same< T, T >
 

Typedefs

template<bool B, class T = void>
using enable_if_t = typename enable_if< B, T >::Type
 

Functions

template<typename U , typename T , int N>
constexpr enable_if_t< sizeof(U)==sizeof(T), vector< U, N > > bit_cast (vector< T, N > V)
 
template<typename U , typename T >
constexpr enable_if_t< sizeof(U)==sizeof(T), Ubit_cast (T F)
 
constexpr vector< uint, 4 > d3d_color_to_ubyte4_impl (vector< float, 4 > V)
 
template<typename T >
constexpr enable_if_t< is_same< float, T >::value||is_same< half, T >::value, T > length_impl (T X)
 
template<typename T , int N>
constexpr enable_if_t< is_same< float, T >::value||is_same< half, T >::value, T > length_vec_impl (vector< T, N > X)
 
template<typename T >
constexpr enable_if_t< is_same< float, T >::value||is_same< half, T >::value, T > distance_impl (T X, T Y)
 
template<typename T , int N>
constexpr enable_if_t< is_same< float, T >::value||is_same< half, T >::value, T > distance_vec_impl (vector< T, N > X, vector< T, N > Y)
 

Typedef Documentation

◆ enable_if_t

template<bool B, class T = void>
using hlsl::__detail::enable_if_t = typedef typename enable_if<B, T>::Type

Definition at line 31 of file hlsl_detail.h.

Function Documentation

◆ bit_cast() [1/2]

template<typename U , typename T >
constexpr enable_if_t< sizeof(U)==sizeof(T), U > hlsl::__detail::bit_cast ( F)
constexpr

Definition at line 40 of file hlsl_detail.h.

◆ bit_cast() [2/2]

template<typename U , typename T , int N>
constexpr enable_if_t< sizeof(U)==sizeof(T), vector< U, N > > hlsl::__detail::bit_cast ( vector< T, N >  V)
constexpr

Definition at line 35 of file hlsl_detail.h.

References V.

◆ d3d_color_to_ubyte4_impl()

constexpr vector< uint, 4 > hlsl::__detail::d3d_color_to_ubyte4_impl ( vector< float, 4 >  V)
constexpr

Definition at line 44 of file hlsl_detail.h.

References V.

Referenced by hlsl::D3DCOLORtoUBYTE4().

◆ distance_impl()

template<typename T >
constexpr enable_if_t< is_same< float, T >::value||is_same< half, T >::value, T > hlsl::__detail::distance_impl ( X,
Y 
)
constexpr

Definition at line 69 of file hlsl_detail.h.

References length_impl(), and X.

Referenced by hlsl::distance().

◆ distance_vec_impl()

template<typename T , int N>
constexpr enable_if_t< is_same< float, T >::value||is_same< half, T >::value, T > hlsl::__detail::distance_vec_impl ( vector< T, N >  X,
vector< T, N >  Y 
)
constexpr

Definition at line 75 of file hlsl_detail.h.

References length_vec_impl(), and X.

Referenced by hlsl::distance().

◆ length_impl()

template<typename T >
constexpr enable_if_t< is_same< float, T >::value||is_same< half, T >::value, T > hlsl::__detail::length_impl ( X)
constexpr

Definition at line 57 of file hlsl_detail.h.

References X.

Referenced by distance_impl(), and hlsl::length().

◆ length_vec_impl()

template<typename T , int N>
constexpr enable_if_t< is_same< float, T >::value||is_same< half, T >::value, T > hlsl::__detail::length_vec_impl ( vector< T, N >  X)
constexpr

Definition at line 63 of file hlsl_detail.h.

References X.

Referenced by distance_vec_impl(), and hlsl::length().