28 #ifndef SC_WRITER_POLICY_H_INCLUDED_
29 #define SC_WRITER_POLICY_H_INCLUDED_
31 #if !defined(SC_DEFAULT_WRITER_POLICY)
32 # if defined(SC_NO_WRITE_CHECK)
33 # define SC_DEFAULT_WRITER_POLICY SC_UNCHECKED_WRITERS
35 # define SC_DEFAULT_WRITER_POLICY SC_ONE_WRITER
46 sc_object* second_writer,
bool check_delta );
63 template<
typename T, sc_writer_policy POL = SC_DEFAULT_WRITER_POLICY >
66 template< sc_writer_policy >
bool check_port(sc_object *target, sc_port_base *port, bool is_output)
allow multiple writers (with different ports)
sc_writer_policy_check_write(bool check_delta=false)
unique writer (from a unique port)
even allow delta cycle conflicts (non-standard)
bool check_write(sc_object *, bool)
bool check_port(sc_object *, sc_port_base *, bool)
sc_writer_policy_check_port()
Abstract base class for class sc_port_b.
bool check_write(sc_object *target, bool value_changed)
sc_writer_policy_check_delta()
bool check_write(sc_object *target, bool value_changed)
void sc_signal_invalid_writer(sc_object *target, sc_object *first_writer, sc_object *second_writer, bool check_delta)
Abstract base class of all SystemC `simulation' objects.