|
- A Logic Circuit Simulation Library in C++ |
#include <inoutbus.h>
Inheritance diagram for lcs::InOutBus< bits >:

Public Member Functions | |
| InOutBus (void) | |
| InOutBus (int val) | |
| InOutBus (const Bus< bits > &b) | |
| InOutBus (const InOutBus< bits > &b) | |
| virtual | ~InOutBus () |
| InOutBus< 1 > | operator[] (unsigned int i) |
| void | operator= (int a) |
| void | operator= (const LineState &l) |
| template<int w, ExprType Type, typename LExprType, typename RExprType> | |
| void | operator= (const Expression< w, Type, LExprType, RExprType > &expr) |
| template<int w, ExprType Type, typename LExprType, typename RExprType> | |
| void | operator= (const DelayExprPair< w, Type, LExprType, RExprType > &dep) |
| void | operator= (const DelayStatePair &dsp) |
| template<int w> | |
| const InOutBus< w+bits > | operator, (const InOutBus< w > &bus) const |
| const InOutBus< bits+1 > | operator, (const Line &line) const |
| lcs::InOutBus< bits >::InOutBus | ( | void | ) |
Default construtor.
| lcs::InOutBus< bits >::InOutBus | ( | int | val | ) |
Initialised the bus lines two the binary bit equivalent of the integer argument.
| lcs::InOutBus< bits >::InOutBus | ( | const Bus< bits > & | b | ) |
| lcs::InOutBus< bits >::InOutBus | ( | const InOutBus< bits > & | b | ) |
Copy constructor.
| lcs::InOutBus< bits >::~InOutBus | ( | ) | [virtual] |
Destructor.
| const InOutBus<bits+1> lcs::InOutBus< bits >::operator, | ( | const Line & | line | ) | const [inline] |
The overloaded operator to join a data line to a bus to form a new composite bus. The line to be joined will have to be the right operand. The joined line takes the MSB location in the resulting lcs::Bus object.
| line | The right operand lcs::Line object. |
Reimplemented from lcs::Bus< bits >.
| const InOutBus<w+bits> lcs::InOutBus< bits >::operator, | ( | const InOutBus< w > & | bus | ) | const [inline] |
The overloaded operator to join data lines from two busses and form a new composite bus. 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 lcs::Bus object. |
| void lcs::InOutBus< bits >::operator= | ( | const DelayStatePair & | dsp | ) | [inline] |
Assignment operator for assignment with a delay-state pair. An example of usage of this overloaded assignment operator is as follows:
lcs::Bus<3> b1;
b1 = (5, lcs::HIGH);
In the second line of the above code snippet, an assignment is being made to the lcs::Bus object on the LHS with a delay-state pair in the RHS. The value of delay used here is 5 system time units. Note the use of the neccessary parentheses enclosing the delay-state pair.
Reimplemented from lcs::Bus< bits >.
| void lcs::InOutBus< bits >::operator= | ( | const DelayExprPair< w, Type, LExprType, RExprType > & | dep | ) | [inline] |
Assignment operator for assignment with a delay-expression pair. An example of usage of this overloaded assignment operator is as follows:
lcs::Bus<3> b1(0), b2(5), b3(7);
b1 = (5, b2 ^ b3);
In the second line of the above code snippet, an assignment is being made to the lcs::Bus object on the LHS with a delay-expression pair in the RHS. The value of delay used here is 5 system time units. Note the use of the neccessary parentheses enclosing the delay-expression pair.
Reimplemented from lcs::Bus< bits >.
| void lcs::InOutBus< bits >::operator= | ( | const Expression< w, Type, LExprType, RExprType > & | expr | ) | [inline] |
Assignment operator to facilitate assignment using an lcs::Expression object. ie., the operator facilitates assignment with an expression of bitwise operations on the right hand side of the assignment operator.
Reimplemented from lcs::Bus< bits >.
| void lcs::InOutBus< bits >::operator= | ( | const LineState & | l | ) | [inline] |
Assigns a desired linestate to all the lines of the bus.
Reimplemented from lcs::Bus< bits >.
| void lcs::InOutBus< bits >::operator= | ( | int | a | ) | [inline] |
Assigns the binary bit equivalent of an integer to the bus lines.
Reimplemented from lcs::Bus< bits >.
| InOutBus<1> lcs::InOutBus< bits >::operator[] | ( | unsigned int | i | ) | [inline] |
Overloaded operator which returns a suitable expression object corresponding to the line at index i. This is done so that bit-selects can be used in expressions of bitwise operations. An OutOfRangeException is thrown if the index value i is beyond the bus width.
Reimplemented from lcs::Bus< bits >.