Electroneum
Loading...
Searching...
No Matches
UTF32LE< CharType > Struct Template Reference

UTF-32 little endian enocoding. More...

#include <encodings.h>

Inheritance diagram for UTF32LE< CharType >:
Collaboration diagram for UTF32LE< CharType >:

Static Public Member Functions

template<typename InputByteStream>
static CharType TakeBOM (InputByteStream &is)
template<typename InputByteStream>
static CharType Take (InputByteStream &is)
template<typename OutputByteStream>
static void PutBOM (OutputByteStream &os)
template<typename OutputByteStream>
static void Put (OutputByteStream &os, CharType c)
Static Public Member Functions inherited from UTF32< unsigned >
static void Encode (OutputStream &os, unsigned codepoint)
static void EncodeUnsafe (OutputStream &os, unsigned codepoint)
static bool Decode (InputStream &is, unsigned *codepoint)
static bool Validate (InputStream &is, OutputStream &os)

Additional Inherited Members

Public Types inherited from UTF32< unsigned >
enum  
typedef unsigned Ch
Public Member Functions inherited from UTF32< unsigned >
 RAPIDJSON_STATIC_ASSERT (sizeof(Ch) >=4)

Detailed Description

template<typename CharType = unsigned>
struct UTF32LE< CharType >

UTF-32 little endian enocoding.

Definition at line 457 of file encodings.h.

Member Function Documentation

◆ Put()

template<typename CharType = unsigned>
template<typename OutputByteStream>
void UTF32LE< CharType >::Put ( OutputByteStream & os,
CharType c )
inlinestatic

Definition at line 485 of file encodings.h.

485 {
486 RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1);
487 os.Put(static_cast<typename OutputByteStream::Ch>(c & 0xFFu));
488 os.Put(static_cast<typename OutputByteStream::Ch>((c >> 8) & 0xFFu));
489 os.Put(static_cast<typename OutputByteStream::Ch>((c >> 16) & 0xFFu));
490 os.Put(static_cast<typename OutputByteStream::Ch>((c >> 24) & 0xFFu));
491 }
#define RAPIDJSON_STATIC_ASSERT(x)
(Internal) macro to check for conditions at compile-time
Definition rapidjson.h:450
UTF-32 little endian enocoding.
Definition encodings.h:457
static void Put(OutputByteStream &os, CharType c)
Definition encodings.h:485

◆ PutBOM()

template<typename CharType = unsigned>
template<typename OutputByteStream>
void UTF32LE< CharType >::PutBOM ( OutputByteStream & os)
inlinestatic

Definition at line 476 of file encodings.h.

476 {
477 RAPIDJSON_STATIC_ASSERT(sizeof(typename OutputByteStream::Ch) == 1);
478 os.Put(static_cast<typename OutputByteStream::Ch>(0xFFu));
479 os.Put(static_cast<typename OutputByteStream::Ch>(0xFEu));
480 os.Put(static_cast<typename OutputByteStream::Ch>(0x00u));
481 os.Put(static_cast<typename OutputByteStream::Ch>(0x00u));
482 }

◆ Take()

template<typename CharType = unsigned>
template<typename InputByteStream>
CharType UTF32LE< CharType >::Take ( InputByteStream & is)
inlinestatic

Definition at line 466 of file encodings.h.

466 {
467 RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1);
468 unsigned c = static_cast<uint8_t>(is.Take());
469 c |= static_cast<unsigned>(static_cast<uint8_t>(is.Take())) << 8;
470 c |= static_cast<unsigned>(static_cast<uint8_t>(is.Take())) << 16;
471 c |= static_cast<unsigned>(static_cast<uint8_t>(is.Take())) << 24;
472 return static_cast<CharType>(c);
473 }
static CharType Take(InputByteStream &is)
Definition encodings.h:466
Here is the caller graph for this function:

◆ TakeBOM()

template<typename CharType = unsigned>
template<typename InputByteStream>
CharType UTF32LE< CharType >::TakeBOM ( InputByteStream & is)
inlinestatic

Definition at line 459 of file encodings.h.

459 {
460 RAPIDJSON_STATIC_ASSERT(sizeof(typename InputByteStream::Ch) == 1);
461 CharType c = Take(is);
462 return static_cast<uint32_t>(c) == 0x0000FEFFu ? Take(is) : c;
463 }
Here is the call graph for this function:

The documentation for this struct was generated from the following file:
  • /home/abuild/rpmbuild/BUILD/electroneum-5.1.3.1-build/electroneum-5.1.3.1/external/rapidjson/include/rapidjson/encodings.h