SDL  2.0
VULKAN_HPP_NAMESPACE::ArrayProxy< T > Class Template Reference

#include <vulkan.hpp>

Public Member Functions

VULKAN_HPP_CONSTEXPR ArrayProxy (std::nullptr_t)
 
 ArrayProxy (T &ptr)
 
 ArrayProxy (uint32_t count, T *ptr)
 
template<size_t N>
 ArrayProxy (std::array< typename std::remove_const< T >::type, N > &data)
 
template<size_t N>
 ArrayProxy (std::array< typename std::remove_const< T >::type, N > const &data)
 
template<class Allocator = std::allocator<typename std::remove_const<T>::type>>
 ArrayProxy (std::vector< typename std::remove_const< T >::type, Allocator > &data)
 
template<class Allocator = std::allocator<typename std::remove_const<T>::type>>
 ArrayProxy (std::vector< typename std::remove_const< T >::type, Allocator > const &data)
 
 ArrayProxy (std::initializer_list< T > const &data)
 
const Tbegin () const
 
const Tend () const
 
const Tfront () const
 
const Tback () const
 
bool empty () const
 
uint32_t size () const
 
Tdata () const
 

Private Attributes

uint32_t m_count
 
Tm_ptr
 

Detailed Description

template<typename T>
class VULKAN_HPP_NAMESPACE::ArrayProxy< T >

Definition at line 287 of file vulkan.hpp.

Constructor & Destructor Documentation

◆ ArrayProxy() [1/8]

template<typename T>
VULKAN_HPP_CONSTEXPR VULKAN_HPP_NAMESPACE::ArrayProxy< T >::ArrayProxy ( std::nullptr_t  )
inline

Definition at line 290 of file vulkan.hpp.

291  : m_count(0)
292  , m_ptr(nullptr)
293  {}

◆ ArrayProxy() [2/8]

template<typename T>
VULKAN_HPP_NAMESPACE::ArrayProxy< T >::ArrayProxy ( T ptr)
inline

Definition at line 295 of file vulkan.hpp.

296  : m_count(1)
297  , m_ptr(&ptr)
298  {}

◆ ArrayProxy() [3/8]

template<typename T>
VULKAN_HPP_NAMESPACE::ArrayProxy< T >::ArrayProxy ( uint32_t  count,
T ptr 
)
inline

Definition at line 300 of file vulkan.hpp.

301  : m_count(count)
302  , m_ptr(ptr)
303  {}
GLuint GLuint GLsizei count
Definition: SDL_opengl.h:1571

◆ ArrayProxy() [4/8]

template<typename T>
template<size_t N>
VULKAN_HPP_NAMESPACE::ArrayProxy< T >::ArrayProxy ( std::array< typename std::remove_const< T >::type, N > &  data)
inline

Definition at line 306 of file vulkan.hpp.

307  : m_count(N)
308  , m_ptr(data.data())
309  {}

◆ ArrayProxy() [5/8]

template<typename T>
template<size_t N>
VULKAN_HPP_NAMESPACE::ArrayProxy< T >::ArrayProxy ( std::array< typename std::remove_const< T >::type, N > const &  data)
inline

Definition at line 312 of file vulkan.hpp.

313  : m_count(N)
314  , m_ptr(data.data())
315  {}

◆ ArrayProxy() [6/8]

template<typename T>
template<class Allocator = std::allocator<typename std::remove_const<T>::type>>
VULKAN_HPP_NAMESPACE::ArrayProxy< T >::ArrayProxy ( std::vector< typename std::remove_const< T >::type, Allocator > &  data)
inline

Definition at line 318 of file vulkan.hpp.

319  : m_count(static_cast<uint32_t>(data.size()))
320  , m_ptr(data.data())
321  {}

◆ ArrayProxy() [7/8]

template<typename T>
template<class Allocator = std::allocator<typename std::remove_const<T>::type>>
VULKAN_HPP_NAMESPACE::ArrayProxy< T >::ArrayProxy ( std::vector< typename std::remove_const< T >::type, Allocator > const &  data)
inline

Definition at line 324 of file vulkan.hpp.

325  : m_count(static_cast<uint32_t>(data.size()))
326  , m_ptr(data.data())
327  {}

◆ ArrayProxy() [8/8]

template<typename T>
VULKAN_HPP_NAMESPACE::ArrayProxy< T >::ArrayProxy ( std::initializer_list< T > const &  data)
inline

