17 #if !defined(ON_STRING_INC_)
18 #define ON_STRING_INC_
48 ON::sort_algorithm method,
52 size_t sizeof_element,
53 int (*compare)(
const void*,
const void*)
87 ON::sort_algorithm method,
91 size_t sizeof_element,
92 int (*compare)(
const void*,
const void*,
void*),
131 size_t sizeof_element,
132 int (*compare)(
const void*,
const void*)
139 size_t sizeof_element,
140 int (*compare)(
const void*,
const void*)
147 size_t sizeof_element,
148 int (*compare)(
void*,
const void*,
const void*),
156 size_t sizeof_element,
157 int (*compare)(
void*,
const void*,
const void*),
177 void ON_SortDoubleArray(
178 ON::sort_algorithm sort_algorithm,
198 void ON_SortIntArray(
199 ON::sort_algorithm sort_algorithm,
219 void ON_SortUnsignedIntArray(
220 ON::sort_algorithm sort_algorithm,
240 void ON_SortStringArray(
241 ON::sort_algorithm sort_algorithm,
247 const int* ON_BinarySearchIntArray(
254 const unsigned int* ON_BinarySearchUnsignedIntArray(
256 const unsigned int* base,
261 const double* ON_BinarySearchDoubleArray(
305 bool SetBufferCheckSum(
319 bool SetFileCheckSum(
331 bool SetFileCheckSum(
332 const wchar_t* filename
361 bool bSkipTimeCheck =
false
375 const wchar_t* filename,
376 bool bSkipTimeCheck =
false
423 ON_String(
const wchar_t* src,
int length );
426 #if defined(ON_OS_WINDOWS)
428 bool LoadResourceString( HINSTANCE, UINT);
434 void EmergencyDestroy();
447 void EnableReferenceCounting(
bool bEnable );
453 bool IsReferenceCounted()
const;
459 bool IsEmpty()
const;
462 char& operator[](
int);
463 char operator[](
int)
const;
464 char GetAt(
int)
const;
465 void SetAt(
int,
char);
466 void SetAt(
int,
unsigned char);
467 operator const char*()
const;
474 ON_String& operator=(
const unsigned char*);
475 ON_String& operator=(
const wchar_t* src);
481 ON_String operator+(
unsigned char)
const;
483 ON_String operator+(
const unsigned char*)
const;
487 bool operator==(
const char*)
const ;
489 bool operator!=(
const char*)
const ;
491 bool operator<(
const char*)
const ;
493 bool operator>(
const char*)
const ;
495 bool operator<=(
const char*)
const ;
497 bool operator>=(
const char*)
const ;
500 void Append(
const char*,
int );
501 void Append(
const unsigned char*,
int );
504 const ON_String& operator+=(
unsigned char);
505 const ON_String& operator+=(
const char*);
506 const ON_String& operator+=(
const unsigned char*);
512 int Compare(
const char* )
const;
513 int Compare(
const unsigned char* )
const;
515 int CompareNoCase(
const char* )
const;
516 int CompareNoCase(
const unsigned char* )
const;
528 bool WildCardMatch(
const char* )
const;
529 bool WildCardMatch(
const unsigned char* )
const;
541 bool WildCardMatchNoCase(
const char* )
const;
542 bool WildCardMatchNoCase(
const unsigned char* )
const;
553 int Replace(
const char* token1,
const char* token2 );
554 int Replace(
const unsigned char* token1,
const unsigned char* token2 );
555 int Replace(
char token1,
char token2 );
556 int Replace(
unsigned char token1,
unsigned char token2 );
578 void TrimLeft(
const char* = NULL);
579 void TrimRight(
const char* = NULL);
580 void TrimLeftAndRight(
const char* = NULL);
583 int Remove(
const char chRemove);
587 int Find(
char)
const;
588 int Find(
unsigned char)
const;
589 int ReverseFind(
char)
const;
590 int ReverseFind(
unsigned char)
const;
593 int Find(
const char*)
const;
594 int Find(
const unsigned char*)
const;
597 void ON_MSC_CDECL Format(
const char*, ...);
598 void ON_MSC_CDECL Format(
const unsigned char*, ...);
601 void ReserveArray(
size_t);
604 void SetLength(
size_t);
606 const char* Array()
const;
613 unsigned int SizeOf()
const;
615 ON__UINT32 DataCRC(ON__UINT32 current_remainder)
const;
660 static void SplitPath(
677 struct ON_aStringHeader* Header()
const;
678 void CreateArray(
int);
681 void CopyToArray(
int,
const char* );
682 void CopyToArray(
int,
const unsigned char* );
683 void CopyToArray(
int,
const wchar_t* );
685 void AppendToArray(
int,
const char* );
686 void AppendToArray(
int,
const unsigned char* );
687 static int Length(
const char*);
688 static int Length(
const unsigned char*);
722 #if defined(ON_OS_WINDOWS)
724 bool LoadResourceString(HINSTANCE, UINT);
730 void EmergencyDestroy();
743 void EnableReferenceCounting(
bool bEnable );
749 bool IsReferenceCounted()
const;
754 bool IsEmpty()
const;
757 wchar_t& operator[](
int);
758 wchar_t operator[](
int)
const;
759 wchar_t GetAt(
int)
const;
760 void SetAt(
int,
char);
761 void SetAt(
int,
unsigned char);
762 void SetAt(
int,
wchar_t);
763 operator const wchar_t*()
const;
771 const ON_wString& operator=(
const unsigned char* src);
776 void Append(
const char* sUTF8,
int );
777 void Append(
const unsigned char* sUTF8,
int );
778 void Append(
const wchar_t*,
int );
784 const ON_wString& operator+=(
const char* sUTF8);
785 const ON_wString& operator+=(
const unsigned char* sUTF8);
794 ON_wString operator+(
const char* sUTF8)
const;
795 ON_wString operator+(
const unsigned char* sUTF8)
const;
800 bool operator==(
const wchar_t*)
const;
802 bool operator!=(
const wchar_t*)
const;
804 bool operator<(
const wchar_t*)
const;
806 bool operator>(
const wchar_t*)
const;
808 bool operator<=(
const wchar_t*)
const;
810 bool operator>=(
const wchar_t*)
const;
816 int Compare(
const char* sUTF8 )
const;
817 int Compare(
const unsigned char* sUTF8 )
const;
818 int Compare(
const wchar_t* )
const;
820 int CompareNoCase(
const char* sUTF8)
const;
821 int CompareNoCase(
const unsigned char* sUTF8)
const;
822 int CompareNoCase(
const wchar_t* )
const;
834 bool WildCardMatch(
const wchar_t* )
const;
846 bool WildCardMatchNoCase(
const wchar_t* )
const;
857 int Replace(
const wchar_t* token1,
const wchar_t* token2 );
858 int Replace(
wchar_t token1,
wchar_t token2 );
891 int ReplaceWhiteSpace(
wchar_t token,
const wchar_t* whitespace = 0 );
905 int RemoveWhiteSpace(
const wchar_t* whitespace = 0 );
926 void TrimLeft(
const wchar_t* = NULL);
927 void TrimRight(
const wchar_t* = NULL);
928 void TrimLeftAndRight(
const wchar_t* = NULL);
934 int Remove(
wchar_t c);
938 int Find(
char)
const;
939 int Find(
unsigned char)
const;
940 int Find(
wchar_t)
const;
941 int ReverseFind(
char)
const;
942 int ReverseFind(
unsigned char)
const;
943 int ReverseFind(
wchar_t)
const;
946 int Find(
const char*)
const;
947 int Find(
const unsigned char*)
const;
948 int Find(
const wchar_t*)
const;
952 void ON_MSC_CDECL Format(
const char*, ...);
953 void ON_MSC_CDECL Format(
const unsigned char*, ...);
954 void ON_MSC_CDECL Format(
const wchar_t*, ...);
957 void ReserveArray(
size_t);
960 void SetLength(
size_t);
962 const wchar_t* Array()
const;
969 unsigned int SizeOf()
const;
975 ON__UINT32 DataCRC(ON__UINT32 current_remainder)
const;
982 ON__UINT32 DataCRCLower(ON__UINT32 current_remainder)
const;
1028 static void SplitPath(
1036 static void SplitPath(
1037 const wchar_t* path,
1052 struct ON_wStringHeader* Header()
const;
1053 void CreateArray(
int);
1056 void CopyToArray(
int,
const char* );
1057 void CopyToArray(
int,
const unsigned char* );
1058 void CopyToArray(
int,
const wchar_t* );
1060 void AppendToArray(
int,
const char* );
1061 void AppendToArray(
int,
const unsigned char* );
1062 void AppendToArray(
int,
const wchar_t* );
1063 static int Length(
const char*);
1064 static int Length(
const unsigned char*);
1065 static int Length(
const wchar_t*);
1080 bool IsValid()
const;
ON_wString m_custom_unit_name
static const ON_CheckSum UnsetCheckSum
ON::unit_system m_unit_system
double m_custom_unit_scale