Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

lpackage.hpp

Go to the documentation of this file.
00001 // +-------------------------------------------------------------------------+
00002 // |               I__n__t__e__L__i__b           0.6.10 development          |
00003 // | Copyright (c) Andrey Vikt. Stolyarov <crocodil_AT_croco.net> 2000-2007. |
00004 // |                                                                         |
00005 // | This is free software. The library part is available under              |
00006 // |                               GNU LESSER GENERAL PUBLIC LICENSE v.2.1.  |
00007 // | GNU LGPL v2.1 is found in docs/gnu_gpl2.txt,  or at  http://www.gnu.org |
00008 // |     Please see also docs/readme.txt and visit http://www.intelib.org    |
00009 // |                                                                         |
00010 // | !!! THERE IS NO WARRANTY OF ANY KIND, NEITHER EXPRESSED NOR IMPLIED !!! |
00011 // +-------------------------------------------------------------------------+
00012 
00013 
00014 
00015 
00022 #ifndef INTELIB_LPACKAGE_HPP_SENTRY
00023 #define INTELIB_LPACKAGE_HPP_SENTRY
00024 
00025 #include "../sexpress/iexcept.hpp"
00026 #include "../sexpress/sexpress.hpp"
00027 #include "../sexpress/gensref.hpp"
00028 #include "../tools/spkghsh.hpp"
00029 #include "../tools/sreader.hpp"
00030 #include "lisp.hpp"
00031 
00032 class LExpressionPackage;
00033 
00035 typedef GenericSReference<LExpressionPackage, IntelibX_not_a_package> 
00036 LPackage;
00037 
00038 
00040 
00046 class LExpressionPackage : public SExpressionHashPackage
00047 {
00048 public:
00050     static IntelibTypeId TypeId;
00051 
00053     LExpressionPackage();
00055     LExpressionPackage(const LPackage& a_parent);
00056 
00057 protected:
00058     ~LExpressionPackage();
00059 
00060     // please note TextRepresentation() needn't to be reimplemented
00061 private:
00062     virtual SReference CreateNewSymbolObject(const char *name) const;
00063 };
00064 
00065 
00067 
00070 class LExpressionPackageIntelib : public LExpressionPackage {
00071 public:
00073     LExpressionPackageIntelib();
00074 protected:
00075     ~LExpressionPackageIntelib() {}
00076 };
00077 
00078 #endif        // sentry

Generated on Tue Dec 18 00:39:44 2007 for InteLib by  doxygen 1.4.1