cphot 0.1
A C++ tool for computing photometry from spectra.
encodings.h File Reference
#include "rapidjson.h"

Go to the source code of this file.

Classes

struct  UTF8< CharType >
 UTF-8 encoding. More...
 
struct  UTF16< CharType >
 UTF-16 encoding. More...
 
struct  UTF16LE< CharType >
 UTF-16 little endian encoding. More...
 
struct  UTF16BE< CharType >
 UTF-16 big endian encoding. More...
 
struct  UTF32< CharType >
 UTF-32 encoding. More...
 
struct  UTF32LE< CharType >
 UTF-32 little endian enocoding. More...
 
struct  UTF32BE< CharType >
 UTF-32 big endian encoding. More...
 
struct  ASCII< CharType >
 ASCII encoding. More...
 
struct  AutoUTF< CharType >
 Dynamically select encoding according to stream's runtime-specified UTF encoding type. More...
 
struct  Transcoder< SourceEncoding, TargetEncoding >
 Encoding conversion. More...
 
struct  Transcoder< Encoding, Encoding >
 Specialization of Transcoder with same source and target encoding. More...
 

Macros

#define COPY()   c = is.Take(); *codepoint = (*codepoint << 6) | (static_cast<unsigned char>(c) & 0x3Fu)
 
#define TRANS(mask)   result &= ((GetRange(static_cast<unsigned char>(c)) & mask) != 0)
 
#define TAIL()   COPY(); TRANS(0x70)
 
#define COPY()   os.Put(c = is.Take())
 
#define TRANS(mask)   result &= ((GetRange(static_cast<unsigned char>(c)) & mask) != 0)
 
#define TAIL()   COPY(); TRANS(0x70)
 
#define RAPIDJSON_ENCODINGS_FUNC(x)   UTF8<Ch>::x, UTF16LE<Ch>::x, UTF16BE<Ch>::x, UTF32LE<Ch>::x, UTF32BE<Ch>::x
 

Enumerations

enum  UTFType {
  kUTF8 = 0, kUTF16LE = 1, kUTF16BE = 2, kUTF32LE = 3,
  kUTF32BE = 4
}
 Runtime-specified UTF encoding type of a stream. More...
 

Functions

template<typename Stream >
void PutUnsafe (Stream &stream, typename Stream::Ch c)
 Write character to a stream, presuming buffer is reserved. More...
 

Macro Definition Documentation

◆ COPY [1/2]

#define COPY ( )    c = is.Take(); *codepoint = (*codepoint << 6) | (static_cast<unsigned char>(c) & 0x3Fu)

◆ COPY [2/2]

#define COPY ( )    os.Put(c = is.Take())

◆ RAPIDJSON_ENCODINGS_FUNC

#define RAPIDJSON_ENCODINGS_FUNC (   x)    UTF8<Ch>::x, UTF16LE<Ch>::x, UTF16BE<Ch>::x, UTF32LE<Ch>::x, UTF32BE<Ch>::x

Definition at line 620 of file encodings.h.

◆ TAIL [1/2]

#define TAIL ( )    COPY(); TRANS(0x70)

◆ TAIL [2/2]

#define TAIL ( )    COPY(); TRANS(0x70)

◆ TRANS [1/2]

#define TRANS (   mask)    result &= ((GetRange(static_cast<unsigned char>(c)) & mask) != 0)

◆ TRANS [2/2]

#define TRANS (   mask)    result &= ((GetRange(static_cast<unsigned char>(c)) & mask) != 0)

Enumeration Type Documentation

◆ UTFType

enum UTFType

Runtime-specified UTF encoding type of a stream.

Enumerator
kUTF8 

UTF-8.

kUTF16LE 

UTF-16 little endian.

kUTF16BE 

UTF-16 big endian.

kUTF32LE 

UTF-32 little endian.

kUTF32BE 

UTF-32 big endian.

Definition at line 603 of file encodings.h.

Function Documentation

◆ PutUnsafe()

template<typename Stream >
void PutUnsafe ( Stream stream,
typename Stream::Ch  c 
)
inline

Write character to a stream, presuming buffer is reserved.

Definition at line 91 of file stream.h.