ibis::compRange::barrel Class Reference

A barrel to hold a list of variables. More...

#include <qExpr.h>

Inheritance diagram for ibis::compRange::barrel:

ibis::index::barrel ibis::part::barrel ibis::part::vault

List of all members.

Public Member Functions

 barrel (const term *const t)
bool equivalent (const barrel &rhs) const
 Is the given barrel of variables equivalent to this one?
const char * name (uint32_t i) const
uint32_t recordVariable (const char *name)
 Record the specified name.
void recordVariable (const term *const t)
 Record the variable names appear in the term.
uint32_t size () const
double & value (uint32_t i)
const double & value (uint32_t i) const

Protected Types

typedef std::map< const char
*, uint32_t, ibis::lessi
termMap

Protected Member Functions

double getValue (const char *nm) const
 Return the value of the named variable.
double getValue (uint32_t i) const

Protected Attributes

std::vector< const char * > namelist
 List of variable names.
termMap varmap
 Associate a variable name with a position in varvalues and namelist.
std::vector< double > varvalues
 All values are casted to double.

Friends

class variable


Detailed Description

A barrel to hold a list of variables.

Member Function Documentation

bool ibis::compRange::barrel::equivalent ( const barrel rhs  )  const

Is the given barrel of variables equivalent to this one?

Return true if the two barrels contain the same set of variables, otherwise false.

References varmap.

Referenced by ibis::query::processJoin().

uint32_t ibis::compRange::barrel::recordVariable ( const char *  name  )  [inline]

Record the specified name.

Record a variable name and return its position in the list of variables in the barrel.

Return the variable number that is to be used later in functions name and value for retrieving the variable name and its value.

References namelist, varmap, and varvalues.

void ibis::compRange::barrel::recordVariable ( const term *const   t  ) 

Record the variable names appear in the term.

Record variables from a term recursively.

References ibis::qExpr::getLeft(), ibis::qExpr::getRight(), and ibis::compRange::term::termType().

Referenced by ibis::part::doScan(), ibis::part::evaluateJoin(), and ibis::query::processJoin().


Member Data Documentation

termMap ibis::compRange::barrel::varmap [protected]

Associate a variable name with a position in varvalues and namelist.

Referenced by equivalent(), getValue(), and recordVariable().


The documentation for this class was generated from the following files:
Make It A Bit Faster
Disclaimers
FastBit source code
FastBit mailing list archive
Maintainer of this page