- A Logic Circuit Simulation Library in C++ |
#include <expression.h>
lcs::Bus
and InputBus
objects. A user of libLCS will never need to use this class explicitly. Implicitly, this class is used everytime a continuous assignment is requested using the function lcs::Bus::cass
.
Public Member Functions | |
Expression (const LExprType &le, const RExprType &re) | |
Expression (const Expression< bits, Type, LExprType, RExprType > &e) | |
const LineState | operator[] (int index) const throw (OutOfRangeException<int>) |
int | width () const |
void | notify (Module *mod) |
lcs::Expression< bits, Type, LExprType, RExprType >::Expression | ( | const LExprType & | le, | |
const RExprType & | re | |||
) |
The only usefull constructor. Default constructor is practically useless.
lcs::Expression< bits, Type, LExprType, RExprType >::Expression | ( | const Expression< bits, Type, LExprType, RExprType > & | e | ) |
Copy constructor.
void lcs::Expression< bits, Type, LExprType, RExprType >::notify | ( | Module * | mod | ) | [inline] |
This function can be used by a lcs::Module
derivative to be notified of line state changes in the busses used in the expression.
const LineState lcs::Expression< bits, Type, LExprType, RExprType >::operator[] | ( | int | index | ) | const throw (OutOfRangeException<int>) |
Returns the bit state (which is a result of the operation performed by the expression) at the index specified.
int lcs::Expression< bits, Type, LExprType, RExprType >::width | ( | ) | const [inline] |
Returns the width for which an lcs::Expression
object is valid.