GPU: GLSL-C++ compilation stubs #4

Closed
Clément Foucault wants to merge 38 commits from glsl-cpp-stubs-2 into glsl-include

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
Showing only changes of commit 4592d2f6c6 - Show all commits

View File

@ -14,58 +14,58 @@ template<typename T, int Sz> struct VecOp {
VecT operator+() const {} VecT operator+() const {}
VecT operator-() const {} VecT operator-() const {}
VecT operator+(VecT b) const {} VecT operator+(VecT) const {}
VecT operator-(VecT b) const {} VecT operator-(VecT) const {}
VecT operator/(VecT b) const {} VecT operator/(VecT) const {}
VecT operator*(VecT b) const {} VecT operator*(VecT) const {}
VecT operator+=(VecT b) const {} VecT operator+=(VecT) const {}
VecT operator-=(VecT b) const {} VecT operator-=(VecT) const {}
VecT operator/=(VecT b) const {} VecT operator/=(VecT) const {}
VecT operator*=(VecT b) const {} VecT operator*=(VecT) const {}
VecT operator+(T b) const {} VecT operator+(T) const {}
VecT operator-(T b) const {} VecT operator-(T) const {}
VecT operator/(T b) const {} VecT operator/(T) const {}
VecT operator*(T b) const {} VecT operator*(T) const {}
VecT operator+=(T b) const {} VecT operator+=(T) const {}
VecT operator-=(T b) const {} VecT operator-=(T) const {}
VecT operator/=(T b) const {} VecT operator/=(T) const {}
VecT operator*=(T b) const {} VecT operator*=(T) const {}
friend VecT operator+(T a, VecT b) {} friend VecT operator+(T, VecT) {}
friend VecT operator-(T a, VecT b) {} friend VecT operator-(T, VecT) {}
friend VecT operator/(T a, VecT b) {} friend VecT operator/(T, VecT) {}
friend VecT operator*(T a, VecT b) {} friend VecT operator*(T, VecT) {}
#define INT_OP \ #define INT_OP \
template<typename U = _T, typename std::enable_if_t<std::is_integral_v<U>> * = nullptr> template<typename U = _T, typename std::enable_if_t<std::is_integral_v<U>> * = nullptr>
INT_OP VecT operator%(VecT b) {} INT_OP VecT operator%(VecT) const {}
INT_OP VecT operator&(VecT b) {} INT_OP VecT operator&(VecT) const {}
INT_OP VecT operator|(VecT b) {} INT_OP VecT operator|(VecT) const {}
INT_OP VecT operator^(VecT b) {} INT_OP VecT operator^(VecT) const {}
INT_OP VecT operator%=(VecT b) {} INT_OP VecT operator%=(VecT) const {}
INT_OP VecT operator&=(VecT b) {} INT_OP VecT operator&=(VecT) const {}
INT_OP VecT operator|=(VecT b) {} INT_OP VecT operator|=(VecT) const {}
INT_OP VecT operator^=(VecT b) {} INT_OP VecT operator^=(VecT) const {}
INT_OP VecT operator%(T b) {} INT_OP VecT operator%(T) const {}
INT_OP VecT operator&(T b) {} INT_OP VecT operator&(T) const {}
INT_OP VecT operator|(T b) {} INT_OP VecT operator|(T) const {}
INT_OP VecT operator^(T b) {} INT_OP VecT operator^(T) const {}
INT_OP VecT operator%=(T b) {} INT_OP VecT operator%=(T) const {}
INT_OP VecT operator&=(T b) {} INT_OP VecT operator&=(T) const {}
INT_OP VecT operator|=(T b) {} INT_OP VecT operator|=(T) const {}
INT_OP VecT operator^=(T b) {} INT_OP VecT operator^=(T) const {}
INT_OP friend VecT operator%(T a, VecT b) {} INT_OP friend VecT operator%(T, VecT) {}
INT_OP friend VecT operator&(T a, VecT b) {} INT_OP friend VecT operator&(T, VecT) {}
INT_OP friend VecT operator|(T a, VecT b) {} INT_OP friend VecT operator|(T, VecT) {}
INT_OP friend VecT operator^(T a, VecT b) {} INT_OP friend VecT operator^(T, VecT) {}
#undef INT_OP #undef INT_OP
}; };