Skip to content

Class muda::SubFieldInterface

ClassList > muda > SubFieldInterface

Inherited by the following classes: muda::SubFieldImpl< FieldEntryLayout::AoS >, muda::SubFieldImpl< FieldEntryLayout::AoSoA >, muda::SubFieldImpl< FieldEntryLayout::SoA >

Public Functions

Type Name
SubFieldInterface (Field & field)
SubFieldInterface (const SubFieldInterface &) = delete
SubFieldInterface (SubFieldInterface &&) = delete
SubFieldInterface & operator= (const SubFieldInterface &) = delete
SubFieldInterface & operator= (SubFieldInterface &&) = delete
virtual ~SubFieldInterface ()

Protected Attributes

Type Name
FieldBuildOptions m_build_options
std::byte * m_data_buffer = = nullptr
size_t m_data_buffer_size = = 0
std::vector< U< FieldEntryBase > > m_entries
Field & m_field
FieldEntryLayoutInfo m_layout_info
std::unordered_map< std::string, size_t > m_name_to_index
size_t m_num_elements = = 0
uint32_t m_struct_stride = = ~0

Protected Functions

Type Name
virtual bool allow_inplace_shrink () const
virtual void build_impl () = 0
const FieldBuildOptions & build_options () const
virtual void calculate_new_cores (std::byte * byte_buffer, size_t total_bytes, size_t element_count, span< FieldEntryCore > new_cores) = 0
const FieldEntryLayoutInfo & layout_info () const
size_t num_elements () const
virtual size_t require_total_buffer_byte_size (size_t element_count) = 0

Protected Static Functions

Type Name
uint32_t align (uint32_t offset, uint32_t size, uint32_t min_alignment, uint32_t max_alignment)
uint32_t round_up (uint32_t total, uint32_t N)

Public Functions Documentation

function SubFieldInterface [1/3]

inline muda::SubFieldInterface::SubFieldInterface (
    Field & field
) 

function SubFieldInterface [2/3]

muda::SubFieldInterface::SubFieldInterface (
    const SubFieldInterface &
) = delete

function SubFieldInterface [3/3]

muda::SubFieldInterface::SubFieldInterface (
    SubFieldInterface &&
) = delete

function operator=

SubFieldInterface & muda::SubFieldInterface::operator= (
    const SubFieldInterface &
) = delete

function operator=

SubFieldInterface & muda::SubFieldInterface::operator= (
    SubFieldInterface &&
) = delete

function ~SubFieldInterface

virtual muda::SubFieldInterface::~SubFieldInterface () 

Protected Attributes Documentation

variable m_build_options

FieldBuildOptions muda::SubFieldInterface::m_build_options;

variable m_data_buffer

std::byte* muda::SubFieldInterface::m_data_buffer;

variable m_data_buffer_size

size_t muda::SubFieldInterface::m_data_buffer_size;

variable m_entries

std::vector<U<FieldEntryBase> > muda::SubFieldInterface::m_entries;

variable m_field

Field& muda::SubFieldInterface::m_field;

variable m_layout_info

FieldEntryLayoutInfo muda::SubFieldInterface::m_layout_info;

variable m_name_to_index

std::unordered_map<std::string, size_t> muda::SubFieldInterface::m_name_to_index;

variable m_num_elements

size_t muda::SubFieldInterface::m_num_elements;

variable m_struct_stride

uint32_t muda::SubFieldInterface::m_struct_stride;

Protected Functions Documentation

function allow_inplace_shrink

inline virtual bool muda::SubFieldInterface::allow_inplace_shrink () const

function build_impl

virtual void muda::SubFieldInterface::build_impl () = 0

function build_options

inline const FieldBuildOptions & muda::SubFieldInterface::build_options () const

function calculate_new_cores

virtual void muda::SubFieldInterface::calculate_new_cores (
    std::byte * byte_buffer,
    size_t total_bytes,
    size_t element_count,
    span< FieldEntryCore > new_cores
) = 0

function layout_info

inline const FieldEntryLayoutInfo & muda::SubFieldInterface::layout_info () const

function num_elements

inline size_t muda::SubFieldInterface::num_elements () const

function require_total_buffer_byte_size

virtual size_t muda::SubFieldInterface::require_total_buffer_byte_size (
    size_t element_count
) = 0

Protected Static Functions Documentation

function align

static uint32_t muda::SubFieldInterface::align (
    uint32_t offset,
    uint32_t size,
    uint32_t min_alignment,
    uint32_t max_alignment
) 

function round_up

static uint32_t muda::SubFieldInterface::round_up (
    uint32_t total,
    uint32_t N
) 


The documentation for this class was generated from the following file src/muda/ext/field/sub_field_interface.h