VTK
vtkUTF8TextCodec.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Visualization Toolkit
4 Module: vtkUTF8TextCodec.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 vtkUTF8TextCodec_h
38 #define vtkUTF8TextCodec_h
39 
40 #include "vtkIOCoreModule.h" // For export macro
41 #include "vtkTextCodec.h"
42 
43 
44 class VTKIOCORE_EXPORT vtkUTF8TextCodec : public vtkTextCodec
45 {
46 public:
48  static vtkUTF8TextCodec* New() ;
49  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
54  const char* Name() override {return "UTF-8" ;}
55  bool CanHandle(const char* testStr) override;
56 
60  bool IsValid(istream& InputStream) override ;
61 
67  void ToUnicode(istream& InputStream,
68  vtkTextCodec::OutputIterator& output) override ;
69 
74  vtkUnicodeString::value_type NextUnicode(istream& inputStream) override ;
75 
76 protected:
78  ~vtkUTF8TextCodec() override;
79 
80 private:
81  vtkUTF8TextCodec(const vtkUTF8TextCodec &) = delete;
82  void operator=(const vtkUTF8TextCodec &) = delete;
83 
84 };
85 
86 
87 #endif
a base class that any output iterators need to derive from to use the first signature of to_unicode...
Definition: vtkTextCodec.h:72
void PrintSelf(ostream &os, vtkIndent indent) override
The name this codec goes by - should match the string the factory will take to create it...
virtual bool CanHandle(const char *NameString)
virtual vtkUnicodeString::value_type NextUnicode(istream &inputStream)=0
Return the next code point from the sequence represented by the stream advancing the stream through h...
vtkUnicodeStringValueType value_type
Virtual class to act as an interface for all text codecs.
Definition: vtkTextCodec.h:44
const char * Name() override
The name this codec goes by - should match the string the factory will take to create it...
a simple class to control print indentation
Definition: vtkIndent.h:39
virtual void ToUnicode(istream &InputStream, vtkTextCodec::OutputIterator &output)=0
Iterate through the sequence represented by the stream assigning the result to the output iterator...
Class to read/write UTF-8 text.
virtual bool IsValid(istream &InputStream)
is the given sample valid for this codec? The stream will not be advanced.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...