scc 2025.09
SystemC components library
scc::sc_in_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_in_opt< T >:
Collaboration diagram for scc::sc_in_opt< T >:

Public Types

using data_type = T
using if_type = sc_core::sc_signal_in_if<data_type>
using base_type = sc_core::sc_port<if_type, 1, sc_core::SC_ZERO_OR_MORE_BOUND>
using this_type = sc_in_opt<data_type>
using base_port_type = typename base_type::port_type
using in_if_type = if_type
using in_port_type = base_type
using inout_if_type = sc_core::sc_signal_inout_if<data_type>
using inout_port_type = sc_core::sc_port<inout_if_type, 1, sc_core::SC_ZERO_OR_MORE_BOUND>

Public Member Functions

 sc_in_opt (const char *name_)
 sc_in_opt (const in_if_type &interface_)
 sc_in_opt (const char *name_, const in_if_type &interface_)
 sc_in_opt (in_port_type &parent_)
 sc_in_opt (const char *name_, in_port_type &parent_)
 sc_in_opt (inout_port_type &parent_)
 sc_in_opt (const char *name_, inout_port_type &parent_)
 sc_in_opt (this_type &parent_)
 sc_in_opt (const char *name_, this_type &parent_)
 sc_in_opt (const this_type &)=delete
this_type & operator= (const this_type &)=delete
SCC_VIRT void bind (const in_if_type &interface_)
SCC_VIRT void bind (in_if_type &interface_) override
void operator() (const in_if_type &interface_)
SCC_VIRT void bind (in_port_type &parent_)
void operator() (in_port_type &parent_)
SCC_VIRT void bind (sc_core::sc_port< if_type, 1, sc_core::SC_ONE_OR_MORE_BOUND > &parent_)
void operator() (sc_core::sc_port< if_type, 1, sc_core::SC_ONE_OR_MORE_BOUND > &parent_)
SCC_VIRT void bind (inout_port_type &parent_)
void operator() (inout_port_type &parent_)
SCC_VIRT void bind (sc_core::sc_port< inout_if_type, 1, sc_core::SC_ONE_OR_MORE_BOUND > &parent_)
void operator() (sc_core::sc_port< inout_if_type, 1, sc_core::SC_ONE_OR_MORE_BOUND > &parent_)
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
virtual const char * kind () const override

Detailed Description

template<class T>
class scc::sc_in_opt< T >

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

The sc_in_opt class is a specialization of sc_core::sc_in that allows optional binding of 1 part or signal at max.

Template Parameters
TThe data type of the input port.

Definition at line 46 of file signal_opt_ports.h.

Member Typedef Documentation

◆ base_port_type

template<class T>
using scc::sc_in_opt< T >::base_port_type = typename base_type::port_type

Definition at line 52 of file signal_opt_ports.h.

◆ base_type

template<class T>
using scc::sc_in_opt< T >::base_type = sc_core::sc_port<if_type, 1, sc_core::SC_ZERO_OR_MORE_BOUND>

Definition at line 50 of file signal_opt_ports.h.

◆ data_type

template<class T>
using scc::sc_in_opt< T >::data_type = T

Definition at line 48 of file signal_opt_ports.h.

◆ if_type

template<class T>
using scc::sc_in_opt< T >::if_type = sc_core::sc_signal_in_if<data_type>

Definition at line 49 of file signal_opt_ports.h.

◆ in_if_type

template<class T>
using scc::sc_in_opt< T >::in_if_type = if_type

Definition at line 54 of file signal_opt_ports.h.

◆ in_port_type

template<class T>
using scc::sc_in_opt< T >::in_port_type = base_type

Definition at line 55 of file signal_opt_ports.h.

◆ inout_if_type

template<class T>
using scc::sc_in_opt< T >::inout_if_type = sc_core::sc_signal_inout_if<data_type>

Definition at line 56 of file signal_opt_ports.h.

◆ inout_port_type

template<class T>
using scc::sc_in_opt< T >::inout_port_type = sc_core::sc_port<inout_if_type, 1, sc_core::SC_ZERO_OR_MORE_BOUND>

Definition at line 57 of file signal_opt_ports.h.

◆ this_type

template<class T>
using scc::sc_in_opt< T >::this_type = sc_in_opt<data_type>

Definition at line 51 of file signal_opt_ports.h.

Constructor & Destructor Documentation

◆ sc_in_opt() [1/10]

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

Definition at line 60 of file signal_opt_ports.h.

