quaere.h
Go to the documentation of this file.
00001 // File: $Id$
00002 // Author: John Wu <John.Wu at ACM.org>
00003 // Copyright 2010-2011 the Regents of the University of California
00004 #ifndef IBIS_QUAERE_H
00005 #define IBIS_QUAERE_H
00006 
00013 #include "part.h"       // ibis::part
00014 
00015 namespace ibis {
00016     class quaere;       // forward definition
00017 } // namespace ibis
00018 
00035 class FASTBIT_CXX_DLLSPEC ibis::quaere {
00036 public:
00037     static quaere* create(const char* sel, const char* from, const char* where);
00039     static quaere* create(const ibis::part* partr, const ibis::part* parts,
00040                           const char* colname, const char* condr = 0,
00041                           const char* conds = 0, const char* sel = 0);
00042 
00046     virtual void roughCount(uint64_t& nmin, uint64_t& nmax) const = 0;
00050     virtual int64_t count() const = 0;
00051 
00053     virtual table* select() const = 0;
00065     virtual ibis::table* select(const ibis::table::stringList& colnames) const = 0;
00066 
00067     virtual ~quaere() {};
00068 
00069 protected:
00070     quaere() {} //< Default constructor.  Only used by derived classes.
00071 
00072 private:
00073     quaere(const quaere&); // no copying
00074     quaere& operator=(const quaere&); // no assignment
00075 }; // class ibis::quaere
00076 #endif

Make It A Bit Faster
Contact us
Disclaimers
FastBit source code
FastBit mailing list archive