aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/go/gofrontend/string-dump.h
blob: fe4807d16201eaa99df5834d53564a9ffe7fa967 (plain)
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
// string-dump.h -- Abstract base class for dumping strings.    -*- C++ -*-

// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

#ifndef GO_STRING_DUMP_H
#define GO_STRING_DUMP_H

// This abstract class provides an interface strings for whatever purpose.
// Used for example for exporting and dumping objects.

class String_dump 
{
 public:
  // Write a string. Implements the String_dump interface.
  virtual void
  write_string(const std::string& s) = 0;

  // Implementors should override this member, to dump a formatted c string.
  virtual void
  write_c_string(const char*) = 0;
};

#endif  // GO_STRING_DUMP_H