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

SimpleCopier.hpp

Go to the documentation of this file.
00001 
00002 //
00003 // SimpleCopier
00004 //
00005 // 24 September 2004 -- tds
00006 //
00007 // SimpleCopier just makes a copy of a query tree and stores it.
00008 // This is useful for keeping a copy of a query tree around.
00009 //
00010 
00011 #ifndef INDRI_SIMPLECOPIER_HPP
00012 #define INDRI_SIMPLECOPIER_HPP
00013 
00014 #include "Copier.hpp"
00015 
00016 class SimpleCopier : public indri::lang::Copier {
00017 private:
00018   std::vector<indri::lang::Node*> _nodes;
00019 
00020 public:
00021   ~SimpleCopier() {
00022     delete_vector_contents( _nodes );
00023   }
00024 
00025   indri::lang::Node* defaultAfter( indri::lang::Node* oldNode, indri::lang::Node* newNode ) {
00026     _nodes.push_back(newNode);
00027     return newNode;
00028   }
00029 
00030   indri::lang::Node* root() {
00031     if( _nodes.size() )
00032       return _nodes.back();
00033     return 0;
00034   }
00035 };
00036 
00037 #endif // INDRI_SIMPLECOPIER_HPP

Generated on Wed Nov 3 12:59:03 2004 for Lemur Toolkit by doxygen1.2.18