* Removed Udf namespace
* Renamed String to UdfString git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27021 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -10,57 +10,58 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "kernel_cpp.h"
|
||||
|
||||
#include "Array.h"
|
||||
#include "UdfDebug.h"
|
||||
|
||||
namespace Udf {
|
||||
#include <string.h>
|
||||
|
||||
/*! \brief String class that takes as input either a UTF8 string or a
|
||||
#include <util/kernel_cpp.h>
|
||||
/*! \brief UdfString class that takes as input either a UTF8 string or a
|
||||
CS0 unicode string and then provides access to said string in both
|
||||
formats.
|
||||
|
||||
For CS0 info, see: ECMA-167 1/7.2.2 (not very helpful), UDF-2.01 2.1.1
|
||||
*/
|
||||
class String {
|
||||
class UdfString {
|
||||
public:
|
||||
String();
|
||||
String(const char *utf8);
|
||||
String(const char *cs0, uint32 length);
|
||||
UdfString();
|
||||
UdfString(const char *utf8);
|
||||
UdfString(const char *cs0, uint32 length);
|
||||
|
||||
template <uint32 length>
|
||||
String(const array<char, length> &dString);
|
||||
~String();
|
||||
UdfString(const array<char, length> &dString);
|
||||
~UdfString();
|
||||
|
||||
void SetTo(const char *utf8);
|
||||
void SetTo(const char *cs0, uint32 length);
|
||||
void SetTo(const char *utf8);
|
||||
void SetTo(const char *cs0, uint32 length);
|
||||
template <uint32 length>
|
||||
void SetTo(const array<char, length> &dString);
|
||||
void SetTo(const array<char, length> &dString);
|
||||
|
||||
template <uint32 length>
|
||||
String& operator=(const array<char, length> &dString);
|
||||
UdfString& operator=(const array<char, length> &dString);
|
||||
|
||||
const char* Cs0() const { return fCs0String; }
|
||||
const char* Utf8() const { return fUtf8String; }
|
||||
uint32 Cs0Length() const { return fCs0Length; }
|
||||
uint32 Utf8Length() const { return fUtf8String ? strlen(fUtf8String) : 0; }
|
||||
const char *Cs0() const { return fCs0String; }
|
||||
const char *Utf8() const { return fUtf8String; }
|
||||
uint32 Cs0Length() const { return fCs0Length; }
|
||||
uint32 Utf8Length() const { return fUtf8String ? strlen(fUtf8String) : 0; }
|
||||
|
||||
private:
|
||||
void _Clear();
|
||||
void _Clear();
|
||||
|
||||
char *fCs0String;
|
||||
uint32 fCs0Length;
|
||||
char *fUtf8String;
|
||||
char *fCs0String;
|
||||
uint32 fCs0Length;
|
||||
char *fUtf8String;
|
||||
};
|
||||
|
||||
/*! \brief Creates a new String object from the given d-string.
|
||||
/*! \brief Creates a new UdfString object from the given d-string.
|
||||
*/
|
||||
template <uint32 length>
|
||||
String::String(const array<char, length> &dString)
|
||||
UdfString::UdfString(const array<char, length> &dString)
|
||||
: fCs0String(NULL)
|
||||
, fUtf8String(NULL)
|
||||
{
|
||||
DEBUG_INIT_ETC("String", ("dString.length(): %ld", dString.length()));
|
||||
DEBUG_INIT_ETC("UdfString", ("dString.length(): %ld", dString.length()));
|
||||
|
||||
SetTo(dString);
|
||||
}
|
||||
@@ -72,7 +73,7 @@ String::String(const array<char, length> &dString)
|
||||
*/
|
||||
template <uint32 length>
|
||||
void
|
||||
String::SetTo(const array<char, length> &dString)
|
||||
UdfString::SetTo(const array<char, length> &dString)
|
||||
{
|
||||
uint8 dataLength = dString.length() == 0
|
||||
? 0
|
||||
@@ -91,16 +92,11 @@ String::SetTo(const array<char, length> &dString)
|
||||
/*! \brief Assignment from a d-string.
|
||||
*/
|
||||
template <uint32 length>
|
||||
String&
|
||||
String::operator=(const array<char, length> &dString)
|
||||
UdfString&
|
||||
UdfString::operator=(const array<char, length> &dString)
|
||||
{
|
||||
SetTo(dString);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
}; // namespace UDF
|
||||
|
||||
|
||||
|
||||
#endif // _UDF_STRING_H
|
||||
|
||||
Reference in New Issue
Block a user