VTK  9.2.6
vtkTextCodec.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkTextCodec.h
5 
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
37 #ifndef vtkTextCodec_h
38 #define vtkTextCodec_h
39 
40 #include "vtkIOCoreModule.h" // For export macro
41 #include "vtkObject.h"
42 
43 class VTKIOCORE_EXPORT vtkTextCodec : public vtkObject
44 {
45 public:
46  vtkTypeMacro(vtkTextCodec, vtkObject);
47 
49 
53  virtual const char* Name();
54  void PrintSelf(ostream& os, vtkIndent indent) override;
56 
57  virtual bool CanHandle(const char* NameString);
58 
62  virtual bool IsValid(istream& InputStream);
63 
65 
72  {
73  public:
74  virtual OutputIterator& operator++(int) { return *this; }
75  virtual OutputIterator& operator*() { return *this; }
76  virtual OutputIterator& operator=(const vtkTypeUInt32& value) = 0;
77 
78  OutputIterator() = default;
79  virtual ~OutputIterator() = default;
80 
81  private:
82  OutputIterator(const OutputIterator&) = delete;
83  OutputIterator& operator=(const OutputIterator&) = delete;
84  };
86 
92  virtual void ToUnicode(istream& inputStream, vtkTextCodec::OutputIterator& output);
93 
98  std::string ToString(istream& inputStream);
99 
105  virtual vtkTypeUInt32 NextUTF32CodePoint(istream& inputStream) = 0;
106 
107 protected:
108  vtkTextCodec();
109  ~vtkTextCodec() override;
110 
111 private:
112  vtkTextCodec(const vtkTextCodec&) = delete;
113  void operator=(const vtkTextCodec&) = delete;
114 };
115 
116 #endif
a base class that any output iterators need to derive from to use the first signature of to_unicode...
Definition: vtkTextCodec.h:71
abstract base class for most VTK objects
Definition: vtkObject.h:62
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Virtual class to act as an interface for all text codecs.
Definition: vtkTextCodec.h:43
virtual OutputIterator & operator*()
Definition: vtkTextCodec.h:75
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual OutputIterator & operator++(int)
Definition: vtkTextCodec.h:74