20 #define CONST_XMLCH(s) (u ## s)
41 if (
nullptr == item->getOwnerDocument())
55 : item_(item, doRelease_ )
71 item_.reset(item, doRelease_ );
85 return (
nullptr == item_.get());
99 if (
nullptr == item->getOwnerDocument())
135 std::swap(item_, other.item_);
179 return (
nullptr == item_);
214 static void compress64_ (
const char16_t * input_it,
char* output_it);
240 static std::string
convert(
const char16_t * str);
254 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:197
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:198
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.
Shared-ownership handle for a Xerces object or string, which releases it the way Xerces requires.
Definition StringManager.h:35
T * get()
Definition StringManager.h:74
std::shared_ptr< T > item_
Definition StringManager.h:49
static void doRelease_(char *item)
shared_xerces_ptr(T *item)
Definition StringManager.h:54
bool is_released() const
Definition StringManager.h:83
static void doRelease_(char16_t *item)
static void doRelease_(U *item)
Definition StringManager.h:38
void assign(T *item)
Definition StringManager.h:69
shared_xerces_ptr()=default
void reset()
Definition StringManager.h:64
shared_xerces_ptr & operator=(T *item)
Definition StringManager.h:58
const T * get() const
Definition StringManager.h:78
Definition StringManager.h:91
T * item_
Definition StringManager.h:106
void operator=(T *i)
Definition StringManager.h:139
static void doRelease_(char16_t *&item)
void xerces_release()
Definition StringManager.h:145
unique_xerces_ptr(T *i)
Definition StringManager.h:118
unique_xerces_ptr & operator=(const unique_xerces_ptr< T > &)=delete
void swap(unique_xerces_ptr< T > &other) noexcept
Definition StringManager.h:133
void assign(T *i)
Definition StringManager.h:164
bool is_released() const
Definition StringManager.h:177
unique_xerces_ptr()
Definition StringManager.h:114
unique_xerces_ptr(unique_xerces_ptr< T > &&other) noexcept
Definition StringManager.h:127
unique_xerces_ptr(const unique_xerces_ptr< T > &)=delete
T * yield()
Definition StringManager.h:156
static void doRelease_(char *&item)
~unique_xerces_ptr()
Definition StringManager.h:122
T * get() const
Definition StringManager.h:171
static void doRelease_(U *&item)
Definition StringManager.h:95
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