VulkanRaytracingCycles 0.0.0
Cycles Render Engine With VulkanRaytracingShaderModules. ( Experiment , in progress)
front::garbage Namespace Reference

ROLLCALL BOSS. More...

Functions

template<typename ... Args>
void printer (Args &&... args)
 
template<typename T , typename... Args>
void push_back_vec (std::vector< T > &v, Args &&... args)
 
template<class T , std::size_t... N>
constexpr T bswap_impl (T i, std::index_sequence< N... >)
 
template<class T , class U = std::make_unsigned_t<T>>
constexpr U bswap (T i)
 
template<typename T , typename... Args>
auto passFunc (T &&f, Args... args)
 

Detailed Description

ROLLCALL BOSS.

Function Documentation

◆ bswap()

template<class T , class U = std::make_unsigned_t<T>>
constexpr U front::garbage::bswap ( i)
constexpr

Definition at line 1894 of file AllocatorVk.h.

1894 {
1895 return bswap_impl<U>(i, std::make_index_sequence<sizeof(T)>{});
1896 };

◆ bswap_impl()

template<class T , std::size_t... N>
constexpr T front::garbage::bswap_impl ( i,
std::index_sequence< N... >   
)
constexpr

Definition at line 1890 of file AllocatorVk.h.

1890 {
1891 return (((i >> N * CHAR_BIT & std::uint8_t(-1)) << (sizeof(T) - 1 - N) * CHAR_BIT) | ...);
1892 }

◆ passFunc()

template<typename T , typename... Args>
auto front::garbage::passFunc ( T &&  f,
Args...  args 
)

static_assert((std::is_constructible_v<T, Args&&> && ...));

Definition at line 1899 of file AllocatorVk.h.

1900 {
1902 return f(args ...);
1903
1904 }

◆ printer()

template<typename ... Args>
void front::garbage::printer ( Args &&...  args)

Definition at line 1877 of file AllocatorVk.h.

1877 {
1878 (std::cout << ... << args) << '\n';
1879 }

◆ push_back_vec()

template<typename T , typename... Args>
void front::garbage::push_back_vec ( std::vector< T > &  v,
Args &&...  args 
)

Definition at line 1882 of file AllocatorVk.h.

1883 {
1884 static_assert((std::is_constructible_v<T, Args&&> && ...));
1885 (v.push_back(std::forward<Args>(args)), ...);
1886 }