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