ns3::rapidnet::Aggregator Class Reference
[RapidNet Library]

An base class for all database aggregate operations. More...

#include <aggregator.h>

Inheritance diagram for ns3::rapidnet::Aggregator:

Inheritance graph
[legend]
Collaboration diagram for ns3::rapidnet::Aggregator:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void Init (string name, Ptr< RapidNetApplicationBase > app, list< attrdeftype > allAttrs, uint32_t aggrPos)
 Initializes the aggregate implementation object.
virtual void Insert (Ptr< Tuple > tuple)
 Inserts a tuple into the aggregate.
virtual void Delete (Ptr< Tuple > tuple)
 Deletes a tuple from the aggregate.

Protected Member Functions

virtual bool Compare (Ptr< Tuple > tuple1, Ptr< Tuple > tuple2)=0
 Comparison of tuples to be implemented by sub-classes.

Protected Attributes

Ptr< Relationm_aggrResults
 Relation with the aggregated results.
Ptr< Relationm_tempReln
 Temporary relation that contains all tuples.


Detailed Description

An base class for all database aggregate operations.

Member Function Documentation

virtual void ns3::rapidnet::Aggregator::Init ( string  name,
Ptr< RapidNetApplicationBase app,
list< attrdeftype >  allAttrs,
uint32_t  aggrPos 
) [virtual]

Initializes the aggregate implementation object.

It creates an internal table with all tuples and a results table with the aggregated results. It sets the all attributes for the internal table and also specifies the position number of the attribute over which the aggregate is defined. The attributes before this in position are used to define the group (as in the GROUP BY command in SQL)


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

Generated on Fri Apr 9 15:01:11 2010 for NS-3 by  doxygen 1.5.8