Definition at line 329 of file vulkan.hpp.

330  : m_count(static_cast<uint32_t>(data.end() - data.begin()))
331  , m_ptr(data.begin())
332  {}
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974

Member Function Documentation

◆ back()

template<typename T>
const T& VULKAN_HPP_NAMESPACE::ArrayProxy< T >::back ( ) const
inline

Definition at line 350 of file vulkan.hpp.

References VULKAN_HPP_ASSERT.

351  {
353  return *(m_ptr + m_count - 1);
354  }
#define VULKAN_HPP_ASSERT
Definition: vulkan.hpp:54

◆ begin()

template<typename T>
const T* VULKAN_HPP_NAMESPACE::ArrayProxy< T >::begin ( ) const
inline

Definition at line 334 of file vulkan.hpp.

335  {
336  return m_ptr;
337  }

◆ data()

template<typename T>
T* VULKAN_HPP_NAMESPACE::ArrayProxy< T >::data ( ) const
inline

Definition at line 366 of file vulkan.hpp.

Referenced by VULKAN_HPP_NAMESPACE::CommandBuffer::beginTransformFeedbackEXT(), VULKAN_HPP_NAMESPACE::Device::bindAccelerationStructureMemoryNV(), VULKAN_HPP_NAMESPACE::Device::bindBufferMemory2(), VULKAN_HPP_NAMESPACE::Device::bindBufferMemory2KHR(), VULKAN_HPP_NAMESPACE::CommandBuffer::bindDescriptorSets(), VULKAN_HPP_NAMESPACE::Device::bindImageMemory2(), VULKAN_HPP_NAMESPACE::Device::bindImageMemory2KHR(), VULKAN_HPP_NAMESPACE::Queue::bindSparse(), VULKAN_HPP_NAMESPACE::CommandBuffer::bindTransformFeedbackBuffersEXT(), VULKAN_HPP_NAMESPACE::CommandBuffer::bindVertexBuffers(), VULKAN_HPP_NAMESPACE::CommandBuffer::blitImage(), VULKAN_HPP_NAMESPACE::CommandBuffer::clearAttachments(), VULKAN_HPP_NAMESPACE::CommandBuffer::clearColorImage(), VULKAN_HPP_NAMESPACE::CommandBuffer::clearDepthStencilImage(), VULKAN_HPP_NAMESPACE::CommandBuffer::copyBuffer(), VULKAN_HPP_NAMESPACE::CommandBuffer::copyBufferToImage(), VULKAN_HPP_NAMESPACE::CommandBuffer::copyImage(), VULKAN_HPP_NAMESPACE::CommandBuffer::copyImageToBuffer(), VULKAN_HPP_NAMESPACE::Device::createComputePipelines(), VULKAN_HPP_NAMESPACE::Device::createComputePipelinesUnique(), VULKAN_HPP_NAMESPACE::Device::createGraphicsPipelines(), VULKAN_HPP_NAMESPACE::Device::createGraphicsPipelinesUnique(), VULKAN_HPP_NAMESPACE::Device::createRayTracingPipelinesNV(), VULKAN_HPP_NAMESPACE::Device::createRayTracingPipelinesNVUnique(), VULKAN_HPP_NAMESPACE::Device::createSharedSwapchainsKHR(), VULKAN_HPP_NAMESPACE::Device::createSharedSwapchainsKHRUnique(), VULKAN_HPP_NAMESPACE::CommandBuffer::endTransformFeedbackEXT(), VULKAN_HPP_NAMESPACE::CommandBuffer::executeCommands(), VULKAN_HPP_NAMESPACE::Device::flushMappedMemoryRanges(), VULKAN_HPP_NAMESPACE::Device::free(), VULKAN_HPP_NAMESPACE::Device::freeCommandBuffers(), VULKAN_HPP_NAMESPACE::Device::freeDescriptorSets(), VULKAN_HPP_NAMESPACE::Device::getAccelerationStructureHandleNV(), VULKAN_HPP_NAMESPACE::Device::getCalibratedTimestampsEXT(), VULKAN_HPP_NAMESPACE::Device::getQueryPoolResults(), VULKAN_HPP_NAMESPACE::Device::getRayTracingShaderGroupHandlesNV(), VULKAN_HPP_NAMESPACE::Device::invalidateMappedMemoryRanges(), VULKAN_HPP_NAMESPACE::Device::mergePipelineCaches(), VULKAN_HPP_NAMESPACE::Device::mergeValidationCachesEXT(), VULKAN_HPP_NAMESPACE::CommandBuffer::pipelineBarrier(), VULKAN_HPP_NAMESPACE::CommandBuffer::pushConstants(), VULKAN_HPP_NAMESPACE::CommandBuffer::pushDescriptorSetKHR(), VULKAN_HPP_NAMESPACE::Device::registerObjectsNVX(), VULKAN_HPP_NAMESPACE::Device::resetFences(), VULKAN_HPP_NAMESPACE::CommandBuffer::resolveImage(), VULKAN_HPP_NAMESPACE::CommandBuffer::setCoarseSampleOrderNV(), VULKAN_HPP_NAMESPACE::CommandBuffer::setDiscardRectangleEXT(), VULKAN_HPP_NAMESPACE::CommandBuffer::setExclusiveScissorNV(), VULKAN_HPP_NAMESPACE::Device::setHdrMetadataEXT(), VULKAN_HPP_NAMESPACE::CommandBuffer::setScissor(), VULKAN_HPP_NAMESPACE::CommandBuffer::setViewport(), VULKAN_HPP_NAMESPACE::CommandBuffer::setViewportShadingRatePaletteNV(), VULKAN_HPP_NAMESPACE::CommandBuffer::setViewportWScalingNV(), VULKAN_HPP_NAMESPACE::Queue::submit(), VULKAN_HPP_NAMESPACE::Device::unregisterObjectsNVX(), VULKAN_HPP_NAMESPACE::CommandBuffer::updateBuffer(), VULKAN_HPP_NAMESPACE::Device::updateDescriptorSets(), VULKAN_HPP_NAMESPACE::CommandBuffer::waitEvents(), VULKAN_HPP_NAMESPACE::Device::waitForFences(), and VULKAN_HPP_NAMESPACE::CommandBuffer::writeAccelerationStructuresPropertiesNV().

367  {
368  return m_ptr;
369  }

◆ empty()

template<typename T>
bool VULKAN_HPP_NAMESPACE::ArrayProxy< T >::empty ( ) const
inline

Definition at line 356 of file vulkan.hpp.

357  {
358  return (m_count == 0);
359  }

◆ end()

template<typename T>
const T* VULKAN_HPP_NAMESPACE::ArrayProxy< T >::end ( ) const
inline

Definition at line 339 of file vulkan.hpp.

340  {
341  return m_ptr + m_count;
342  }

◆ front()

template<typename T>
const T& VULKAN_HPP_NAMESPACE::ArrayProxy< T >::front ( ) const
inline

Definition at line 344 of file vulkan.hpp.

References VULKAN_HPP_ASSERT.

345  {
347  return *m_ptr;
348  }
#define VULKAN_HPP_ASSERT
Definition: vulkan.hpp:54

◆ size()

template<typename T>
uint32_t VULKAN_HPP_NAMESPACE::ArrayProxy< T >::size ( ) const
inline

Definition at line 361 of file vulkan.hpp.

Referenced by VULKAN_HPP_NAMESPACE::CommandBuffer::beginTransformFeedbackEXT(), VULKAN_HPP_NAMESPACE::Device::bindAccelerationStructureMemoryNV(), VULKAN_HPP_NAMESPACE::Device::bindBufferMemory2(), VULKAN_HPP_NAMESPACE::Device::bindBufferMemory2KHR(), VULKAN_HPP_NAMESPACE::CommandBuffer::bindDescriptorSets(), VULKAN_HPP_NAMESPACE::Device::bindImageMemory2(), VULKAN_HPP_NAMESPACE::Device::bindImageMemory2KHR(), VULKAN_HPP_NAMESPACE::Queue::bindSparse(), VULKAN_HPP_NAMESPACE::CommandBuffer::bindTransformFeedbackBuffersEXT(), VULKAN_HPP_NAMESPACE::CommandBuffer::bindVertexBuffers(), VULKAN_HPP_NAMESPACE::CommandBuffer::blitImage(), VULKAN_HPP_NAMESPACE::CommandBuffer::clearAttachments(), VULKAN_HPP_NAMESPACE::CommandBuffer::clearColorImage(), VULKAN_HPP_NAMESPACE::CommandBuffer::clearDepthStencilImage(), VULKAN_HPP_NAMESPACE::CommandBuffer::copyBuffer(), VULKAN_HPP_NAMESPACE::CommandBuffer::copyBufferToImage(), VULKAN_HPP_NAMESPACE::CommandBuffer::copyImage(), VULKAN_HPP_NAMESPACE::CommandBuffer::copyImageToBuffer(), VULKAN_HPP_NAMESPACE::Device::createComputePipelines(), VULKAN_HPP_NAMESPACE::Device::createComputePipelinesUnique(), VULKAN_HPP_NAMESPACE::Device::createGraphicsPipelines(), VULKAN_HPP_NAMESPACE::Device::createGraphicsPipelinesUnique(), VULKAN_HPP_NAMESPACE::Device::createRayTracingPipelinesNV(), VULKAN_HPP_NAMESPACE::Device::createRayTracingPipelinesNVUnique(), VULKAN_HPP_NAMESPACE::Device::createSharedSwapchainsKHR(), VULKAN_HPP_NAMESPACE::Device::createSharedSwapchainsKHRUnique(), VULKAN_HPP_NAMESPACE::CommandBuffer::endTransformFeedbackEXT(), VULKAN_HPP_NAMESPACE::CommandBuffer::executeCommands(), VULKAN_HPP_NAMESPACE::Device::flushMappedMemoryRanges(), VULKAN_HPP_NAMESPACE::Device::free(), VULKAN_HPP_NAMESPACE::Device::freeCommandBuffers(), VULKAN_HPP_NAMESPACE::Device::freeDescriptorSets(), VULKAN_HPP_NAMESPACE::Device::getAccelerationStructureHandleNV(), VULKAN_HPP_NAMESPACE::Device::getCalibratedTimestampsEXT(), VULKAN_HPP_NAMESPACE::Device::getQueryPoolResults(), VULKAN_HPP_NAMESPACE::Device::getRayTracingShaderGroupHandlesNV(), VULKAN_HPP_NAMESPACE::Device::invalidateMappedMemoryRanges(), VULKAN_HPP_NAMESPACE::Device::mergePipelineCaches(), VULKAN_HPP_NAMESPACE::Device::mergeValidationCachesEXT(), VULKAN_HPP_NAMESPACE::CommandBuffer::pipelineBarrier(), VULKAN_HPP_NAMESPACE::CommandBuffer::pushConstants(), VULKAN_HPP_NAMESPACE::CommandBuffer::pushDescriptorSetKHR(), VULKAN_HPP_NAMESPACE::Device::registerObjectsNVX(), VULKAN_HPP_NAMESPACE::Device::resetFences(), VULKAN_HPP_NAMESPACE::CommandBuffer::resolveImage(), VULKAN_HPP_NAMESPACE::CommandBuffer::setCoarseSampleOrderNV(), VULKAN_HPP_NAMESPACE::CommandBuffer::setDiscardRectangleEXT(), VULKAN_HPP_NAMESPACE::CommandBuffer::setExclusiveScissorNV(), VULKAN_HPP_NAMESPACE::Device::setHdrMetadataEXT(), VULKAN_HPP_NAMESPACE::CommandBuffer::setScissor(), VULKAN_HPP_NAMESPACE::CommandBuffer::setViewport(), VULKAN_HPP_NAMESPACE::CommandBuffer::setViewportShadingRatePaletteNV(), VULKAN_HPP_NAMESPACE::CommandBuffer::setViewportWScalingNV(), VULKAN_HPP_NAMESPACE::Queue::submit(), VULKAN_HPP_NAMESPACE::Device::unregisterObjectsNVX(), VULKAN_HPP_NAMESPACE::CommandBuffer::updateBuffer(), VULKAN_HPP_NAMESPACE::Device::updateDescriptorSets(), VULKAN_HPP_NAMESPACE::CommandBuffer::waitEvents(), VULKAN_HPP_NAMESPACE::Device::waitForFences(), and VULKAN_HPP_NAMESPACE::CommandBuffer::writeAccelerationStructuresPropertiesNV().

362  {
363  return m_count;
364  }

Field Documentation

◆ m_count

template<typename T>
uint32_t VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_count
private

Definition at line 372 of file vulkan.hpp.

◆ m_ptr

template<typename T>
T* VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_ptr
private

Definition at line 373 of file vulkan.hpp.


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