7 #ifndef PXR_EXEC_VDF_VECTOR_IMPL_DISPATCH_H
8 #define PXR_EXEC_VDF_VECTOR_IMPL_DISPATCH_H
15 #include <type_traits>
23 template <
typename T >
37 for (View::const_iterator it=platforms.begin(), e=platforms.end();
40 const size_t index = *it;
41 Copy(dest + index, source + index, it.GetPlatformSize());
50 U *dest,
const U *
source,
size_t size,
const std::false_type &) {
51 std::copy(source, source + size, dest);
57 U *dest,
const U *
source,
size_t size,
const std::true_type &) {
58 memcpy(dest, source,
sizeof(
T) * size);
static void Copy(T *dest, const T *source, const VdfMask::Bits &bits)
#define PXR_NAMESPACE_OPEN_SCOPE
static void Copy(T *dest, const T *source, size_t size)
Fast, compressed bit array which is capable of performing logical operations without first decompress...
GLsizei GLsizei GLchar * source
PlatformsView GetPlatformsView() const
#define PXR_NAMESPACE_CLOSE_SCOPE
std::is_trivially_copyable< T > Memcopyable
View< Mode::Platforms > PlatformsView