20 #define CONST_XMLCH(s) (u ## s)
34 if (
nullptr == item->getOwnerDocument())
48 : item_(item, doRelease_ )
64 item_.reset(item, doRelease_ );
78 return (
nullptr == item_.get());
92 if (
nullptr == item->getOwnerDocument())
128 std::swap(item_, other.item_);
172 return (
nullptr == item_);
207 static void compress64_ (
const char16_t * input_it,
char* output_it);
233 static std::string
convert(
const char16_t * str);
247 static void appendASCII(
const char16_t * str,
const Size length, std::string & result);
Helper class for XML parsing that handles the conversions of Xerces strings.
Definition StringManager.h:190
static std::string toNative_(const char16_t *str)
Converts from a wide-character string to a narrow-character string.
static void appendASCII(const char16_t *str, const Size length, std::string &result)
Transcodes the supplied char16_t* and appends it to the OpenMS String.
static unique_xerces_ptr< char16_t > convertPtr(const std::string &str)
Transcode the supplied C++ string to a UTF-16 string pointer.
std::basic_string< char16_t > XercesString
Definition StringManager.h:191
static bool isASCII(const char16_t *chars, const Size length)
Checks if supplied chars in char16_t* can be encoded with ASCII (i.e. the upper byte of each char is ...
static void compress64_(const char16_t *input_it, char *output_it)
Compresses eight 8x16bit Chars in char16_t* to 8x8bit Chars by cutting upper byte.
static unique_xerces_ptr< char16_t > convertPtr(const char *str)
Transcode the supplied C string to a UTF-16 string pointer.
static std::string convert(const char16_t *str)
Transcode the supplied char16_t* to a std::string.
~StringManager()
Destructor.
static Size strLength(const char16_t *input_ptr)
Calculates the length of a char16_t* string using SIMDe.
static XercesString convert(const std::string &str)
Transcode the supplied C++ string to a UTF-16 string.
static unique_xerces_ptr< char16_t > fromNative_(const char *str)
Converts from a narrow-character string to a wide-character string.
static XercesString convert(const char *str)
Transcode the supplied C string to a UTF-16 string.
StringManager()
Constructor.
static Int parseInt(const char16_t *str)
Parse an integer from a UTF-16 numeric string (as Xerces' XMLString::parseInt would).
static unique_xerces_ptr< char16_t > fromNative_(const std::string &str)
Converts from a narrow-character string to a wide-character string.
static std::string toNative_(const unique_xerces_ptr< char16_t > &str)
Converts from a wide-character string to a narrow-character string.
Definition StringManager.h:28
T * get()
Definition StringManager.h:67
std::shared_ptr< T > item_
Definition StringManager.h:42
static void doRelease_(char *item)
shared_xerces_ptr(T *item)
Definition StringManager.h:47
bool is_released() const
Definition StringManager.h:76
static void doRelease_(char16_t *item)
static void doRelease_(U *item)
Definition StringManager.h:31
void assign(T *item)
Definition StringManager.h:62
shared_xerces_ptr()=default
void reset()
Definition StringManager.h:57
shared_xerces_ptr & operator=(T *item)
Definition StringManager.h:51
const T * get() const
Definition StringManager.h:71
Definition StringManager.h:84
T * item_
Definition StringManager.h:99
void operator=(T *i)
Definition StringManager.h:132
static void doRelease_(char16_t *&item)
void xerces_release()
Definition StringManager.h:138
unique_xerces_ptr(T *i)
Definition StringManager.h:111
unique_xerces_ptr & operator=(const unique_xerces_ptr< T > &)=delete
void swap(unique_xerces_ptr< T > &other) noexcept
Definition StringManager.h:126
void assign(T *i)
Definition StringManager.h:157
bool is_released() const
Definition StringManager.h:170
unique_xerces_ptr()
Definition StringManager.h:107
unique_xerces_ptr(unique_xerces_ptr< T > &&other) noexcept
Definition StringManager.h:120
unique_xerces_ptr(const unique_xerces_ptr< T > &)=delete
T * yield()
Definition StringManager.h:149
static void doRelease_(char *&item)
~unique_xerces_ptr()
Definition StringManager.h:115
T * get() const
Definition StringManager.h:164
static void doRelease_(U *&item)
Definition StringManager.h:88
int Int
Signed integer type.
Definition Types.h:72
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
Namespace used to hide implementation details from users.
Definition BayesianProteinInferenceAlgorithm.h:26