Synopsis - Synopsis/TypeAnalysis/Visitor.hh

File: Synopsis/TypeAnalysis/Visitor.hh

     1//
     2// Copyright (C) 2005 Stefan Seefeld
     3// All rights reserved.
     4// Licensed to the public under the terms of the GNU LGPL (>= 2),
     5// see the file COPYING for details.
     6//
     7#ifndef Synopsis_TypeAnalysis_Visitor_hh_
     8#define Synopsis_TypeAnalysis_Visitor_hh_
     9
    10namespace Synopsis
    11{
    12namespace TypeAnalysis
    13{
    14
    15class Type;
    16class BuiltinType;
    17class Enum;
    18class Class;
    19class Union;
    20class CVType;
    21class Pointer;
    22class Reference;
    23class Array;
    24class Function;
    25class PointerToMember;
    26
    27class Visitor
    28{
    29public:
    30  virtual ~Visitor() {}
    31  // FIXME: may these use const arguments ?
    32  virtual void visit(Type *) = 0;
    33  virtual void visit(BuiltinType *) = 0;
    34  virtual void visit(Enum *) = 0;
    35  virtual void visit(Class *) = 0;
    36  virtual void visit(Union *) = 0;
    37
    38  virtual void visit(CVType *) = 0;
    39  virtual void visit(Pointer *) = 0;
    40  virtual void visit(Reference *) = 0;
    41  virtual void visit(Array *) = 0;
    42  virtual void visit(Function *) = 0;
    43  virtual void visit(PointerToMember *) = 0;
    44};
    45
    46}
    47}
    48
    49#endif

Generated on Thu Apr 16 16:28:04 2009 by
synopsis (version devel)