Siena Fast Forwarding documentation (v. 1.0.0)

Main Page   Class Hierarchy   Compound List   File List   Compound Members   Examples  

SimpleCProcessor Class Reference

Inheritance diagram for SimpleCProcessor:

CProcessor List of all members.

Public Methods

 SimpleCProcessor (unsigned int ifcount, IProcessor &p, bitvector *v)
virtual bool process_constraint (const Constraint *)

Private Attributes

map< const Filter *, unsigned
short > 
fmap
bitvectorif_mask
IProcessorprocessor
const unsigned int target

Detailed Description

this constraint processor represents the main "iterator" of the matching function


Constructor & Destructor Documentation

SimpleCProcessor::SimpleCProcessor unsigned int    ifcount,
IProcessor   p,
bitvector   v
[inline]
 

initializes the constraint processor *


Member Function Documentation

bool SimpleCProcessor::process_constraint const Constraint   [virtual]
 

method called by the matching function for every matched constraint.

This method implements a fundamental part of the matching function.

Implements CProcessor.


Member Data Documentation

map<const Filter *, unsigned short> SimpleCProcessor::fmap [private]
 

table of counters for partially-matched filters.

Each filter considered in the matching process has an associated counter that records the number of constraints matched so far for that filter

bitvector* SimpleCProcessor::if_mask [private]
 

set of interfaces that can be ignored in the matching process.

An interface can be ignored by the matching process if it has already been matched and processed or if it was excluded by the pre-processing function.

IProcessor& SimpleCProcessor::processor [private]
 

output processor

const unsigned int SimpleCProcessor::target [private]
 

total number of interfaces we can match.

we maintain this value so that we can stop the matching process immediately once we have matched all interfaces.


The documentation for this class was generated from the following file:
Copyright © 2001-2002 University of Colorado.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". This documentation is authored and maintained by Antonio Carzaniga