FSMSADF::MPExploreBindingAware::TokenFIFO Class Reference

#include <mpexplore_binding_aware.h>

Collaboration diagram for FSMSADF::MPExploreBindingAware::TokenFIFO:

List of all members.

Public Member Functions

 TokenFIFO (uint sz)
MPTime removeFirstN (uint n)
void append (MPTime t, uint n=1)
TokenFIFOcopy ()
size_t hashValue () const
bool equals (const TokenFIFO *l) const
int compare (const TokenFIFO *l) const
Tokenfirst ()
MPTime getMax ()
void decreaseAll (MPDelay amount)
void smooth (TokenFIFO *l)
uint size () const
TokenFIFOminus (TokenFIFO *l) const
void add (double factor, TokenFIFO *l)
uint addToVector (MaxPlus::Vector *v, uint k) const

Private Attributes

vector< Tokentokens
uint begin
uint end

Detailed Description

class TokenFIFO A token fifo

Constructor & Destructor Documentation

FSMSADF::MPExploreBindingAware::TokenFIFO::TokenFIFO ( uint  sz  ) 

TokenFIFO() Constructor.

References begin, end, and tokens.

Referenced by copy().

Member Function Documentation

void FSMSADF::MPExploreBindingAware::TokenFIFO::add ( double  factor,
TokenFIFO m 

add() The function adds the token production times of the tokens in FIFO m to this fifo. These token production times are however scaled with the supplied factor.

Referenced by FSMSADF::MPExploreBindingAware::State::add().

uint FSMSADF::MPExploreBindingAware::TokenFIFO::addToVector ( MaxPlus::Vector v,
uint  k 
) const

addToVector() The function adds the token production times of all tokens which are stored in this fifo to the vector v. The first token production time is placed at position k in this vector. The function returns the position after which the last addition to vector v has taken place.

void FSMSADF::MPExploreBindingAware::TokenFIFO::append ( MPTime  t,
uint  n = 1 
) [inline]
int FSMSADF::MPExploreBindingAware::TokenFIFO::compare ( const TokenFIFO l  )  const

compare() impose a total ordering on FIFOs

References begin, end, MaxPlus::MP_EPSILON, MaxPlus::MP_ISMINUSINFINITY(), and tokens.

Here is the call graph for this function:

TokenFIFO * FSMSADF::MPExploreBindingAware::TokenFIFO::copy (  ) 

copy() The function returns a copy of the FIFO.

References TokenFIFO().

Here is the call graph for this function:

void FSMSADF::MPExploreBindingAware::TokenFIFO::decreaseAll ( MPDelay  amount  ) 

decreaseAll() The function decreases the production time of all tokens in the FIFO by the specified amount.

bool FSMSADF::MPExploreBindingAware::TokenFIFO::equals ( const TokenFIFO l  )  const

equals() The function returns true when two FIFO are identical (i.e. same size and same content).

Token * FSMSADF::MPExploreBindingAware::TokenFIFO::first (  ) 

first() The function returns a pointer to the first token in the FIFO.

References begin, and tokens.

MPTime FSMSADF::MPExploreBindingAware::TokenFIFO::getMax (  ) 

getMax() The function returns the largest production time of the tokens in the FIFO.

size_t FSMSADF::MPExploreBindingAware::TokenFIFO::hashValue (  )  const

hashValue() The function returns a hash value for the FIFO.

References begin, end, and tokens.

TokenFIFO * FSMSADF::MPExploreBindingAware::TokenFIFO::minus ( TokenFIFO m  )  const

minus() The function returns a pointer to a new FIFO which is a copy of the tokens in this FIFO, but with their production times lowered by the amount specified in the FIFO m.

Referenced by FSMSADF::MPExploreBindingAware::State::minus().

MPTime FSMSADF::MPExploreBindingAware::TokenFIFO::removeFirstN ( uint  n  )  [inline]
uint FSMSADF::MPExploreBindingAware::TokenFIFO::size (  )  const

size() The function returns the number of tokens in the FIFO.

References begin, end, and tokens.

void FSMSADF::MPExploreBindingAware::TokenFIFO::smooth ( TokenFIFO l  ) 

smooth() Average the production time of the tokens in this fifo with the production times in the fifo l.

Member Data Documentation

The documentation for this class was generated from the following files: