LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
strwstrtools.h File Reference
#include "LimaString.h"
#include <string>
#include <vector>
#include <iosfwd>
#include <ostream>

Go to the source code of this file.

Namespaces

namespace  Lima
 NAUTITIA.
 
namespace  Lima::Common
 
namespace  Lima::Common::Misc
 

Macros

#define U16_IS_LEAD(c)   (((c)&0xfffffc00)==0xd800)
 
#define U16_IS_TRAIL(c)   (((c)&0xfffffc00)==0xdc00)
 
#define U16_SURROGATE_OFFSET   ((0xd800<<10UL)+0xdc00-0x10000)
 
#define U16_GET_SUPPLEMENTARY(lead, trail)   (((char32_t)(lead)<<10UL)+(char32_t)(trail)-U16_SURROGATE_OFFSET)
 
#define U16_LEAD(supplementary)   (char32_t)(((supplementary)>>10)+0xd7c0)
 
#define U16_TRAIL(supplementary)   (char32_t)(((supplementary)&0x3ff)|0xdc00)
 
#define U_IS_SURROGATE(c)   (((c)&0xfffff800)==0xd800)
 
#define U16_IS_SINGLE(c)   !U_IS_SURROGATE(c)
 
#define U16_IS_SURROGATE(c)   U_IS_SURROGATE(c)
 
#define U16_IS_SURROGATE_LEAD(c)   (((c)&0x400)==0)
 
#define U16_NEXT(s, i, length, c)
 
#define U16_PREV(s, start, i, c)
 
#define U_MASK(x)   ((uint32_t)1<<(x))
 

Functions

void Lima::Common::Misc::readStream (std::istream &is, std::string &dest)
 Read an input stream into a string, until EOF.
 
void Lima::Common::Misc::writeStream (std::ostream &os, const std::string &src)
 Write a string to an output stream.
 
void Lima::Common::Misc::readString (std::istream &file, std::string &s)
 Read an input stream into a wide string, until EOF.
 
void Lima::Common::Misc::writeString (std::ostream &file, const std::string &s)
 write a string on an output file stream
 
void Lima::Common::Misc::readStringField (istream &file, string &s)
 
void Lima::Common::Misc::writeStringField (ostream &file, const string &s)
 
void Lima::Common::Misc::readUTF8StringField (std::istream &file, Lima::LimaString &s)
 Binary read an utf8 string from a file and store it in a LimaString.
 
void Lima::Common::Misc::writeUTF8StringField (std::ostream &file, const Lima::LimaString &s)
 Binary write a a LimaString in a file as an utf8 string.
 
LimaString Lima::Common::Misc::utf8stdstring2limastring (const std::string &src)
 
LimaString Lima::Common::Misc::latin15stdstring2limastring (const std::string &src)
 Convert a latin15 string to a LimaString.
 
std::string Lima::Common::Misc::localestring2utf8string (const std::string &src)
 ␈rief Convert a string in the locale codepage to a UTF8 string
 
std::string Lima::Common::Misc::limastring2utf8stdstring (const Lima::LimaString &phrase, uint32_t size)
 Convert a wide string to a string , in dest up to size bytes.
 
std::string Lima::Common::Misc::limastring2utf8stdstring (const Lima::LimaString &src)
 Convert a Lima string to a string.
 
template<typename C >
void Lima::Common::Misc::chomp (std::basic_string< C > &str)
 
template<typename C >
void Lima::Common::Misc::chop (std::basic_string< C > &str)
 
std::string Lima::Common::Misc::readLine (std::istream &inputFile)
 
template<typename charT >
std::string Lima::Common::Misc::convertString (const std::basic_string< charT > &input)
 
LIMA_DATA_EXPORT LimaString Lima::Common::Misc::setStringSameEndian (const short unsigned int *s, const uint32_t count)
 
LIMA_DATA_EXPORT LimaString Lima::Common::Misc::setStringReverseEndian (const short unsigned int *s, const uint32_t count)
 
