Skip to content

Commit d728204

Browse files
committed
Add xtd::u16string_comparer, xtd::u32string_comparer, xtd::u8string_comparerxtd::wstring_comparer aliases
1 parent 05956e3 commit d728204

File tree

10 files changed

+122
-0
lines changed

10 files changed

+122
-0
lines changed

src/xtd.core/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,10 +461,16 @@ add_sources(
461461
include/xtd/types
462462
include/xtd/u16string.hpp
463463
include/xtd/u16string
464+
include/xtd/u16string_comparer.hpp
465+
include/xtd/u16string_comparer
464466
include/xtd/u32string.hpp
465467
include/xtd/u32string
468+
include/xtd/u32string_comparer.hpp
469+
include/xtd/u32string_comparer
466470
include/xtd/u8string.hpp
467471
include/xtd/u8string
472+
include/xtd/u8string_comparer.hpp
473+
include/xtd/u8string_comparer
468474
include/xtd/uint16.hpp
469475
include/xtd/uint16
470476
include/xtd/uint16_object.hpp
@@ -525,6 +531,8 @@ add_sources(
525531
include/xtd/wptr
526532
include/xtd/wstring.hpp
527533
include/xtd/wstring
534+
include/xtd/wstring_comparer.hpp
535+
include/xtd/wstring_comparer
528536
include/xtd/xml_syntax_exception.hpp
529537
include/xtd/xml_syntax_exception
530538
include/xtd/xtd.core
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#pragma once
2+
#include "u16string_comparer.hpp"
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/// @file
2+
/// @brief Contains xtd::u16string_comparer alias.
3+
/// @copyright Copyright (c) 2025 Gammasoft. All rights reserved.
4+
#pragma once
5+
#include "basic_string_comparer.hpp"
6+
#include "char16.hpp"
7+
8+
/// @brief The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
9+
namespace xtd {
10+
/// @brief Represents a u16string comparison operation that uses specific case and culture-based or ordinal comparison rules.
11+
/// @par Definition
12+
/// ```cpp
13+
/// using u16string_comparer = xtd::basic_string_comparer<xtd::char16>;
14+
/// ```
15+
/// @par Header
16+
/// ```cpp
17+
/// #include <xtd/u16string_comparer
18+
/// ```
19+
/// @par Namespace
20+
/// xtd
21+
/// @par Library
22+
/// xtd.core
23+
/// @ingroup xtd_core system
24+
using u16string_comparer = xtd::basic_string_comparer<xtd::char16>;
25+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#pragma once
2+
#include "u32string_comparer.hpp"
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/// @file
2+
/// @brief Contains xtd::u32string_comparer alias.
3+
/// @copyright Copyright (c) 2025 Gammasoft. All rights reserved.
4+
#pragma once
5+
#include "basic_string_comparer.hpp"
6+
#include "char32.hpp"
7+
8+
/// @brief The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
9+
namespace xtd {
10+
/// @brief Represents a u32string comparison operation that uses specific case and culture-based or ordinal comparison rules.
11+
/// @par Definition
12+
/// ```cpp
13+
/// using u32string_comparer = xtd::basic_string_comparer<xtd::char32>;
14+
/// ```
15+
/// @par Header
16+
/// ```cpp
17+
/// #include <xtd/u32string_comparer
18+
/// ```
19+
/// @par Namespace
20+
/// xtd
21+
/// @par Library
22+
/// xtd.core
23+
/// @ingroup xtd_core system
24+
using u32string_comparer = xtd::basic_string_comparer<xtd::char32>;
25+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#pragma once
2+
#include "u8string_comparer.hpp"
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/// @file
2+
/// @brief Contains xtd::u8string_comparer alias.
3+
/// @copyright Copyright (c) 2025 Gammasoft. All rights reserved.
4+
#pragma once
5+
#include "basic_string_comparer.hpp"
6+
#include "char8.hpp"
7+
8+
/// @brief The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
9+
namespace xtd {
10+
#if defined(__xtd__cpp_lib_char8_t)
11+
/// @brief Represents a u8string comparison operation that uses specific case and culture-based or ordinal comparison rules.
12+
/// @par Definition
13+
/// ```cpp
14+
/// using u8string_comparer = xtd::basic_string_comparer<xtd::char8>;
15+
/// ```
16+
/// @par Header
17+
/// ```cpp
18+
/// #include <xtd/u8string_comparer
19+
/// ```
20+
/// @par Namespace
21+
/// xtd
22+
/// @par Library
23+
/// xtd.core
24+
/// @ingroup xtd_core system
25+
using u8string_comparer = xtd::basic_string_comparer<xtd::char8>;
26+
#endif
27+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#pragma once
2+
#include "wstring_comparer.hpp"
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/// @file
2+
/// @brief Contains xtd::wstring_comparer alias.
3+
/// @copyright Copyright (c) 2025 Gammasoft. All rights reserved.
4+
#pragma once
5+
#include "basic_string_comparer.hpp"
6+
#include "wchar.hpp"
7+
8+
/// @brief The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
9+
namespace xtd {
10+
/// @brief Represents a wstring comparison operation that uses specific case and culture-based or ordinal comparison rules.
11+
/// @par Definition
12+
/// ```cpp
13+
/// using wstring_comparer = xtd::basic_string_comparer<xtd::wchar>;
14+
/// ```
15+
/// @par Header
16+
/// ```cpp
17+
/// #include <xtd/wstring_comparer
18+
/// ```
19+
/// @par Namespace
20+
/// xtd
21+
/// @par Library
22+
/// xtd.core
23+
/// @ingroup xtd_core system
24+
using wstring_comparer = xtd::basic_string_comparer<xtd::wchar>;
25+
}

src/xtd.core/include/xtd/xtd.core.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -442,8 +442,11 @@
442442
#include "typeof.hpp"
443443
#include "types.hpp"
444444
#include "u16string.hpp"
445+
#include "u16string_comparer.hpp"
445446
#include "u32string.hpp"
447+
#include "u32string_comparer.hpp"
446448
#include "u8string.hpp"
449+
#include "u8string_comparer.hpp"
447450
#include "uint16.hpp"
448451
#include "uint16_object.hpp"
449452
#include "uint32.hpp"
@@ -474,5 +477,6 @@
474477
#include "wchar_object.hpp"
475478
#include "wptr.hpp"
476479
#include "wstring.hpp"
480+
#include "wstring_comparer.hpp"
477481
#include "xml_syntax_exception.hpp"
478482
#include "xtd_namespace_aliases.hpp"

0 commit comments

Comments
 (0)