scc 2025.09
SystemC components library
scc::sc_inout_opt< T > Class Template Reference

A template class for an optional input port with optimized binding. More...

#include <signal_opt_ports.h>

Inheritance diagram for scc::sc_inout_opt< T >:
Collaboration diagram for scc::sc_inout_opt< T >:

Public Types

typedef T data_type
typedef sc_core::sc_signal_inout_if< data_type > if_type
typedef sc_core::sc_port< if_type, 1, sc_core::SC_ZERO_OR_MORE_BOUND > base_type
typedef sc_inout_opt< data_type > this_type
typedef sc_core::sc_signal_in_if< data_type > in_if_type
typedef sc_core::sc_port< in_if_type, 1, sc_core::SC_ZERO_OR_MORE_BOUND > in_port_type
typedef if_type inout_if_type
typedef base_type inout_port_type

Public Member Functions

 sc_inout_opt (const char *name_)
 sc_inout_opt (inout_if_type &interface_)
 sc_inout_opt (const char *name_, inout_if_type &interface_)
 sc_inout_opt (inout_port_type &parent_)
 sc_inout_opt (const char *name_, inout_port_type &parent_)
 sc_inout_opt (this_type &parent_)
 sc_inout_opt (const char *name_, this_type &parent_)
 sc_inout_opt (const this_type &)=delete
const sc_core::sc_event & default_event () const
const sc_core::sc_event & value_changed_event () const
const data_type & read () const
 operator const data_type & () const
bool event () const
void write (const data_type &value_)
this_type & operator= (const data_type &value_)
this_type & operator= (const in_if_type &interface_)
this_type & operator= (const in_port_type &port_)
this_type & operator= (const inout_port_type &port_)
this_type & operator= (const this_type &port_)
void initialize (const data_type &value_)
void initialize (const in_if_type &interface_)
void end_of_elaboration () override
virtual const char * kind () const override

Protected Attributes

data_type * m_init_val

Detailed Description

template<class T>
class scc::sc_inout_opt< T >

A template class for an optional input port with optimized binding.

The sc_inout_opt class is a specialization of sc_core::sc_inout that allows optional binding of 1 port or signal at max.

Template Parameters
TThe data type of the input port.

Definition at line 335 of file signal_opt_ports.h.

Member Typedef Documentation

◆ base_type

template<class T>
typedef sc_core::sc_port<if_type, 1, sc_core::SC_ZERO_OR_MORE_BOUND> scc::sc_inout_opt< T >::base_type

Definition at line 340 of file signal_opt_ports.h.

◆ data_type

template<class T>
typedef T scc::sc_inout_opt< T >::data_type

Definition at line 337 of file signal_opt_ports.h.

◆ if_type

template<class T>
typedef sc_core::sc_signal_inout_if<data_type> scc::sc_inout_opt< T >::if_type

Definition at line 339 of file signal_opt_ports.h.

◆ in_if_type

template<class T>
typedef sc_core::sc_signal_in_if<data_type> scc::sc_inout_opt< T >::in_if_type

Definition at line 343 of file signal_opt_ports.h.

◆ in_port_type

template<class T>
typedef sc_core::sc_port<in_if_type, 1, sc_core::SC_ZERO_OR_MORE_BOUND> scc::sc_inout_opt< T >::in_port_type

Definition at line 344 of file signal_opt_ports.h.

◆ inout_if_type

template<class T>
typedef if_type scc::sc_inout_opt< T >::inout_if_type

Definition at line 345 of file signal_opt_ports.h.

◆ inout_port_type

template<class T>
typedef base_type scc::sc_inout_opt< T >::inout_port_type

Definition at line 346 of file signal_opt_ports.h.

◆ this_type

template<class T>
typedef sc_inout_opt<data_type> scc::sc_inout_opt< T >::this_type

Definition at line 341 of file signal_opt_ports.h.

Constructor & Destructor Documentation

◆ sc_inout_opt() [1/8]

template<class T>
scc::sc_inout_opt< T >::sc_inout_opt ( )
inline

Definition at line 349 of file signal_opt_ports.h.

◆ sc_inout_opt() [2/8]

template<class T>
scc::sc_inout_opt< T >::sc_inout_opt ( const char * name_)
inlineexplicit

Definition at line 353 of file signal_opt_ports.h.

◆ sc_inout_opt() [3/8]

