~ubuntu-branches/ubuntu/feisty/clamav/feisty

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/utils/TableGen/TableGenBackend.h

  • Committer: Bazaar Package Importer
  • Author(s): Kees Cook
  • Date: 2007-02-20 10:33:44 UTC
  • mto: This revision was merged to the branch mainline in revision 16.
  • Revision ID: james.westby@ubuntu.com-20070220103344-zgcu2psnx9d98fpa
Tags: upstream-0.90
ImportĀ upstreamĀ versionĀ 0.90

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//===- TableGenBackend.h - Base class for TableGen Backends -----*- C++ -*-===//
2
 
//
3
 
//                     The LLVM Compiler Infrastructure
4
 
//
5
 
// This file is distributed under the University of Illinois Open Source
6
 
// License. See LICENSE.TXT for details.
7
 
//
8
 
//===----------------------------------------------------------------------===//
9
 
//
10
 
// The TableGenBackend class is provided as a common interface for all TableGen
11
 
// backends.  It provides useful services and an standardized interface.
12
 
//
13
 
//===----------------------------------------------------------------------===//
14
 
 
15
 
#ifndef TABLEGENBACKEND_H
16
 
#define TABLEGENBACKEND_H
17
 
 
18
 
#include "llvm/Support/raw_ostream.h"
19
 
#include <string>
20
 
 
21
 
namespace llvm {
22
 
 
23
 
class Record;
24
 
class RecordKeeper;
25
 
 
26
 
struct TableGenBackend {
27
 
  virtual ~TableGenBackend() {}
28
 
 
29
 
  // run - All TableGen backends should implement the run method, which should
30
 
  // be the main entry point.
31
 
  virtual void run(raw_ostream &OS) = 0;
32
 
 
33
 
 
34
 
public:   // Useful helper routines...
35
 
  /// EmitSourceFileHeader - Output a LLVM style file header to the specified
36
 
  /// ostream.
37
 
  void EmitSourceFileHeader(const std::string &Desc, raw_ostream &OS) const;
38
 
 
39
 
};
40
 
 
41
 
} // End llvm namespace
42
 
 
43
 
#endif