◆ sc_in_opt() [2/10]

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

Definition at line 63 of file signal_opt_ports.h.

◆ sc_in_opt() [3/10]

template<class T>
scc::sc_in_opt< T >::sc_in_opt ( const in_if_type & interface_)
inlineexplicit

Definition at line 66 of file signal_opt_ports.h.

◆ sc_in_opt() [4/10]

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

Definition at line 69 of file signal_opt_ports.h.

◆ sc_in_opt() [5/10]

template<class T>
scc::sc_in_opt< T >::sc_in_opt ( in_port_type & parent_)
inlineexplicit

Definition at line 72 of file signal_opt_ports.h.

◆ sc_in_opt() [6/10]

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

Definition at line 75 of file signal_opt_ports.h.

◆ sc_in_opt() [7/10]

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

Definition at line 78 of file signal_opt_ports.h.

◆ sc_in_opt() [8/10]

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

Definition at line 83 of file signal_opt_ports.h.

◆ sc_in_opt() [9/10]

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

Definition at line 88 of file signal_opt_ports.h.

◆ sc_in_opt() [10/10]

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

Definition at line 91 of file signal_opt_ports.h.

◆ ~sc_in_opt()

template<class T>
virtual scc::sc_in_opt< T >::~sc_in_opt ( )
inlinevirtual

Definition at line 96 of file signal_opt_ports.h.

Member Function Documentation

◆ bind() [1/6]

template<class T>
SCC_VIRT void scc::sc_in_opt< T >::bind ( const in_if_type & interface_)
inline

Definition at line 100 of file signal_opt_ports.h.

◆ bind() [2/6]

template<class T>
SCC_VIRT void scc::sc_in_opt< T >::bind ( in_if_type & interface_)
inlineoverride

Definition at line 102 of file signal_opt_ports.h.

◆ bind() [3/6]

template<class T>
SCC_VIRT void scc::sc_in_opt< T >::bind ( in_port_type & parent_)
inline

Definition at line 106 of file signal_opt_ports.h.

◆ bind() [4/6]

template<class T>
SCC_VIRT void scc::sc_in_opt< T >::bind ( inout_port_type & parent_)
inline

Definition at line 114 of file signal_opt_ports.h.

◆ bind() [5/6]

template<class T>
SCC_VIRT void scc::sc_in_opt< T >::bind ( sc_core::sc_port< if_type, 1, sc_core::SC_ONE_OR_MORE_BOUND > & parent_)
inline

Definition at line 110 of file signal_opt_ports.h.

◆ bind() [6/6]

template<class T>
SCC_VIRT void scc::sc_in_opt< T >::bind ( sc_core::sc_port< inout_if_type, 1, sc_core::SC_ONE_OR_MORE_BOUND > & parent_)
inline

Definition at line 118 of file signal_opt_ports.h.

◆ default_event()

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

Definition at line 122 of file signal_opt_ports.h.

◆ event()

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

Definition at line 130 of file signal_opt_ports.h.

◆ kind()

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

Definition at line 132 of file signal_opt_ports.h.

◆ operator const data_type &()

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

Definition at line 128 of file signal_opt_ports.h.

◆ operator()() [1/5]

template<class T>
void scc::sc_in_opt< T >::operator() ( const in_if_type & interface_)
inline

Definition at line 104 of file signal_opt_ports.h.

◆ operator()() [2/5]

template<class T>
void scc::sc_in_opt< T >::operator() ( in_port_type & parent_)
inline

Definition at line 108 of file signal_opt_ports.h.

◆ operator()() [3/5]

template<class T>
void scc::sc_in_opt< T >::operator() ( inout_port_type & parent_)
inline

Definition at line 116 of file signal_opt_ports.h.

◆ operator()() [4/5]

template<class T>
void scc::sc_in_opt< T >::operator() ( sc_core::sc_port< if_type, 1, sc_core::SC_ONE_OR_MORE_BOUND > & parent_)
inline

Definition at line 112 of file signal_opt_ports.h.

◆ operator()() [5/5]

template<class T>
void scc::sc_in_opt< T >::operator() ( sc_core::sc_port< inout_if_type, 1, sc_core::SC_ONE_OR_MORE_BOUND > & parent_)
inline

Definition at line 120 of file signal_opt_ports.h.

◆ read()

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

Definition at line 126 of file signal_opt_ports.h.

◆ value_changed_event()

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

Definition at line 124 of file signal_opt_ports.h.


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