MAGE  v0.171.0
Matthias Advanced Game Engine
mage::rendering::BufferCompiledShader Class Reference

#include <compiled_shader.hpp>

Inheritance diagram for mage::rendering::BufferCompiledShader:
mage::rendering::CompiledShader

Public Member Functions

 BufferCompiledShader (gsl::span< const U8 > bytecode) noexcept
 
 BufferCompiledShader (const BufferCompiledShader &compiled_shader) noexcept
 
 BufferCompiledShader (BufferCompiledShader &&compiled_shader) noexcept
 
virtual ~BufferCompiledShader ()
 
BufferCompiledShaderoperator= (const BufferCompiledShader &compiled_shader) noexcept
 
BufferCompiledShaderoperator= (BufferCompiledShader &&compiled_shader) noexcept
 
virtual const U8GetBytecode () const noexcept override
 
virtual std::size_t GetBytecodeSize () const noexcept override
 
- Public Member Functions inherited from mage::rendering::CompiledShader
virtual ~CompiledShader ()
 
CompiledShaderoperator= (const CompiledShader &compiled_shader) noexcept
 
CompiledShaderoperator= (CompiledShader &&compiled_shader) noexcept
 

Private Attributes

const U8m_bytecode
 
std::size_t m_bytecode_size
 

Additional Inherited Members

- Protected Member Functions inherited from mage::rendering::CompiledShader
 CompiledShader () noexcept
 
 CompiledShader (const CompiledShader &compiled_shader) noexcept
 
 CompiledShader (CompiledShader &&compiled_shader) noexcept
 

Detailed Description

A class of buffer compiled shaders.

Constructor & Destructor Documentation

◆ BufferCompiledShader() [1/3]

mage::rendering::BufferCompiledShader::BufferCompiledShader ( gsl::span< const U8 bytecode)
explicitnoexcept

Constructs a buffer compiled shader.

Parameters
[in]bytecodeThe shader bytecode.

◆ BufferCompiledShader() [2/3]

mage::rendering::BufferCompiledShader::BufferCompiledShader ( const BufferCompiledShader compiled_shader)
defaultnoexcept

Constructs a buffer compiled shader from the given buffer compiled shader.

Parameters
[in]compiled_shaderA reference to the buffer compiled shader to copy.

◆ BufferCompiledShader() [3/3]

mage::rendering::BufferCompiledShader::BufferCompiledShader ( BufferCompiledShader &&  compiled_shader)
defaultnoexcept

Constructs a buffer compiled shader by moving the given buffer compiled shader.

Parameters
[in]compiled_shaderA reference to the buffer compiled shader to move.

◆ ~BufferCompiledShader()

mage::rendering::BufferCompiledShader::~BufferCompiledShader ( )
virtualdefault

Destructs this buffer compiled shader.

Member Function Documentation

◆ GetBytecode()

virtual const U8* mage::rendering::BufferCompiledShader::GetBytecode ( ) const
overridevirtualnoexcept

Returns the shader bytecode of this buffer compiled shader.

Returns
A pointer to the shader bytecode of this buffer compiled shader.

Implements mage::rendering::CompiledShader.

◆ GetBytecodeSize()

virtual std::size_t mage::rendering::BufferCompiledShader::GetBytecodeSize ( ) const
overridevirtualnoexcept

Returns the size of the shader bytecode (in bytes) of this buffer compiled shader.

Returns
The size of the shader bytecode (in bytes) of this buffer compiled shader.

Implements mage::rendering::CompiledShader.

◆ operator=() [1/2]

BufferCompiledShader & mage::rendering::BufferCompiledShader::operator= ( const BufferCompiledShader compiled_shader)
defaultnoexcept

Copies the given buffer compiled shader to this buffer compiled shader.

Parameters
[in]compiled_shaderA reference to the buffer compiled shader to copy.
Returns
A reference to the copy of the given buffer compiled shader (i.e. this buffer compiled shader).

◆ operator=() [2/2]

BufferCompiledShader & mage::rendering::BufferCompiledShader::operator= ( BufferCompiledShader &&  compiled_shader)
defaultnoexcept

Moves the given buffer compiled shader to this buffer compiled shader.

Parameters
[in]compiled_shaderA reference to the buffer compiled shader to copy.
Returns
A reference to the moved buffer compiled shader (i.e. this buffer compiled shader).

Member Data Documentation

◆ m_bytecode

const U8* mage::rendering::BufferCompiledShader::m_bytecode
private

A pointer to the shader bytecode of this buffer compiled shader.

◆ m_bytecode_size

std::size_t mage::rendering::BufferCompiledShader::m_bytecode_size
private

The size of the shader bytecode of this buffer compiled shader.