1 // string-dump.h -- Abstract base class for dumping strings.    -*- C++ -*-
2 
3 // Copyright 2011 The Go Authors. All rights reserved.
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file.
6 
7 #ifndef GO_STRING_DUMP_H
8 #define GO_STRING_DUMP_H
9 
10 // This abstract class provides an interface strings for whatever purpose.
11 // Used for example for exporting and dumping objects.
12 
13 class String_dump
14 {
15  public:
16   // Write a string. Implements the String_dump interface.
17   virtual void
18   write_string(const std::string& s) = 0;
19 
20   // Implementors should override this member, to dump a formatted c string.
21   virtual void
22   write_c_string(const char*) = 0;
23 };
24 
25 #endif  // GO_STRING_DUMP_H
26