LimaString Lima::Common::Misc::transcodeToXmlEntities (const LimaString &str)
 

Detailed Description

Date
begin Sep, 2003
Author
Gael de Chalendar Gael..nosp@m.de-C.nosp@m.halen.nosp@m.dar@.nosp@m.cea.f.nosp@m.r
                Copyright (c) 2002,2003-2012 by CEA LIST
Version
$Id$
Todo:
Remove code from GLT OpenGL C++ Toolkit

Definition in file strwstrtools.h.

Macro Definition Documentation

◆ U16_GET_SUPPLEMENTARY

#define U16_GET_SUPPLEMENTARY (   lead,
  trail 
)    (((char32_t)(lead)<<10UL)+(char32_t)(trail)-U16_SURROGATE_OFFSET)

Definition at line 30 of file strwstrtools.h.

◆ U16_IS_LEAD

#define U16_IS_LEAD (   c)    (((c)&0xfffffc00)==0xd800)

Definition at line 27 of file strwstrtools.h.

◆ U16_IS_SINGLE

#define U16_IS_SINGLE (   c)    !U_IS_SURROGATE(c)

Definition at line 37 of file strwstrtools.h.

◆ U16_IS_SURROGATE

#define U16_IS_SURROGATE (   c)    U_IS_SURROGATE(c)

Definition at line 38 of file strwstrtools.h.

◆ U16_IS_SURROGATE_LEAD

#define U16_IS_SURROGATE_LEAD (   c)    (((c)&0x400)==0)

Definition at line 39 of file strwstrtools.h.

◆ U16_IS_TRAIL

#define U16_IS_TRAIL (   c)    (((c)&0xfffffc00)==0xdc00)

Definition at line 28 of file strwstrtools.h.

◆ U16_LEAD

#define U16_LEAD (   supplementary)    (char32_t)(((supplementary)>>10)+0xd7c0)

Definition at line 33 of file strwstrtools.h.

◆ U16_NEXT

#define U16_NEXT (   s,
  i,
  length,
  c 
)
Value:
{ \
(c)=(s)[(i)++].unicode(); \
if(U16_IS_LEAD(c)) { \
uint16_t __c2; \
if((i)<(length) && U16_IS_TRAIL(__c2=(s)[(i)].unicode())) { \
++(i); \
(c)=U16_GET_SUPPLEMENTARY((c), __c2); \
} \
} \
}
#define U16_GET_SUPPLEMENTARY(lead, trail)
#define U16_IS_LEAD(c)
#define U16_IS_TRAIL(c)

Definition at line 45 of file strwstrtools.h.

◆ U16_PREV

#define U16_PREV (   s,
  start,
  i,
  c 
)
Value:
{ \
(c)=(s)[--(i)].unicode(); \
if(U16_IS_TRAIL(c)) { \
uint16_t __c2; \
if((i)>(start) && U16_IS_LEAD(__c2=(s)[(i)-1].unicode())) { \
--(i); \
(c)=U16_GET_SUPPLEMENTARY(__c2, (c)); \
} \
} \
}

Definition at line 56 of file strwstrtools.h.

◆ U16_SURROGATE_OFFSET

#define U16_SURROGATE_OFFSET   ((0xd800<<10UL)+0xdc00-0x10000)

Definition at line 29 of file strwstrtools.h.

◆ U16_TRAIL

#define U16_TRAIL (   supplementary)    (char32_t)(((supplementary)&0x3ff)|0xdc00)

Definition at line 34 of file strwstrtools.h.

◆ U_IS_SURROGATE

#define U_IS_SURROGATE (   c)    (((c)&0xfffff800)==0xd800)

Definition at line 36 of file strwstrtools.h.

◆ U_MASK

#define U_MASK (   x)    ((uint32_t)1<<(x))

Definition at line 67 of file strwstrtools.h.