VulkanRaytracingCycles 0.0.0
Cycles Render Engine With VulkanRaytracingShaderModules. ( Experiment , in progress)
front::hq_elem< C1, C2, C3 > Struct Template Reference

#include <SignalVk.h>

Public Types

typedef char type
 

Public Member Functions

auto operator<=> (const hq_elem &that) const
 
auto operator== (const hq_elem &that) const
 
template<typename T >
 hq_elem (T &&cls)
 
 hq_elem (C1 comp, C2 comp2=0, C3 comp3=0)
 
 hq_elem ()
 
void setComp (C1 comp, C2 comp2=0, C3 comp3=0)
 
template<typename T >
void set (T &&cls)
 

Public Attributes

C1 compare
 
type name = 'B'
 
C2 compare2
 
C3 compare3
 
uintptr_t data
 
std::any any
 
std::shared_ptr< void > shptr
 

Detailed Description

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
struct front::hq_elem< C1, C2, C3 >

Definition at line 128 of file SignalVk.h.

Member Typedef Documentation

◆ type

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
typedef char front::hq_elem< C1, C2, C3 >::type

Definition at line 130 of file SignalVk.h.

Constructor & Destructor Documentation

◆ hq_elem() [1/3]

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
template<typename T >
front::hq_elem< C1, C2, C3 >::hq_elem ( T &&  cls)
inlineexplicit

Definition at line 158 of file SignalVk.h.

158: compare(0), compare2(0), compare3(0) {};

◆ hq_elem() [2/3]

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
front::hq_elem< C1, C2, C3 >::hq_elem ( C1  comp,
C2  comp2 = 0,
C3  comp3 = 0 
)
inlineexplicit

Definition at line 159 of file SignalVk.h.

159: compare(comp), compare2(comp2), compare3(comp3) {};

◆ hq_elem() [3/3]

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
front::hq_elem< C1, C2, C3 >::hq_elem ( )
inlineexplicit

Definition at line 161 of file SignalVk.h.

161: compare(0), compare2(0), compare3(0) {};

Member Function Documentation

◆ operator<=>()

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
auto front::hq_elem< C1, C2, C3 >::operator<=> ( const hq_elem< C1, C2, C3 > &  that) const
inline

Definition at line 141 of file SignalVk.h.

141 {
142 if (auto comp = compare <=> that.compare; comp != 0) return comp;
143 if (auto comp = name <=> that.name; comp != 0) return comp;
144 if (auto comp = compare2 <=> that.compare2; comp != 0) return comp;
145 return compare3 <=> that.compare3;
146 }

◆ operator==()

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
auto front::hq_elem< C1, C2, C3 >::operator== ( const hq_elem< C1, C2, C3 > &  that) const
inline

Definition at line 149 of file SignalVk.h.

149 {
150 if (auto comp = compare == that.compare; comp != 0) return comp;
151 if (auto comp = name == that.name; comp != 0) return comp;
152 if (auto comp = compare2 == that.compare2; comp != 0) return comp;
153 return compare3 == that.compare3;
154 };

◆ set()

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
template<typename T >
void front::hq_elem< C1, C2, C3 >::set ( T &&  cls)
inline

any = std::move(cls.sig); shptr = cls.sig; cls.sig = nullptr;

Definition at line 166 of file SignalVk.h.

166 {
167
168 data = (uintptr_t)std::move(cls.sig);
172 }
uintptr_t data
Definition: SignalVk.h:136

◆ setComp()

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
void front::hq_elem< C1, C2, C3 >::setComp ( C1  comp,
C2  comp2 = 0,
C3  comp3 = 0 
)
inline

Definition at line 162 of file SignalVk.h.

162{ compare = comp, compare2 = comp2, compare3 = comp3; };

Member Data Documentation

◆ any

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
std::any front::hq_elem< C1, C2, C3 >::any

Definition at line 137 of file SignalVk.h.

◆ compare

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
C1 front::hq_elem< C1, C2, C3 >::compare

Definition at line 131 of file SignalVk.h.

◆ compare2

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
C2 front::hq_elem< C1, C2, C3 >::compare2

Definition at line 133 of file SignalVk.h.

◆ compare3

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
C3 front::hq_elem< C1, C2, C3 >::compare3

Definition at line 134 of file SignalVk.h.

◆ data

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
uintptr_t front::hq_elem< C1, C2, C3 >::data

Definition at line 136 of file SignalVk.h.

◆ name

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
type front::hq_elem< C1, C2, C3 >::name = 'B'

Definition at line 132 of file SignalVk.h.

◆ shptr

template<typename C1 = int64_t, typename C2 = int64_t, typename C3 = int64_t>
std::shared_ptr<void> front::hq_elem< C1, C2, C3 >::shptr

Definition at line 138 of file SignalVk.h.


The documentation for this struct was generated from the following file: