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 T * | begin () const
const T * | end () const
const T & | front () const
const T & | back () const
bool | empty () const
uint32_t | size () const
T * | data () const

## Private Attributes

uint32_t | m_count
T * | m_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.

: m_count(0)
, m_ptr(nullptr)
{}

## ArrayProxy() [2/8]

template<typename T >

VULKAN_HPP_NAMESPACE::ArrayProxy< T >::ArrayProxy | ( | T & | ptr | ) |

inline

Definition at line 295 of file vulkan.hpp.

: m_count(1)
, m_ptr(&ptr)
{}

## 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.

: m_count(count)
, m_ptr(ptr)
{}

## 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.

: m_count(N)
, m_ptr(data.data())
{}

## 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.

: m_count(N)
, m_ptr(data.data())
{}

## 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.

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

## 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.

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

## 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.

: m_count(static_cast<uint32_t>(data.end() - data.begin()))
, m_ptr(data.begin())
{}

## 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.

{
VULKAN_HPP_ASSERT(m_count && m_ptr);
return *(m_ptr + m_count - 1);
}

References VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_count, VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_ptr, and VULKAN_HPP_ASSERT.

## begin()

template<typename T >

const T* VULKAN_HPP_NAMESPACE::ArrayProxy< T >::begin | ( |  | ) | const

inline

Definition at line 334 of file vulkan.hpp.

{
return m_ptr;
}

References VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_ptr.

## data()

template<typename T >

T* VULKAN_HPP_NAMESPACE::ArrayProxy< T >::data | ( |  | ) | const

inline

Definition at line 366 of file vulkan.hpp.

{
return m_ptr;
}

References VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_ptr.

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::blitImage(), 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::getCalibratedTimestampsEXT(), VULKAN_HPP_NAMESPACE::Device::invalidateMappedMemoryRanges(), VULKAN_HPP_NAMESPACE::Device::mergePipelineCaches(), VULKAN_HPP_NAMESPACE::Device::mergeValidationCachesEXT(), VULKAN_HPP_NAMESPACE::CommandBuffer::pipelineBarrier(), VULKAN_HPP_NAMESPACE::CommandBuffer::pushDescriptorSetKHR(), VULKAN_HPP_NAMESPACE::Device::registerObjectsNVX(), 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::Device::updateDescriptorSets(), VULKAN_HPP_NAMESPACE::CommandBuffer::waitEvents(), and VULKAN_HPP_NAMESPACE::CommandBuffer::writeAccelerationStructuresPropertiesNV().

## empty()

template<typename T >

bool VULKAN_HPP_NAMESPACE::ArrayProxy< T >::empty | ( |  | ) | const

inline

Definition at line 356 of file vulkan.hpp.

{
return (m_count == 0);
}

References VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_count.

## end()

template<typename T >

const T* VULKAN_HPP_NAMESPACE::ArrayProxy< T >::end | ( |  | ) | const

inline

Definition at line 339 of file vulkan.hpp.

{
return m_ptr + m_count;
}

References VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_count, and VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_ptr.

## front()

template<typename T >

const T& VULKAN_HPP_NAMESPACE::ArrayProxy< T >::front | ( |  | ) | const

inline

Definition at line 344 of file vulkan.hpp.

{
VULKAN_HPP_ASSERT(m_count && m_ptr);
return *m_ptr;
}

References VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_count, VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_ptr, and VULKAN_HPP_ASSERT.

## size()

template<typename T >

uint32_t VULKAN_HPP_NAMESPACE::ArrayProxy< T >::size | ( |  | ) | const

inline

Definition at line 361 of file vulkan.hpp.

{
return m_count;
}

References VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_count.

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::blitImage(), 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::getCalibratedTimestampsEXT(), VULKAN_HPP_NAMESPACE::Device::invalidateMappedMemoryRanges(), VULKAN_HPP_NAMESPACE::Device::mergePipelineCaches(), VULKAN_HPP_NAMESPACE::Device::mergeValidationCachesEXT(), VULKAN_HPP_NAMESPACE::CommandBuffer::pipelineBarrier(), VULKAN_HPP_NAMESPACE::CommandBuffer::pushDescriptorSetKHR(), VULKAN_HPP_NAMESPACE::Device::registerObjectsNVX(), 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::Device::updateDescriptorSets(), VULKAN_HPP_NAMESPACE::CommandBuffer::waitEvents(), and VULKAN_HPP_NAMESPACE::CommandBuffer::writeAccelerationStructuresPropertiesNV().

## 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.

Referenced by VULKAN_HPP_NAMESPACE::ArrayProxy< T >::back(), VULKAN_HPP_NAMESPACE::ArrayProxy< T >::empty(), VULKAN_HPP_NAMESPACE::ArrayProxy< T >::end(), VULKAN_HPP_NAMESPACE::ArrayProxy< T >::front(), and VULKAN_HPP_NAMESPACE::ArrayProxy< T >::size().

## m_ptr

template<typename T >

T* VULKAN_HPP_NAMESPACE::ArrayProxy< T >::m_ptr

private

Definition at line 373 of file vulkan.hpp.

Referenced by VULKAN_HPP_NAMESPACE::ArrayProxy< T >::back(), VULKAN_HPP_NAMESPACE::ArrayProxy< T >::begin(), VULKAN_HPP_NAMESPACE::ArrayProxy< T >::data(), VULKAN_HPP_NAMESPACE::ArrayProxy< T >::end(), and VULKAN_HPP_NAMESPACE::ArrayProxy< T >::front().

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

- src/video/khronos/vulkan/vulkan.hpp

VULKAN_HPP_NAMESPACE::ArrayProxy::m_ptr
T * m_ptr
Definition: vulkan.hpp:373
count
GLuint GLuint GLsizei count
Definition: SDL_opengl.h:1571
data
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974
VULKAN_HPP_ASSERT
#define VULKAN_HPP_ASSERT
Definition: vulkan.hpp:54
uint32_t
unsigned int uint32_t
Definition: SDL_config_windows.h:63
VULKAN_HPP_NAMESPACE::ArrayProxy::m_count
uint32_t m_count
Definition: vulkan.hpp:372