Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

SketchPoolRoot.h

Go to the documentation of this file.
00001 //-*-c++-*-
00002 #ifndef INCLUDED_SketchPoolRoot_h
00003 #define INCLUDED_SketchPoolRoot_h
00004 
00005 namespace DualCoding {
00006 
00007 class SketchSpace;
00008 
00009 //! Non-templated parent class of SketchPool<T>.
00010 /*! SketchPoolRoot is the non-templated parent class of SketchPool<T>.
00011     It is needed in order to reference components of SketchSpace.  We
00012     can't \#include SketchSpace.h from SketchPool.h because of circular
00013    dependencies, but we can safely include it from SketchPoolRoot.cc. */
00014 
00015 class SketchPoolRoot {
00016 protected:
00017   SketchSpace *space;
00018   std::string name;
00019   
00020   int getRefreshCounter() const;
00021 
00022  public:
00023 
00024   SketchPoolRoot(SketchSpace* _space, const std::string& _name) : space(_space), name(_name) {}
00025 
00026   const std::string& getName() const { return name; }
00027   const std::string& getSpaceName() const;
00028   
00029   virtual ~SketchPoolRoot()=0; //!< used as a base class, but never directly instantiated, so has a virtual abstract destructor
00030 
00031   SketchPoolRoot(const SketchPoolRoot&);  //!< never call
00032 
00033   SketchPoolRoot& operator=(const SketchPoolRoot&); //!< never call
00034 
00035 };
00036 
00037 } // namespace
00038 
00039 #endif

DualCoding 5.1CVS
Generated Mon May 9 04:56:28 2016 by Doxygen 1.6.3