aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/Paradox/String.h24
-rw-r--r--meson.build2
2 files changed, 26 insertions, 0 deletions
diff --git a/include/Paradox/String.h b/include/Paradox/String.h
new file mode 100644
index 0000000..ddb2261
--- /dev/null
+++ b/include/Paradox/String.h
@@ -0,0 +1,24 @@
+#ifndef PARADOX_STRING_H
+#define PARADOX_STRING_H
+
+#include <objc/objc.h>
+#include <objc/runtime.h>
+#include <Paradox/Object.h>
+
+@interface PXString : PXObject {
+ char *_bytes;
+ size_t _length;
+}
+
+/* init/lifecycle */
++ (instancetype)stringWithCString:(const char *)cstring;
+- (instancetype)initWithCString:(const char *)cstring;
+
+/* getters */
+- (const char *)UTF8String;
+- (size_t)length;
+- (BOOL)isEqual:(PXString *)string;
+
+@end
+
+#endif
diff --git a/meson.build b/meson.build
index 606f777..c32e8c5 100644
--- a/meson.build
+++ b/meson.build
@@ -13,6 +13,7 @@ inc = include_directories('include')
sources = [
'src/Object.m',
+ 'src/String.m',
]
paradox = static_library('paradox', sources, include_directories: inc, dependencies: deps, install: true, install_dir: 'lib')
@@ -20,6 +21,7 @@ paradox = static_library('paradox', sources, include_directories: inc, dependenc
install_headers(
'include/Paradox/Core.h',
'include/Paradox/Object.h',
+ 'include/Paradox/String.h',
subdir: 'paradox'
)