motion-yapper 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +20 -0
  3. data/.travis.yml +6 -0
  4. data/Gemfile +5 -0
  5. data/Gemfile.lock +63 -0
  6. data/README.md +16 -0
  7. data/Rakefile +20 -0
  8. data/app/app_delegate.rb +5 -0
  9. data/lib/yapper.rb +30 -0
  10. data/lib/yapper/attachment.rb +48 -0
  11. data/lib/yapper/bson.rb +20 -0
  12. data/lib/yapper/config.rb +18 -0
  13. data/lib/yapper/db.rb +151 -0
  14. data/lib/yapper/document.rb +54 -0
  15. data/lib/yapper/document/attachment.rb +26 -0
  16. data/lib/yapper/document/callbacks.rb +86 -0
  17. data/lib/yapper/document/persistance.rb +171 -0
  18. data/lib/yapper/document/relation.rb +84 -0
  19. data/lib/yapper/document/selection.rb +100 -0
  20. data/lib/yapper/extensions.rb +80 -0
  21. data/lib/yapper/log.rb +5 -0
  22. data/lib/yapper/sync.rb +134 -0
  23. data/lib/yapper/sync/data.rb +12 -0
  24. data/lib/yapper/sync/event.rb +194 -0
  25. data/lib/yapper/sync/queue.rb +164 -0
  26. data/lib/yapper/timestamps.rb +16 -0
  27. data/lib/yapper/version.rb +3 -0
  28. data/lib/yapper/yapper.rb +2 -0
  29. data/spec/helpers/time_helper.rb +3 -0
  30. data/spec/integration/all_spec.rb +40 -0
  31. data/spec/integration/callback_spec.rb +87 -0
  32. data/spec/integration/db_spec.rb +40 -0
  33. data/spec/integration/find_spec.rb +51 -0
  34. data/spec/integration/persistance_spec.rb +118 -0
  35. data/spec/integration/relation_spec.rb +174 -0
  36. data/spec/integration/sync_spec.rb +42 -0
  37. data/spec/integration/timestamps_spec.rb +34 -0
  38. data/spec/integration/types_spec.rb +23 -0
  39. data/spec/integration/when_spec.rb +29 -0
  40. data/spec/integration/where_spec.rb +132 -0
  41. data/vendor/Podfile.lock +24 -0
  42. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPClient.h +641 -0
  43. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPClient.m +1396 -0
  44. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.h +133 -0
  45. data/vendor/Pods/AFNetworking/AFNetworking/AFHTTPRequestOperation.m +327 -0
  46. data/vendor/Pods/AFNetworking/AFNetworking/AFImageRequestOperation.h +113 -0
  47. data/vendor/Pods/AFNetworking/AFNetworking/AFImageRequestOperation.m +321 -0
  48. data/vendor/Pods/AFNetworking/AFNetworking/AFJSONRequestOperation.h +71 -0
  49. data/vendor/Pods/AFNetworking/AFNetworking/AFJSONRequestOperation.m +150 -0
  50. data/vendor/Pods/AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.h +75 -0
  51. data/vendor/Pods/AFNetworking/AFNetworking/AFNetworkActivityIndicatorManager.m +157 -0
  52. data/vendor/Pods/AFNetworking/AFNetworking/AFNetworking.h +43 -0
  53. data/vendor/Pods/AFNetworking/AFNetworking/AFPropertyListRequestOperation.h +68 -0
  54. data/vendor/Pods/AFNetworking/AFNetworking/AFPropertyListRequestOperation.m +143 -0
  55. data/vendor/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.h +370 -0
  56. data/vendor/Pods/AFNetworking/AFNetworking/AFURLConnectionOperation.m +848 -0
  57. data/vendor/Pods/AFNetworking/AFNetworking/AFXMLRequestOperation.h +89 -0
  58. data/vendor/Pods/AFNetworking/AFNetworking/AFXMLRequestOperation.m +167 -0
  59. data/vendor/Pods/AFNetworking/AFNetworking/UIImageView+AFNetworking.h +78 -0
  60. data/vendor/Pods/AFNetworking/AFNetworking/UIImageView+AFNetworking.m +191 -0
  61. data/vendor/Pods/AFNetworking/LICENSE +19 -0
  62. data/vendor/Pods/AFNetworking/README.md +208 -0
  63. data/vendor/Pods/BuildHeaders/AFNetworking/AFHTTPClient.h +641 -0
  64. data/vendor/Pods/BuildHeaders/AFNetworking/AFHTTPRequestOperation.h +133 -0
  65. data/vendor/Pods/BuildHeaders/AFNetworking/AFImageRequestOperation.h +113 -0
  66. data/vendor/Pods/BuildHeaders/AFNetworking/AFJSONRequestOperation.h +71 -0
  67. data/vendor/Pods/BuildHeaders/AFNetworking/AFNetworkActivityIndicatorManager.h +75 -0
  68. data/vendor/Pods/BuildHeaders/AFNetworking/AFNetworking.h +43 -0
  69. data/vendor/Pods/BuildHeaders/AFNetworking/AFPropertyListRequestOperation.h +68 -0
  70. data/vendor/Pods/BuildHeaders/AFNetworking/AFURLConnectionOperation.h +370 -0
  71. data/vendor/Pods/BuildHeaders/AFNetworking/AFXMLRequestOperation.h +89 -0
  72. data/vendor/Pods/BuildHeaders/AFNetworking/UIImageView+AFNetworking.h +78 -0
  73. data/vendor/Pods/BuildHeaders/CocoaLumberjack/ContextFilterLogFormatter.h +65 -0
  74. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDASLLogger.h +41 -0
  75. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDAbstractDatabaseLogger.h +102 -0
  76. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDFileLogger.h +334 -0
  77. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDLog.h +601 -0
  78. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DDTTYLogger.h +167 -0
  79. data/vendor/Pods/BuildHeaders/CocoaLumberjack/DispatchQueueLogFormatter.h +116 -0
  80. data/vendor/Pods/BuildHeaders/NSData+MD5Digest/NSData+MD5Digest.h +18 -0
  81. data/vendor/Pods/BuildHeaders/Reachability/Reachability.h +109 -0
  82. data/vendor/Pods/BuildHeaders/YapDatabase/YapCache.h +90 -0
  83. data/vendor/Pods/BuildHeaders/YapDatabase/YapCollectionKey.h +20 -0
  84. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabase.h +547 -0
  85. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseConnection.h +447 -0
  86. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseConnectionState.h +29 -0
  87. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseDefaults.h +37 -0
  88. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtension.h +15 -0
  89. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionConnection.h +11 -0
  90. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionPrivate.h +440 -0
  91. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseExtensionTransaction.h +11 -0
  92. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredView.h +108 -0
  93. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewConnection.h +12 -0
  94. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewPrivate.h +19 -0
  95. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFilteredViewTransaction.h +39 -0
  96. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearch.h +89 -0
  97. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchConnection.h +32 -0
  98. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchPrivate.h +69 -0
  99. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchSnippetOptions.h +79 -0
  100. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseFullTextSearchTransaction.h +68 -0
  101. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseLogging.h +158 -0
  102. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseManager.h +17 -0
  103. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabasePrivate.h +424 -0
  104. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseQuery.h +42 -0
  105. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndex.h +100 -0
  106. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexConnection.h +33 -0
  107. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexPrivate.h +73 -0
  108. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexSetup.h +33 -0
  109. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseSecondaryIndexTransaction.h +58 -0
  110. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseStatement.h +13 -0
  111. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseString.h +121 -0
  112. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseTransaction.h +541 -0
  113. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseView.h +186 -0
  114. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewChange.h +272 -0
  115. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewChangePrivate.h +94 -0
  116. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewConnection.h +115 -0
  117. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewMappings.h +825 -0
  118. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewMappingsPrivate.h +72 -0
  119. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewOptions.h +56 -0
  120. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPage.h +36 -0
  121. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPageMetadata.h +27 -0
  122. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewPrivate.h +153 -0
  123. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewRangeOptions.h +330 -0
  124. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewRangeOptionsPrivate.h +17 -0
  125. data/vendor/Pods/BuildHeaders/YapDatabase/YapDatabaseViewTransaction.h +447 -0
  126. data/vendor/Pods/BuildHeaders/YapDatabase/YapMemoryTable.h +74 -0
  127. data/vendor/Pods/BuildHeaders/YapDatabase/YapNull.h +17 -0
  128. data/vendor/Pods/BuildHeaders/YapDatabase/YapSet.h +41 -0
  129. data/vendor/Pods/BuildHeaders/YapDatabase/YapTouch.h +15 -0
  130. data/vendor/Pods/CocoaLumberjack/LICENSE.txt +18 -0
  131. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.h +41 -0
  132. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDASLLogger.m +99 -0
  133. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.h +102 -0
  134. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDAbstractDatabaseLogger.m +727 -0
  135. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.h +334 -0
  136. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDFileLogger.m +1353 -0
  137. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.h +601 -0
  138. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDLog.m +1083 -0
  139. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.h +167 -0
  140. data/vendor/Pods/CocoaLumberjack/Lumberjack/DDTTYLogger.m +1479 -0
  141. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/ContextFilterLogFormatter.h +65 -0
  142. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/ContextFilterLogFormatter.m +191 -0
  143. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DispatchQueueLogFormatter.h +116 -0
  144. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/DispatchQueueLogFormatter.m +251 -0
  145. data/vendor/Pods/CocoaLumberjack/Lumberjack/Extensions/README.txt +7 -0
  146. data/vendor/Pods/CocoaLumberjack/README.markdown +37 -0
  147. data/vendor/Pods/Headers/AFNetworking/AFHTTPClient.h +641 -0
  148. data/vendor/Pods/Headers/AFNetworking/AFHTTPRequestOperation.h +133 -0
  149. data/vendor/Pods/Headers/AFNetworking/AFImageRequestOperation.h +113 -0
  150. data/vendor/Pods/Headers/AFNetworking/AFJSONRequestOperation.h +71 -0
  151. data/vendor/Pods/Headers/AFNetworking/AFNetworkActivityIndicatorManager.h +75 -0
  152. data/vendor/Pods/Headers/AFNetworking/AFNetworking.h +43 -0
  153. data/vendor/Pods/Headers/AFNetworking/AFPropertyListRequestOperation.h +68 -0
  154. data/vendor/Pods/Headers/AFNetworking/AFURLConnectionOperation.h +370 -0
  155. data/vendor/Pods/Headers/AFNetworking/AFXMLRequestOperation.h +89 -0
  156. data/vendor/Pods/Headers/AFNetworking/UIImageView+AFNetworking.h +78 -0
  157. data/vendor/Pods/Headers/CocoaLumberjack/ContextFilterLogFormatter.h +65 -0
  158. data/vendor/Pods/Headers/CocoaLumberjack/DDASLLogger.h +41 -0
  159. data/vendor/Pods/Headers/CocoaLumberjack/DDAbstractDatabaseLogger.h +102 -0
  160. data/vendor/Pods/Headers/CocoaLumberjack/DDFileLogger.h +334 -0
  161. data/vendor/Pods/Headers/CocoaLumberjack/DDLog.h +601 -0
  162. data/vendor/Pods/Headers/CocoaLumberjack/DDTTYLogger.h +167 -0
  163. data/vendor/Pods/Headers/CocoaLumberjack/DispatchQueueLogFormatter.h +116 -0
  164. data/vendor/Pods/Headers/NSData+MD5Digest/NSData+MD5Digest.h +18 -0
  165. data/vendor/Pods/Headers/Reachability/Reachability.h +109 -0
  166. data/vendor/Pods/Headers/YapDatabase/YapCache.h +90 -0
  167. data/vendor/Pods/Headers/YapDatabase/YapCollectionKey.h +20 -0
  168. data/vendor/Pods/Headers/YapDatabase/YapDatabase.h +547 -0
  169. data/vendor/Pods/Headers/YapDatabase/YapDatabaseConnection.h +447 -0
  170. data/vendor/Pods/Headers/YapDatabase/YapDatabaseConnectionState.h +29 -0
  171. data/vendor/Pods/Headers/YapDatabase/YapDatabaseDefaults.h +37 -0
  172. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtension.h +15 -0
  173. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionConnection.h +11 -0
  174. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionPrivate.h +440 -0
  175. data/vendor/Pods/Headers/YapDatabase/YapDatabaseExtensionTransaction.h +11 -0
  176. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredView.h +108 -0
  177. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewConnection.h +12 -0
  178. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewPrivate.h +19 -0
  179. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFilteredViewTransaction.h +39 -0
  180. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearch.h +89 -0
  181. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchConnection.h +32 -0
  182. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchPrivate.h +69 -0
  183. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchSnippetOptions.h +79 -0
  184. data/vendor/Pods/Headers/YapDatabase/YapDatabaseFullTextSearchTransaction.h +68 -0
  185. data/vendor/Pods/Headers/YapDatabase/YapDatabaseLogging.h +158 -0
  186. data/vendor/Pods/Headers/YapDatabase/YapDatabaseManager.h +17 -0
  187. data/vendor/Pods/Headers/YapDatabase/YapDatabasePrivate.h +424 -0
  188. data/vendor/Pods/Headers/YapDatabase/YapDatabaseQuery.h +42 -0
  189. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndex.h +100 -0
  190. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexConnection.h +33 -0
  191. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexPrivate.h +73 -0
  192. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexSetup.h +33 -0
  193. data/vendor/Pods/Headers/YapDatabase/YapDatabaseSecondaryIndexTransaction.h +58 -0
  194. data/vendor/Pods/Headers/YapDatabase/YapDatabaseStatement.h +13 -0
  195. data/vendor/Pods/Headers/YapDatabase/YapDatabaseString.h +121 -0
  196. data/vendor/Pods/Headers/YapDatabase/YapDatabaseTransaction.h +541 -0
  197. data/vendor/Pods/Headers/YapDatabase/YapDatabaseView.h +186 -0
  198. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewChange.h +272 -0
  199. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewChangePrivate.h +94 -0
  200. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewConnection.h +115 -0
  201. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewMappings.h +825 -0
  202. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewMappingsPrivate.h +72 -0
  203. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewOptions.h +56 -0
  204. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPage.h +36 -0
  205. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPageMetadata.h +27 -0
  206. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewPrivate.h +153 -0
  207. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewRangeOptions.h +330 -0
  208. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewRangeOptionsPrivate.h +17 -0
  209. data/vendor/Pods/Headers/YapDatabase/YapDatabaseViewTransaction.h +447 -0
  210. data/vendor/Pods/Headers/YapDatabase/YapMemoryTable.h +74 -0
  211. data/vendor/Pods/Headers/YapDatabase/YapNull.h +17 -0
  212. data/vendor/Pods/Headers/YapDatabase/YapSet.h +41 -0
  213. data/vendor/Pods/Headers/YapDatabase/YapTouch.h +15 -0
  214. data/vendor/Pods/Headers/____Pods-AFNetworking-prefix.h +17 -0
  215. data/vendor/Pods/Headers/____Pods-CocoaLumberjack-prefix.h +5 -0
  216. data/vendor/Pods/Headers/____Pods-NSData+MD5Digest-prefix.h +5 -0
  217. data/vendor/Pods/Headers/____Pods-Reachability-prefix.h +5 -0
  218. data/vendor/Pods/Headers/____Pods-YapDatabase-prefix.h +5 -0
  219. data/vendor/Pods/Headers/____Pods-environment.h +38 -0
  220. data/vendor/Pods/Manifest.lock +24 -0
  221. data/vendor/Pods/NSData+MD5Digest/NSData+MD5Digest/NSData+MD5Digest.h +18 -0
  222. data/vendor/Pods/NSData+MD5Digest/NSData+MD5Digest/NSData+MD5Digest.m +39 -0
  223. data/vendor/Pods/NSData+MD5Digest/README.md +11 -0
  224. data/vendor/Pods/Pods-AFNetworking-Private.xcconfig +5 -0
  225. data/vendor/Pods/Pods-AFNetworking-dummy.m +5 -0
  226. data/vendor/Pods/Pods-AFNetworking-prefix.pch +17 -0
  227. data/vendor/Pods/Pods-AFNetworking.xcconfig +1 -0
  228. data/vendor/Pods/Pods-Acknowledgements.markdown +96 -0
  229. data/vendor/Pods/Pods-Acknowledgements.plist +142 -0
  230. data/vendor/Pods/Pods-CocoaLumberjack-Private.xcconfig +5 -0
  231. data/vendor/Pods/Pods-CocoaLumberjack-dummy.m +5 -0
  232. data/vendor/Pods/Pods-CocoaLumberjack-prefix.pch +5 -0
  233. data/vendor/Pods/Pods-CocoaLumberjack.xcconfig +0 -0
  234. data/vendor/Pods/Pods-NSData+MD5Digest-Private.xcconfig +5 -0
  235. data/vendor/Pods/Pods-NSData+MD5Digest-dummy.m +5 -0
  236. data/vendor/Pods/Pods-NSData+MD5Digest-prefix.pch +5 -0
  237. data/vendor/Pods/Pods-NSData+MD5Digest.xcconfig +0 -0
  238. data/vendor/Pods/Pods-Reachability-Private.xcconfig +5 -0
  239. data/vendor/Pods/Pods-Reachability-dummy.m +5 -0
  240. data/vendor/Pods/Pods-Reachability-prefix.pch +5 -0
  241. data/vendor/Pods/Pods-Reachability.xcconfig +1 -0
  242. data/vendor/Pods/Pods-YapDatabase-Private.xcconfig +5 -0
  243. data/vendor/Pods/Pods-YapDatabase-dummy.m +5 -0
  244. data/vendor/Pods/Pods-YapDatabase-prefix.pch +5 -0
  245. data/vendor/Pods/Pods-YapDatabase.xcconfig +1 -0
  246. data/vendor/Pods/Pods-dummy.m +5 -0
  247. data/vendor/Pods/Pods-environment.h +38 -0
  248. data/vendor/Pods/Pods-resources.sh +68 -0
  249. data/vendor/Pods/Pods.bridgesupport +5096 -0
  250. data/vendor/Pods/Pods.xcconfig +5 -0
  251. data/vendor/Pods/Pods.xcodeproj/project.pbxproj +5536 -0
  252. data/vendor/Pods/Reachability/LICENCE.txt +24 -0
  253. data/vendor/Pods/Reachability/README.md +65 -0
  254. data/vendor/Pods/Reachability/Reachability.h +109 -0
  255. data/vendor/Pods/Reachability/Reachability.m +527 -0
  256. data/vendor/Pods/YapDatabase/LICENSE.txt +18 -0
  257. data/vendor/Pods/YapDatabase/README.md +30 -0
  258. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/Internal/YapDatabaseFilteredViewPrivate.h +19 -0
  259. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.h +108 -0
  260. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredView.m +175 -0
  261. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewConnection.h +12 -0
  262. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewConnection.m +41 -0
  263. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.h +39 -0
  264. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FilteredViews/YapDatabaseFilteredViewTransaction.m +966 -0
  265. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/Internal/YapDatabaseFullTextSearchPrivate.h +69 -0
  266. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.h +89 -0
  267. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearch.m +146 -0
  268. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.h +32 -0
  269. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchConnection.m +298 -0
  270. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.h +79 -0
  271. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchSnippetOptions.m +95 -0
  272. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.h +68 -0
  273. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/FullTextSearch/YapDatabaseFullTextSearchTransaction.m +1352 -0
  274. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/Internal/YapDatabaseExtensionPrivate.h +440 -0
  275. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.h +15 -0
  276. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtension.m +58 -0
  277. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.h +11 -0
  278. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionConnection.m +46 -0
  279. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.h +11 -0
  280. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Protocol/YapDatabaseExtensionTransaction.m +180 -0
  281. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/Internal/YapDatabaseSecondaryIndexPrivate.h +73 -0
  282. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.h +100 -0
  283. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndex.m +149 -0
  284. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.h +33 -0
  285. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexConnection.m +330 -0
  286. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.h +33 -0
  287. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexSetup.m +184 -0
  288. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.h +58 -0
  289. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/SecondaryIndex/YapDatabaseSecondaryIndexTransaction.m +1166 -0
  290. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewChangePrivate.h +94 -0
  291. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewMappingsPrivate.h +72 -0
  292. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPage.h +36 -0
  293. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPage.mm +296 -0
  294. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPageMetadata.h +27 -0
  295. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPageMetadata.m +28 -0
  296. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewPrivate.h +153 -0
  297. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Internal/YapDatabaseViewRangeOptionsPrivate.h +17 -0
  298. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.h +272 -0
  299. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewChange.m +2494 -0
  300. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.h +825 -0
  301. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewMappings.m +1567 -0
  302. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewRangeOptions.h +330 -0
  303. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/Utilities/YapDatabaseViewRangeOptions.m +141 -0
  304. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.h +186 -0
  305. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseView.m +191 -0
  306. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.h +115 -0
  307. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewConnection.m +897 -0
  308. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.h +56 -0
  309. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewOptions.m +27 -0
  310. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.h +447 -0
  311. data/vendor/Pods/YapDatabase/YapDatabase/Extensions/Views/YapDatabaseViewTransaction.m +4505 -0
  312. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.h +90 -0
  313. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapCache.m +453 -0
  314. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseConnectionState.h +29 -0
  315. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseConnectionState.m +48 -0
  316. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.h +37 -0
  317. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseDefaults.m +83 -0
  318. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseLogging.h +158 -0
  319. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseLogging.m +73 -0
  320. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseManager.h +17 -0
  321. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseManager.m +56 -0
  322. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabasePrivate.h +424 -0
  323. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseStatement.h +13 -0
  324. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseStatement.m +26 -0
  325. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapDatabaseString.h +121 -0
  326. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapMemoryTable.h +74 -0
  327. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapMemoryTable.m +603 -0
  328. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapNull.h +17 -0
  329. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapNull.m +31 -0
  330. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapTouch.h +15 -0
  331. data/vendor/Pods/YapDatabase/YapDatabase/Internal/YapTouch.m +31 -0
  332. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.h +20 -0
  333. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapCollectionKey.m +194 -0
  334. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapDatabaseQuery.h +42 -0
  335. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapDatabaseQuery.m +96 -0
  336. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapSet.h +41 -0
  337. data/vendor/Pods/YapDatabase/YapDatabase/Utilities/YapSet.m +82 -0
  338. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.h +547 -0
  339. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabase.m +2022 -0
  340. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.h +447 -0
  341. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseConnection.m +3874 -0
  342. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.h +541 -0
  343. data/vendor/Pods/YapDatabase/YapDatabase/YapDatabaseTransaction.m +5282 -0
  344. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.bridgesupport +16 -0
  345. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.h +13 -0
  346. data/vendor/YapDatabaseRubyMotion/YapDatabaseRubyMotion.m +20 -0
  347. data/yapper.gemspec +24 -0
  348. metadata +458 -0
