- A Logic Circuit Simulation Library in C++





lcs::Expression< bits, BITBUFF_EXPR, void, void > Class Template Reference

#include <expression.h>

List of all members.


Detailed Description

template<int bits>
class lcs::Expression< bits, BITBUFF_EXPR, void, void >

A class whose objects are created as temporary objects corresponding to an expression consisting of only an lcs::BitBuffer object. 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 Expression< bits, BITBUFF_EXPR, void, void > &e)
const LineState operator[] (int index) const throw (OutOfRangeException<int>)
template<int w, ExprType Type, typename LExprType, typename RExprType>
void operator= (const Expression< w, Type, LExprType, RExprType > &expr)
void operator= (const Expression< bits, BITBUFF_EXPR, void, void > &expr)
void operator= (const LineState &l)
int width (void) const
void notify (Module *mod)


Constructor & Destructor Documentation

template<int bits>
lcs::Expression< bits, BITBUFF_EXPR, void, void >::Expression ( const Expression< bits, BITBUFF_EXPR, void, void > &  e  ) 

Copy constructor.


Member Function Documentation

template<int bits>
void lcs::Expression< bits, BITBUFF_EXPR, void, void >::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.

template<int bits>
void lcs::Expression< bits, BITBUFF_EXPR, void, void >::operator= ( const LineState l  ) 

Assignment operator for assignment from with a lcs::LineState value.

template<int bits>
void lcs::Expression< bits, BITBUFF_EXPR, void, void >::operator= ( const Expression< bits, BITBUFF_EXPR, void, void > &  expr  ) 

Assignment operator for assignment with a similar expression.

template<int bits>
template<int w, ExprType Type, typename LExprType, typename RExprType>
void lcs::Expression< bits, BITBUFF_EXPR, void, void >::operator= ( const Expression< w, Type, LExprType, RExprType > &  expr  ) 

Assignment operator for assignment with an expression.

template<int bits>
const LineState lcs::Expression< bits, BITBUFF_EXPR, void, void >::operator[] ( int  index  )  const throw (OutOfRangeException<int>)

Returns the bit state (which is a result of the one's complement operation performed by the expression) at the index specified.

template<int bits>
int lcs::Expression< bits, BITBUFF_EXPR, void, void >::width ( void   )  const [inline]

Returns the width for which an lcs::Expression object is valid.


Copyright © 2006, 2007 Siva Chandra