scc 2025.09
SystemC components library
tlm::scc::tlm_gp_mm Struct Reference

Memory management for TLM generic payload data. More...

#include <tlm_mm.h>

Inheritance diagram for tlm::scc::tlm_gp_mm:
Collaboration diagram for tlm::scc::tlm_gp_mm:

Public Member Functions

void copy_from (ATTR_UNUSED tlm_extension_base const &from) override
tlm_gp_mm * clone () const override

Static Public Member Functions

static tlm_gp_mm * create (size_t sz, bool be=false)
 Creates a new tlm_gp_mm object with a dynamically allocated buffer.
template<typename TYPES = tlm_base_protocol_types>
static TYPES::tlm_payload_type * add_data_ptr (size_t sz, typename TYPES::tlm_payload_type &gp, bool be=false)
template<typename TYPES = tlm_base_protocol_types>
static TYPES::tlm_payload_type * add_data_ptr (size_t sz, typename TYPES::tlm_payload_type *gp, bool be=false)
 Adds a data pointer to a tlm_gp_mm object.

Public Attributes

size_t const data_size
uint8_t *const data_ptr
uint8_t *const be_ptr

Protected Member Functions

 tlm_gp_mm (size_t sz, uint8_t *data_ptr, uint8_t *be_ptr)

Detailed Description

Memory management for TLM generic payload data.

This extension is used for memory handling for tlm generic payload data. It is designed to be used as an extension for the tlm_payload_base class.

Note
This extension is used internally by the tlm_gp_shared class, which is

Definition at line 41 of file tlm_mm.h.

Constructor & Destructor Documentation

◆ ~tlm_gp_mm()

virtual tlm::scc::tlm_gp_mm::~tlm_gp_mm ( )
inlinevirtual

Definition at line 42 of file tlm_mm.h.

◆ tlm_gp_mm()

tlm::scc::tlm_gp_mm::tlm_gp_mm ( size_t sz,
uint8_t * data_ptr,
uint8_t * be_ptr )
inlineprotected

Definition at line 65 of file tlm_mm.h.

Member Function Documentation

◆ add_data_ptr() [1/2]

template<typename TYPES = tlm_base_protocol_types>
TYPES::tlm_payload_type * tlm::scc::tlm_gp_mm::add_data_ptr ( size_t sz,
typename TYPES::tlm_payload_type & gp,
bool be = false )
inlinestatic

Definition at line 58 of file tlm_mm.h.

◆ add_data_ptr() [2/2]

template<typename TYPES>
TYPES::tlm_payload_type * tlm::scc::tlm_gp_mm::add_data_ptr ( size_t sz,
typename TYPES::tlm_payload_type * gp,
bool be = false )
inlinestatic

Adds a data pointer to a tlm_gp_mm object.

Parameters
szThe size of the data.
gpThe tlm_generic_payload object to add the data pointer to.
beIf true, the byte-enable pointer will be populated.
Returns
The tlm_generic_payload object with the data pointer added.

Definition at line 156 of file tlm_mm.h.

◆ clone()

tlm_gp_mm * tlm::scc::tlm_gp_mm::clone ( ) const
inlineoverride

Definition at line 49 of file tlm_mm.h.

◆ copy_from()

void tlm::scc::tlm_gp_mm::copy_from ( ATTR_UNUSED tlm_extension_base const & from)
inlineoverride

Definition at line 44 of file tlm_mm.h.

◆ create()

tlm_gp_mm * tlm::scc::tlm_gp_mm::create ( size_t sz,
bool be = false )
inlinestatic

Creates a new tlm_gp_mm object with a dynamically allocated buffer.

Parameters
szThe size of the data to be handled.
beIf true, the extension will also provide a byte-enable array.
Returns
A new tlm_gp_mm object.

Definition at line 114 of file tlm_mm.h.

Member Data Documentation

◆ be_ptr

uint8_t* const tlm::scc::tlm_gp_mm::be_ptr

Definition at line 53 of file tlm_mm.h.

◆ data_ptr

uint8_t* const tlm::scc::tlm_gp_mm::data_ptr

Definition at line 52 of file tlm_mm.h.

◆ data_size

size_t const tlm::scc::tlm_gp_mm::data_size

Definition at line 51 of file tlm_mm.h.


The documentation for this struct was generated from the following file:
  • /home/eyck/Projects/MINRES/SystemC-Components/src/sysc/tlm/scc/tlm_mm.h