Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members

FXUTF16Codec.h
1 /********************************************************************************
2 * *
3 * U T F - 1 6 T e x t C o d e c *
4 * *
5 *********************************************************************************
6 * Copyright (C) 2002,2022 by L.Johnson & J.van der Zijp. All Rights Reserved. *
7 *********************************************************************************
8 * This library is free software; you can redistribute it and/or modify *
9 * it under the terms of the GNU Lesser General Public License as published by *
10 * the Free Software Foundation; either version 3 of the License, or *
11 * (at your option) any later version. *
12 * *
13 * This library is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
16 * GNU Lesser General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU Lesser General Public License *
19 * along with this program. If not, see <http://www.gnu.org/licenses/> *
20 ********************************************************************************/
21 #ifndef FXUTF16CODEC_H
22 #define FXUTF16CODEC_H
23 
24 #ifndef FXTEXTCODEC_H
25 #include "FXTextCodec.h"
26 #endif
27 
28 namespace FX {
29 
31 class FXAPI FXUTF16BECodec : public FXTextCodec {
32  FXDECLARE(FXUTF16BECodec)
33 public:
34  FXUTF16BECodec(){}
35  virtual FXint mb2wc(FXwchar& wc,const FXchar* src,FXint nsrc) const;
36  virtual FXint wc2mb(FXchar* dst,FXint ndst,FXwchar wc) const;
37  virtual const FXchar* name() const;
38  virtual const FXchar* mimeName() const;
39  virtual FXint mibEnum() const;
40  virtual const FXchar* const* aliases() const;
41  virtual ~FXUTF16BECodec(){}
42  };
43 
44 
46 class FXAPI FXUTF16LECodec : public FXTextCodec {
47  FXDECLARE(FXUTF16LECodec)
48 public:
49  FXUTF16LECodec(){}
50  virtual FXint mb2wc(FXwchar& wc,const FXchar* src,FXint nsrc) const;
51  virtual FXint wc2mb(FXchar* dst,FXint ndst,FXwchar wc) const;
52  virtual const FXchar* name() const;
53  virtual const FXchar* mimeName() const;
54  virtual FXint mibEnum() const;
55  virtual const FXchar* const* aliases() const;
56  virtual ~FXUTF16LECodec(){}
57  };
58 
59 
61 class FXAPI FXUTF16Codec : public FXTextCodec {
62  FXDECLARE(FXUTF16Codec)
63 public:
64  FXUTF16Codec(){}
65  virtual FXint mb2wc(FXwchar& wc,const FXchar* src,FXint nsrc) const;
66  virtual FXint mb2utflen(const FXchar* src,FXint nsrc) const;
67  virtual FXint mb2utf(FXchar* dst,FXint ndst,const FXchar* src,FXint nsrc) const;
68  virtual FXint wc2mb(FXchar* dst,FXint ndst,FXwchar wc) const;
69  virtual FXint utf2mblen(const FXchar* src,FXint nsrc) const;
70  virtual FXint utf2mb(FXchar* dst,FXint ndst,const FXchar* src,FXint nsrc) const;
71  virtual const FXchar* name() const;
72  virtual const FXchar* mimeName() const;
73  virtual FXint mibEnum() const;
74  virtual const FXchar* const* aliases() const;
75  virtual ~FXUTF16Codec(){}
76  };
77 
78 }
79 
80 #endif
81 
Abstract base class for a stateless coder/decoder.
Definition: FXTextCodec.h:34
Codec for UTF-16.
Definition: FXUTF16Codec.h:61
Definition: FX4Splitter.h:28
Codec for UTF-16BE.
Definition: FXUTF16Codec.h:31
Codec for UTF-16LE.
Definition: FXUTF16Codec.h:46

Copyright © 1997-2022 Jeroen van der Zijp