template<class T>
scc::sc_inout_opt< T >::sc_inout_opt ( inout_if_type & interface_)
inlineexplicit

Definition at line 357 of file signal_opt_ports.h.

◆ sc_inout_opt() [4/8]

template<class T>
scc::sc_inout_opt< T >::sc_inout_opt ( const char * name_,
inout_if_type & interface_ )
inline

Definition at line 361 of file signal_opt_ports.h.

◆ sc_inout_opt() [5/8]

template<class T>
scc::sc_inout_opt< T >::sc_inout_opt ( inout_port_type & parent_)
inlineexplicit

Definition at line 365 of file signal_opt_ports.h.

◆ sc_inout_opt() [6/8]

template<class T>
scc::sc_inout_opt< T >::sc_inout_opt ( const char * name_,
inout_port_type & parent_ )
inline

Definition at line 369 of file signal_opt_ports.h.

◆ sc_inout_opt() [7/8]

template<class T>
scc::sc_inout_opt< T >::sc_inout_opt ( this_type & parent_)
inline

Definition at line 373 of file signal_opt_ports.h.

◆ sc_inout_opt() [8/8]

template<class T>
scc::sc_inout_opt< T >::sc_inout_opt ( const char * name_,
this_type & parent_ )
inline

Definition at line 377 of file signal_opt_ports.h.

Member Function Documentation

◆ default_event()

template<class T>
const sc_core::sc_event & scc::sc_inout_opt< T >::default_event ( ) const
inline

Definition at line 385 of file signal_opt_ports.h.

◆ end_of_elaboration()

template<class T>
void scc::sc_inout_opt< T >::end_of_elaboration ( )
inlineoverride

Definition at line 448 of file signal_opt_ports.h.

◆ event()

template<class T>
bool scc::sc_inout_opt< T >::event ( ) const
inline

Definition at line 393 of file signal_opt_ports.h.

◆ initialize() [1/2]

template<class T>
void scc::sc_inout_opt< T >::initialize ( const data_type & value_)
inline

Definition at line 436 of file signal_opt_ports.h.

◆ initialize() [2/2]

template<class T>
void scc::sc_inout_opt< T >::initialize ( const in_if_type & interface_)
inline

Definition at line 424 of file signal_opt_ports.h.

◆ kind()

template<class T>
virtual const char * scc::sc_inout_opt< T >::kind ( ) const
inlineoverridevirtual

Definition at line 428 of file signal_opt_ports.h.

◆ operator const data_type &()

template<class T>
scc::sc_inout_opt< T >::operator const data_type & ( ) const
inline

Definition at line 391 of file signal_opt_ports.h.

◆ operator=() [1/5]

template<class T>
this_type & scc::sc_inout_opt< T >::operator= ( const data_type & value_)
inline

Definition at line 397 of file signal_opt_ports.h.

◆ operator=() [2/5]

template<class T>
this_type & scc::sc_inout_opt< T >::operator= ( const in_if_type & interface_)
inline

Definition at line 402 of file signal_opt_ports.h.

◆ operator=() [3/5]

template<class T>
this_type & scc::sc_inout_opt< T >::operator= ( const in_port_type & port_)
inline

Definition at line 407 of file signal_opt_ports.h.

◆ operator=() [4/5]

template<class T>
this_type & scc::sc_inout_opt< T >::operator= ( const inout_port_type & port_)
inline

Definition at line 412 of file signal_opt_ports.h.

◆ operator=() [5/5]

template<class T>
this_type & scc::sc_inout_opt< T >::operator= ( const this_type & port_)
inline

Definition at line 417 of file signal_opt_ports.h.

◆ read()

template<class T>
const data_type & scc::sc_inout_opt< T >::read ( ) const
inline

Definition at line 389 of file signal_opt_ports.h.

◆ value_changed_event()

template<class T>
const sc_core::sc_event & scc::sc_inout_opt< T >::value_changed_event ( ) const
inline

Definition at line 387 of file signal_opt_ports.h.

◆ write()

template<class T>
void scc::sc_inout_opt< T >::write ( const data_type & value_)
inline

Definition at line 395 of file signal_opt_ports.h.

Member Data Documentation

◆ m_init_val

template<class T>
data_type* scc::sc_inout_opt< T >::m_init_val
protected

Definition at line 431 of file signal_opt_ports.h.


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