Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
AutoUTF< CharType > Struct Template Reference

Dynamically select encoding according to stream's runtime-specified UTF encoding type. More...

#include <encodings.h>

Public Types

enum  { supportUnicode = 1 }
 
typedef CharType Ch
 

Static Public Member Functions

template<typename OutputStream >
static RAPIDJSON_FORCEINLINE void Encode (OutputStream &os, unsigned codepoint)
 
template<typename OutputStream >
static RAPIDJSON_FORCEINLINE void EncodeUnsafe (OutputStream &os, unsigned codepoint)
 
template<typename InputStream >
static RAPIDJSON_FORCEINLINE bool Decode (InputStream &is, unsigned *codepoint)
 
template<typename InputStream , typename OutputStream >
static RAPIDJSON_FORCEINLINE bool Validate (InputStream &is, OutputStream &os)
 

Detailed Description

template<typename CharType>
struct AutoUTF< CharType >
Note
This class can be used with AutoUTFInputtStream and AutoUTFOutputStream, which provides GetType().

Definition at line 615 of file encodings.h.

Member Typedef Documentation

◆ Ch

template<typename CharType >
CharType AutoUTF< CharType >::Ch

Definition at line 616 of file encodings.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename CharType >
anonymous enum
Enumerator
supportUnicode 

Definition at line 618 of file encodings.h.

618{ supportUnicode = 1 };
@ supportUnicode
Definition encodings.h:618

Member Function Documentation

◆ Decode()

template<typename CharType >
template<typename InputStream >
static RAPIDJSON_FORCEINLINE bool AutoUTF< CharType >::Decode ( InputStream & is,
unsigned * codepoint )
inlinestatic

Definition at line 637 of file encodings.h.

637 {
638 typedef bool (*DecodeFunc)(InputStream&, unsigned*);
639 static const DecodeFunc f[] = { RAPIDJSON_ENCODINGS_FUNC(Decode) };
640 return (*f[is.GetType()])(is, codepoint);
641 }
#define RAPIDJSON_ENCODINGS_FUNC(x)
Definition encodings.h:620
static RAPIDJSON_FORCEINLINE bool Decode(InputStream &is, unsigned *codepoint)
Definition encodings.h:637
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Encode()

template<typename CharType >
template<typename OutputStream >
static RAPIDJSON_FORCEINLINE void AutoUTF< CharType >::Encode ( OutputStream & os,
unsigned codepoint )
inlinestatic

Definition at line 623 of file encodings.h.

623 {
624 typedef void (*EncodeFunc)(OutputStream&, unsigned);
625 static const EncodeFunc f[] = { RAPIDJSON_ENCODINGS_FUNC(Encode) };
626 (*f[os.GetType()])(os, codepoint);
627 }
os_t os
static RAPIDJSON_FORCEINLINE void Encode(OutputStream &os, unsigned codepoint)
Definition encodings.h:623
Here is the call graph for this function:
Here is the caller graph for this function:

◆ EncodeUnsafe()

template<typename CharType >
template<typename OutputStream >
static RAPIDJSON_FORCEINLINE void AutoUTF< CharType >::EncodeUnsafe ( OutputStream & os,
unsigned codepoint )
inlinestatic

Definition at line 630 of file encodings.h.

630 {
631 typedef void (*EncodeFunc)(OutputStream&, unsigned);
632 static const EncodeFunc f[] = { RAPIDJSON_ENCODINGS_FUNC(EncodeUnsafe) };
633 (*f[os.GetType()])(os, codepoint);
634 }
static RAPIDJSON_FORCEINLINE void EncodeUnsafe(OutputStream &os, unsigned codepoint)
Definition encodings.h:630
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Validate()

template<typename CharType >
template<typename InputStream , typename OutputStream >
static RAPIDJSON_FORCEINLINE bool AutoUTF< CharType >::Validate ( InputStream & is,
OutputStream & os )
inlinestatic

Definition at line 644 of file encodings.h.

644 {
645 typedef bool (*ValidateFunc)(InputStream&, OutputStream&);
646 static const ValidateFunc f[] = { RAPIDJSON_ENCODINGS_FUNC(Validate) };
647 return (*f[is.GetType()])(is, os);
648 }
static RAPIDJSON_FORCEINLINE bool Validate(InputStream &is, OutputStream &os)
Definition encodings.h:644
Here is the call graph for this function:
Here is the caller graph for this function:

The documentation for this struct was generated from the following file: