#include <bus.h>
Inheritance diagram for lcs::Bus< bits >:

| bits | The number of data lines in the bus. | 
Public Member Functions | |
| Bus (void) | |
| Bus (const Bus< bits > &bus) | |
| virtual | ~Bus () | 
| Line & | operator[] (int index) | 
| template<int w> | |
| const Bus< w+bits > | operator * (const Bus< w > &bus) const | 
| const Bus< bits+1 > | operator * (const Line &line) const | 
| void | operator= (int value) | 
Private Member Functions | |
| void | drive (Module *mod) | 
| void | unDrive (Module *mod) | 
Friends | |
| class | Bus | 
The default constructor. The data lines are all initialised to the lcs::UNKNOWN state.
This function is inherited from InputBus. However, it has been declared private so that the user is prevented from using a Bus object to drive/un-drive a module.
Reimplemented from lcs::InputBus< bits >.
The overloaded operator to join a data line to a bus to form a new bus. The line to be joined will have to be the right operand. The joined line takes the MSB location in the resulting Bus object.
| line | The right operand lcs::Line object. | 
Reimplemented from lcs::InputBus< bits >.
| const Bus< w+bits > lcs::Bus< bits >::operator * | ( | const Bus< w > & | bus | ) | const | 
The overloaded operator to join data lines from two busses and form a new bus from these. The right operand bus takes the MSB locations.
| bits | The width of the left-operand bus | |
| w | The width of the right operand bus | |
| bus | The right operand Bus object. | 
| void lcs::Bus< bits >::operator= | ( | int | value | ) | 
The assignment operator which sets the data lines to a binary equivalent of the decimal argument value.
| value | The decimal equivalent of the binary value which has to be set. | 
The operator which can be used to read and write data onto the lines of the bus.
| index | The index of the data line in the bus. Note that all data in libLCS is stored in the little-endian format. | 
This function is inherited from InputBus. However, it has been declared private so that the user is prevented from using a Bus object to drive/un-drive a module.
Reimplemented from lcs::InputBus< bits >.
friend class Bus [friend]           | 
        
Bus classes of other sizes are friends of this class.
 1.4.7