Point.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                                                                      |
00003 |                      __   __    ____ _____ ____                      |
00004 |                      \ \ / /_ _/ ___|_   _|___ \                     |
00005 |                       \ V / _` \___ \ | |   __) |                    |
00006 |                        | | (_| |___) || |  / __/                     |
00007 |                        |_|\__,_|____/ |_| |_____|                    |
00008 |                                                                      |
00009 |                               core system                            |
00010 |                                       Copyright 2003, SuSE Linux AG  |
00011 \----------------------------------------------------------------------/
00012 
00013    File:        Point.h
00014 
00015    Author:      Klaus Kaempf <kkaempf@suse.de>
00016    Maintainer:  Klaus Kaempf <kkaempf@suse.de>
00017 /-*/
00018 // -*- c++ -*-
00019 
00020 #ifndef Point_h
00021 #define Point_h
00022 
00023 #include <string>
00024 using std::string;
00025 
00026 // MemUsage.h defines/undefines D_MEMUSAGE
00027 #include <y2util/MemUsage.h>
00028 #include "y2/SymbolEntry.h"
00029 
00030 class bytecodeistream;
00031 
00059 class Point
00060 #ifdef D_MEMUSAGE
00061    : public MemUsage
00062 #endif
00063 {
00064   private:
00065     SymbolEntryPtr m_entry;             // filename as SymbolEntry (c_filename)
00066     int m_line;                         // line of definition / inclusion
00067     const Point *m_point;               // points to toplevel point for include files
00068   public:
00069     size_t mem_size () const { return sizeof (Point); }
00070     Point (std::string filename, int line = 0, const Point *point = 0);
00071     Point (SymbolEntryPtr sentry, int line = 0, const Point *point = 0);
00072     Point (bytecodeistream & str);
00073     ~Point (void);
00074 
00075     SymbolEntryPtr sentry (void) const;
00076     std::string filename (void) const;
00077     int line (void) const;
00078     const Point *point (void) const;
00079 
00080     std::string toString (void) const;
00081     std::ostream & toStream (std::ostream & str) const;
00082 };
00083 #endif // Point_h

Generated on Tue Nov 6 01:20:21 2007 for yast2-core by  doxygen 1.5.0