Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

QueryablePool.h

00001 // See the file LICENSE in the some directory as this file for legal
00002 // notices about this software.
00003 #ifndef DEV_W3_ORG__2001_BLINDFOLD_SRC_QUERYABLEPOOL_H
00004 #define DEV_W3_ORG__2001_BLINDFOLD_SRC_QUERYABLEPOOL_H
00005 // $Id: QueryablePool_8h-source.html,v 1.2 2001/10/10 20:40:58 sandro Exp $
00006 #include "config.h"
00007 #include "Pool.h"
00008 class Query;
00009 class TripleSource;
00010 
00018 class QueryablePool : public Pool {
00019       
00020 public:
00021 
00022     // STANDARD MEMBER FUNCTIONS
00023     QueryablePool();
00024     QueryablePool(const QueryablePool& other);
00025     const QueryablePool& operator=(const QueryablePool& other);
00026     bool operator==(const QueryablePool& other) const;
00027     bool operator<(const QueryablePool& other) const;
00028     size_t hash() const;
00029     friend std::ostream& operator<<(std::ostream& s, const QueryablePool& me);
00030     //std::ostream& print_to(std::ostream& stream) const;   
00031     ~QueryablePool();       
00032 
00033     // (RE)IMPLEMENTATION OF INHERITED MEMBERS
00034 
00035     // CLASS-SPECIFIC PUBLIC INTERFACE
00036 
00059     virtual Query* query(const TripleSource& pattern) = 0;
00060 
00061     // these can now be implemented genericaly...
00062 
00063     TripleSource* unionWith(const TripleSource& other);
00064     TripleSource* intersect(const TripleSource& other, int max=-1);
00065     TripleSource* diff(const TripleSource& other, int max=-1);
00066 
00067 };     
00068 
00069 STANDARD_EXTERNAL(QueryablePool)
00070 
00071 #endif  /* DEV_W3_ORG__2001_BLINDFOLD_SRC_QUERYABLEPOOL_H */   // -*-C++-*-

Home to blindfold. This page generated via doxygen 1.2.11.1 Wed Oct 10 16:40:33 2001.