1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
#ifndef guard_opencxx_ptree_PtreeDeclarator_h
#define guard_opencxx_ptree_PtreeDeclarator_h
//@beginlicenses@
//@license{chiba_tokyo}{}@
//@license{contributors}{}@
//
// Permission to use, copy, distribute and modify this software and its
// documentation for any purpose is hereby granted without fee, provided that
// the above copyright notice appears in all copies and that both that copyright
// notice and this permission notice appear in supporting documentation.
//
// 1997-2001 Shigeru Chiba, Tokyo Institute of Technology. make(s) no representations about the suitability of this
// software for any purpose. It is provided "as is" without express or implied
// warranty.
//
// Copyright (C) 1997-2001 Shigeru Chiba, Tokyo Institute of Technology.
//
// -----------------------------------------------------------------
//
// Permission to use, copy, distribute and modify this software and its
// documentation for any purpose is hereby granted without fee, provided that
// the above copyright notice appears in all copies and that both that copyright
// notice and this permission notice appear in supporting documentation.
//
// Other Contributors (see file AUTHORS) make(s) no representations about the suitability of this
// software for any purpose. It is provided "as is" without express or implied
// warranty.
//
// Copyright (C) Other Contributors (see file AUTHORS)
//
//@endlicenses@
#include <iosfwd>
#include <opencxx/parser/NonLeaf.h>
namespace Opencxx
{
class Ptree;
class Encoding;
class PtreeDeclarator : public NonLeaf {
public:
PtreeDeclarator(Ptree* list, char* typeEnc,
char* nameEnc, Ptree* declaredName);
PtreeDeclarator(char*, char*, Ptree*);
PtreeDeclarator(Ptree*, Ptree*, char*, char*, Ptree*);
PtreeDeclarator(Ptree*, char*);
PtreeDeclarator(char* encType);
PtreeDeclarator(PtreeDeclarator*, Ptree*, Ptree*);
int What();
char* GetEncodedType();
char* GetEncodedName();
Ptree* Name() { return declared_name; }
void Print(std::ostream&, int, int);
Ptree* GetComments() { return comments; }
void SetComments(Ptree* c) { comments = c; }
OPENCXX_DEPRECATED_PUBLIC:
PtreeDeclarator(Ptree* list, Encoding& typeEnc,
Encoding& nameEnc, Ptree* declaredName);
PtreeDeclarator(Encoding&, Encoding&, Ptree*);
PtreeDeclarator(Ptree*, Ptree*, Encoding&, Encoding&, Ptree*);
PtreeDeclarator(Ptree*, Encoding&);
PtreeDeclarator(Encoding& encType);
private:
char* type;
char* name;
Ptree* declared_name;
Ptree* comments;
};
}
#endif /* ! guard_opencxx_ptree_PtreeDeclarator_h */
|