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

FlatN3FilePool.h

00001 // See the file LICENSE in the some directory as this file for legal
00002 // notices about this software.   
00003 // $Id: FlatN3FilePool_8h-source.html,v 1.8 2001/10/10 20:40:58 sandro Exp $
00004 #ifndef DEV_W3_ORG__2001_BLINDFOLD_SRC_FLATN3FILEPOOL_H
00005 #define DEV_W3_ORG__2001_BLINDFOLD_SRC_FLATN3FILEPOOL_H
00006 #include "config.h"
00007 
00008 #include "Pool.h"
00009 #include "ReferenceCountedObject.h"
00010 // #include <cstdio>
00011 #include <string>
00012 #include <fstream>
00013 
00019 class NTriplesFilePool : public Pool {
00020       
00021 public:
00022 
00023     // STANDARD MEMBER FUNCTIONS
00027     NTriplesFilePool(char *filename);
00028     NTriplesFilePool(const NTriplesFilePool& other);
00029     const NTriplesFilePool& operator=(const NTriplesFilePool& other);
00030     bool operator==(const NTriplesFilePool& other) const;
00031     bool operator<(const NTriplesFilePool& other) const;
00032     size_t hash() const;
00033     friend std::ostream& operator<<(std::ostream& s, const NTriplesFilePool& me);
00034     std::ostream& print_to(std::ostream& stream) const; 
00035     ~NTriplesFilePool();       
00036 
00037     // CLASS-SPECIFIC PUBLIC INTERFACE
00038 
00039     void add(Symbol subject, Symbol predicate, Symbol object);
00040 
00041     Triple fetch(Triple simplePattern, LoopState &loopState, unsigned long max_results=0) const;
00042 
00043     void remove(Symbol, Symbol, Symbol);
00044 
00045     void replace(Symbol old, Symbol replacement);
00046 
00047 
00048 private:
00049 
00050     char *filename;
00051     fstream file;
00052 
00053 };     
00054 
00055 
00056 STANDARD_EXTERNAL(FlatN3FilePool)
00057 
00058 #endif   /* FLATN3FILEPOOL */  // -*-C++-*-

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