scc 2025.09
SystemC components library
tlm::nw::tlm_network_payload_base Struct Reference

A base class for TLM network payloads. More...

#include <tlm_network_gp.h>

Inheritance diagram for tlm::nw::tlm_network_payload_base:

Public Member Functions

 tlm_network_payload_base ()
 Default constructor.
 tlm_network_payload_base (tlm_base_mm_interface *mm)
 Constructor with memory management interface.
virtual ~tlm_network_payload_base ()
void reset ()
 Constructor with memory management interface.
void acquire ()
 Acquires a reference to the payload.
void release ()
 Releases a reference to the payload.
int get_ref_count () const
 Gets the reference count of the payload.
void set_mm (tlm_base_mm_interface *mm)
bool has_mm () const
void copy_extensions_from (const tlm_network_payload_base &other)
void update_extensions_from (const tlm_network_payload_base &other)
void free_all_extensions ()
template<typename T>
T * set_extension (T *ext)
tlm_extension_base * set_extension (unsigned int index, tlm_extension_base *ext)
template<typename T>
T * set_auto_extension (T *ext)
tlm_extension_base * set_auto_extension (unsigned int index, tlm_extension_base *ext)
template<typename T>
void get_extension (T *&ext) const
template<typename T>
T * get_extension () const
tlm_extension_base * get_extension (unsigned int index) const
template<typename T>
void clear_extension (const T *ext)
template<typename T>
void clear_extension ()
template<typename T>
void release_extension (T *ext)
template<typename T>
void release_extension ()
size_t get_extension_count ()
void resize_extensions ()

Detailed Description

A base class for TLM network payloads.

The tlm_network_payload_base class provides a foundation for creating custom TLM network payloads. It includes methods for managing extensions, memory management, and response status.

Definition at line 52 of file tlm_network_gp.h.

Constructor & Destructor Documentation

◆ tlm_network_payload_base() [1/2]

tlm::nw::tlm_network_payload_base::tlm_network_payload_base ( )
inline

Default constructor.

Initializes the tlm_network_payload_base object with default values.

Definition at line 58 of file tlm_network_gp.h.

◆ tlm_network_payload_base() [2/2]

tlm::nw::tlm_network_payload_base::tlm_network_payload_base ( tlm_base_mm_interface * mm)
inlineexplicit

Constructor with memory management interface.

Initializes the tlm_network_payload_base object with a specified memory management interface.

Parameters
mmThe memory management interface.

Definition at line 67 of file tlm_network_gp.h.

◆ ~tlm_network_payload_base()

virtual tlm::nw::tlm_network_payload_base::~tlm_network_payload_base ( )
inlinevirtual

virtual destructor.

Definition at line 74 of file tlm_network_gp.h.

Member Function Documentation

◆ acquire()

void tlm::nw::tlm_network_payload_base::acquire ( )
inline

Acquires a reference to the payload.

Increments the reference count of the payload, indicating that it is being used.

Definition at line 92 of file tlm_network_gp.h.

◆ clear_extension() [1/2]

template<typename T>
void tlm::nw::tlm_network_payload_base::clear_extension ( )
inline

Definition at line 155 of file tlm_network_gp.h.

◆ clear_extension() [2/2]

template<typename T>
void tlm::nw::tlm_network_payload_base::clear_extension ( const T * ext)
inline

Definition at line 149 of file tlm_network_gp.h.

◆ copy_extensions_from()

void tlm::nw::tlm_network_payload_base::copy_extensions_from ( const tlm_network_payload_base & other)
inline

Definition at line 454 of file tlm_network_gp.h.

◆ free_all_extensions()

void tlm::nw::tlm_network_payload_base::free_all_extensions ( )
inline

Definition at line 368 of file tlm_network_gp.h.

◆ get_extension() [1/3]

template<typename T>
T * tlm::nw::tlm_network_payload_base::get_extension ( ) const
inline

Definition at line 141 of file tlm_network_gp.h.

◆ get_extension() [2/3]

template<typename T>
void tlm::nw::tlm_network_payload_base::get_extension ( T *& ext) const
inline

Definition at line 140 of file tlm_network_gp.h.

◆ get_extension() [3/3]

tlm_extension_base * tlm::nw::tlm_network_payload_base::get_extension ( unsigned int index) const
inline

Definition at line 422 of file tlm_network_gp.h.

◆ get_extension_count()

size_t tlm::nw::tlm_network_payload_base::get_extension_count ( )
inline

Definition at line 167 of file tlm_network_gp.h.

◆ get_ref_count()

int tlm::nw::tlm_network_payload_base::get_ref_count ( ) const
inline

Gets the reference count of the payload.

Returns the current reference count of the payload.

Returns
The reference count.

Definition at line 114 of file tlm_network_gp.h.

◆ has_mm()

bool tlm::nw::tlm_network_payload_base::has_mm ( ) const
inline

Definition at line 117 of file tlm_network_gp.h.

◆ release()

void tlm::nw::tlm_network_payload_base::release ( )
inline

Releases a reference to the payload.

Decrements the reference count of the payload, indicating that it is no longer being used. If the reference count reaches 0, the payload is freed using the memory management interface.

Definition at line 102 of file tlm_network_gp.h.

◆ release_extension() [1/2]

template<typename T>
void tlm::nw::tlm_network_payload_base::release_extension ( )
inline

Definition at line 165 of file tlm_network_gp.h.

◆ release_extension() [2/2]

template<typename T>
void tlm::nw::tlm_network_payload_base::release_extension ( T * ext)
inline

Definition at line 160 of file tlm_network_gp.h.

◆ reset()

void tlm::nw::tlm_network_payload_base::reset ( )
inline

Constructor with memory management interface.

Initializes the tlm_network_payload_base object with a specified memory management interface.

Parameters
mmThe memory management interface.

Definition at line 86 of file tlm_network_gp.h.

◆ resize_extensions()

void tlm::nw::tlm_network_payload_base::resize_extensions ( )
inline

Definition at line 476 of file tlm_network_gp.h.

◆ set_auto_extension() [1/2]

template<typename T>
T * tlm::nw::tlm_network_payload_base::set_auto_extension ( T * ext)
inline

Definition at line 134 of file tlm_network_gp.h.

◆ set_auto_extension() [2/2]

tlm_extension_base * tlm::nw::tlm_network_payload_base::set_auto_extension ( unsigned int index,
tlm_extension_base * ext )
inline

Definition at line 412 of file tlm_network_gp.h.

◆ set_extension() [1/2]

template<typename T>
T * tlm::nw::tlm_network_payload_base::set_extension ( T * ext)
inline

Definition at line 127 of file tlm_network_gp.h.

◆ set_extension() [2/2]

tlm_extension_base * tlm::nw::tlm_network_payload_base::set_extension ( unsigned int index,
tlm_extension_base * ext )
inline

Definition at line 405 of file tlm_network_gp.h.

◆ set_mm()

void tlm::nw::tlm_network_payload_base::set_mm ( tlm_base_mm_interface * mm)
inline

Definition at line 116 of file tlm_network_gp.h.

◆ update_extensions_from()

void tlm::nw::tlm_network_payload_base::update_extensions_from ( const tlm_network_payload_base & other)
inline

Definition at line 442 of file tlm_network_gp.h.


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