annotate foosdk/sdk/pfc/sortstring.h @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
1 #pragma once
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
2
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
3 #ifdef _WIN32
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
4 #include <memory> // std::unique_ptr<>
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
5 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
6 #ifdef __APPLE__
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
7 #include "CFObject.h"
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
8 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
9
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
10 namespace pfc {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
11 #ifdef _WIN32
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
12 typedef std::unique_ptr<wchar_t[]> sortString_t;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
13 sortString_t makeSortString(const char* str);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
14 sortString_t makeSortString(const wchar_t* str);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
15 int sortStringCompare(sortString_t const& s1, sortString_t const& s2);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
16 int sortStringCompareI(sortString_t const& s1, sortString_t const& s2);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
17 #elif defined(__APPLE__)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
18 typedef CFObject<CFStringRef> sortString_t;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
19 sortString_t makeSortString(const char* str);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
20 int sortStringCompare(sortString_t const& s1, sortString_t const& s2);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
21 int sortStringCompareI(sortString_t const& s1, sortString_t const& s2);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
22 #else
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
23 #define PFC_SORTSTRING_GENERIC
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
24 typedef pfc::string8 sortString_t;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
25 inline sortString_t makeSortString(const char* str) { return str; }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
26 inline sortString_t makeSortString(pfc::string8&& str) { return std::move(str); }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
27 int sortStringCompare(const char* str1, const char* str2);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
28 int sortStringCompareI(const char* str1, const char* str2);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
29 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
30 }