34 #ifndef SC_WRITER_POLICY_H_INCLUDED_ 35 #define SC_WRITER_POLICY_H_INCLUDED_ 37 #if !defined(SC_DEFAULT_WRITER_POLICY) 38 # if defined(SC_NO_WRITE_CHECK) 39 # define SC_DEFAULT_WRITER_POLICY SC_UNCHECKED_WRITERS 41 # define SC_DEFAULT_WRITER_POLICY SC_ONE_WRITER 47 #if defined(_MSC_VER) && _MSC_VER < 1800 48 # pragma warning(push) 49 # pragma warning(disable:4512) // assignment operator could not be generated 50 #endif // _MSC_VER < 1800 59 sc_object* second_writer,
bool check_delta );
76 template<
typename T, sc_writer_policy POL = SC_DEFAULT_WRITER_POLICY >
79 template< sc_writer_policy >
92 bool check_write(
sc_object* target,
bool value_changed );
97 static bool only_delta();
101 : m_delta_only( delta_only ), m_writer_p() {}
158 #if defined(_MSC_VER) && _MSC_VER < 1800 159 # pragma warning(pop) 160 #endif // _MSC_VER < 1800 162 #endif // SC_WRITER_POLICY_H_INCLUDED_
bool check_write(sc_object *, bool)
sc_writer_policy_check_port()
Abstract base class of all SystemC `simulation' objects.
unique writer (from a unique port)
bool needs_update() const
Abstract base class for class sc_port_b.
sc_writer_policy_check_delta()
sc_writer_policy_check_write(bool delta_only=only_delta())
void swap(sc_process_handle &other)
class SC_API sc_port_base
even allow delta cycle conflicts (non-standard)
bool needs_update() const
bool check_port(sc_object *, sc_port_base *, bool)
sc_process_handle m_writer_p
bool needs_update() const
SC_API void sc_signal_invalid_writer(sc_object *target, sc_object *first_writer, sc_object *second_writer, bool check_delta)
allow multiple writers (with different ports)