Commit 04da0e9a authored by j4cbo's avatar j4cbo

Merge pull request #80 from mknejp/feature/no-cpp14

Feature/no cpp14
parents 4edf461a af757b31
...@@ -33,7 +33,7 @@ auto SortItems::toCpp(ObjcType objc) -> CppType ...@@ -33,7 +33,7 @@ auto SortItems::toCpp(ObjcType objc) -> CppType
auto SortItems::fromCpp(const CppType& cpp) -> ObjcType auto SortItems::fromCpp(const CppType& cpp) -> ObjcType
{ {
return !cpp ? nil : ::djinni::DbxCppWrapperCache<::textsort::SortItems>::getInstance()->get(cpp, [] (const auto& p) return !cpp ? nil : ::djinni::DbxCppWrapperCache<::textsort::SortItems>::getInstance()->get(cpp, [] (const CppType& p)
{ {
return [[TXSSortItems alloc] initWithCpp:p]; return [[TXSSortItems alloc] initWithCpp:p];
}); });
......
...@@ -39,11 +39,26 @@ ...@@ -39,11 +39,26 @@
} }
- (IBAction)sort:(id)sender - (IBAction)sort:(id)sender
{
[self sortWithOrder:TXSSortOrderAscending];
}
- (IBAction)reverseSort:(id)sender
{
[self sortWithOrder:TXSSortOrderDescending];
}
- (IBAction)randomSort:(id)sender
{
[self sortWithOrder:TXSSortOrderRandom];
}
- (void)sortWithOrder:(TXSSortOrder)order
{ {
NSString *str = self.textView.text; NSString *str = self.textView.text;
NSArray *strList = [str componentsSeparatedByString:@"\n"]; NSArray *strList = [str componentsSeparatedByString:@"\n"];
TXSItemList *list = [[TXSItemList alloc] initWithItems:strList]; TXSItemList *list = [[TXSItemList alloc] initWithItems:strList];
[_sortItemInterface sort:TXSSortOrderAscending items:list]; [_sortItemInterface sort:order items:list];
} }
- (void)dismissKeyboard - (void)dismissKeyboard
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
"sources": [ "sources": [
"../support-lib/jni/djinni_main.cpp", "../support-lib/jni/djinni_main.cpp",
"<!@(python glob.py generated-src/jni '*.cpp')", "<!@(python glob.py generated-src/jni '*.cpp')",
"<!@(python glob.py generated-src/cpp '*.cpp')",
"<!@(python glob.py handwritten-src/cpp '*.cpp')", "<!@(python glob.py handwritten-src/cpp '*.cpp')",
], ],
"include_dirs": [ "include_dirs": [
...@@ -27,6 +28,7 @@ ...@@ -27,6 +28,7 @@
], ],
"sources": [ "sources": [
"<!@(python glob.py generated-src/objc '*.cpp' '*.mm' '*.m')", "<!@(python glob.py generated-src/objc '*.cpp' '*.mm' '*.m')",
"<!@(python glob.py generated-src/cpp '*.cpp')",
"<!@(python glob.py handwritten-src/cpp '*.cpp')", "<!@(python glob.py handwritten-src/cpp '*.cpp')",
], ],
"include_dirs": [ "include_dirs": [
......
...@@ -13,16 +13,12 @@ ...@@ -13,16 +13,12 @@
65834DEB19AC599E0061AD3F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 65834DE919AC599E0061AD3F /* InfoPlist.strings */; }; 65834DEB19AC599E0061AD3F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 65834DE919AC599E0061AD3F /* InfoPlist.strings */; };
65834DF419AC599E0061AD3F /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 65834DF219AC599E0061AD3F /* Main_iPhone.storyboard */; }; 65834DF419AC599E0061AD3F /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 65834DF219AC599E0061AD3F /* Main_iPhone.storyboard */; };
65834DFC19AC599E0061AD3F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 65834DFB19AC599E0061AD3F /* Images.xcassets */; }; 65834DFC19AC599E0061AD3F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 65834DFB19AC599E0061AD3F /* Images.xcassets */; };
65D7FDFA19AD0CDF0038F82F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 65D7FDF319AD0CDF0038F82F /* main.m */; }; 65D7FDFA19AD0CDF0038F82F /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 65D7FDF319AD0CDF0038F82F /* main.mm */; };
65D7FDFB19AD0CDF0038F82F /* TXSAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 65D7FDF519AD0CDF0038F82F /* TXSAppDelegate.m */; }; 65D7FDFB19AD0CDF0038F82F /* TXSAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 65D7FDF519AD0CDF0038F82F /* TXSAppDelegate.m */; };
65D7FDFC19AD0CDF0038F82F /* TXSTextboxListenerImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = 65D7FDF719AD0CDF0038F82F /* TXSTextboxListenerImpl.m */; }; 65D7FDFC19AD0CDF0038F82F /* TXSTextboxListenerImpl.m in Sources */ = {isa = PBXBuildFile; fileRef = 65D7FDF719AD0CDF0038F82F /* TXSTextboxListenerImpl.m */; };
65D7FDFD19AD0CDF0038F82F /* TXSViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 65D7FDF919AD0CDF0038F82F /* TXSViewController.mm */; }; 65D7FDFD19AD0CDF0038F82F /* TXSViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 65D7FDF919AD0CDF0038F82F /* TXSViewController.m */; };
A29DB13019BCB94300BFC38D /* DJIError.mm in Sources */ = {isa = PBXBuildFile; fileRef = A29DB12C19BCB94300BFC38D /* DJIError.mm */; };
A29DB13119BCB94300BFC38D /* DJIWeakPtrWrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = A29DB12E19BCB94300BFC38D /* DJIWeakPtrWrapper.mm */; };
B003051919B70561008E1F67 /* libdjinni_objc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B003051819B70561008E1F67 /* libdjinni_objc.a */; }; B003051919B70561008E1F67 /* libdjinni_objc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B003051819B70561008E1F67 /* libdjinni_objc.a */; };
B05863941A7980CD00C2CFF5 /* DJIDate.mm in Sources */ = {isa = PBXBuildFile; fileRef = B05863931A7980CD00C2CFF5 /* DJIDate.mm */; };
B097B6BC19B1C07E0047653A /* libtextsort_objc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B097B6BB19B1C07E0047653A /* libtextsort_objc.a */; }; B097B6BC19B1C07E0047653A /* libtextsort_objc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B097B6BB19B1C07E0047653A /* libtextsort_objc.a */; };
CF8788ED1A24D32D0058F854 /* TXSSortItems.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF8788EB1A24D32D0058F854 /* TXSSortItems.mm */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
...@@ -35,37 +31,15 @@ ...@@ -35,37 +31,15 @@
65834DEE19AC599E0061AD3F /* TextSort-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "TextSort-Prefix.pch"; sourceTree = "<group>"; }; 65834DEE19AC599E0061AD3F /* TextSort-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "TextSort-Prefix.pch"; sourceTree = "<group>"; };
65834DF319AC599E0061AD3F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPhone.storyboard; sourceTree = "<group>"; }; 65834DF319AC599E0061AD3F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPhone.storyboard; sourceTree = "<group>"; };
65834DFB19AC599E0061AD3F /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; }; 65834DFB19AC599E0061AD3F /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
65834E1D19AC5C9B0061AD3F /* TXSItemList+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "TXSItemList+Private.h"; sourceTree = "<group>"; }; 65D7FDF319AD0CDF0038F82F /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
65834E1E19AC5C9B0061AD3F /* TXSItemList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TXSItemList.h; sourceTree = "<group>"; };
65834E1F19AC5C9B0061AD3F /* TXSItemList.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TXSItemList.mm; sourceTree = "<group>"; };
65834E2019AC5C9B0061AD3F /* TXSSortItems.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TXSSortItems.h; sourceTree = "<group>"; };
65834E2419AC5C9B0061AD3F /* TXSTextboxListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TXSTextboxListener.h; sourceTree = "<group>"; };
65834E2519AC5C9B0061AD3F /* TXSTextboxListenerObjcProxy+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "TXSTextboxListenerObjcProxy+Private.h"; sourceTree = "<group>"; };
65834E2619AC5C9B0061AD3F /* TXSTextboxListenerObjcProxy.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TXSTextboxListenerObjcProxy.mm; sourceTree = "<group>"; };
65834E2E19AC5CB90061AD3F /* item_list.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = item_list.hpp; sourceTree = "<group>"; };
65834E2F19AC5CB90061AD3F /* sort_items.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = sort_items.hpp; sourceTree = "<group>"; };
65834E3019AC5CB90061AD3F /* textbox_listener.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = textbox_listener.hpp; sourceTree = "<group>"; };
65834E3A19AC5D9F0061AD3F /* sort_items_impl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sort_items_impl.cpp; sourceTree = "<group>"; };
65834E3B19AC5D9F0061AD3F /* sort_items_impl.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = sort_items_impl.hpp; sourceTree = "<group>"; };
65D7FDF319AD0CDF0038F82F /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
65D7FDF419AD0CDF0038F82F /* TXSAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TXSAppDelegate.h; sourceTree = "<group>"; }; 65D7FDF419AD0CDF0038F82F /* TXSAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TXSAppDelegate.h; sourceTree = "<group>"; };
65D7FDF519AD0CDF0038F82F /* TXSAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TXSAppDelegate.m; sourceTree = "<group>"; }; 65D7FDF519AD0CDF0038F82F /* TXSAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TXSAppDelegate.m; sourceTree = "<group>"; };
65D7FDF619AD0CDF0038F82F /* TXSTextboxListenerImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TXSTextboxListenerImpl.h; sourceTree = "<group>"; }; 65D7FDF619AD0CDF0038F82F /* TXSTextboxListenerImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TXSTextboxListenerImpl.h; sourceTree = "<group>"; };
65D7FDF719AD0CDF0038F82F /* TXSTextboxListenerImpl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TXSTextboxListenerImpl.m; sourceTree = "<group>"; }; 65D7FDF719AD0CDF0038F82F /* TXSTextboxListenerImpl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TXSTextboxListenerImpl.m; sourceTree = "<group>"; };
65D7FDF819AD0CDF0038F82F /* TXSViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TXSViewController.h; sourceTree = "<group>"; }; 65D7FDF819AD0CDF0038F82F /* TXSViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TXSViewController.h; sourceTree = "<group>"; };
65D7FDF919AD0CDF0038F82F /* TXSViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TXSViewController.mm; sourceTree = "<group>"; }; 65D7FDF919AD0CDF0038F82F /* TXSViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TXSViewController.m; sourceTree = "<group>"; };
A29DB12A19BCB94300BFC38D /* DJICppWrapperCache+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DJICppWrapperCache+Private.h"; sourceTree = "<group>"; };
A29DB12B19BCB94300BFC38D /* DJIError.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DJIError.h; sourceTree = "<group>"; };
A29DB12C19BCB94300BFC38D /* DJIError.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DJIError.mm; sourceTree = "<group>"; };
A29DB12D19BCB94300BFC38D /* DJIObjcWrapperCache+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DJIObjcWrapperCache+Private.h"; sourceTree = "<group>"; };
A29DB12E19BCB94300BFC38D /* DJIWeakPtrWrapper.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DJIWeakPtrWrapper.mm; sourceTree = "<group>"; };
A29DB12F19BCB94300BFC38D /* DJIWeakPtrWrapper+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "DJIWeakPtrWrapper+Private.h"; sourceTree = "<group>"; };
B003051819B70561008E1F67 /* libdjinni_objc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libdjinni_objc.a; path = "../../support-lib/build/Debug-iphoneos/libdjinni_objc.a"; sourceTree = "<group>"; }; B003051819B70561008E1F67 /* libdjinni_objc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libdjinni_objc.a; path = "../../support-lib/build/Debug-iphoneos/libdjinni_objc.a"; sourceTree = "<group>"; };
B05863921A7980CD00C2CFF5 /* DJIDate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DJIDate.h; sourceTree = "<group>"; };
B05863931A7980CD00C2CFF5 /* DJIDate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DJIDate.mm; sourceTree = "<group>"; };
B097B6BB19B1C07E0047653A /* libtextsort_objc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libtextsort_objc.a; path = "../../build/Debug-iphoneos/libtextsort_objc.a"; sourceTree = "<group>"; }; B097B6BB19B1C07E0047653A /* libtextsort_objc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libtextsort_objc.a; path = "../../build/Debug-iphoneos/libtextsort_objc.a"; sourceTree = "<group>"; };
CF8788EB1A24D32D0058F854 /* TXSSortItems.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TXSSortItems.mm; sourceTree = "<group>"; };
CF8788EC1A24D32D0058F854 /* TXSSortItems+Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "TXSSortItems+Private.h"; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
...@@ -88,10 +62,6 @@ ...@@ -88,10 +62,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
65D7FDF219AD0C730038F82F /* handwritten-objc */, 65D7FDF219AD0C730038F82F /* handwritten-objc */,
65834E3919AC5D710061AD3F /* handwritten-cpp */,
65834E3219AC5CDA0061AD3F /* objc-support-lib */,
65834E2B19AC5CB90061AD3F /* generated-cpp */,
65834E1919AC5C9B0061AD3F /* generated-objc */,
65834DE619AC599E0061AD3F /* TextSort */, 65834DE619AC599E0061AD3F /* TextSort */,
65834DDF19AC599E0061AD3F /* Frameworks */, 65834DDF19AC599E0061AD3F /* Frameworks */,
65834DDE19AC599E0061AD3F /* Products */, 65834DDE19AC599E0061AD3F /* Products */,
...@@ -138,70 +108,16 @@ ...@@ -138,70 +108,16 @@
name = "Supporting Files"; name = "Supporting Files";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
65834E1919AC5C9B0061AD3F /* generated-objc */ = {
isa = PBXGroup;
children = (
65834E1E19AC5C9B0061AD3F /* TXSItemList.h */,
65834E1F19AC5C9B0061AD3F /* TXSItemList.mm */,
65834E1D19AC5C9B0061AD3F /* TXSItemList+Private.h */,
65834E2019AC5C9B0061AD3F /* TXSSortItems.h */,
CF8788EB1A24D32D0058F854 /* TXSSortItems.mm */,
CF8788EC1A24D32D0058F854 /* TXSSortItems+Private.h */,
65834E2419AC5C9B0061AD3F /* TXSTextboxListener.h */,
65834E2619AC5C9B0061AD3F /* TXSTextboxListenerObjcProxy.mm */,
65834E2519AC5C9B0061AD3F /* TXSTextboxListenerObjcProxy+Private.h */,
);
name = "generated-objc";
path = "../generated-src/objc";
sourceTree = "<group>";
};
65834E2B19AC5CB90061AD3F /* generated-cpp */ = {
isa = PBXGroup;
children = (
65834E2E19AC5CB90061AD3F /* item_list.hpp */,
65834E2F19AC5CB90061AD3F /* sort_items.hpp */,
65834E3019AC5CB90061AD3F /* textbox_listener.hpp */,
);
name = "generated-cpp";
path = "../generated-src/cpp";
sourceTree = "<group>";
};
65834E3219AC5CDA0061AD3F /* objc-support-lib */ = {
isa = PBXGroup;
children = (
B05863921A7980CD00C2CFF5 /* DJIDate.h */,
B05863931A7980CD00C2CFF5 /* DJIDate.mm */,
A29DB12A19BCB94300BFC38D /* DJICppWrapperCache+Private.h */,
A29DB12B19BCB94300BFC38D /* DJIError.h */,
A29DB12C19BCB94300BFC38D /* DJIError.mm */,
A29DB12D19BCB94300BFC38D /* DJIObjcWrapperCache+Private.h */,
A29DB12E19BCB94300BFC38D /* DJIWeakPtrWrapper.mm */,
A29DB12F19BCB94300BFC38D /* DJIWeakPtrWrapper+Private.h */,
);
name = "objc-support-lib";
path = "../../support-lib/objc";
sourceTree = "<group>";
};
65834E3919AC5D710061AD3F /* handwritten-cpp */ = {
isa = PBXGroup;
children = (
65834E3A19AC5D9F0061AD3F /* sort_items_impl.cpp */,
65834E3B19AC5D9F0061AD3F /* sort_items_impl.hpp */,
);
name = "handwritten-cpp";
path = "../handwritten-src/cpp";
sourceTree = "<group>";
};
65D7FDF219AD0C730038F82F /* handwritten-objc */ = { 65D7FDF219AD0C730038F82F /* handwritten-objc */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
65D7FDF319AD0CDF0038F82F /* main.m */, 65D7FDF319AD0CDF0038F82F /* main.mm */,
65D7FDF419AD0CDF0038F82F /* TXSAppDelegate.h */, 65D7FDF419AD0CDF0038F82F /* TXSAppDelegate.h */,
65D7FDF519AD0CDF0038F82F /* TXSAppDelegate.m */, 65D7FDF519AD0CDF0038F82F /* TXSAppDelegate.m */,
65D7FDF619AD0CDF0038F82F /* TXSTextboxListenerImpl.h */, 65D7FDF619AD0CDF0038F82F /* TXSTextboxListenerImpl.h */,
65D7FDF719AD0CDF0038F82F /* TXSTextboxListenerImpl.m */, 65D7FDF719AD0CDF0038F82F /* TXSTextboxListenerImpl.m */,
65D7FDF819AD0CDF0038F82F /* TXSViewController.h */, 65D7FDF819AD0CDF0038F82F /* TXSViewController.h */,
65D7FDF919AD0CDF0038F82F /* TXSViewController.mm */, 65D7FDF919AD0CDF0038F82F /* TXSViewController.m */,
); );
name = "handwritten-objc"; name = "handwritten-objc";
path = "../handwritten-src/objc"; path = "../handwritten-src/objc";
...@@ -274,13 +190,9 @@ ...@@ -274,13 +190,9 @@
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
65D7FDFC19AD0CDF0038F82F /* TXSTextboxListenerImpl.m in Sources */, 65D7FDFC19AD0CDF0038F82F /* TXSTextboxListenerImpl.m in Sources */,
A29DB13019BCB94300BFC38D /* DJIError.mm in Sources */,
B05863941A7980CD00C2CFF5 /* DJIDate.mm in Sources */,
65D7FDFB19AD0CDF0038F82F /* TXSAppDelegate.m in Sources */, 65D7FDFB19AD0CDF0038F82F /* TXSAppDelegate.m in Sources */,
65D7FDFD19AD0CDF0038F82F /* TXSViewController.mm in Sources */, 65D7FDFD19AD0CDF0038F82F /* TXSViewController.m in Sources */,
A29DB13119BCB94300BFC38D /* DJIWeakPtrWrapper.mm in Sources */, 65D7FDFA19AD0CDF0038F82F /* main.mm in Sources */,
65D7FDFA19AD0CDF0038F82F /* main.m in Sources */,
CF8788ED1A24D32D0058F854 /* TXSSortItems.mm in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
...@@ -342,6 +254,7 @@ ...@@ -342,6 +254,7 @@
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos; SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../support-lib/objc $(SRCROOT)/../generated-src/objc";
}; };
name = Debug; name = Debug;
}; };
...@@ -374,6 +287,7 @@ ...@@ -374,6 +287,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 7.1; IPHONEOS_DEPLOYMENT_TARGET = 7.1;
SDKROOT = iphoneos; SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "$(SRCROOT)/../../support-lib/objc $(SRCROOT)/../generated-src/objc";
VALIDATE_PRODUCT = YES; VALIDATE_PRODUCT = YES;
}; };
name = Release; name = Release;
......
...@@ -7,4 +7,7 @@ ...@@ -7,4 +7,7 @@
<FileRef <FileRef
location = "group:../../build_ios/example/libtextsort.xcodeproj"> location = "group:../../build_ios/example/libtextsort.xcodeproj">
</FileRef> </FileRef>
<FileRef
location = "group:../../build_ios/support-lib/support_lib.xcodeproj">
</FileRef>
</Workspace> </Workspace>
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="5056" systemVersion="13E28" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="vXZ-lx-hvc"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7531" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="vXZ-lx-hvc">
<dependencies> <dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="3733"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7520"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
</dependencies> </dependencies>
<scenes> <scenes>
<!--View Controller--> <!--View Controller-->
...@@ -16,16 +18,14 @@ ...@@ -16,16 +18,14 @@
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/> <rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews> <subviews>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" text="Type the lines to sort" translatesAutoresizingMaskIntoConstraints="NO" id="GOB-Ok-Z2R"> <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" text="Type the lines to sort" translatesAutoresizingMaskIntoConstraints="NO" id="GOB-Ok-Z2R">
<rect key="frame" x="21" y="58" width="278" height="429"/> <rect key="frame" x="16" y="28" width="288" height="482"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/> <fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
</textView> </textView>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="A93-rB-AZ4"> <button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="A93-rB-AZ4">
<rect key="frame" x="41" y="495" width="238" height="30"/> <rect key="frame" x="54" y="518" width="60" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" title="Sort"> <state key="normal" title="Sort">
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/> <color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state> </state>
...@@ -33,8 +33,38 @@ ...@@ -33,8 +33,38 @@
<action selector="sort:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="JmD-7I-e8t"/> <action selector="sort:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="JmD-7I-e8t"/>
</connections> </connections>
</button> </button>
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="81n-2H-7fH">
<rect key="frame" x="104" y="518" width="113" height="30"/>
<state key="normal" title="Reverse Sort">
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="reverseSort:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="3ph-FD-T7F"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" misplaced="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cv7-dA-P8a">
<rect key="frame" x="225" y="518" width="60" height="30"/>
<state key="normal" title="Random">
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="randomSort:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="Qm2-PQ-ghk"/>
</connections>
</button>
</subviews> </subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="cv7-dA-P8a" firstAttribute="leading" secondItem="81n-2H-7fH" secondAttribute="trailing" constant="8" id="6k6-kS-Uv4"/>
<constraint firstItem="81n-2H-7fH" firstAttribute="baseline" secondItem="cv7-dA-P8a" secondAttribute="baseline" id="EDF-c5-6UY"/>
<constraint firstItem="GOB-Ok-Z2R" firstAttribute="trailing" secondItem="kh9-bI-dsS" secondAttribute="trailingMargin" id="FcW-gp-TKr"/>
<constraint firstItem="cv7-dA-P8a" firstAttribute="top" secondItem="GOB-Ok-Z2R" secondAttribute="bottom" constant="8" id="LWK-fr-cJv"/>
<constraint firstItem="81n-2H-7fH" firstAttribute="leading" secondItem="A93-rB-AZ4" secondAttribute="trailing" constant="8" id="M4F-4D-BXj"/>
<constraint firstItem="2fi-mo-0CV" firstAttribute="top" secondItem="81n-2H-7fH" secondAttribute="bottom" constant="20" id="Skf-gJ-Pvn"/>
<constraint firstAttribute="centerX" secondItem="81n-2H-7fH" secondAttribute="centerX" id="dPr-yc-eNh"/>
<constraint firstItem="GOB-Ok-Z2R" firstAttribute="top" secondItem="jyV-Pf-zRb" secondAttribute="bottom" constant="8" id="r9O-jI-RXe"/>
<constraint firstItem="81n-2H-7fH" firstAttribute="baseline" secondItem="A93-rB-AZ4" secondAttribute="baseline" id="sDL-eI-t03"/>
<constraint firstItem="GOB-Ok-Z2R" firstAttribute="leading" secondItem="kh9-bI-dsS" secondAttribute="leadingMargin" id="ykx-tI-cFm"/>
</constraints>
</view> </view>
<navigationItem key="navigationItem" id="LTz-Tk-BIg"/> <navigationItem key="navigationItem" id="LTz-Tk-BIg"/>
<connections> <connections>
......
...@@ -157,7 +157,7 @@ class ObjcppGenerator(spec: Spec) extends Generator(spec) { ...@@ -157,7 +157,7 @@ class ObjcppGenerator(spec: Spec) extends Generator(spec) {
w.wl w.wl
w.wl(s"auto $helperClass::fromCpp(const CppType& cpp) -> ObjcType") w.wl(s"auto $helperClass::fromCpp(const CppType& cpp) -> ObjcType")
w.braced { w.braced {
w.wl(s"return !cpp ? nil : ::djinni::DbxCppWrapperCache<$cppSelf>::getInstance()->get(cpp, [] (const auto& p)").bracedEnd(");") { w.wl(s"return !cpp ? nil : ::djinni::DbxCppWrapperCache<$cppSelf>::getInstance()->get(cpp, [] (const CppType& p)").bracedEnd(");") {
w.wl(s"return [[$self alloc] initWithCpp:p];") w.wl(s"return [[$self alloc] initWithCpp:p];")
} }
} }
......
...@@ -31,7 +31,7 @@ auto CppException::toCpp(ObjcType objc) -> CppType ...@@ -31,7 +31,7 @@ auto CppException::toCpp(ObjcType objc) -> CppType
auto CppException::fromCpp(const CppType& cpp) -> ObjcType auto CppException::fromCpp(const CppType& cpp) -> ObjcType
{ {
return !cpp ? nil : ::djinni::DbxCppWrapperCache<::CppException>::getInstance()->get(cpp, [] (const auto& p) return !cpp ? nil : ::djinni::DbxCppWrapperCache<::CppException>::getInstance()->get(cpp, [] (const CppType& p)
{ {
return [[DBCppException alloc] initWithCpp:p]; return [[DBCppException alloc] initWithCpp:p];
}); });
......
...@@ -37,7 +37,7 @@ auto TestHelpers::toCpp(ObjcType objc) -> CppType ...@@ -37,7 +37,7 @@ auto TestHelpers::toCpp(ObjcType objc) -> CppType
auto TestHelpers::fromCpp(const CppType& cpp) -> ObjcType auto TestHelpers::fromCpp(const CppType& cpp) -> ObjcType
{ {
return !cpp ? nil : ::djinni::DbxCppWrapperCache<::TestHelpers>::getInstance()->get(cpp, [] (const auto& p) return !cpp ? nil : ::djinni::DbxCppWrapperCache<::TestHelpers>::getInstance()->get(cpp, [] (const CppType& p)
{ {
return [[DBTestHelpers alloc] initWithCpp:p]; return [[DBTestHelpers alloc] initWithCpp:p];
}); });
......
...@@ -29,7 +29,7 @@ auto Token::toCpp(ObjcType objc) -> CppType ...@@ -29,7 +29,7 @@ auto Token::toCpp(ObjcType objc) -> CppType
auto Token::fromCpp(const CppType& cpp) -> ObjcType auto Token::fromCpp(const CppType& cpp) -> ObjcType
{ {
return !cpp ? nil : ::djinni::DbxCppWrapperCache<::Token>::getInstance()->get(cpp, [] (const auto& p) return !cpp ? nil : ::djinni::DbxCppWrapperCache<::Token>::getInstance()->get(cpp, [] (const CppType& p)
{ {
return [[DBToken alloc] initWithCpp:p]; return [[DBToken alloc] initWithCpp:p];
}); });
......
...@@ -82,9 +82,10 @@ ...@@ -82,9 +82,10 @@
- (void)checkObjcMap:(NSDictionary *)objcMap - (void)checkObjcMap:(NSDictionary *)objcMap
{ {
XCTAssertEqual([objcMap count], (NSUInteger)3, @"Count 3 expected, actual: %lu", (unsigned long)[objcMap count]); XCTAssertEqual([objcMap count], (NSUInteger)3, @"Count 3 expected, actual: %lu", (unsigned long)[objcMap count]);
XCTAssertEqual([objcMap objectForKey:@"String1"], @1, @"\"String1 -> 1\" expected"); // Must test with exact NSNumber constructor as used in DJIMarshal otherwise NSNumber comparison fails on x86_64 simulator devices
XCTAssertEqual([objcMap objectForKey:@"String2"], @2, @"\"String2 -> 2\" expected"); XCTAssertEqual([objcMap objectForKey:@"String1"], @((int64_t)1), @"\"String1 -> 1\" expected");
XCTAssertEqual([objcMap objectForKey:@"String3"], @3, @"\"String3 -> 3\" expected"); XCTAssertEqual([objcMap objectForKey:@"String2"], @((int64_t)2), @"\"String2 -> 2\" expected");
XCTAssertEqual([objcMap objectForKey:@"String3"], @((int64_t)3), @"\"String3 -> 3\" expected");
} }
- (std::unordered_map<std::string, int64_t>)getCppMap - (std::unordered_map<std::string, int64_t>)getCppMap
......
...@@ -579,7 +579,7 @@ ...@@ -579,7 +579,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "c++14";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
...@@ -622,7 +622,7 @@ ...@@ -622,7 +622,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "c++14";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
...@@ -658,13 +658,8 @@ ...@@ -658,13 +658,8 @@
65868B6E1989FE4200D60EEE /* Debug */ = { 65868B6E1989FE4200D60EEE /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
DSTROOT = /tmp/DjinniObjcTest.dst; DSTROOT = /tmp/DjinniObjcTest.dst;
GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO;
OTHER_CPLUSPLUSFLAGS = (
"-std=c++14",
"$(OTHER_CFLAGS)",
);
OTHER_LDFLAGS = "-ObjC"; OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = DjinniObjcTest; PRODUCT_NAME = DjinniObjcTest;
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
...@@ -679,13 +674,8 @@ ...@@ -679,13 +674,8 @@
65868B6F1989FE4200D60EEE /* Release */ = { 65868B6F1989FE4200D60EEE /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
DSTROOT = /tmp/DjinniObjcTest.dst; DSTROOT = /tmp/DjinniObjcTest.dst;
GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO;
OTHER_CPLUSPLUSFLAGS = (
"-std=c++14",
"$(OTHER_CFLAGS)",
);
OTHER_LDFLAGS = "-ObjC"; OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = DjinniObjcTest; PRODUCT_NAME = DjinniObjcTest;
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
...@@ -700,7 +690,6 @@ ...@@ -700,7 +690,6 @@
65868B711989FE4200D60EEE /* Debug */ = { 65868B711989FE4200D60EEE /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks", "$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)", "$(inherited)",
...@@ -725,7 +714,6 @@ ...@@ -725,7 +714,6 @@
65868B721989FE4200D60EEE /* Release */ = { 65868B721989FE4200D60EEE /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "c++14";
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
"$(SDKROOT)/Developer/Library/Frameworks", "$(SDKROOT)/Developer/Library/Frameworks",
"$(inherited)", "$(inherited)",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment