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

TripleAdder.h

00001 // See the file LICENSE in the some directory as this file for legal
00002 // notices about this software.   
00003 // $Id: TripleAdder_8h-source.html,v 1.9 2001/10/10 20:40:58 sandro Exp $
00004 #ifndef DEV_W3_ORG__2001_BLINDFOLD_SRC_TRIPLEADDER_H
00005 #define DEV_W3_ORG__2001_BLINDFOLD_SRC_TRIPLEADDER_H
00006 #include "config.h"
00007 
00008 #include "TripleSink.h"
00009 class VariableScope;
00010 
00014 class TripleAdder {
00015       
00016 public:
00017 
00018     // STANDARD MEMBER FUNCTIONS
00019     TripleAdder();
00020     TripleAdder(const TripleAdder& other);
00021     const TripleAdder& operator=(const TripleAdder& other);
00022     bool operator==(const TripleAdder& other) const;
00023     bool operator<(const TripleAdder& other) const;
00024     size_t hash() const;
00025     friend std::ostream& operator<<(std::ostream& s, const TripleAdder& me);
00026     std::ostream& print_to(std::ostream& stream) const; 
00027     virtual ~TripleAdder();       
00028 
00029     // CLASS-SPECIFIC PUBLIC INTERFACE
00030 
00034     TripleAdder(TripleSink* sink, VariableScope* scope=0)  
00035     { 
00036         this->sink = sink; 
00037         if (!scope) {
00038         scopeForSink=sink->getScope();
00039         } else {
00040         scopeForSink=scope;
00041         }
00042     }
00043 
00044 
00054     virtual void setSink(TripleSink* sink, VariableScope* scope=0)  
00055     { 
00056         this->sink = sink; 
00057         if (!scope) {
00058         scopeForSink=sink->getScope();
00059         } else {
00060         scopeForSink=scope;
00061         }
00062     }
00063 
00067     virtual TripleSink* getSink()           { return sink; }
00068 
00069 protected:
00070     TripleSink* sink;
00071     VariableScope* scopeForSink;
00072 
00073 private:
00074 
00075 
00076 
00077 };     
00078 
00079 
00080 STANDARD_EXTERNAL(TripleAdder)
00081 
00082 #endif   /* TRIPLEADDER */  // -*-C++-*-

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