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

slocatn.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 
00026 #ifndef INTELIB_SLOCATN_HPP_SENTRY
00027 #define INTELIB_SLOCATN_HPP_SENTRY
00028 
00029 #include "sexpress.hpp"
00030 #include "iexcept.hpp"
00031 
00033 
00040 class SExpressionLocation : public SExpression {
00041     SReference superstructure;
00042     SReference *location_pointer;
00043 public:
00045     static IntelibTypeId TypeId;
00046 
00048 
00055     SExpressionLocation(const SReference &superstruct, SReference *location); 
00056 
00057 protected:
00058     ~SExpressionLocation();
00059 
00060 public:
00062     void Assign(const SReference &value) const { *location_pointer = value; }
00063     
00064 #if INTELIB_TEXT_REPRESENTATIONS == 1
00065     virtual class SString TextRepresentation() const;
00066 #endif
00067 };    
00068 
00070 class IntelibX_not_a_location : public IntelibX {
00071 public:
00072     IntelibX_not_a_location(SReference a_param);
00073 };
00074 
00075 #endif  // sentry

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