1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright --- 42 unchanged lines hidden (view full) --- 51class sc_out_rv : public sc_inout_rv<W> 52{ 53 public: 54 sc_out_rv() : sc_inout_rv<W>() {} 55 explicit sc_out_rv(const char *name) : sc_inout_rv<W>(name) {} 56 virtual ~sc_out_rv() {}; 57 58 sc_out_rv<W> & |
59 operator = (const sc_dt::sc_lv<W> &l) |
60 { |
61 (*this)->write(l); |
62 return *this; 63 } 64 sc_out_rv<W> & |
65 operator = (const sc_signal_in_if<sc_dt::sc_lv<W>> &i) |
66 { |
67 (*this)->write(i.read()); |
68 return *this; 69 } 70 sc_out_rv<W> & |
71 operator = (const sc_port<sc_signal_in_if<sc_dt::sc_lv<W>>, 1> &p) |
72 { |
73 (*this)->write(p->read()); |
74 return *this; 75 } 76 sc_out_rv<W> & |
77 operator = (const sc_port<sc_signal_inout_if<sc_dt::sc_lv<W>>, 1> &p) |
78 { |
79 (*this)->write(p->read()); |
80 return *this; 81 } 82 sc_out_rv<W> & |
83 operator = (const sc_out_rv<W> &p) |
84 { |
85 (*this)->write(p->read()); |
86 return *this; 87 } 88 89 virtual const char *kind() const { return "sc_out_rv"; } 90 91 private: 92 // Disabled 93 sc_out_rv(const sc_out_rv<W> &) : sc_inout_rv<W>() {} 94}; 95 96} // namespace sc_core 97 98#endif //__SYSTEMC_EXT_CHANNEL_SC_OUT_RV_HH__ |