@@ -0,0 +1,94 @@
1
+ #import "YapDatabaseViewChange.h"
2
+ #import "YapDatabaseViewMappings.h"
3
+
4
+ /**
5
+ * This header file is PRIVATE, and is only to be used by the YapDatabaseView classes.
6
+ **/
7
+
8
+ @interface YapDatabaseViewSectionChange () {
9
+ @public
10
+
11
+ // This header file is PRIVATE, and is only to be used by YapDatabaseView classes
12
+
13
+ NSString *group; // immutable
14
+ BOOL isReset; // immutable
15
+
16
+ YapDatabaseViewChangeType type; // mutable during consolidation
17
+
18
+ NSUInteger originalSection; // mutable during pre-processing
19
+ NSUInteger finalSection; // mutable during pre-processing
20
+ }
21
+
22
+ + (YapDatabaseViewSectionChange *)insertGroup:(NSString *)group;
23
+ + (YapDatabaseViewSectionChange *)deleteGroup:(NSString *)group;
24
+
25
+ + (YapDatabaseViewSectionChange *)resetGroup:(NSString *)group;
26
+
27
+ @end
28
+
29
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
30
+ #pragma mark -
31
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
32
+
33
+ @interface YapDatabaseViewRowChange () {
34
+ @public
35
+
36
+ // This header file is PRIVATE, and is only to be used by YapDatabaseView classes
37
+
38
+ id key; // immutable
39
+
40
+ NSString *originalGroup; // immutable
41
+ NSString *finalGroup; // mutable during consolidation
42
+
43
+ YapDatabaseViewChangeType type; // mutable during consolidation
44
+ int changes; // mutable during consolidation
45
+
46
+ NSUInteger opOriginalIndex; // immutable
47
+ NSUInteger opFinalIndex; // immutable
48
+
49
+ NSUInteger originalIndex; // mutable during processing
50
+ NSUInteger finalIndex; // mutable during processing
51
+
52
+ NSUInteger originalSection; // mutable during pre-processing
53
+ NSUInteger finalSection; // mutable during pre-processing
54
+ }
55
+
56
+ /**
57
+ * During a transaction, there are only 3 row change types that may be recorded.
58
+ *
59
+ * Post-processing figures out everything else, such as if an item was moved,
60
+ * or if multiple operations can be consolidated into one.
61
+ **/
62
+
63
+ + (YapDatabaseViewRowChange *)insertKey:(id)key inGroup:(NSString *)group atIndex:(NSUInteger)index;
64
+ + (YapDatabaseViewRowChange *)deleteKey:(id)key inGroup:(NSString *)group atIndex:(NSUInteger)index;
65
+
66
+ + (YapDatabaseViewRowChange *)updateKey:(id)key changes:(int)flags inGroup:(NSString *)group atIndex:(NSUInteger)index;
67
+
68
+ @end
69
+
70
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
71
+ #pragma mark -
72
+ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
73
+
74
+ @interface YapDatabaseViewChange : NSObject
75
+
76
+ /**
77
+ * The brains behind the post-processing logic.
78
+ * Exposed privately to be used by the unit tests.
79
+ **/
80
+ + (void)processRowChanges:(NSMutableArray *)changes;
81
+ + (void)consolidateRowChanges:(NSMutableArray *)changes;
82
+
83
+ /**
84
+ * This method applies the given mappings, and then invokes the post-processing method.
85
+ *
86
+ * This method is ONLY to be used by YapDatabaseViewConnection.
87
+ **/
88
+ + (void)getSectionChanges:(NSArray **)sectionChangesPtr
89
+ rowChanges:(NSArray **)rowChangesPtr
90
+ withOriginalMappings:(YapDatabaseViewMappings *)originalMappings
91
+ finalMappings:(YapDatabaseViewMappings *)finalMappings
92
+ fromChanges:(NSArray *)changes;
93
+
94
+ @end
@@ -0,0 +1,72 @@
1
+ #import "YapDatabaseViewMappings.h"
2
+
3
+ /**
4
+ * This header file is PRIVATE, and is only to be used by the YapDatabaseView classes.
5
+ **/
6
+
7
+ @interface YapDatabaseViewMappings ()
8
+
9
+ /**
10
+ * For UNIT TESTING only.
11
+ **/
12
+ - (void)updateWithCounts:(NSDictionary *)counts;
13
+
14
+ /**
15
+ * Returns a mutable copy of the count dictionary, where:
16
+ * key = group
17
+ * value = NSNumber of count of items
18
+ **/
19
+ - (NSMutableDictionary *)counts;
20
+
21
+ /**
22
+ * fullCountForGroup => Count from view.group (excluding rangeOptions)
23
+ * visibleCountForGroup => Subset count (including rangeOptions)
24
+ **/
25
+ - (NSUInteger)fullCountForGroup:(NSString *)group;
26
+ - (NSUInteger)visibleCountForGroup:(NSString *)group;
27
+
28
+ /**
29
+ * Returns a copy of the rangeOptions dictionary, where:
30
+ * key = group
31
+ * value = YapDatabaseViewMappingsRangeOptions
32
+ **/
33
+ - (NSDictionary *)rangeOptions;
34
+
35
+ /**
36
+ * This method is used by YapDatabaseViewChange.
37
+ *
38
+ * After processing changeset(s), the length and/or offset may change.
39
+ * The new length and/or offsets are properly calculated,
40
+ * and then this method is used to avoid duplicating the calculations.
41
+ *
42
+ * Note: After invoking this method, be sure to invoke updateVisibility (after all groups have been updated).
43
+ **/
44
+ - (void)updateRangeOptionsForGroup:(NSString *)group
45
+ withNewLength:(NSUInteger)newLength
46
+ newOffset:(NSUInteger)newOffset;
47
+
48
+ /**
49
+ * Normally this method is called automatically.
50
+ * But needs to be called manually if you use updateRangeOptionsForGroup:withNewLength:newOffset:
51
+ **/
52
+ - (void)updateVisibility;
53
+
54
+ /**
55
+ * Returns a copy of the dependencies dictionary, where:
56
+ * key = group
57
+ * value = NSSet of cellDrawingDependency offsets
58
+ **/
59
+ - (NSDictionary *)dependencies;
60
+
61
+ /**
62
+ * Returns a copy of the reverse set, which contains groups that are to be reversed.
63
+ **/
64
+ - (NSSet *)reverse;
65
+
66
+ /**
67
+ * During processing we need to disable the the isUsingConsolidatedGroup flag
68
+ * in order to access the raw mappings.
69
+ **/
70
+ - (void)setAutoConsolidatingDisabled:(BOOL)disabled;
71
+
72
+ @end
@@ -0,0 +1,36 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ @interface YapDatabaseViewPage : NSObject <NSCopying>
4
+
5
+ - (id)init;
6
+ - (id)initWithCapacity:(NSUInteger)capacity;
7
+
8
+ - (NSData *)serialize;
9
+ - (void)deserialize:(NSData *)data;
10
+
11
+ - (NSUInteger)count;
12
+
13
+ - (int64_t)rowidAtIndex:(NSUInteger)index;
14
+
15
+ - (void)addRowid:(int64_t)rowid;
16
+ - (void)insertRowid:(int64_t)rowid atIndex:(NSUInteger)index;
17
+
18
+ - (void)removeRowidAtIndex:(NSUInteger)index;
19
+
20
+ - (void)removeRange:(NSRange)range;
21
+
22
+ - (void)appendRange:(NSRange)range ofPage:(YapDatabaseViewPage *)page;
23
+ - (void)prependRange:(NSRange)range ofPage:(YapDatabaseViewPage *)page;
24
+
25
+ - (BOOL)getIndex:(NSUInteger *)indexPtr ofRowid:(int64_t)rowid;
26
+
27
+ - (void)enumerateRowidsUsingBlock:(void (^)(int64_t rowid, NSUInteger idx, BOOL *stop))block;
28
+
29
+ - (void)enumerateRowidsWithOptions:(NSEnumerationOptions)options
30
+ usingBlock:(void (^)(int64_t rowid, NSUInteger index, BOOL *stop))block;
31
+
32
+ - (void)enumerateRowidsWithOptions:(NSEnumerationOptions)options
33
+ range:(NSRange)range
34
+ usingBlock:(void (^)(int64_t rowid, NSUInteger index, BOOL *stop))block;
35
+
36
+ @end
@@ -0,0 +1,296 @@
1
+ #import "YapDatabaseViewPage.h"
2
+ #include <vector>
3
+
4
+
5
+ @implementation YapDatabaseViewPage
6
+ {
7
+ std::vector<int64_t> *vector;
8
+ }
9
+
10
+ - (id)init
11
+ {
12
+ return [self initWithCapacity:0];
13
+ }
14
+
15
+ - (id)initWithCapacity:(NSUInteger)capacity
16
+ {
17
+ if ((self = [super init]))
18
+ {
19
+ vector = new std::vector<int64_t>();
20
+
21
+ if (capacity > 0)
22
+ vector->reserve(capacity);
23
+ }
24
+ return self;
25
+ }
26
+
27
+ - (id)copyWithZone:(NSZone *)zone
28
+ {
29
+ YapDatabaseViewPage *copy = [[YapDatabaseViewPage alloc] initWithCapacity:[self count]];
30
+
31
+ copy->vector->insert(copy->vector->begin(), vector->begin(), vector->end());
32
+
33
+ return copy;
34
+ }
35
+
36
+ - (void)dealloc
37
+ {
38
+ if (vector)
39
+ delete vector;
40
+ }
41
+
42
+ - (NSData *)serialize
43
+ {
44
+ NSUInteger count = vector->size();
45
+ NSUInteger numBytes = count * sizeof(int64_t);
46
+
47
+ int64_t *buffer = (int64_t *)malloc(numBytes);
48
+ memcpy(buffer, vector->data(), numBytes);
49
+
50
+ if (CFByteOrderGetCurrent() == CFByteOrderBigEndian)
51
+ {
52
+ for (NSUInteger i = 0; i < count; i++)
53
+ {
54
+ buffer[i] = CFSwapInt64HostToLittle(buffer[i]);
55
+ }
56
+ }
57
+
58
+ return [NSData dataWithBytesNoCopy:buffer length:numBytes freeWhenDone:YES];
59
+ }
60
+
61
+ - (void)deserialize:(NSData *)data
62
+ {
63
+ vector->clear();
64
+
65
+ NSUInteger count = [data length] / sizeof(int64_t);
66
+ int64_t *bytes = (int64_t *)[data bytes];
67
+
68
+ if (vector->capacity() < count)
69
+ vector->reserve(count);
70
+
71
+ for (NSUInteger i = 0; i < count; i++)
72
+ {
73
+ int64_t rowid = bytes[i];
74
+
75
+ if (CFByteOrderGetCurrent() == CFByteOrderBigEndian)
76
+ vector->push_back(CFSwapInt64LittleToHost(rowid));
77
+ else
78
+ vector->push_back(rowid);
79
+ }
80
+ }
81
+
82
+ - (NSUInteger)count
83
+ {
84
+ return (NSUInteger)(vector->size());
85
+ }
86
+
87
+ - (int64_t)rowidAtIndex:(NSUInteger)index
88
+ {
89
+ return vector->at(index);
90
+ }
91
+
92
+ - (void)addRowid:(int64_t)rowid
93
+ {
94
+ vector->push_back(rowid);
95
+ }
96
+
97
+ - (void)insertRowid:(int64_t)rowid atIndex:(NSUInteger)index
98
+ {
99
+ vector->insert(vector->begin() + index, rowid);
100
+ }
101
+
102
+ - (void)removeRowidAtIndex:(NSUInteger)index
103
+ {
104
+ vector->erase(vector->begin() + index);
105
+ }
106
+
107
+ - (void)removeRange:(NSRange)range
108
+ {
109
+ std::vector<int64_t>::iterator it = vector->begin();
110
+
111
+ vector->erase(it+range.location, it+range.location+range.length);
112
+ }
113
+
114
+ - (void)appendRange:(NSRange)range ofPage:(YapDatabaseViewPage *)page
115
+ {
116
+ std::vector<int64_t>::iterator rangeBegin = page->vector->begin();
117
+ std::vector<int64_t>::iterator rangeEnd;
118
+
119
+ rangeBegin += range.location;
120
+ rangeEnd = rangeBegin + range.length;
121
+
122
+ vector->insert(vector->end(), rangeBegin, rangeEnd);
123
+ }
124
+
125
+ - (void)prependRange:(NSRange)range ofPage:(YapDatabaseViewPage *)page
126
+ {
127
+ std::vector<int64_t>::iterator rangeBegin = page->vector->begin();
128
+ std::vector<int64_t>::iterator rangeEnd;
129
+
130
+ rangeBegin += range.location;
131
+ rangeEnd = rangeBegin + range.length;
132
+
133
+ vector->insert(vector->begin(), rangeBegin, rangeEnd);
134
+ }
135
+
136
+ - (BOOL)getIndex:(NSUInteger *)indexPtr ofRowid:(int64_t)rowid
137
+ {
138
+ std::vector<int64_t>::iterator iterator = vector->begin();
139
+ std::vector<int64_t>::iterator end = vector->end();
140
+
141
+ NSUInteger index = 0;
142
+
143
+ while (iterator != end)
144
+ {
145
+ if (*iterator == rowid)
146
+ {
147
+ if (indexPtr) *indexPtr = index;
148
+ return YES;
149
+ }
150
+
151
+ iterator++;
152
+ index++;
153
+ }
154
+
155
+ if (indexPtr) *indexPtr = 0;
156
+ return NO;
157
+ }
158
+
159
+ - (void)enumerateRowidsUsingBlock:(void (^)(int64_t rowid, NSUInteger idx, BOOL *stop))block
160
+ {
161
+ [self enumerateRowidsWithOptions:0 usingBlock:block];
162
+ }
163
+
164
+ - (void)enumerateRowidsWithOptions:(NSEnumerationOptions)options
165
+ usingBlock:(void (^)(int64_t rowid, NSUInteger index, BOOL *stop))block
166
+ {
167
+ if (block == NULL) return;
168
+
169
+ if ((options & NSEnumerationReverse) == 0)
170
+ {
171
+ // Forward enumeration
172
+
173
+ std::vector<int64_t>::iterator iterator = vector->begin();
174
+ std::vector<int64_t>::iterator end = vector->end();
175
+
176
+ NSUInteger index = 0;
177
+ BOOL stop = NO;
178
+
179
+ while (iterator != end)
180
+ {
181
+ int64_t rowid = *iterator;
182
+
183
+ block(rowid, index, &stop);
184
+
185
+ if (stop) break;
186
+
187
+ iterator++;
188
+ index++;
189
+ }
190
+ }
191
+ else
192
+ {
193
+ // Reverse enumeration
194
+
195
+ std::vector<int64_t>::reverse_iterator iterator = vector->rbegin();
196
+ std::vector<int64_t>::reverse_iterator end = vector->rend();
197
+
198
+ NSUInteger index = vector->size() - 1;
199
+ BOOL stop = NO;
200
+
201
+ while (iterator != end)
202
+ {
203
+ int64_t rowid = *iterator;
204
+
205
+ block(rowid, index, &stop);
206
+
207
+ if (stop) break;
208
+
209
+ iterator++;
210
+ index--;
211
+ }
212
+ }
213
+ }
214
+
215
+ - (void)enumerateRowidsWithOptions:(NSEnumerationOptions)options
216
+ range:(NSRange)range
217
+ usingBlock:(void (^)(int64_t rowid, NSUInteger index, BOOL *stop))block
218
+ {
219
+ if (block == NULL) return;
220
+
221
+ if ((options & NSEnumerationReverse) == 0)
222
+ {
223
+ // Forward enumeration
224
+
225
+ std::vector<int64_t>::iterator iterator = vector->begin();
226
+ std::vector<int64_t>::iterator end;
227
+
228
+ iterator += range.location;
229
+ end = iterator + range.length;
230
+
231
+ NSUInteger index = range.location;
232
+ BOOL stop = NO;
233
+
234
+ while (iterator != end)
235
+ {
236
+ int64_t rowid = *iterator;
237
+
238
+ block(rowid, index, &stop);
239
+
240
+ if (stop) break;
241
+
242
+ iterator++;
243
+ index++;
244
+ }
245
+ }
246
+ else
247
+ {
248
+ // Reverse enumeration
249
+
250
+ std::vector<int64_t>::reverse_iterator iterator = vector->rbegin();
251
+ std::vector<int64_t>::reverse_iterator end;
252
+
253
+ iterator += (vector->size() - (range.location + range.length));
254
+ end = iterator + range.length;
255
+
256
+ NSUInteger index = range.location + range.length - 1;
257
+ BOOL stop = NO;
258
+
259
+ while (iterator != end)
260
+ {
261
+ int64_t rowid = *iterator;
262
+
263
+ block(rowid, index, &stop);
264
+
265
+ if (stop) break;
266
+
267
+ iterator++;
268
+ index--;
269
+ }
270
+ }
271
+ }
272
+
273
+ - (NSString *)debugDescription
274
+ {
275
+ NSMutableString *string = [NSMutableString stringWithCapacity:100];
276
+ [string appendFormat:@"<YapDatabaseViewPage[%p] count=%lu {\n", self, (unsigned long)[self count]];
277
+
278
+ std::vector<int64_t>::iterator iterator = vector->begin();
279
+ std::vector<int64_t>::iterator end = vector->end();
280
+
281
+ NSUInteger index = 0;
282
+
283
+ while (iterator != end)
284
+ {
285
+ [string appendFormat:@" %lu: %lld\n", (unsigned long)index, *iterator];
286
+
287
+ iterator++;
288
+ index++;
289
+ }
290
+
291
+ [string appendFormat:@"}>"];
292
+
293
+ return string;
294
+ }
295
+
296
+ @end