Compare commits

..

268 Commits

Author SHA1 Message Date
lemire c3657b03ef deploy: 1bcf71bd85 2026-05-06 21:54:39 +00:00
lemire 7541f9d83d deploy: 65e59ccf9b 2026-04-20 22:10:43 +00:00
lemire b8f39b3280 deploy: 61641f9a7a 2026-04-17 23:02:14 +00:00
lemire 49dce840cd deploy: fb83b114ef 2026-04-03 22:51:54 +00:00
lemire d13f56e269 deploy: f25d5f9fc2 2026-03-31 00:23:31 +00:00
lemire 11d8f1bba6 deploy: 18d612df15 2026-03-25 23:58:21 +00:00
lemire 7ca4ea10af deploy: b4a0fd3ff4 2026-03-20 17:22:20 +00:00
lemire 362c247e41 deploy: 5395aacb8b 2026-03-17 19:24:59 +00:00
lemire e7611de5c5 deploy: be94694290 2026-03-13 02:25:13 +00:00
lemire 10c503a942 deploy: e829566589 2026-02-20 23:58:57 +00:00
lemire 429c32383c deploy: 06c774c655 2026-02-19 05:32:42 +00:00
lemire 8dac8f5faa deploy: 980f2ad3af 2025-12-18 02:41:28 +00:00
lemire 18f2907805 deploy: 5d16fd5f31 2025-12-12 23:59:56 +00:00
lemire 52d69fa598 deploy: b1c31b428d 2025-11-11 21:18:02 +00:00
lemire d503c53850 deploy: 235dbc5369 2025-11-03 17:19:41 +00:00
lemire f99478c419 deploy: 3d87bd4abc 2025-11-02 21:44:45 +00:00
lemire ed76cedc16 deploy: 0112be86b0 2025-10-28 04:44:57 +00:00
lemire 0836b6a15d deploy: 3ac287ba3d 2025-10-18 00:41:45 +00:00
lemire af1bb1f005 deploy: e6578fea39 2024-12-07 17:00:00 +00:00
lemire 29b925aae3 deploy: 6fb050d04e 2024-12-07 16:35:53 +00:00
lemire 49a285f3e2 deploy: b4242d3b4f 2024-12-06 03:19:07 +00:00
lemire 0a4fc4420b deploy: 79126ca323 2024-12-03 01:42:03 +00:00
lemire 1f0cfbc48d deploy: 3f87f958d7 2024-12-02 05:15:30 +00:00
lemire 1848c80d24 deploy: 9b314922a1 2024-11-08 17:10:27 +00:00
lemire 06e0a17552 deploy: 587beae307 2024-11-01 22:24:27 +00:00
lemire 80a54f5407 deploy: f53981d945 2024-11-01 16:49:33 +00:00
lemire ead812af6f deploy: 41b4ffd6aa 2024-11-01 16:33:37 +00:00
lemire 7b7a3e0166 deploy: 6cd8a6d776 2024-10-30 02:00:46 +00:00
lemire 9842b613fa deploy: 3c0d032ded 2024-10-19 01:16:41 +00:00
lemire 5adb736e6b deploy: 36f5dbcb75 2024-10-11 18:12:44 +00:00
lemire 88ed6bbe72 deploy: 49901fb254 2024-10-11 01:59:42 +00:00
lemire 74ebc7dd1e deploy: c066b5421b 2024-10-08 15:47:40 +00:00
lemire ba9c6c4f34 deploy: ec7550a70e 2024-10-08 15:09:38 +00:00
lemire 4ad0184c3a deploy: 3ef3078e51 2024-09-21 14:40:19 +00:00
lemire 0ea5d07648 deploy: fd06782c97 2024-09-21 02:18:13 +00:00
lemire af4b051583 deploy: 9303efbd0c 2024-09-21 01:55:55 +00:00
lemire f2655f2c53 deploy: 09ccabbe6c 2024-09-20 16:38:36 +00:00
lemire fa4a94927e deploy: e00cc8c6dc 2024-09-18 13:43:43 +00:00
lemire 623a7834bc deploy: 025a44348a 2024-09-17 02:15:46 +00:00
lemire 2e25ceb041 deploy: 70a68da941 2024-09-06 05:35:30 +00:00
lemire fa84ed1d35 deploy: e341c8b438 2024-08-26 14:56:48 +00:00
jkeiser 0dcb5ba9bf deploy: 615218a3ad 2024-08-19 05:19:26 +00:00
lemire 198bc47f15 deploy: 7a9ff93388 2024-08-15 17:14:03 +00:00
lemire 62227165b0 deploy: fc61d7c7ba 2024-08-10 14:19:04 +00:00
lemire 8233e51f3e deploy: d506af0a79 2024-08-08 00:25:14 +00:00
lemire c2303555b7 deploy: 9b67497ed0 2024-08-01 13:55:04 +00:00
lemire 5b460b8b37 deploy: 0336684df7 2024-07-31 15:30:40 +00:00
lemire f9d0886b94 deploy: c19320dd6e 2024-07-31 14:52:31 +00:00
lemire 6f73869377 deploy: 412a5680e8 2024-07-31 14:34:20 +00:00
lemire bb717359a1 deploy: a05a56856d 2024-07-29 20:14:12 +00:00
lemire 01e8c3e066 deploy: 58173a6a1f 2024-07-26 02:47:57 +00:00
FranciscoThiesen bb71012ca3 deploy: 1721032cfd 2024-07-26 00:50:20 +00:00
lemire 12cb8b62de deploy: acdbbab916 2024-07-16 19:59:31 +00:00
lemire bdcf292027 deploy: 5090247c34 2024-07-13 15:56:36 +00:00
lemire 97a9c69081 deploy: 4180e05730 2024-07-11 12:28:50 +00:00
lemire 0242afa012 deploy: feea2bce2c 2024-07-04 22:09:22 +00:00
lemire da522e4e0e deploy: 3240d55bcc 2024-07-04 21:08:13 +00:00
lemire df2f3f4cd8 deploy: 66fd28fc00 2024-07-04 20:41:33 +00:00
lemire 7d54cc63f7 deploy: 5f638951c6 2024-06-27 19:06:38 +00:00
lemire 32d8dd0673 deploy: 3e94eea939 2024-06-27 17:40:27 +00:00
lemire 8aa008ec57 deploy: 0e8311f812 2024-06-25 22:22:21 +00:00
lemire 1af8b800a4 deploy: 3620e9d151 2024-06-11 19:53:52 +00:00
lemire 0f3f0b276a deploy: 2a4ff73468 2024-06-10 14:42:59 +00:00
lemire 1d3eca61d7 deploy: 77fc2b8447 2024-06-08 02:21:44 +00:00
lemire c773295a9e deploy: ba8b66a633 2024-06-07 16:58:38 +00:00
lemire 243914e0c9 deploy: 66eec5feaf 2024-06-05 13:09:46 +00:00
lemire 94ee98098f deploy: 3964f3e5d2 2024-06-03 18:23:12 +00:00
lemire 1134b7de0c deploy: ee8515122d 2024-05-30 15:43:53 +00:00
lemire 7b4b67f8a4 deploy: 5d35e7ca1f 2024-05-30 15:24:48 +00:00
lemire 6350c77d6b deploy: deefc88b9c 2024-05-30 15:08:25 +00:00
lemire 5663b1d362 deploy: d2954ef68b 2024-05-23 21:12:31 +00:00
lemire 61ed8a2a56 deploy: ac719827ff 2024-05-12 01:10:21 +00:00
lemire fe941d3406 deploy: 6ea77392a7 2024-05-10 16:35:48 +00:00
lemire 7411ad7f3a deploy: e2f879751c 2024-05-10 04:42:17 +00:00
lemire e1bce6549c deploy: bf7834179c 2024-05-07 23:29:00 +00:00
lemire edd9433168 deploy: 69ab8848bf 2024-05-07 22:18:35 +00:00
lemire c9af046526 deploy: 7288323e36 2024-05-07 01:24:48 +00:00
lemire b465758e5d deploy: 52406402ed 2024-05-01 19:08:15 +00:00
lemire 5a9cff1474 deploy: 799d8e3fc9 2024-04-26 18:23:55 +00:00
lemire 4fa5c21397 deploy: 8519e24f12 2024-04-24 06:14:29 +00:00
lemire b3e6c90680 deploy: fffb62743c 2024-04-24 04:19:22 +00:00
lemire f7e23c248c deploy: c888075f8d 2024-04-24 04:01:47 +00:00
lemire c743bc98de deploy: 40b414d184 2024-04-09 19:12:03 +00:00
lemire fff05b87fc deploy: c85e8a7db1 2024-04-09 00:40:43 +00:00
lemire f5b8726f2b deploy: 3f89cb14ddd64d3eaa0c945a56cf80a2ddd251ee 2024-04-08 16:51:39 +00:00
lemire 128e266f5c deploy: c85e8a7db1 2024-04-05 19:54:15 +00:00
lemire e8002bd63e deploy: 83f390f8e7 2024-04-05 19:36:17 +00:00
lemire fe19693d77 deploy: 82563dcf70 2024-04-04 18:24:50 +00:00
lemire 742357c920 deploy: 646bd3f2c3 2024-04-04 16:41:44 +00:00
lemire 8596f838d3 deploy: 4c98e51c53 2024-04-04 16:21:20 +00:00
lemire 52164f6821 deploy: 58e3d5d9cc 2024-04-04 03:09:09 +00:00
lemire a05ec3877c deploy: a22a92dc72 2024-04-03 20:07:03 +00:00
lemire 7fba456f10 deploy: 5997f82c37 2024-03-20 18:36:14 +00:00
lemire dede978b9c deploy: bee410b315 2024-03-20 06:07:02 +00:00
lemire 175ba79e9f deploy: b115e3ef61 2024-03-17 16:31:59 +00:00
lemire c0de0c7733 deploy: 669229df5d 2024-03-17 15:01:53 +00:00
lemire b08e8615a6 deploy: b6a2286e62 2024-03-17 14:46:02 +00:00
lemire 155c12da19 deploy: 3a97c57773 2024-03-17 14:18:13 +00:00
lemire 508d6edb97 deploy: e1c6a778f8 2024-03-10 18:16:42 +00:00
lemire 6ab56a160a deploy: d413dd5b0e 2024-03-10 17:54:47 +00:00
lemire 91f97711df deploy: a33fdc2770 2024-03-10 17:34:36 +00:00
lemire 896f85e2fd deploy: 87f5f7a250 2024-03-10 00:51:30 +00:00
lemire 4645838a3b deploy: 876be23545 2024-03-06 20:57:51 +00:00
lemire fbbf7175f2 deploy: 2028bdaeac 2024-02-27 01:54:53 +00:00
lemire 75696fd1d7 deploy: 1ac3a00ca9 2024-02-27 01:41:40 +00:00
lemire ef54311a83 deploy: 61a52287fc 2024-02-27 01:06:46 +00:00
lemire 427437a493 deploy: 78325888ea 2024-02-26 19:28:36 +00:00
lemire 017ef4100f deploy: a90cb5d900 2024-02-26 19:12:01 +00:00
lemire 041f2667b4 deploy: 34a01ec3af 2024-02-24 00:37:25 +00:00
lemire 7bf8ce27d6 deploy: e510ed2774 2024-02-23 22:10:36 +00:00
lemire d7e96a1f4e deploy: dabac13dde 2024-02-18 17:01:56 +00:00
lemire 62d65f35d0 deploy: aef7111c05 2024-02-16 01:42:30 +00:00
lemire 4edaaadf25 deploy: 2fe3a1467d 2024-02-15 15:54:07 +00:00
lemire 1f09538014 deploy: 167a46a0e7 2024-02-15 15:21:39 +00:00
lemire fef2904e16 deploy: 2b532489cc 2024-02-15 15:04:10 +00:00
lemire 86256211f2 deploy: 85163df88c 2024-02-15 04:48:51 +00:00
lemire 1d481f0625 deploy: 6a5be0f0db 2024-02-09 22:29:21 +00:00
lemire a07eb55a4c deploy: 710a3c7241 2024-02-09 17:29:41 +00:00
lemire 1b69f27dfb deploy: c93e02e172 2024-02-09 17:10:30 +00:00
lemire 70fdcd94a8 deploy: 517143aec4 2024-02-09 16:52:47 +00:00
lemire 41ee0843bc deploy: 9feda5e703 2024-02-09 16:14:24 +00:00
lemire a6e23b0542 deploy: cda198b7b9 2024-02-09 15:57:40 +00:00
lemire 795befd537 deploy: aad17a6a8d 2024-02-09 15:27:36 +00:00
lemire f43801bd88 deploy: 32d072a208 2024-02-08 16:51:58 +00:00
lemire 928cdd734c deploy: 5eab555053 2024-02-06 18:56:05 +00:00
lemire 3a1e160276 deploy: 6430fbd39a 2024-02-06 18:35:05 +00:00
lemire 2ce761092e deploy: 4d2fc31b27 2024-02-06 00:41:57 +00:00
lemire 92c688adce deploy: 33610b59eb 2024-02-05 23:40:41 +00:00
lemire 531b9b3baf deploy: 23290ae48d 2024-02-05 03:30:32 +00:00
lemire 613858dd1f deploy: eb3a085e0f 2024-02-05 03:12:43 +00:00
lemire 628be854d4 deploy: 88bf5cb6d9 2024-01-29 15:59:02 +00:00
lemire 7bafb29f50 deploy: 9b0435d864 2024-01-28 17:57:02 +00:00
lemire faa2e3501e deploy: 02bee7d1b9 2024-01-09 02:21:01 +00:00
lemire 029cfcbecb deploy: 6ef555e6fb 2024-01-08 20:07:03 +00:00
lemire 7fa6e86ca0 deploy: 185ff4e8fe 2023-12-29 15:00:45 +00:00
lemire c44fa06ed2 deploy: 2fa729922e 2023-12-19 17:30:26 +00:00
lemire 1998b60206 deploy: ebd09cb2a3 2023-12-15 13:44:30 +00:00
lemire 588e22e4cb deploy: edc36a87ab 2023-12-10 04:35:29 +00:00
lemire e132ebcfae deploy: 6060be2fdf 2023-12-08 17:21:07 +00:00
lemire 536d91a19b deploy: 3251f61c9d 2023-12-07 17:55:35 +00:00
lemire 44ede6a37b deploy: 561ffcd519 2023-12-04 15:49:30 +00:00
lemire e2630d1fa0 deploy: 5541e78402 2023-12-01 20:18:10 +00:00
lemire c5d8b0f036 deploy: 9a9ed0e2da 2023-12-01 19:40:51 +00:00
lemire d66f574e6a deploy: bca8d3e277 2023-11-30 23:41:28 +00:00
lemire 9acb47b318 deploy: 97196fa969 2023-11-30 23:22:02 +00:00
jkeiser dc3e0d30ac deploy: 23fab307ca 2023-11-30 19:20:55 +00:00
lemire 5cab7cc118 deploy: b88f831dbd 2023-11-30 17:18:45 +00:00
lemire 5d84ec4e47 deploy: 71a73c2c47 2023-11-30 17:05:51 +00:00
lemire bb78bcab58 deploy: 07603aa7f7 2023-11-30 00:12:36 +00:00
lemire df392275ff deploy: f52533538a 2023-11-29 05:03:24 +00:00
lemire 4d73942b2b deploy: 3bb2f0a186 2023-11-26 19:25:39 +00:00
lemire afc63538d2 deploy: 0173eaaad7 2023-11-20 15:13:03 +00:00
lemire 4d13f4b18d deploy: 5459dbd6c6 2023-11-14 03:04:08 +00:00
lemire 8233a48b85 deploy: 9c45f1f292 2023-11-11 09:24:20 +00:00
lemire 6f474aa902 deploy: 17cb457ffd 2023-10-30 17:45:23 +00:00
lemire af32ae2aa9 deploy: 8b2af0473a 2023-10-30 17:12:53 +00:00
lemire 315a29a62f deploy: 29fbbee852 2023-10-28 02:31:19 +00:00
lemire e4feafb624 deploy: baa7d961ce 2023-10-28 02:04:20 +00:00
anonrig 6c06b76b4b deploy: 6412b27c7e 2023-10-28 00:14:30 +00:00
lemire 4012596729 deploy: 9dd6e9c959 2023-10-26 02:40:50 +00:00
lemire 68eb8a36c0 deploy: 6db330c1a2 2023-10-26 02:11:05 +00:00
lemire 5ad72578ef deploy: 993ac4b87c 2023-10-26 00:05:09 +00:00
lemire 82311cc00e deploy: 35e87896f0 2023-10-25 15:09:15 +00:00
lemire b8d344d4b0 deploy: f7e281cadc 2023-10-20 20:24:41 +00:00
lemire 08168fb60c deploy: 13405afd4b 2023-10-20 20:01:46 +00:00
lemire 9b47c75a5a deploy: e11ad58aad 2023-10-09 19:48:46 +00:00
lemire 5305f7e7a3 deploy: 1875ed6550 2023-09-20 15:16:39 +00:00
lemire 0950864667 deploy: 80d26298a0 2023-09-20 14:58:47 +00:00
lemire 13e59e29af deploy: ff77ac801e 2023-09-11 15:11:23 +00:00
lemire cf2fc7dbc3 deploy: e0699994ef 2023-09-09 17:44:50 +00:00
lemire 5cb337b29d deploy: 68ba9a1b2a 2023-08-31 01:16:27 +00:00
lemire 7700caaecd deploy: cc24bb4114 2023-08-29 23:58:27 +00:00
jkeiser 7c0a1dc8c3 deploy: 14ec0ca8f4 2023-08-29 23:06:08 +00:00
lemire 0a371008e1 deploy: f7922075c3 2023-08-25 15:49:03 +00:00
lemire 2d9af0f20a deploy: bf849e3619 2023-08-22 18:25:24 +00:00
lemire 9ea818b600 deploy: c09e8dc225 2023-08-18 19:43:50 +00:00
lemire c18a95994c deploy: 5bf585ef02 2023-08-18 18:50:57 +00:00
lemire 8cbab04bd7 deploy: caff09cafc 2023-08-14 16:33:16 +00:00
lemire 42907ec3f4 deploy: f043db4dca 2023-08-02 20:43:36 +00:00
lemire 9f308dbe33 deploy: e3bd0828d1 2023-08-02 20:17:56 +00:00
jkeiser 723f3d5c64 deploy: 9408298e0e 2023-08-02 18:34:33 +00:00
lemire f490716868 deploy: 6e7d415040 2023-08-02 00:50:08 +00:00
jkeiser 816d978e84 deploy: 2ccd5b9c97 2023-07-21 19:24:41 +00:00
lemire 50b78d2d0e deploy: 1cdcbf79b3 2023-07-21 18:38:02 +00:00
lemire b7fd59e5f4 deploy: 7013ed98cc 2023-07-21 18:11:36 +00:00
jkeiser ae9a4504e6 deploy: 4dec6ed5a7 2023-07-18 17:43:11 +00:00
jkeiser d952c6e639 deploy: 1dfd48195d 2023-07-18 06:54:40 +00:00
jkeiser 327ea2d014 deploy: 1e97af7dfb 2023-07-17 22:16:34 +00:00
jkeiser e404a11496 deploy: a74e87df17 2023-07-17 20:47:40 +00:00
jkeiser e64a194382 deploy: 3274299647 2023-07-17 20:19:48 +00:00
lemire 1ef0a4d718 deploy: c5c43e9c7f 2023-07-07 02:49:13 +00:00
lemire d6b58c8de2 deploy: 031ee32969 2023-07-07 02:21:56 +00:00
jkeiser 9d77f4e70b deploy: b613326d69 2023-07-06 19:57:57 +00:00
lemire e2b8f41e10 deploy: d2f8e84fc1 2023-06-26 13:28:27 +00:00
lemire e6cabf3557 deploy: 08000518cb 2023-06-26 12:58:44 +00:00
lemire 7fde3b7e67 deploy: 90040d96a5 2023-06-23 01:56:36 +00:00
lemire ce87836f99 deploy: 92174c927d 2023-06-15 14:27:45 +00:00
lemire 813d27c260 deploy: b399c0165e 2023-06-15 13:56:41 +00:00
lemire 79e5417456 deploy: 445ae024ba 2023-06-15 13:31:52 +00:00
lemire d209d5c461 deploy: 74bb7b2533 2023-06-05 13:32:03 +00:00
lemire 98acce23fa deploy: fd97288561 2023-06-03 01:15:21 +00:00
lemire 8b410f0172 deploy: 1da0d8ac65 2023-06-03 00:51:41 +00:00
lemire 9953d383de deploy: 85661a2901 2023-06-01 20:36:33 +00:00
lemire bd9c79eba6 deploy: 3fcdb65d88 2023-05-26 14:32:35 +00:00
lemire 5c6b91e492 deploy: 8b00d91a2c 2023-05-26 14:02:35 +00:00
lemire 7364dc2244 deploy: 7db3f97ba8 2023-05-26 13:38:00 +00:00
lemire d7ea1da240 deploy: 412a8f7c4d 2023-05-23 21:56:17 +00:00
lemire 5eea3538e4 deploy: 6d92563280 2023-05-23 17:45:25 +00:00
lemire 7d0c1205ff deploy: 0998233d58 2023-05-23 17:44:42 +00:00
lemire b62957b674 deploy: cb735818ec 2023-05-23 17:01:25 +00:00
lemire 439be32213 deploy: 41ee548e3f 2023-05-23 16:54:56 +00:00
lemire bbce7456e9 deploy: e9d5d5088a 2023-05-22 21:54:13 +00:00
lemire 071bee4c7a deploy: 0a951c53155f1620f69edffb37406d0a6842df9a 2023-05-22 21:33:41 +00:00
lemire 0df524fc69 deploy: e9d5d5088a 2023-05-22 17:57:44 +00:00
lemire fec6fdd62d deploy: 083a5d7351 2023-05-15 19:14:42 +00:00
lemire 1d7cec0cb5 deploy: 25fcc8b432 2023-05-14 21:52:36 +00:00
lemire 99ba4734aa deploy: a9c120f779 2023-05-14 21:31:48 +00:00
lemire 488f896581 deploy: 2a68a32012 2023-05-12 23:34:51 +00:00
lemire ecfe49de3a deploy: 21a2ccaeb8 2023-05-06 03:31:32 +00:00
lemire af3bcd560d deploy: 6cbb6ac89b 2023-05-06 01:53:34 +00:00
lemire 092c08e6c3 deploy: e9f0f1bb9b 2023-04-29 01:41:38 +00:00
lemire d54e315199 deploy: 7ef1ebd4fb 2023-04-28 14:05:59 +00:00
lemire 6b96b24044 deploy: ebc51fbd1a 2023-04-24 12:15:47 +00:00
lemire 17f5a8322d deploy: f77ac963f4 2023-04-23 16:02:43 +00:00
lemire 8b7630ce57 deploy: ae3d912f8d 2023-04-23 14:59:10 +00:00
lemire d021a0e188 deploy: f435fddda1 2023-04-11 18:09:22 +00:00
lemire eae45df437 deploy: 14d927128b 2023-04-08 20:41:29 +00:00
lemire 20a2867164 deploy: 48152a0326 2023-04-08 20:21:09 +00:00
lemire bf209fae7c deploy: b5cf53232c 2023-04-06 15:03:15 +00:00
lemire f113339fae deploy: b3d0b732e6 2023-04-04 18:32:43 +00:00
lemire 29e0a19beb deploy: 3c29f40f2f 2023-04-04 15:43:46 +00:00
lemire a9924519e9 deploy: 4a89d79984 2023-04-01 22:50:47 +00:00
lemire 75785727c9 deploy: 4699dd0ce2 2023-03-30 15:20:27 +00:00
lemire 6bfb71e2d8 deploy: cfd337bb50 2023-03-30 15:00:46 +00:00
lemire c4f3780d64 deploy: 59025bc8b1 2023-03-24 17:32:56 +00:00
lemire 6fcf305a24 deploy: 830323f383 2023-03-22 13:30:13 +00:00
lemire 7de5b30588 deploy: 3571f3a8d0 2023-03-18 20:51:17 +00:00
lemire 6b54e34da8 deploy: 4b13020d65 2023-03-14 02:05:23 +00:00
lemire 801c02dbe0 deploy: 75c6c950e5 2023-03-14 01:44:00 +00:00
lemire 2d475d9604 deploy: 5ad7698af1 2023-03-13 21:34:40 +00:00
lemire cbe0215457 deploy: 3f3f6cde7c 2023-03-13 20:09:50 +00:00
lemire 153ecb1069 deploy: 338224849d 2023-03-13 19:27:57 +00:00
lemire b6accae72b deploy: ada52641b4 2023-03-13 19:12:11 +00:00
lemire 79ecbd2436 deploy: 7bf33f6c8a 2023-03-13 17:38:56 +00:00
lemire 4b24e53fea deploy: 34dcd33a88 2023-03-09 17:11:36 +00:00
lemire a6b74064a4 deploy: 77ad00b63c 2023-03-09 16:23:18 +00:00
lemire 229eb30fba deploy: 25e7f1765a 2023-03-09 15:54:32 +00:00
lemire 20a8721b99 deploy: 8d01255ceb 2023-03-09 13:39:50 +00:00
lemire 51f8a13d9e deploy: 8ec016b093 2023-03-08 21:21:04 +00:00
lemire f5b4be610e deploy: 9e726b9856 2023-03-08 20:02:28 +00:00
lemire cbd6b74c96 deploy: ba50571d66 2023-03-06 21:15:44 +00:00
lemire 7b462aa855 deploy: 6e4c29b7c5 2023-03-04 22:59:35 +00:00
lemire 2f1506d7db deploy: ec0b48b772 2023-03-02 19:38:52 +00:00
lemire a84d0d02ed deploy: d65acbd47b 2023-03-02 14:51:29 +00:00
lemire 47b9cbc71c deploy: 75240ad8e1 2023-03-02 00:31:23 +00:00
lemire ca86fd800e deploy: 3efb44dc0f 2023-03-02 00:15:42 +00:00
lemire 601ae9d6e1 deploy: 12a1b6db53 2023-03-01 05:22:22 +00:00
lemire 9fcd9fc871 deploy: 37e87f6f99 2023-03-01 05:05:06 +00:00
lemire 2018fd44fc deploy: cd13b02bf0 2023-02-28 14:59:45 +00:00
lemire 7e8d259d8c deploy: 624174d916 2023-02-23 02:35:31 +00:00
lemire f9ac7e853d deploy: 8a247f1321 2023-02-23 02:04:06 +00:00
lemire 7cd2b81820 deploy: 7aa35bffd3 2023-02-23 01:45:25 +00:00
lemire 1fbdc3be38 deploy: d6c910686b 2023-02-14 02:24:38 +00:00
lemire 7f9812886c deploy: 3177cd1b5d 2023-02-07 00:27:18 +00:00
lemire c8359364f4 deploy: 63d9ce3c58 2023-02-07 00:07:52 +00:00
lemire 168726fd4a deploy: 8e8180560d 2023-02-06 23:56:24 +00:00
lemire 48fd1f7cab deploy: 68be9c2170 2023-01-30 21:35:35 +00:00
lemire 7ddd4d2021 deploy: 269ae7ad6b 2023-01-30 19:42:55 +00:00
2519 changed files with 140099 additions and 388921 deletions
-17
View File
@@ -1,17 +0,0 @@
version: '{build}'
branches:
only:
- master
image:
- Visual Studio 2017
clone_folder: c:\projects\simdjson
platform:
- x64
build_script:
- mkdir build
- cd build
- ps: cmake -DCMAKE_GENERATOR_PLATFORM=x64 ..
- cmake --build .
- ctest --verbose
-84
View File
@@ -1,84 +0,0 @@
version: 2
jobs:
"gcc":
docker:
- image: ubuntu:18.04
environment:
CXX: g++-7
steps:
- checkout
- run: apt-get update -qq
- run: >
apt-get install -y
build-essential
cmake
g++-7
git
- run:
name: Building (gcc)
command: make
- run:
name: Running tests (gcc)
command: make quiettest amalgamate
- run:
name: Building (gcc, cmake)
command: |
mkdir build
cd build
cmake ..
make
- run:
name: Running tests (gcc, cmake)
command: |
cd build
make test
"clang":
docker:
- image: ubuntu:18.04
environment:
CXX: clang++-6.0
steps:
- checkout
- run: apt-get update -qq
- run: >
apt-get install -y
build-essential
cmake
clang-6.0
git
- run:
name: Building (clang)
command: make
- run:
name: Running tests (clang)
command: make quiettest amalgamate
- run:
name: Building (clang, cmake)
command: |
mkdir build
cd build
cmake ..
make
- run:
name: Running tests (clang, cmake)
command: |
cd build
make test
workflows:
version: 2
build_and_test:
jobs:
- "clang"
- "gcc"
-10
View File
@@ -1,10 +0,0 @@
kind: pipeline
name: default
steps:
- name: test
image: gcc:8
commands:
- make -j2
- make quiettest -j2
- make amalgamate
-19
View File
@@ -1,19 +0,0 @@
# Set the default behavior, in case people don't have core.autocrlf set.
# Uncomment next line to adjust line endings
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.cpp text
*.h text
*.java text
*.xml text
# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
*.svg binary
*.json binary
# we don't want json files to be modified for this project
-1
View File
@@ -1 +0,0 @@
build/
-27
View File
@@ -1,27 +0,0 @@
[submodule "scalarvssimd/rapidjson"]
path = dependencies/rapidjson
url = https://github.com/Tencent/rapidjson.git
[submodule "dependencies/sajson"]
path = dependencies/sajson
url = https://github.com/chadaustin/sajson.git
[submodule "dependencies/json11"]
path = dependencies/json11
url = https://github.com/dropbox/json11.git
[submodule "dependencies/fastjson"]
path = dependencies/fastjson
url = https://github.com/mikeando/fastjson.git
[submodule "dependencies/gason"]
path = dependencies/gason
url = https://github.com/vivkin/gason.git
[submodule "dependencies/ujson4c"]
path = dependencies/ujson4c
url = https://github.com/esnme/ujson4c.git
[submodule "dependencies/jsmn"]
path = dependencies/jsmn
url = https://github.com/zserge/jsmn.git
[submodule "dependencies/cJSON"]
path = dependencies/cJSON
url = https://github.com/DaveGamble/cJSON.git
[submodule "dependencies/jsoncpp"]
path = dependencies/jsoncpp
url = https://github.com/open-source-parsers/jsoncpp.git
View File
-21
View File
@@ -1,21 +0,0 @@
language: cpp
sudo: false
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-7
- g++-7
branches:
only:
- master
script:
- export CXX=g++-7
- export CC=gcc-7
- make
- make test
- make clean
- make SANITIZEGOLD=1 test
-3
View File
@@ -1,3 +0,0 @@
# List of authors for copyright purposes
Daniel Lemire
Geoff Langdale
-56
View File
@@ -1,56 +0,0 @@
cmake_minimum_required(VERSION 3.8...3.13)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_MACOSX_RPATH OFF)
if (NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type selected, default to Release")
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE)
endif()
project(simdjson)
set(SIMDJSON_LIB_NAME simdjson)
set(PROJECT_VERSION_MAJOR 0)
set(PROJECT_VERSION_MINOR 1)
set(PROJECT_VERSION_PATCH 2)
set(SIMDJSON_LIB_VERSION "0.1.2" CACHE STRING "simdjson library version")
set(SIMDJSON_LIB_SOVERSION "0" CACHE STRING "simdjson library soversion")
if(NOT MSVC)
option(SIMDJSON_BUILD_STATIC "Build a static library" OFF) # turning it on disables the production of a dynamic library
else()
option(SIMDJSON_BUILD_STATIC "Build a static library" ON) # turning it on disables the production of a dynamic library
endif()
option(SIMDJSON_BUILD_LTO "Build library with Link Time Optimization" OFF)
option(SIMDJSON_SANITIZE "Sanitize addresses" OFF)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/tools/cmake")
find_package(CTargets)
find_package(Options)
find_package(LTO)
install(DIRECTORY include/${SIMDJSON_LIB_NAME} DESTINATION include)
set (TEST_DATA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/jsonchecker/")
set (BENCHMARK_DATA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/jsonexamples/")
add_definitions(-DSIMDJSON_TEST_DATA_DIR="${TEST_DATA_DIR}")
add_definitions(-DSIMDJSON_BENCHMARK_DATA_DIR="${TEST_DATA_DIR}")
enable_testing()
add_subdirectory(src)
add_subdirectory(tools)
add_subdirectory(tests)
add_subdirectory(benchmark)
set(CPACK_PACKAGE_VENDOR "Daniel Lemire")
set(CPACK_PACKAGE_CONTACT "lemire@gmail.com")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Parsing gigabytes of JSON per second")
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
set(CPACK_RPM_PACKAGE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
set(CPACK_SOURCE_GENERATOR "TGZ;ZIP")
include(CPack)
-201
View File
@@ -1,201 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2018-2019 The simdjson authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-177
View File
@@ -1,177 +0,0 @@
.SUFFIXES:
#
.SUFFIXES: .cpp .o .c .h
.PHONY: clean cleandist
COREDEPSINCLUDE = -Idependencies/rapidjson/include -Idependencies/sajson/include -Idependencies/cJSON -Idependencies/jsmn
EXTRADEPSINCLUDE = -Idependencies/jsoncppdist -Idependencies/json11 -Idependencies/fastjson/src -Idependencies/fastjson/include -Idependencies/gason/src -Idependencies/ujson4c/3rdparty -Idependencies/ujson4c/src
CXXFLAGS = -std=c++17 -march=native -Wall -Wextra -Wshadow -Iinclude -Ibenchmark/linux
CFLAGS = -march=native -Idependencies/ujson4c/3rdparty -Idependencies/ujson4c/src
# This is a convenience flag
ifdef SANITIZEGOLD
SANITIZE = 1
LINKER = gold
endif
ifdef LINKER
CXXFLAGS += -fuse-ld=$(LINKER)
CFLAGS += -fuse-ld=$(LINKER)
endif
# SANITIZE *implies* DEBUG
ifeq ($(SANITIZE),1)
CXXFLAGS += -g3 -O0 -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined
CFLAGS += -g3 -O0 -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined
else
ifeq ($(DEBUG),1)
CXXFLAGS += -g3 -O0
CFLAGS += -g3 -O0
else
# we opt for -O3 for regular builds
CXXFLAGS += -O3
CFLAGS += -O3
endif # ifeq ($(DEBUG),1)
endif # ifeq ($(SANITIZE),1)
MAINEXECUTABLES=parse minify json2json jsonstats statisticalmodel
TESTEXECUTABLES=jsoncheck numberparsingcheck stringparsingcheck
COMPARISONEXECUTABLES=minifiercompetition parsingcompetition parseandstatcompetition distinctuseridcompetition allparserscheckfile allparsingcompetition
SUPPLEMENTARYEXECUTABLES=parse_noutf8validation parse_nonumberparsing parse_nostringparsing
HEADERS= include/simdjson/simdutf8check.h include/simdjson/stringparsing.h include/simdjson/numberparsing.h include/simdjson/jsonparser.h include/simdjson/common_defs.h include/simdjson/jsonioutil.h benchmark/benchmark.h benchmark/linux/linux-perf-events.h include/simdjson/parsedjson.h include/simdjson/stage1_find_marks.h include/simdjson/stage2_build_tape.h include/simdjson/jsoncharutils.h include/simdjson/jsonformatutils.h
LIBFILES=src/jsonioutil.cpp src/jsonparser.cpp src/simdjson.cpp src/stage1_find_marks.cpp src/stage2_build_tape.cpp src/parsedjson.cpp src/parsedjsoniterator.cpp
MINIFIERHEADERS=include/simdjson/jsonminifier.h include/simdjson/simdprune_tables.h
MINIFIERLIBFILES=src/jsonminifier.cpp
RAPIDJSON_INCLUDE:=dependencies/rapidjson/include
SAJSON_INCLUDE:=dependencies/sajson/include
JSON11_INCLUDE:=dependencies/json11/json11.hpp
FASTJSON_INCLUDE:=dependencies/include/fastjson/fastjson.h
GASON_INCLUDE:=dependencies/gason/src/gason.h
UJSON4C_INCLUDE:=dependencies/ujson4c/src/ujdecode.c
CJSON_INCLUDE:=dependencies/cJSON/cJSON.h
JSMN_INCLUDE:=dependencies/jsmn/jsmn.h
LIBS=$(RAPIDJSON_INCLUDE) $(SAJSON_INCLUDE) $(JSON11_INCLUDE) $(FASTJSON_INCLUDE) $(GASON_INCLUDE) $(UJSON4C_INCLUDE) $(CJSON_INCLUDE) $(JSMN_INCLUDE)
EXTRAOBJECTS=ujdecode.o
all: $(MAINEXECUTABLES)
competition: $(COMPARISONEXECUTABLES)
.PHONY: benchmark test
benchmark:
bash ./scripts/parser.sh
bash ./scripts/parseandstat.sh
test: jsoncheck numberparsingcheck stringparsingcheck basictests allparserscheckfile minify json2json
./basictests
./numberparsingcheck
./stringparsingcheck
./jsoncheck
./scripts/testjson2json.sh
./scripts/issue150.sh
@echo
@tput setaf 2
@echo "It looks like the code is good!"
@tput sgr0
quiettest: jsoncheck numberparsingcheck stringparsingcheck basictests allparserscheckfile minify json2json
./basictests
./numberparsingcheck
./stringparsingcheck
./jsoncheck
./scripts/testjson2json.sh
./scripts/issue150.sh
amalgamate:
./amalgamation.sh
submodules:
git submodule update --init --recursive
$(SAJSON_INCLUDE) $(RAPIDJSON_INCLUDE) $(JSON11_INCLUDE) $(FASTJSON_INCLUDE) $(GASON_INCLUDE) $(UJSON4C_INCLUDE) $(CJSON_INCLUDE) $(JSMN_INCLUDE) : submodules
parse: benchmark/parse.cpp $(HEADERS) $(LIBFILES)
$(CXX) $(CXXFLAGS) -o parse $(LIBFILES) benchmark/parse.cpp $(LIBFLAGS)
statisticalmodel: benchmark/statisticalmodel.cpp $(HEADERS) $(LIBFILES)
$(CXX) $(CXXFLAGS) -o statisticalmodel $(LIBFILES) benchmark/statisticalmodel.cpp $(LIBFLAGS)
parse_noutf8validation: benchmark/parse.cpp $(HEADERS) $(LIBFILES)
$(CXX) $(CXXFLAGS) -o parse_noutf8validation -DSIMDJSON_SKIPUTF8VALIDATION $(LIBFILES) benchmark/parse.cpp $(LIBFLAGS)
parse_nonumberparsing: benchmark/parse.cpp $(HEADERS) $(LIBFILES)
$(CXX) $(CXXFLAGS) -o parse_nonumberparsing -DSIMDJSON_SKIPNUMBERPARSING $(LIBFILES) benchmark/parse.cpp $(LIBFLAGS)
parse_nostringparsing: benchmark/parse.cpp $(HEADERS) $(LIBFILES)
$(CXX) $(CXXFLAGS) -o parse_nostringparsing -DSIMDJSON_SKIPSTRINGPARSING $(LIBFILES) benchmark/parse.cpp $(LIBFLAGS)
jsoncheck:tests/jsoncheck.cpp $(HEADERS) $(LIBFILES)
$(CXX) $(CXXFLAGS) -o jsoncheck $(LIBFILES) tests/jsoncheck.cpp -I. $(LIBFLAGS)
basictests:tests/basictests.cpp $(HEADERS) $(LIBFILES)
$(CXX) $(CXXFLAGS) -o basictests $(LIBFILES) tests/basictests.cpp -I. $(LIBFLAGS)
numberparsingcheck:tests/numberparsingcheck.cpp $(HEADERS) $(LIBFILES)
$(CXX) $(CXXFLAGS) -o numberparsingcheck tests/numberparsingcheck.cpp src/jsonioutil.cpp src/jsonparser.cpp src/simdjson.cpp src/stage1_find_marks.cpp src/parsedjson.cpp -I. $(LIBFLAGS) -DJSON_TEST_NUMBERS
stringparsingcheck:tests/stringparsingcheck.cpp $(HEADERS) $(LIBFILES)
$(CXX) $(CXXFLAGS) -o stringparsingcheck tests/stringparsingcheck.cpp src/jsonioutil.cpp src/jsonparser.cpp src/simdjson.cpp src/stage1_find_marks.cpp src/parsedjson.cpp -I. $(LIBFLAGS) -DJSON_TEST_STRINGS
minifiercompetition: benchmark/minifiercompetition.cpp $(HEADERS) $(LIBS) $(MINIFIERHEADERS) $(LIBFILES) $(MINIFIERLIBFILES)
$(CXX) $(CXXFLAGS) -o minifiercompetition $(LIBFILES) $(MINIFIERLIBFILES) benchmark/minifiercompetition.cpp -I. $(LIBFLAGS) $(COREDEPSINCLUDE)
minify: tools/minify.cpp $(HEADERS) $(MINIFIERHEADERS) $(LIBFILES) $(MINIFIERLIBFILES)
$(CXX) $(CXXFLAGS) -o minify $(MINIFIERLIBFILES) $(LIBFILES) tools/minify.cpp -I.
json2json: tools/json2json.cpp $(HEADERS) $(LIBFILES)
$(CXX) $(CXXFLAGS) -o json2json $ tools/json2json.cpp $(LIBFILES) -I.
jsonstats: tools/jsonstats.cpp $(HEADERS) $(LIBFILES)
$(CXX) $(CXXFLAGS) -o jsonstats $ tools/jsonstats.cpp $(LIBFILES) -I.
ujdecode.o: $(UJSON4C_INCLUDE)
$(CC) $(CFLAGS) -c dependencies/ujson4c/src/ujdecode.c
parseandstatcompetition: benchmark/parseandstatcompetition.cpp $(HEADERS) $(LIBFILES) $(LIBS)
$(CXX) $(CXXFLAGS) -o parseandstatcompetition $(LIBFILES) benchmark/parseandstatcompetition.cpp -I. $(LIBFLAGS) $(COREDEPSINCLUDE)
distinctuseridcompetition: benchmark/distinctuseridcompetition.cpp $(HEADERS) $(LIBFILES) $(LIBS)
$(CXX) $(CXXFLAGS) -o distinctuseridcompetition $(LIBFILES) benchmark/distinctuseridcompetition.cpp -I. $(LIBFLAGS) $(COREDEPSINCLUDE)
parsingcompetition: benchmark/parsingcompetition.cpp $(HEADERS) $(LIBFILES) $(LIBS)
$(CXX) $(CXXFLAGS) -o parsingcompetition $(LIBFILES) benchmark/parsingcompetition.cpp -I. $(LIBFLAGS) $(COREDEPSINCLUDE)
allparsingcompetition: benchmark/parsingcompetition.cpp $(HEADERS) $(LIBFILES) $(EXTRAOBJECTS) $(LIBS)
$(CXX) $(CXXFLAGS) -o allparsingcompetition $(LIBFILES) benchmark/parsingcompetition.cpp $(EXTRAOBJECTS) -I. $(LIBFLAGS) $(COREDEPSINCLUDE) $(EXTRADEPSINCLUDE) -DALLPARSER
allparserscheckfile: tests/allparserscheckfile.cpp $(HEADERS) $(LIBFILES) $(EXTRAOBJECTS) $(LIBS)
$(CXX) $(CXXFLAGS) -o allparserscheckfile $(LIBFILES) tests/allparserscheckfile.cpp $(EXTRAOBJECTS) -I. $(LIBFLAGS) $(COREDEPSINCLUDE) $(EXTRADEPSINCLUDE)
.PHONY: submodules clean cppcheck cleandist
cppcheck:
cppcheck --enable=all src/*.cpp benchmarks/*.cpp tests/*.cpp -Iinclude -I. -Ibenchmark/linux
everything: $(MAINEXECUTABLES) $(EXTRA_EXECUTABLES) $(TESTEXECUTABLES) $(COMPARISONEXECUTABLES) $(SUPPLEMENTARYEXECUTABLES)
clean:
rm -f $(EXTRAOBJECTS) $(MAINEXECUTABLES) $(EXTRA_EXECUTABLES) $(TESTEXECUTABLES) $(COMPARISONEXECUTABLES) $(SUPPLEMENTARYEXECUTABLES)
cleandist:
rm -f $(EXTRAOBJECTS) $(MAINEXECUTABLES) $(EXTRA_EXECUTABLES) $(TESTEXECUTABLES) $(COMPARISONEXECUTABLES) $(SUPPLEMENTARYEXECUTABLES)
-85
View File
@@ -1,85 +0,0 @@
# Notes on simdjson
## Rationale:
The simdjson project serves two purposes:
1. It creates a useful library for parsing JSON data quickly.
2. It is a demonstration of the use of SIMD and pipelined programming techniques to perform a complex and irregular task.
These techniques include the use of large registers and SIMD instructions to process large amounts of input data at once,
to hold larger entities than can typically be held in a single General Purpose Register (GPR), and to perform operations
that are not cheap to perform without use of a SIMD unit (for example table lookup using permute instructions).
The other key technique is that the system is designed to minimize the number of unpredictable branches that must be taken
to perform the task. Modern architectures are both wide and deep (4-wide pipelines with ~14 stages are commonplace). A
recent Intel Architecture processor, for example, can perform 3 256-bit SIMD operations or 2 512-bit SIMD operations per
cycle as well as other operations on general purpose registers or with the load/store unit. An incorrectly predicted branch
will clear this pipeline. While it is rare that a programmer can achieve the maximum throughput on a machine, a developer
may be missing the opportunity to carry out 56 operations for each branch miss.
Many code-bases make use of SIMD and deeply pipelined, "non-branchy", processing for regular tasks. Numerical problems
(e.g. "matrix multiply") or simple 'bulk search' tasks (e.g. "count all the occurrences of a given character in a text",
"find the first occurrence of the string 'foo' in a text") frequently use this class of techniques. We are demonstrating
that these techniques can be applied to much more complex and less regular tasks.
## Design:
### Stage 1: SIMD over bytes; bit vector processing over bytes.
The first stage of our processing must identify key points in our input: the 'structural characters' of JSON (curly and
square braces, colon, and comma), the start and end of strings as delineated by double quote characters, other JSON 'atoms'
that are not distinguishable by simple characters (constructs such as "true", "false", "null" and numbers), as well as
discovering these characters and atoms in the presence of both quoting conventions and backslash escaping conventions.
As such we follow the broad outline of the construction of a structural index as set forth in the Mison paper [XXX]; first,
the discovery of odd-length sequences of backslash characters (which will cause quote characters immediately following to
be escaped and not serve their quoting role but instead be literal charaters), second, the discovery of quote pairs (which
cause structural characters within the quote pairs to also be merely literal characters and have no function as structural
characters), then finally the discovery of structural characters not contained without the quote pairs.
We depart from the Mison paper in terms of method and overall design. In terms of method, the Mison paper uses iteration
over bit vectors to discover backslash sequences and quote pairs; we introduce branch-free techniques to discover both of
these properties.
We also make use of our ability to quickly detect whitespace in this early stage. We can use another bit-vector based
transformation to discover locations in our data that follow a structural character or quote or whitespace and are not whitespace. Excluding locations within strings, and the structural characters we have already discovered,
these locations are the only place that we can expect to see the starts of the JSON 'atoms'. These locations are thus
treated as 'structural' ('pseudo-structural characters').
This stage involves either SIMD processing over bytes or the manipulation of bit arrays that have 1 bit corresponding
to 1 byte of input. As such, it can be quite inefficient for some inputs - it is possible to observe dozens of operations
taking place to discover that there are in fact no odd-numbered sequences of backslashes or quotes in a given block of
input. However, this inefficiency on such inputs is balanced by the fact that it costs no more to run this code over
complex structured input, and the alternatives would generally involve running a number of unpredictable branches (for
example, the loop branches in Mison that iterate over bit vectors).
### Stage 2: The transition from "SIMD over bytes" to "indices"
Our structural, pseudo-structural and other 'interesting' characters are relatively rare (TODO: quantify in detail -
it's typically about 1 in 10). As such, continuing to process them as bit vectors will involve manipulating data structures
that are relatively large as well as being fairly unpredictably spaced. We must transform these bitvectors of "interesting"
locations into offsets.
Note that we can examine the character at the offset to discover what the original function of the item in the bitvector
was. While the JSON structural characters and quotes are relatively self-explanatory (although working only with one offset
at a time, we have lost the distinction between opening quotes and closing quotes, something that was available in Stage 1),
it is a quirk of JSON that the legal atoms can all be distinguished from each other by their first character - 't' for
'true', 'f' for 'false', 'n' for 'null' and the character class [0-9-] for numerical values.
Thus, the offset suffices, as long as we retain our original input.
Our current implementation involves a straightforward transformation of bitmaps to indices by use of the 'count trailing
zeros' operation and the well-known operation to clear the lowest set bit. Note that this implementation introduces an
unpredictable branch; unless there is a regular pattern in our bitmaps, we would expect to have at least one branch miss
for each bitmap.
### Stage 3: Operation over indices
This now works over a dual structure.
1. The "state machine", whose role it is to validate the sequence of structural characters and ensure that the input is at least generally structured like valid JSON (after this stage, the only errors permissible should be malformed atoms and numbers). If and only if the "state machine" reached all accept states, then,
2. The "tape machine" will have produced valid output. The tape machine works blindly over characters writing records to tapes. These records create a lean but somewhat traversable linked structure that, for valid inputs, should represent what we need to know about the JSON input.
FIXME: a lot more detail is required on the operation of both these machines.
-539
View File
@@ -1,539 +0,0 @@
# simdjson : Parsing gigabytes of JSON per second
[![Build Status](https://cloud.drone.io/api/badges/lemire/simdjson/status.svg)](https://cloud.drone.io/lemire/simdjson/)
[![CircleCI](https://circleci.com/gh/lemire/simdjson.svg?style=svg)](https://circleci.com/gh/lemire/simdjson)
[![Build Status](https://img.shields.io/appveyor/ci/lemire/simdjson.svg)](https://ci.appveyor.com/project/lemire/simdjson)
[![][license img]][license]
## A C++ library to see how fast we can parse JSON with complete validation.
JSON documents are everywhere on the Internet. Servers spend a lot of time parsing these documents. We want to accelerate the parsing of JSON per se using commonly available SIMD instructions as much as possible while doing full validation (including character encoding).
<img src="images/logo.png" width="10%">
## Paper
A description of the design and implementation of simdjson appears at https://arxiv.org/abs/1902.08318 and an informal blog post providing some background and context is at https://branchfree.org/2019/02/25/paper-parsing-gigabytes-of-json-per-second/.
Some people [enjoy reading our paper](https://arxiv.org/abs/1902.08318):
[<img src="images/halvarflake.png" width="50%">](https://twitter.com/halvarflake/status/1118459536686362625)
## Performance results
simdjson uses three-quarters less instructions than state-of-the-art parser RapidJSON and fifty percent less than sajson. To our knowledge, simdjson is the first fully-validating JSON parser to run at gigabytes per second on commodity processors.
<img src="doc/gbps.png" width="90%">
On a Skylake processor, the parsing speeds (in GB/s) of various processors on the twitter.json file are as follows.
| parser | GB/s |
| ------------------------------------- | ---- |
| simdjson | 2.2 |
| RapidJSON encoding-validation | 0.51 |
| RapidJSON encoding-validation, insitu | 0.71 |
| sajson (insitu, dynamic) | 0.70 |
| sajson (insitu, static) | 0.97 |
| dropbox | 0.14 |
| fastjson | 0.26 |
| gason | 0.85 |
| ultrajson | 0.42 |
| jsmn | 0.28 |
| cJSON | 0.34 |
## Requirements
- We support platforms like Linux or macOS, as well as Windows through Visual Studio 2017 or later.
- A processor with AVX2 (i.e., Intel processors starting with the Haswell microarchitecture released 2013 and AMD processors starting with the Zen microarchitecture released 2017).
- A recent C++ compiler (e.g., GNU GCC or LLVM CLANG or Visual Studio 2017), we assume C++17. GNU GCC 7 or better or LLVM's clang 6 or better.
- Some benchmark scripts assume bash and other common utilities, but they are optional.
## License
This code is made available under the Apache License 2.0.
Under Windows, we build some tools using the windows/dirent_portable.h file (which is outside our library code): it under the liberal (business-friendly) MIT license.
## Code example
```C
#include "simdjson/jsonparser.h"
/...
const char * filename = ... //
// use whatever means you want to get a string (UTF-8) of your JSON document
padded_string p = get_corpus(filename);
ParsedJson pj;
pj.allocateCapacity(p.size()); // allocate memory for parsing up to p.size() bytes
const int res = json_parse(p, pj); // do the parsing, return 0 on success
// parsing is done!
if (res != 0) {
// You can use the "simdjson/simdjson.h" header to access the error message
std::cout << "Error parsing:" << simdjson::errorMsg(res) << std::endl;
}
// the ParsedJson document can be used here
// pj can be reused with other json_parse calls.
```
It is also possible to use a simpler API if you do not mind having the overhead
of memory allocation with each new JSON document:
```C
#include "simdjson/jsonparser.h"
/...
const char * filename = ... //
padding_string p = get_corpus(filename);
ParsedJson pj = build_parsed_json(p); // do the parsing
if( ! pj.isValid() ) {
// something went wrong
}
```
Though the `padded_string` class is recommended for best performance, you can call `json_parse` and `build_parsed_json`, passing a standard `std::string` object.
```C
#include "simdjson/jsonparser.h"
/...
std::string mystring = ... //
ParsedJson pj;
pj.allocateCapacity(mystring.size()); // allocate memory for parsing up to p.size() bytes
// std::string may not overallocate so a copy will be needed
const int res = json_parse(mystring, pj); // do the parsing, return 0 on success
// parsing is done!
if (res != 0) {
// You can use the "simdjson/simdjson.h" header to access the error message
std::cout << "Error parsing:" << simdjson::errorMsg(res) << std::endl;
}
// pj can be reused with other json_parse calls.
```
or
```C
#include "simdjson/jsonparser.h"
/...
std::string mystring = ... //
// std::string may not overallocate so a copy will be needed
ParsedJson pj = build_parsed_json(mystring); // do the parsing
if( ! pj.isValid() ) {
// something went wrong
}
```
As needed, the `json_parse` and `build_parsed_json` functions copy the input data to a temporary buffer readable up to SIMDJSON_PADDING bytes beyond the end of the data.
## Usage: easy single-header version
See the "singleheader" repository for a single header version. See the included
file "amalgamation_demo.cpp" for usage. This requires no specific build system: just
copy the files in your project in your include path. You can then include them quite simply:
```C
#include <iostream>
#include "simdjson.h"
#include "simdjson.cpp"
int main(int argc, char *argv[]) {
const char * filename = argv[1];
padded_string p = get_corpus(filename);
ParsedJson pj = build_parsed_json(p); // do the parsing
if( ! pj.isValid() ) {
std::cout << "not valid" << std::endl;
} else {
std::cout << "valid" << std::endl;
}
return EXIT_SUCCESS;
}
```
We require hardware support for AVX2 instructions. You have to make sure that you instruct your
compiler to use these instructions as needed. Under compilers such as GNU GCC or LLVM clang, the
flag `-march=native` used on a recent Intel processor (Haswell or better) is sufficient. For portability
of the binary files you can also specify directly the Haswell processor (`-march=haswell`). You may
also use the flags `-mavx2 -mbmi2`. Under Visual Studio, you need to target x64 and add the
flag `/arch:AVX2`.
Note: In some settings, it might be desirable to precompile `simdjson.cpp` instead of including it.
## Usage (old-school Makefile on platforms like Linux or macOS)
Requirements: recent clang or gcc, and make. We recommend at least GNU GCC/G++ 7 or LLVM clang 6. A system like Linux or macOS is expected.
To test:
```
make
make test
```
To run benchmarks:
```
make parse
./parse jsonexamples/twitter.json
```
Under Linux, the `parse` command gives a detailed analysis of the performance counters.
To run comparative benchmarks (with other parsers):
```
make benchmark
```
## Usage (CMake on platforms like Linux or macOS)
Requirements: We require a recent version of cmake. On macOS, the easiest way to install cmake might be to use [brew](https://brew.sh) and then type
```
brew install cmake
```
There is an [equivalent brew on Linux which works the same way as well](https://linuxbrew.sh).
You need a recent compiler like clang or gcc. We recommend at least GNU GCC/G++ 7 or LLVM clang 6. For example, you can install a recent compiler with brew:
```
brew install gcc@8
```
Optional: You need to tell cmake which compiler you wish to use by setting the CC and CXX variables. Under bash, you can do so with commands such as `export CC=gcc-7` and `export CXX=g++-7`.
Building: While in the project repository, do the following:
```
mkdir build
cd build
cmake ..
make
make test
```
CMake will build a library. By default, it builds a shared library (e.g., libsimdjson.so on Linux).
You can build a static library:
```
mkdir buildstatic
cd buildstatic
cmake -DSIMDJSON_BUILD_STATIC=ON ..
make
make test
```
In some cases, you may want to specify your compiler, especially if the default compiler on your system is too old. You may proceed as follows:
```
brew install gcc@8
mkdir build
cd build
export CXX=g++-8 CC=gcc-8
cmake ..
make
make test
```
## Usage (CMake on Windows using Visual Studio)
We assume you have a common Windows PC with at least Visual Studio 2017 and an x64 processor with AVX2 support (2013 Intel Haswell or later).
- Grab the simdjson code from GitHub, e.g., by cloning it using [GitHub Desktop](https://desktop.github.com/).
- Install [CMake](https://cmake.org/download/). When you install it, make sure to ask that `cmake` be made available from the command line. Please choose a recent version of cmake.
- Create a subdirectory within simdjson, such as `VisualStudio`.
- Using a shell, go to this newly created directory.
- Type `cmake -DCMAKE_GENERATOR_PLATFORM=x64 ..` in the shell while in the `VisualStudio` repository. (Alternatively, if you want to build a DLL, you may use the command line `cmake -DCMAKE_GENERATOR_PLATFORM=x64 -DSIMDJSON_BUILD_STATIC=OFF ..`.)
- This last command created a Visual Studio solution file in the newly created directory (e.g., `simdjson.sln`). Open this file in Visual Studio. You should now be able to build the project and run the tests. For example, in the `Solution Explorer` window (available from the `View` menu), right-click `ALL_BUILD` and select `Build`. To test the code, still in the `Solution Explorer` window, select `RUN_TESTS` and select `Build`.
## Usage (Using `vcpkg` on Windows, Linux and MacOS)
[vcpkg](https://github.com/Microsoft/vcpkg) users on Windows, Linux and MacOS can download and install `simdjson` with one single command from their favorite shell.
On Linux and MacOS:
```
$ ./vcpkg install simdjson
```
will build and install `simdjson` as a static library.
On Windows (64-bit):
```
.\vcpkg.exe install simdjson:x64-windows
```
will build and install `simdjson` as a shared library.
```
.\vcpkg.exe install simdjson:x64-windows-static
```
will build and install `simdjson` as a static library.
These commands will also print out instructions on how to use the library from MSBuild or CMake-based projects.
If you find the version of `simdjson` shipped with `vcpkg` is out-of-date, feel free to report it to `vcpkg` community either by submiting an issue or by creating a PR.
## Tools
- `json2json mydoc.json` parses the document, constructs a model and then dumps back the result to standard output.
- `json2json -d mydoc.json` parses the document, constructs a model and then dumps model (as a tape) to standard output. The tape format is described in the accompanying file `tape.md`.
- `minify mydoc.json` minifies the JSON document, outputting the result to standard output. Minifying means to remove the unneeded white space characters.
## Scope
We provide a fast parser, that fully validates an input according to various specifications.
The parser builds a useful immutable (read-only) DOM (document-object model) which can be later accessed.
To simplify the engineering, we make some assumptions.
- We support UTF-8 (and thus ASCII), nothing else (no Latin, no UTF-16). We do not believe this is a genuine limitation, because we do not think there is any serious application that needs to process JSON data without an ASCII or UTF-8 encoding.
- All strings in the JSON document may have up to 4294967295 bytes in UTF-8 (4GB). To enforce this constraint, we refuse to parse a document that contains more than 4294967295 bytes (4GB). This should accommodate most JSON documents.
- We assume AVX2 support, which is available in all recent mainstream x86 processors produced by AMD and Intel. No support for non-x86 processors is included, though it can be done. We plan to support ARM processors (help is invited).
- In cases of failure, we report a failure without any indication to the nature of the problem. (This can be easily improved without affecting performance.)
- As allowed by the specification, we allow repeated keys within an object (other parsers like sajson do the same).
- Performance is optimized for JSON documents spanning at least a tens kilobytes up to many megabytes: the performance issues with having to parse many tiny JSON documents or one truly enormous JSON document are different.
_We do not aim to provide a general-purpose JSON library._ A library like RapidJSON offers much more than just parsing, it helps you generate JSON and offers various other convenient functions. We merely parse the document.
## Features
- The input string is unmodified. (Parsers like sajson and RapidJSON use the input string as a buffer.)
- We parse integers and floating-point numbers as separate types which allows us to support large 64-bit integers in [-9223372036854775808,9223372036854775808), like a Java `long` or a C/C++ `long long`. Among the parsers that differentiate between integers and floating-point numbers, not all support 64-bit integers. (For example, sajson rejects JSON files with integers larger than or equal to 2147483648. RapidJSON will parse a file containing an overly long integer like 18446744073709551616 as a floating-point number.) When we cannot represent exactly an integer as a signed 64-bit value, we reject the JSON document.
- We do full UTF-8 validation as part of the parsing. (Parsers like fastjson, gason and dropbox json11 do not do UTF-8 validation.)
- We fully validate the numbers. (Parsers like gason and ultranjson will accept `[0e+]` as valid JSON.)
- We validate string content for unescaped characters. (Parsers like fastjson and ultrajson accept unescaped line breaks and tabs in strings.)
## Architecture
The parser works in two stages:
- Stage 1. (Find marks) Identifies quickly structure elements, strings, and so forth. We validate UTF-8 encoding at that stage.
- Stage 2. (Structure building) Involves constructing a "tree" of sort (materialized as a tape) to navigate through the data. Strings and numbers are parsed at this stage.
## Navigating the parsed document
Here is a code sample to dump back the parsed JSON to a string:
```c
ParsedJson::iterator pjh(pj);
if (!pjh.isOk()) {
std::cerr << " Could not iterate parsed result. " << std::endl;
return EXIT_FAILURE;
}
compute_dump(pj);
//
// where compute_dump is :
void compute_dump(ParsedJson::iterator &pjh) {
if (pjh.is_object()) {
std::cout << "{";
if (pjh.down()) {
pjh.print(std::cout); // must be a string
std::cout << ":";
pjh.next();
compute_dump(pjh); // let us recurse
while (pjh.next()) {
std::cout << ",";
pjh.print(std::cout);
std::cout << ":";
pjh.next();
compute_dump(pjh); // let us recurse
}
pjh.up();
}
std::cout << "}";
} else if (pjh.is_array()) {
std::cout << "[";
if (pjh.down()) {
compute_dump(pjh); // let us recurse
while (pjh.next()) {
std::cout << ",";
compute_dump(pjh); // let us recurse
}
pjh.up();
}
std::cout << "]";
} else {
pjh.print(std::cout); // just print the lone value
}
}
```
The following function will find all user.id integers:
```C
void simdjson_traverse(std::vector<int64_t> &answer, ParsedJson::iterator &i) {
switch (i.get_type()) {
case '{':
if (i.down()) {
do {
bool founduser = equals(i.get_string(), "user");
i.next(); // move to value
if (i.is_object()) {
if (founduser && i.move_to_key("id")) {
if (i.is_integer()) {
answer.push_back(i.get_integer());
}
i.up();
}
simdjson_traverse(answer, i);
} else if (i.is_array()) {
simdjson_traverse(answer, i);
}
} while (i.next());
i.up();
}
break;
case '[':
if (i.down()) {
do {
if (i.is_object_or_array()) {
simdjson_traverse(answer, i);
}
} while (i.next());
i.up();
}
break;
case 'l':
case 'd':
case 'n':
case 't':
case 'f':
default:
break;
}
}
```
## In-depth comparisons
If you want to see how a wide range of parsers validate a given JSON file:
```
make allparserscheckfile
./allparserscheckfile myfile.json
```
For performance comparisons:
```
make parsingcompetition
./parsingcompetition myfile.json
```
For broader comparisons:
```
make allparsingcompetition
./allparsingcompetition myfile.json
```
## Other programming languages
We distinguish between "bindings" (which just wrap the C++ code) and a port to another programming language (which reimplements everything).
- [pysimdjson](https://github.com/TkTech/pysimdjson): Python bindings for the simdjson project.
- [simdjson-rs](https://github.com/Licenser/simdjson-rs): Rust port
- [SimdJsonSharp](https://github.com/EgorBo/SimdJsonSharp): C# version for .NET Core (bindings and full port)
- [simdjson_nodejs](https://github.com/luizperes/simdjson_nodejs): Node.js bindings for the simdjson project.
- [simdjson_php](https://github.com/crazyxman/simdjson_php): PHP bindings for the simdjson project.
## Various References
- [Google double-conv](https://github.com/google/double-conversion/)
- [How to implement atoi using SIMD?](https://stackoverflow.com/questions/35127060/how-to-implement-atoi-using-simd)
- [Parsing JSON is a Minefield 💣](http://seriot.ch/parsing_json.php)
- https://tools.ietf.org/html/rfc7159
- The Mison implementation in rust https://github.com/pikkr/pikkr
- http://rapidjson.org/md_doc_sax.html
- https://github.com/Geal/parser_benchmarks/tree/master/json
- Gron: A command line tool that makes JSON greppable https://news.ycombinator.com/item?id=16727665
- GoogleGson https://github.com/google/gson
- Jackson https://github.com/FasterXML/jackson
- https://www.yelp.com/dataset_challenge
- RapidJSON. http://rapidjson.org/
Inspiring links:
- https://auth0.com/blog/beating-json-performance-with-protobuf/
- https://gist.github.com/shijuvar/25ad7de9505232c87034b8359543404a
- https://github.com/frankmcsherry/blog/blob/master/posts/2018-02-11.md
Validating UTF-8 takes no more than 0.7 cycles per byte:
- https://github.com/lemire/fastvalidate-utf-8 https://lemire.me/blog/2018/05/16/validating-utf-8-strings-using-as-little-as-0-7-cycles-per-byte/
## Remarks on JSON parsing
- The JSON spec defines what a JSON parser is:
> A JSON parser transforms a JSON text into another representation. A JSON parser MUST accept all texts that conform to the JSON grammar. A JSON parser MAY accept non-JSON forms or extensions. An implementation may set limits on the size of texts that it accepts. An implementation may set limits on the maximum depth of nesting. An implementation may set limits on the range and precision of numbers. An implementation may set limits on the length and character contents of strings.
* JSON is not JavaScript:
> All JSON is Javascript but NOT all Javascript is JSON. So {property:1} is invalid because property does not have double quotes around it. {'property':1} is also invalid, because it's single quoted while the only thing that can placate the JSON specification is double quoting. JSON is even fussy enough that {"property":.1} is invalid too, because you should have of course written {"property":0.1}. Also, don't even think about having comments or semicolons, you guessed it: they're invalid. (credit:https://github.com/elzr/vim-json)
* The structural characters are:
begin-array = [ left square bracket
begin-object = { left curly bracket
end-array = ] right square bracket
end-object = } right curly bracket
name-separator = : colon
value-separator = , comma
### Pseudo-structural elements
A character is pseudo-structural if and only if:
1. Not enclosed in quotes, AND
2. Is a non-whitespace character, AND
3. Its preceding character is either:
(a) a structural character, OR
(b) whitespace.
This helps as we redefine some new characters as pseudo-structural such as the characters 1, G, n in the following:
> { "foo" : 1.5, "bar" : 1.5 GEOFF_IS_A_DUMMY bla bla , "baz", null }
## Academic References
- T.Mühlbauer, W.Rödiger, R.Seilbeck, A.Reiser, A.Kemper, and T.Neumann. Instant loading for main memory databases. PVLDB, 6(14):17021713, 2013. (SIMD-based CSV parsing)
- Mytkowicz, Todd, Madanlal Musuvathi, and Wolfram Schulte. "Data-parallel finite-state machines." ACM SIGARCH Computer Architecture News. Vol. 42. No. 1. ACM, 2014.
- Lu, Yifan, et al. "Tree structured data processing on GPUs." Cloud Computing, Data Science & Engineering-Confluence, 2017 7th International Conference on. IEEE, 2017.
- Sidhu, Reetinder. "High throughput, tree automata based XML processing using FPGAs." Field-Programmable Technology (FPT), 2013 International Conference on. IEEE, 2013.
- Dai, Zefu, Nick Ni, and Jianwen Zhu. "A 1 cycle-per-byte XML parsing accelerator." Proceedings of the 18th annual ACM/SIGDA international symposium on Field programmable gate arrays. ACM, 2010.
- Lin, Dan, et al. "Parabix: Boosting the efficiency of text processing on commodity processors." High Performance Computer Architecture (HPCA), 2012 IEEE 18th International Symposium on. IEEE, 2012. http://parabix.costar.sfu.ca/export/1783/docs/HPCA2012/final_ieee/final.pdf
- Deshmukh, V. M., and G. R. Bamnote. "An empirical evaluation of optimization parameters in XML parsing for performance enhancement." Computer, Communication and Control (IC4), 2015 International Conference on. IEEE, 2015.
- Moussalli, Roger, et al. "Efficient XML Path Filtering Using GPUs." ADMS@ VLDB. 2011.
- Jianliang, Ma, et al. "Parallel speculative dom-based XML parser." High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems (HPCC-ICESS), 2012 IEEE 14th International Conference on. IEEE, 2012.
- Li, Y., Katsipoulakis, N.R., Chandramouli, B., Goldstein, J. and Kossmann, D., 2017. Mison: a fast JSON parser for data analytics. Proceedings of the VLDB Endowment, 10(10), pp.1118-1129. http://www.vldb.org/pvldb/vol10/p1118-li.pdf
- Cameron, Robert D., et al. "Parallel scanning with bitstream addition: An xml case study." European Conference on Parallel Processing. Springer, Berlin, Heidelberg, 2011.
- Cameron, Robert D., Kenneth S. Herdy, and Dan Lin. "High performance XML parsing using parallel bit stream technology." Proceedings of the 2008 conference of the center for advanced studies on collaborative research: meeting of minds. ACM, 2008.
- Shah, Bhavik, et al. "A data parallel algorithm for XML DOM parsing." International XML Database Symposium. Springer, Berlin, Heidelberg, 2009.
- Cameron, Robert D., and Dan Lin. "Architectural support for SWAR text processing with parallel bit streams: the inductive doubling principle." ACM Sigplan Notices. Vol. 44. No. 3. ACM, 2009.
- Amagasa, Toshiyuki, Mana Seino, and Hiroyuki Kitagawa. "Energy-Efficient XML Stream Processing through Element-Skipping Parsing." Database and Expert Systems Applications (DEXA), 2013 24th International Workshop on. IEEE, 2013.
- Medforth, Nigel Woodland. "icXML: Accelerating Xerces-C 3.1. 1 using the Parabix Framework." (2013).
- Zhang, Qiang Scott. Embedding Parallel Bit Stream Technology Into Expat. Diss. Simon Fraser University, 2010.
- Cameron, Robert D., et al. "Fast Regular Expression Matching with Bit-parallel Data Streams."
- Lin, Dan. Bits filter: a high-performance multiple string pattern matching algorithm for malware detection. Diss. School of Computing Science-Simon Fraser University, 2010.
- Yang, Shiyang. Validation of XML Document Based on Parallel Bit Stream Technology. Diss. Applied Sciences: School of Computing Science, 2013.
- N. Nakasato, "Implementation of a parallel tree method on a GPU", Journal of Computational Science, vol. 3, no. 3, pp. 132-141, 2012.
[license]: LICENSE
[license img]: https://img.shields.io/badge/License-Apache%202-blue.svg
+127
View File
@@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/generic/amalgamated.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('amalgamated_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">amalgamated.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#if defined(SIMDJSON_CONDITIONAL_INCLUDE) &amp;&amp; !defined(SIMDJSON_GENERIC_DEPENDENCIES_H)</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#error simdjson/generic/dependencies.h must be included before simdjson/generic/amalgamated.h!</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/generic/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/generic/jsoncharutils.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &quot;simdjson/generic/atomparsing.h&quot;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &quot;simdjson/generic/dom_parser_implementation.h&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &quot;simdjson/generic/implementation_simdjson_result_base.h&quot;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &quot;simdjson/generic/numberparsing.h&quot;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;simdjson/generic/implementation_simdjson_result_base-inl.h&quot;</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_53368a02099cf3699f2996a5d88d70b6.html">generic</a></li><li class="navelem"><b>amalgamated.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
-141
View File
@@ -1,141 +0,0 @@
#!/bin/bash
########################################################################
# Generates an "amalgamation build" for roaring. Inspired by similar
# script used by whefs.
########################################################################
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
echo "We are about to amalgamate all simdjson files into one source file. "
echo "See https://www.sqlite.org/amalgamation.html and https://en.wikipedia.org/wiki/Single_Compilation_Unit for rationale. "
AMAL_H="simdjson.h"
AMAL_C="simdjson.cpp"
# order does not matter
ALLCFILES="
$SCRIPTPATH/src/jsonioutil.cpp
$SCRIPTPATH/src/jsonminifier.cpp
$SCRIPTPATH/src/jsonparser.cpp
$SCRIPTPATH/src/stage1_find_marks.cpp
$SCRIPTPATH/src/stage2_build_tape.cpp
$SCRIPTPATH/src/parsedjson.cpp
$SCRIPTPATH/src/parsedjsoniterator.cpp
"
# order matters
ALLCHEADERS="
$SCRIPTPATH/include/simdjson/simdjson_version.h
$SCRIPTPATH/include/simdjson/simdjson.h
$SCRIPTPATH/include/simdjson/portability.h
$SCRIPTPATH/include/simdjson/common_defs.h
$SCRIPTPATH/include/simdjson/padded_string.h
$SCRIPTPATH/include/simdjson/jsoncharutils.h
$SCRIPTPATH/include/simdjson/jsonformatutils.h
$SCRIPTPATH/include/simdjson/jsonioutil.h
$SCRIPTPATH/include/simdjson/simdprune_tables.h
$SCRIPTPATH/include/simdjson/simdutf8check.h
$SCRIPTPATH/include/simdjson/jsonminifier.h
$SCRIPTPATH/include/simdjson/parsedjson.h
$SCRIPTPATH/include/simdjson/stage1_find_marks.h
$SCRIPTPATH/include/simdjson/stringparsing.h
$SCRIPTPATH/include/simdjson/numberparsing.h
$SCRIPTPATH/include/simdjson/stage2_build_tape.h
$SCRIPTPATH/include/simdjson/jsonparser.h
"
for i in ${ALLCHEADERS} ${ALLCFILES}; do
test -e $i && continue
echo "FATAL: source file [$i] not found."
exit 127
done
function stripinc()
{
sed -e '/# *include *"/d' -e '/# *include *<simdjson\//d'
}
function dofile()
{
RELFILE=${1#"$SCRIPTPATH/"}
echo "/* begin file $RELFILE */"
# echo "#line 8 \"$1\"" ## redefining the line/file is not nearly as useful as it sounds for debugging. It breaks IDEs.
stripinc < $1
echo "/* end file $RELFILE */"
}
timestamp=$(date)
echo "Creating ${AMAL_H}..."
echo "/* auto-generated on ${timestamp}. Do not edit! */" > "${AMAL_H}"
{
for h in ${ALLCHEADERS}; do
dofile $h
done
} >> "${AMAL_H}"
echo "Creating ${AMAL_C}..."
echo "/* auto-generated on ${timestamp}. Do not edit! */" > "${AMAL_C}"
{
echo "#include \"${AMAL_H}\""
echo ""
echo "/* used for http://dmalloc.com/ Dmalloc - Debug Malloc Library */"
echo "#ifdef DMALLOC"
echo "#include \"dmalloc.h\""
echo "#endif"
echo ""
for h in ${ALLCFILES}; do
dofile $h
done
} >> "${AMAL_C}"
DEMOCPP="amalgamation_demo.cpp"
echo "Creating ${DEMOCPP}..."
echo "/* auto-generated on ${timestamp}. Do not edit! */" > "${DEMOCPP}"
cat <<< '
#include <iostream>
#include "simdjson.h"
#include "simdjson.cpp"
int main(int argc, char *argv[]) {
const char * filename = argv[1];
padded_string p = get_corpus(filename);
ParsedJson pj = build_parsed_json(p); // do the parsing
if( ! pj.isValid() ) {
std::cout << "not valid" << std::endl;
} else {
std::cout << "valid" << std::endl;
}
return EXIT_SUCCESS;
}
' >> "${DEMOCPP}"
echo "Done with all files generation. "
echo "Files have been written to directory: $PWD "
ls -la ${AMAL_C} ${AMAL_H} ${DEMOCPP}
echo "Giving final instructions:"
CPPBIN=${DEMOCPP%%.*}
echo "Try :"
echo "c++ -march=native -O3 -std=c++17 -o ${CPPBIN} ${DEMOCPP} && ./${CPPBIN} ../jsonexamples/twitter.json "
SINGLEHDR=$SCRIPTPATH/singleheader
echo "Copying files to $SCRIPTPATH/singleheader "
mkdir -p $SINGLEHDR
echo "c++ -march=native -O3 -std=c++17 -o ${CPPBIN} ${DEMOCPP} && ./${CPPBIN} ../jsonexamples/twitter.json " > $SINGLEHDR/README.md
cp ${AMAL_C} ${AMAL_H} ${DEMOCPP} $SINGLEHDR
ls $SINGLEHDR
cd $SINGLEHDR && c++ -march=native -O3 -std=c++17 -o ${CPPBIN} ${DEMOCPP} && ./${CPPBIN} ../jsonexamples/twitter.json
lowercase(){
echo "$1" | tr 'A-Z' 'a-z'
}
OS=`lowercase \`uname\``
+167
View File
@@ -0,0 +1,167 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('annotated.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Class List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span><span onclick="javascript:toggleLevel(4);">4</span><span onclick="javascript:toggleLevel(5);">5</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacesimdjson.html" target="_self">simdjson</a></td><td class="desc">The top level simdjson namespace, containing everything the library provides </td></tr>
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacesimdjson_1_1dom.html" target="_self">dom</a></td><td class="desc">A DOM API on top of the simdjson parser </td></tr>
<tr id="row_0_0_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_0_" class="arrow" onclick="toggleFolder('0_0_0_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1dom_1_1array.html" target="_self">array</a></td><td class="desc">JSON array </td></tr>
<tr id="row_0_0_0_0_" class="odd"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1dom_1_1array_1_1iterator.html" target="_self">iterator</a></td><td class="desc"></td></tr>
<tr id="row_0_0_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1dom_1_1document.html" target="_self">document</a></td><td class="desc">A parsed JSON document </td></tr>
<tr id="row_0_0_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_2_" class="arrow" onclick="toggleFolder('0_0_2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1dom_1_1document__stream.html" target="_self">document_stream</a></td><td class="desc">A forward-only stream of documents </td></tr>
<tr id="row_0_0_2_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1dom_1_1document__stream_1_1iterator.html" target="_self">iterator</a></td><td class="desc">An iterator through a forward-only stream of documents </td></tr>
<tr id="row_0_0_3_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1dom_1_1element.html" target="_self">element</a></td><td class="desc">A JSON element </td></tr>
<tr id="row_0_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1dom_1_1key__value__pair.html" target="_self">key_value_pair</a></td><td class="desc">Key/value pair in an object </td></tr>
<tr id="row_0_0_5_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_0_5_" class="arrow" onclick="toggleFolder('0_0_5_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1dom_1_1object.html" target="_self">object</a></td><td class="desc">JSON object </td></tr>
<tr id="row_0_0_5_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1dom_1_1object_1_1iterator.html" target="_self">iterator</a></td><td class="desc"></td></tr>
<tr id="row_0_0_6_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1dom_1_1parser.html" target="_self">parser</a></td><td class="desc">A persistent document parser </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>SIMDJSON_IMPLEMENTATION</b></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_1_0_" class="arrow" onclick="toggleFolder('0_1_0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>builder</b></td><td class="desc"></td></tr>
<tr id="row_0_1_0_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html" target="_self">string_builder</a></td><td class="desc">A builder for JSON strings representing documents </td></tr>
<tr id="row_0_1_1_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_0_1_1_" class="arrow" onclick="toggleFolder('0_1_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html" target="_self">ondemand</a></td><td class="desc">A fast, simple, DOM-like interface that parses JSON as you use it </td></tr>
<tr id="row_0_1_1_0_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html" target="_self">array</a></td><td class="desc">A forward-only JSON array </td></tr>
<tr id="row_0_1_1_1_" class="odd"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html" target="_self">array_iterator</a></td><td class="desc">A forward-only JSON array </td></tr>
<tr id="row_0_1_1_2_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html" target="_self">document</a></td><td class="desc">A JSON document </td></tr>
<tr id="row_0_1_1_3_" class="odd"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html" target="_self">document_reference</a></td><td class="desc">A <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html" title="A document_reference is a thin wrapper around a document reference instance.">document_reference</a> is a thin wrapper around a document reference instance </td></tr>
<tr id="row_0_1_1_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_1_1_4_" class="arrow" onclick="toggleFolder('0_1_1_4_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html" target="_self">document_stream</a></td><td class="desc">A forward-only stream of documents </td></tr>
<tr id="row_0_1_1_4_0_" class="odd"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html" target="_self">iterator</a></td><td class="desc"></td></tr>
<tr id="row_0_1_1_5_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html" target="_self">field</a></td><td class="desc">A JSON field (key/value pair) in an object </td></tr>
<tr id="row_0_1_1_6_" class="odd"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1number.html" target="_self">number</a></td><td class="desc">A type representing a JSON number </td></tr>
<tr id="row_0_1_1_7_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html" target="_self">object</a></td><td class="desc">A forward-only JSON object field iterator </td></tr>
<tr id="row_0_1_1_8_" class="odd"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html" target="_self">object_iterator</a></td><td class="desc"></td></tr>
<tr id="row_0_1_1_9_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html" target="_self">parser</a></td><td class="desc">A JSON fragment iterator </td></tr>
<tr id="row_0_1_1_10_" class="odd"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" target="_self">raw_json_string</a></td><td class="desc">A string escaped per JSON rules, terminated with quote (") </td></tr>
<tr id="row_0_1_1_11_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html" target="_self">value</a></td><td class="desc">An ephemeral JSON value returned during iteration </td></tr>
<tr id="row_0_1_2_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html" target="_self">dom_parser_implementation</a></td><td class="desc"></td></tr>
<tr id="row_0_1_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1implementation__simdjson__result__base.html" target="_self">implementation_simdjson_result_base</a></td><td class="desc">The result of a simdjson operation that could fail </td></tr>
<tr id="row_0_1_4_" class="odd"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1open__container.html" target="_self">open_container</a></td><td class="desc"></td></tr>
<tr id="row_0_2_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1fractured__json__options.html" target="_self">fractured_json_options</a></td><td class="desc">Configuration options for FracturedJson formatting </td></tr>
<tr id="row_0_3_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1has__custom__serialization.html" target="_self">has_custom_serialization</a></td><td class="desc"></td></tr>
<tr id="row_0_4_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1implementation.html" target="_self">implementation</a></td><td class="desc">An implementation of simdjson for a particular CPU architecture </td></tr>
<tr id="row_0_5_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1padded__memory__map.html" target="_self">padded_memory_map</a></td><td class="desc">A class representing a memory-mapped file with padding </td></tr>
<tr id="row_0_6_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1padded__string.html" target="_self">padded_string</a></td><td class="desc">String with extra allocation for ease of use with parser::parse() </td></tr>
<tr id="row_0_7_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1padded__string__builder.html" target="_self">padded_string_builder</a></td><td class="desc">Builder for constructing <a class="el" href="structsimdjson_1_1padded__string.html" title="String with extra allocation for ease of use with parser::parse()">padded_string</a> incrementally </td></tr>
<tr id="row_0_8_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classsimdjson_1_1padded__string__view.html" target="_self">padded_string_view</a></td><td class="desc">User-provided string that promises it has extra padded bytes at the end for use with parser::parse() </td></tr>
<tr id="row_0_9_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__error.html" target="_self">simdjson_error</a></td><td class="desc">Exception thrown when an exception-supporting simdjson method is called </td></tr>
<tr id="row_0_10_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result.html" target="_self">simdjson_result</a></td><td class="desc">The result of a simdjson operation that could fail </td></tr>
<tr id="row_0_11_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01dom_1_1array_01_4.html" target="_self">simdjson_result&lt; dom::array &gt;</a></td><td class="desc">The result of a JSON conversion that may fail </td></tr>
<tr id="row_0_12_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01dom_1_1document__stream_01_4.html" target="_self">simdjson_result&lt; dom::document_stream &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_13_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01dom_1_1element_01_4.html" target="_self">simdjson_result&lt; dom::element &gt;</a></td><td class="desc">The result of a JSON navigation that may fail </td></tr>
<tr id="row_0_14_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01dom_1_1object_01_4.html" target="_self">simdjson_result&lt; dom::object &gt;</a></td><td class="desc">The result of a JSON conversion that may fail </td></tr>
<tr id="row_0_15_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array_01_4.html" target="_self">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::array &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_16_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference_01_4.html" target="_self">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::document_reference &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_17_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field_01_4.html" target="_self">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::field &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_18_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1json__iterator_01_4.html" target="_self">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::json_iterator &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_19_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1json__type_01_4.html" target="_self">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::json_type &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_20_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object_01_4.html" target="_self">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::object &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_21_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1token__iterator_01_4.html" target="_self">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::token_iterator &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_22_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value_01_4.html" target="_self">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::value &gt;</a></td><td class="desc"></td></tr>
<tr id="row_0_23_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value__iterator_01_4.html" target="_self">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::value_iterator &gt;</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+58
View File
@@ -0,0 +1,58 @@
var annotated_dup =
[
[ "simdjson", "namespacesimdjson.html", [
[ "dom", "namespacesimdjson_1_1dom.html", [
[ "array", "classsimdjson_1_1dom_1_1array.html", "classsimdjson_1_1dom_1_1array" ],
[ "document", "classsimdjson_1_1dom_1_1document.html", "classsimdjson_1_1dom_1_1document" ],
[ "document_stream", "classsimdjson_1_1dom_1_1document__stream.html", "classsimdjson_1_1dom_1_1document__stream" ],
[ "element", "classsimdjson_1_1dom_1_1element.html", "classsimdjson_1_1dom_1_1element" ],
[ "key_value_pair", "classsimdjson_1_1dom_1_1key__value__pair.html", "classsimdjson_1_1dom_1_1key__value__pair" ],
[ "object", "classsimdjson_1_1dom_1_1object.html", "classsimdjson_1_1dom_1_1object" ],
[ "parser", "classsimdjson_1_1dom_1_1parser.html", "classsimdjson_1_1dom_1_1parser" ]
] ],
[ "SIMDJSON_IMPLEMENTATION", null, [
[ "builder", null, [
[ "string_builder", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder" ]
] ],
[ "ondemand", "namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html", [
[ "array", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array" ],
[ "array_iterator", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator" ],
[ "document", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document" ],
[ "document_reference", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference" ],
[ "document_stream", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream" ],
[ "field", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field" ],
[ "number", "structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1number.html", "structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1number" ],
[ "object", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object" ],
[ "object_iterator", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator" ],
[ "parser", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser" ],
[ "raw_json_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string" ],
[ "value", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value" ]
] ],
[ "dom_parser_implementation", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation" ],
[ "implementation_simdjson_result_base", "structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1implementation__simdjson__result__base.html", "structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1implementation__simdjson__result__base" ],
[ "open_container", "structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1open__container.html", null ]
] ],
[ "fractured_json_options", "structsimdjson_1_1fractured__json__options.html", "structsimdjson_1_1fractured__json__options" ],
[ "has_custom_serialization", "structsimdjson_1_1has__custom__serialization.html", null ],
[ "implementation", "classsimdjson_1_1implementation.html", "classsimdjson_1_1implementation" ],
[ "padded_memory_map", "classsimdjson_1_1padded__memory__map.html", "classsimdjson_1_1padded__memory__map" ],
[ "padded_string", "structsimdjson_1_1padded__string.html", "structsimdjson_1_1padded__string" ],
[ "padded_string_builder", "classsimdjson_1_1padded__string__builder.html", "classsimdjson_1_1padded__string__builder" ],
[ "padded_string_view", "classsimdjson_1_1padded__string__view.html", "classsimdjson_1_1padded__string__view" ],
[ "simdjson_error", "structsimdjson_1_1simdjson__error.html", "structsimdjson_1_1simdjson__error" ],
[ "simdjson_result", "structsimdjson_1_1simdjson__result.html", "structsimdjson_1_1simdjson__result" ],
[ "simdjson_result< dom::array >", "structsimdjson_1_1simdjson__result_3_01dom_1_1array_01_4.html", null ],
[ "simdjson_result< dom::document_stream >", "structsimdjson_1_1simdjson__result_3_01dom_1_1document__stream_01_4.html", null ],
[ "simdjson_result< dom::element >", "structsimdjson_1_1simdjson__result_3_01dom_1_1element_01_4.html", null ],
[ "simdjson_result< dom::object >", "structsimdjson_1_1simdjson__result_3_01dom_1_1object_01_4.html", null ],
[ "simdjson_result< SIMDJSON_IMPLEMENTATION::ondemand::array >", "structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array_01_4.html", null ],
[ "simdjson_result< SIMDJSON_IMPLEMENTATION::ondemand::document_reference >", "structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference_01_4.html", "structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference_01_4" ],
[ "simdjson_result< SIMDJSON_IMPLEMENTATION::ondemand::field >", "structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field_01_4.html", null ],
[ "simdjson_result< SIMDJSON_IMPLEMENTATION::ondemand::json_iterator >", "structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1json__iterator_01_4.html", null ],
[ "simdjson_result< SIMDJSON_IMPLEMENTATION::ondemand::json_type >", "structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1json__type_01_4.html", null ],
[ "simdjson_result< SIMDJSON_IMPLEMENTATION::ondemand::object >", "structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object_01_4.html", null ],
[ "simdjson_result< SIMDJSON_IMPLEMENTATION::ondemand::token_iterator >", "structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1token__iterator_01_4.html", null ],
[ "simdjson_result< SIMDJSON_IMPLEMENTATION::ondemand::value >", "structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value_01_4.html", "structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value_01_4" ],
[ "simdjson_result< SIMDJSON_IMPLEMENTATION::ondemand::value_iterator >", "structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value__iterator_01_4.html", null ]
] ]
];
+143
View File
@@ -0,0 +1,143 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64/base.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_2base_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">base.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_ARM64_BASE_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_ARM64_BASE_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#ifndef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="foldopen" id="foldopen00008" data-start="{" data-end="}">
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"><a class="line" href="namespacesimdjson.html"> 8</a></span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="foldopen" id="foldopen00012" data-start="{" data-end="}">
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"><a class="line" href="namespacesimdjson_1_1arm64.html"> 12</a></span><span class="keyword">namespace </span>arm64 {</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="keyword">class </span>implementation;</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="keyword">namespace </span>{</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keyword">namespace </span>simd {</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>simd8;</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">struct </span>simd8x64;</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span>} <span class="comment">// namespace simd</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span>} <span class="comment">// unnamed namespace</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span>} <span class="comment">// namespace arm64</span></div>
</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span>} <span class="comment">// namespace simdjson</span></div>
</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_ARM64_BASE_H</span></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_76d8247d4498211a7d04a3794a38eb71.html">arm64</a></li><li class="navelem"><b>base.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+125
View File
@@ -0,0 +1,125 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64/begin.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_2begin_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">begin.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#define SIMDJSON_IMPLEMENTATION arm64</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#include &quot;simdjson/arm64/base.h&quot;</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#include &quot;simdjson/arm64/intrinsics.h&quot;</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;simdjson/arm64/bitmanipulation.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/arm64/bitmask.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/arm64/numberparsing_defs.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &quot;simdjson/arm64/simd.h&quot;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &quot;simdjson/arm64/stringparsing_defs.h&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#define SIMDJSON_SKIP_BACKSLASH_SHORT_CIRCUIT 1</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_76d8247d4498211a7d04a3794a38eb71.html">arm64</a></li><li class="navelem"><b>begin.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+216
View File
@@ -0,0 +1,216 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64/bitmanipulation.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_2bitmanipulation_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">bitmanipulation.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_ARM64_BITMANIPULATION_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_ARM64_BITMANIPULATION_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#ifndef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/arm64/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/arm64/intrinsics.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="keyword">namespace </span>arm64 {</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">namespace </span>{</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">// We sometimes call trailing_zero on inputs that are zero,</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">// but the algorithms do not end up using the returned value.</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">// Sadly, sanitizers are not smart enough to figure it out.</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span>SIMDJSON_NO_SANITIZE_UNDEFINED</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">// This function can be used safely even if not all bytes have been</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">// initialized.</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">// See issue https://github.com/simdjson/simdjson/issues/1965</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span>SIMDJSON_NO_SANITIZE_MEMORY</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span>simdjson_inline <span class="keywordtype">int</span> trailing_zeroes(uint64_t input_num) {</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#if SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> ret;</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// Search the mask data from least significant bit (LSB)</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// to the most significant bit (MSB) for a set bit (1).</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> _BitScanForward64(&amp;ret, input_num);</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keywordflow">return</span> (<span class="keywordtype">int</span>)ret;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#else </span><span class="comment">// SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordflow">return</span> __builtin_ctzll(input_num);</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span>}</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">/* result might be undefined when input_num is zero */</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span>simdjson_inline uint64_t clear_lowest_bit(uint64_t input_num) {</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">return</span> input_num &amp; (input_num-1);</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>}</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment">// We sometimes call leading_zeroes on inputs that are zero,</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment">// but the algorithms do not end up using the returned value.</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment">// Sadly, sanitizers are not smart enough to figure it out.</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment">// Applies only when SIMDJSON_PREFER_REVERSE_BITS is defined and true.</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="comment">// (See below.)</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>SIMDJSON_NO_SANITIZE_UNDEFINED</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="comment">/* result might be undefined when input_num is zero */</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span>simdjson_inline <span class="keywordtype">int</span> leading_zeroes(uint64_t input_num) {</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor">#if SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> leading_zero = 0;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="comment">// Search the mask data from most significant bit (MSB)</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="comment">// to least significant bit (LSB) for a set bit (1).</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">if</span> (_BitScanReverse64(&amp;leading_zero, input_num))</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">return</span> (<span class="keywordtype">int</span>)(63 - leading_zero);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">return</span> 64;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">return</span> __builtin_clzll(input_num);</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="preprocessor">#endif</span><span class="comment">// SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span>}</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="comment">/* result might be undefined when input_num is zero */</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span>simdjson_inline <span class="keywordtype">int</span> count_ones(uint64_t input_num) {</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">return</span> vaddv_u8(vcnt_u8(vcreate_u8(input_num)));</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span>}</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="preprocessor">#if defined(__GNUC__) </span><span class="comment">// catches clang and gcc</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment">/*</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment"> * We use SIMDJSON_PREFER_REVERSE_BITS as a hint that algorithms that</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"> * work well with bit reversal may use it.</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment"> */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="preprocessor">#define SIMDJSON_PREFER_REVERSE_BITS 1</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment">/* reverse the bits */</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span>simdjson_inline uint64_t reverse_bits(uint64_t input_num) {</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> uint64_t rev_bits;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> __asm(<span class="stringliteral">&quot;rbit %0, %1&quot;</span> : <span class="stringliteral">&quot;=r&quot;</span>(rev_bits) : <span class="stringliteral">&quot;r&quot;</span>(input_num));</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">return</span> rev_bits;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span>}</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span>SIMDJSON_NO_SANITIZE_UNDEFINED</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span>simdjson_inline uint64_t zero_leading_bit(uint64_t rev_bits, <span class="keywordtype">int</span> leading_zeroes) {</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">return</span> rev_bits ^ (uint64_t(0x8000000000000000) &gt;&gt; leading_zeroes);</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span>}</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span>simdjson_inline <span class="keywordtype">bool</span> add_overflow(uint64_t value1, uint64_t value2, uint64_t *result) {</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="preprocessor">#if SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> *result = value1 + value2;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordflow">return</span> *result &lt; value1;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">return</span> __builtin_uaddll_overflow(value1, value2,</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">reinterpret_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> *<span class="keyword">&gt;</span>(result));</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span>}</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span>} <span class="comment">// unnamed namespace</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span>} <span class="comment">// namespace arm64</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_ARM64_BITMANIPULATION_H</span></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_76d8247d4498211a7d04a3794a38eb71.html">arm64</a></li><li class="navelem"><b>bitmanipulation.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+158
View File
@@ -0,0 +1,158 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64/bitmask.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_2bitmask_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">bitmask.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_ARM64_BITMASK_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_ARM64_BITMASK_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#ifndef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/arm64/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="keyword">namespace </span>arm64 {</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="keyword">namespace </span>{</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment">//</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">// Perform a &quot;cumulative bitwise xor,&quot; flipping bits each time a 1 is encountered.</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment">//</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment">// For example, prefix_xor(00100100) == 00011100</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">//</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span>simdjson_inline uint64_t prefix_xor(uint64_t bitmask) {</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// We could do this with PMULL, but it is apparently slow.</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//#ifdef __ARM_FEATURE_CRYPTO // some ARM processors lack this extension</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="comment">//return vmull_p64(-1ULL, bitmask);</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="comment">//#else</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// Analysis by @sebpop:</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// When diffing the assembly for src/stage1_find_marks.cpp I see that the eors are all spread out</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="comment">// in between other vector code, so effectively the extra cycles of the sequence do not matter</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// because the GPR units are idle otherwise and the critical path is on the FP side.</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="comment">// Also the PMULL requires two extra fmovs: GPR-&gt;FP (3 cycles in N1, 5 cycles in A72 )</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// and FP-&gt;GPR (2 cycles on N1 and 5 cycles on A72.)</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> bitmask ^= bitmask &lt;&lt; 1;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> bitmask ^= bitmask &lt;&lt; 2;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> bitmask ^= bitmask &lt;&lt; 4;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> bitmask ^= bitmask &lt;&lt; 8;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> bitmask ^= bitmask &lt;&lt; 16;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> bitmask ^= bitmask &lt;&lt; 32;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">return</span> bitmask;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span>}</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span>} <span class="comment">// unnamed namespace</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>} <span class="comment">// namespace arm64</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_76d8247d4498211a7d04a3794a38eb71.html">arm64</a></li><li class="navelem"><b>bitmask.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+123
View File
@@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64/builder.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_2builder_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">builder.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_ARM64_BUILDER_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_ARM64_BUILDER_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;simdjson/arm64/begin.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/generic/builder/amalgamated.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/arm64/end.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_ARM64_BUILDER_H</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_76d8247d4498211a7d04a3794a38eb71.html">arm64</a></li><li class="navelem"><b>builder.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+121
View File
@@ -0,0 +1,121 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64/end.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_2end_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">end.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#include &quot;simdjson/arm64/base.h&quot;</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#undef SIMDJSON_SKIP_BACKSLASH_SHORT_CIRCUIT</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#undef SIMDJSON_IMPLEMENTATION</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_76d8247d4498211a7d04a3794a38eb71.html">arm64</a></li><li class="navelem"><b>end.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+148
View File
@@ -0,0 +1,148 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64/implementation.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_2implementation_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">implementation.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_ARM64_IMPLEMENTATION_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_ARM64_IMPLEMENTATION_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#ifndef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/implementation.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &quot;simdjson/internal/instruction_set.h&quot;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">namespace </span>arm64 {</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="keyword">class </span>implementation final : <span class="keyword">public</span> <a class="code hl_class" href="classsimdjson_1_1implementation.html">simdjson::implementation</a> {</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> simdjson_inline implementation() : <a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a>::implementation(<span class="stringliteral">&quot;arm64&quot;</span>, <span class="stringliteral">&quot;ARM NEON&quot;</span>, internal::instruction_set::NEON) {}</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> simdjson_warn_unused <a class="code hl_enumeration" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> create_dom_parser_implementation(</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keywordtype">size_t</span> capacity,</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keywordtype">size_t</span> max_length,</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> std::unique_ptr&lt;internal::dom_parser_implementation&gt;&amp; dst</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> ) <span class="keyword">const</span> <span class="keyword">noexcept</span> <span class="keyword">final</span>;</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> simdjson_warn_unused <a class="code hl_enumeration" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> <a class="code hl_function" href="namespacesimdjson.html#aeb4ef5cab43d52da3fdd99cb689aff2c">minify</a>(<span class="keyword">const</span> uint8_t *buf, <span class="keywordtype">size_t</span> len, uint8_t *dst, <span class="keywordtype">size_t</span> &amp;dst_len) <span class="keyword">const</span> <span class="keyword">noexcept</span> <span class="keyword">final</span>;</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> simdjson_warn_unused <span class="keywordtype">bool</span> <a class="code hl_function" href="namespacesimdjson.html#a53546f3af0ed6840ffbeefcbefd305a1">validate_utf8</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *buf, <span class="keywordtype">size_t</span> len) <span class="keyword">const</span> <span class="keyword">noexcept</span> <span class="keyword">final</span>;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>};</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span>} <span class="comment">// namespace arm64</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_ARM64_IMPLEMENTATION_H</span></div>
<div class="ttc" id="aclasssimdjson_1_1implementation_html"><div class="ttname"><a href="classsimdjson_1_1implementation.html">simdjson::implementation</a></div><div class="ttdoc">An implementation of simdjson for a particular CPU architecture.</div><div class="ttdef"><b>Definition</b> <a href="implementation_8h_source.html#l00045">implementation.h:45</a></div></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
<div class="ttc" id="anamespacesimdjson_html_a53546f3af0ed6840ffbeefcbefd305a1"><div class="ttname"><a href="namespacesimdjson.html#a53546f3af0ed6840ffbeefcbefd305a1">simdjson::validate_utf8</a></div><div class="ttdeci">simdjson_warn_unused bool validate_utf8(const char *buf, size_t len) noexcept</div><div class="ttdoc">Validate the UTF-8 string.</div></div>
<div class="ttc" id="anamespacesimdjson_html_a7b735a3a50ba79e3f7f14df5f77d8da9"><div class="ttname"><a href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">simdjson::error_code</a></div><div class="ttdeci">error_code</div><div class="ttdoc">All possible errors returned by simdjson.</div><div class="ttdef"><b>Definition</b> <a href="error_8h_source.html#l00019">error.h:19</a></div></div>
<div class="ttc" id="anamespacesimdjson_html_aeb4ef5cab43d52da3fdd99cb689aff2c"><div class="ttname"><a href="namespacesimdjson.html#aeb4ef5cab43d52da3fdd99cb689aff2c">simdjson::minify</a></div><div class="ttdeci">std::string minify(T x)</div><div class="ttdoc">Minifies a JSON element or document, printing the smallest possible valid JSON.</div><div class="ttdef"><b>Definition</b> <a href="dom_2serialization_8h_source.html#l00274">serialization.h:274</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_76d8247d4498211a7d04a3794a38eb71.html">arm64</a></li><li class="navelem"><b>implementation.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+130
View File
@@ -0,0 +1,130 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64/intrinsics.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_2intrinsics_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">intrinsics.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_ARM64_INTRINSICS_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_ARM64_INTRINSICS_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#ifndef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/arm64/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">// This should be the correct header whether</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">// you use visual studio or other compilers.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;arm_neon.h&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">static_assert</span>(<span class="keyword">sizeof</span>(uint8x16_t) &lt;= <a class="code hl_variable" href="namespacesimdjson.html#aecdd750132f0eb123a6d61113b4197bf">simdjson::SIMDJSON_PADDING</a>, <span class="stringliteral">&quot;insufficient padding for arm64&quot;</span>);</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_ARM64_INTRINSICS_H</span></div>
<div class="ttc" id="anamespacesimdjson_html_aecdd750132f0eb123a6d61113b4197bf"><div class="ttname"><a href="namespacesimdjson.html#aecdd750132f0eb123a6d61113b4197bf">simdjson::SIMDJSON_PADDING</a></div><div class="ttdeci">constexpr size_t SIMDJSON_PADDING</div><div class="ttdoc">The amount of padding needed in a buffer to parse JSON.</div><div class="ttdef"><b>Definition</b> <a href="base_8h_source.html#l00033">base.h:33</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_76d8247d4498211a7d04a3794a38eb71.html">arm64</a></li><li class="navelem"><b>intrinsics.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+177
View File
@@ -0,0 +1,177 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64/numberparsing_defs.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_2numberparsing__defs_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">numberparsing_defs.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_ARM64_NUMBERPARSING_DEFS_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_ARM64_NUMBERPARSING_DEFS_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#ifndef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/arm64/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/arm64/intrinsics.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &quot;simdjson/internal/numberparsing_tables.h&quot;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;cstring&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#if SIMDJSON_REGULAR_VISUAL_STUDIO &amp;&amp; SIMDJSON_IS_ARM64</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment">// __umulh requires intrin.h</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;intrin.h&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_REGULAR_VISUAL_STUDIO &amp;&amp; SIMDJSON_IS_ARM64</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">namespace </span>arm64 {</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="keyword">namespace </span>numberparsing {</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">// we don&#39;t have SSE, so let us use a scalar function</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">// credit: https://johnnylee-sde.github.io/Fast-numeric-string-to-int/</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">static</span> simdjson_inline uint32_t parse_eight_digits_unrolled(<span class="keyword">const</span> uint8_t *chars) {</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> uint64_t val;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> std::memcpy(&amp;val, chars, <span class="keyword">sizeof</span>(uint64_t));</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> val = (val &amp; 0x0F0F0F0F0F0F0F0F) * 2561 &gt;&gt; 8;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> val = (val &amp; 0x00FF00FF00FF00FF) * 6553601 &gt;&gt; 16;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordflow">return</span> uint32_t((val &amp; 0x0000FFFF0000FFFF) * 42949672960001 &gt;&gt; 32);</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span>}</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span>simdjson_inline internal::value128 full_multiplication(uint64_t value1, uint64_t value2) {</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> internal::value128 answer;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#if SIMDJSON_REGULAR_VISUAL_STUDIO || SIMDJSON_IS_32BITS</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#if SIMDJSON_IS_ARM64</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="comment">// ARM64 has native support for 64-bit multiplications, no need to emultate</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> answer.high = __umulh(value1, value2);</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> answer.low = value1 * value2;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> answer.low = _umul128(value1, value2, &amp;answer.high); <span class="comment">// _umul128 not available on ARM64</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_IS_ARM64</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor">#else </span><span class="comment">// SIMDJSON_REGULAR_VISUAL_STUDIO || SIMDJSON_IS_32BITS</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> __uint128_t r = (<span class="keyword">static_cast&lt;</span>__uint128_t<span class="keyword">&gt;</span>(value1)) * value2;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> answer.low = uint64_t(r);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> answer.high = uint64_t(r &gt;&gt; 64);</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">return</span> answer;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span>}</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span>} <span class="comment">// namespace numberparsing</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span>} <span class="comment">// namespace arm64</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#ifndef SIMDJSON_SWAR_NUMBER_PARSING</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor">#if SIMDJSON_IS_BIG_ENDIAN</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="preprocessor">#define SIMDJSON_SWAR_NUMBER_PARSING 0</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="preprocessor">#define SIMDJSON_SWAR_NUMBER_PARSING 1</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_ARM64_NUMBERPARSING_DEFS_H</span></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_76d8247d4498211a7d04a3794a38eb71.html">arm64</a></li><li class="navelem"><b>numberparsing_defs.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+123
View File
@@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64/ondemand.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_2ondemand_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ondemand.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_ARM64_ONDEMAND_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_ARM64_ONDEMAND_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;simdjson/arm64/begin.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/generic/ondemand/amalgamated.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/arm64/end.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_ARM64_ONDEMAND_H</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_76d8247d4498211a7d04a3794a38eb71.html">arm64</a></li><li class="navelem"><b>ondemand.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+626
View File
@@ -0,0 +1,626 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64/simd.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_2simd_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simd.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_ARM64_SIMD_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_ARM64_SIMD_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#ifndef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/arm64/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/arm64/bitmanipulation.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &quot;simdjson/internal/simdprune_tables.h&quot;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">namespace </span>arm64 {</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">namespace </span>{</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="keyword">namespace </span>simd {</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#if SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="keyword">namespace </span>{</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">// Start of private section with Visual Studio workaround</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#ifndef simdjson_make_uint8x16_t</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#define simdjson_make_uint8x16_t(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, \</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor"> x13, x14, x15, x16) \</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor"> ([=]() { \</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor"> uint8_t array[16] = {x1, x2, x3, x4, x5, x6, x7, x8, \</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor"> x9, x10, x11, x12, x13, x14, x15, x16}; \</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor"> return vld1q_u8(array); \</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor"> }())</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#ifndef simdjson_make_int8x16_t</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#define simdjson_make_int8x16_t(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, \</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor"> x13, x14, x15, x16) \</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor"> ([=]() { \</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor"> int8_t array[16] = {x1, x2, x3, x4, x5, x6, x7, x8, \</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor"> x9, x10, x11, x12, x13, x14, x15, x16}; \</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor"> return vld1q_s8(array); \</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor"> }())</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="preprocessor">#ifndef simdjson_make_uint8x8_t</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="preprocessor">#define simdjson_make_uint8x8_t(x1, x2, x3, x4, x5, x6, x7, x8) \</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="preprocessor"> ([=]() { \</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor"> uint8_t array[8] = {x1, x2, x3, x4, x5, x6, x7, x8}; \</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor"> return vld1_u8(array); \</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor"> }())</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="preprocessor">#ifndef simdjson_make_int8x8_t</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="preprocessor">#define simdjson_make_int8x8_t(x1, x2, x3, x4, x5, x6, x7, x8) \</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="preprocessor"> ([=]() { \</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="preprocessor"> int8_t array[8] = {x1, x2, x3, x4, x5, x6, x7, x8}; \</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="preprocessor"> return vld1_s8(array); \</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="preprocessor"> }())</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="preprocessor">#ifndef simdjson_make_uint16x8_t</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#define simdjson_make_uint16x8_t(x1, x2, x3, x4, x5, x6, x7, x8) \</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor"> ([=]() { \</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="preprocessor"> uint16_t array[8] = {x1, x2, x3, x4, x5, x6, x7, x8}; \</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="preprocessor"> return vld1q_u16(array); \</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="preprocessor"> }())</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="preprocessor">#ifndef simdjson_make_int16x8_t</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="preprocessor">#define simdjson_make_int16x8_t(x1, x2, x3, x4, x5, x6, x7, x8) \</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor"> ([=]() { \</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="preprocessor"> int16_t array[8] = {x1, x2, x3, x4, x5, x6, x7, x8}; \</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="preprocessor"> return vld1q_s16(array); \</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="preprocessor"> }())</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment">// End of private section with Visual Studio workaround</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span>} <span class="comment">// namespace</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">struct </span>simd8;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="comment">//</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="comment">// Base class of simd8&lt;uint8_t&gt; and simd8&lt;bool&gt;, both of which use uint8x16_t internally.</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="comment">//</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Mask=simd8&lt;<span class="keywordtype">bool</span>&gt;&gt;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">struct </span>base_u8 {</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> uint8x16_t value;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> SIZE = <span class="keyword">sizeof</span>(value);</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="comment">// Conversion from/to SIMD register</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> simdjson_inline base_u8(<span class="keyword">const</span> uint8x16_t _value) : value(_value) {}</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> simdjson_inline <span class="keyword">operator</span> <span class="keyword">const</span> uint8x16_t&amp;() <span class="keyword">const</span> { <span class="keywordflow">return</span> this-&gt;value; }</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> simdjson_inline <span class="keyword">operator</span> uint8x16_t&amp;() { <span class="keywordflow">return</span> this-&gt;value; }</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="comment">// Bit operations</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> simdjson_inline simd8&lt;T&gt; operator|(<span class="keyword">const</span> simd8&lt;T&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vorrq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> simdjson_inline simd8&lt;T&gt; operator&amp;(<span class="keyword">const</span> simd8&lt;T&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vandq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> simdjson_inline simd8&lt;T&gt; operator^(<span class="keyword">const</span> simd8&lt;T&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> veorq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> simdjson_inline simd8&lt;T&gt; bit_andnot(<span class="keyword">const</span> simd8&lt;T&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vbicq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> simdjson_inline simd8&lt;T&gt; operator~()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *<span class="keyword">this</span> ^ 0xFFu; }</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> simdjson_inline simd8&lt;T&gt;&amp; operator|=(<span class="keyword">const</span> simd8&lt;T&gt; other) { <span class="keyword">auto</span> this_cast = <span class="keyword">static_cast&lt;</span>simd8&lt;T&gt;*<span class="keyword">&gt;</span>(<span class="keyword">this</span>); *this_cast = *this_cast | other; <span class="keywordflow">return</span> *this_cast; }</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> simdjson_inline simd8&lt;T&gt;&amp; operator&amp;=(<span class="keyword">const</span> simd8&lt;T&gt; other) { <span class="keyword">auto</span> this_cast = <span class="keyword">static_cast&lt;</span>simd8&lt;T&gt;*<span class="keyword">&gt;</span>(<span class="keyword">this</span>); *this_cast = *this_cast &amp; other; <span class="keywordflow">return</span> *this_cast; }</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> simdjson_inline simd8&lt;T&gt;&amp; operator^=(<span class="keyword">const</span> simd8&lt;T&gt; other) { <span class="keyword">auto</span> this_cast = <span class="keyword">static_cast&lt;</span>simd8&lt;T&gt;*<span class="keyword">&gt;</span>(<span class="keyword">this</span>); *this_cast = *this_cast ^ other; <span class="keywordflow">return</span> *this_cast; }</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">friend</span> simdjson_inline Mask <a class="code hl_function" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html#aab771b17058b0c93bdd0a8679c2c4d84">operator==</a>(<span class="keyword">const</span> simd8&lt;T&gt; lhs, <span class="keyword">const</span> simd8&lt;T&gt; rhs) { <span class="keywordflow">return</span> vceqq_u8(lhs, rhs); }</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">template</span>&lt;<span class="keywordtype">int</span> N=1&gt;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> simdjson_inline simd8&lt;T&gt; prev(<span class="keyword">const</span> simd8&lt;T&gt; prev_chunk)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">return</span> vextq_u8(prev_chunk, *<span class="keyword">this</span>, 16 - N);</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> }</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> };</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="comment">// SIMD byte mask type (returned by things like eq and gt)</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keyword">template</span>&lt;&gt;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keyword">struct </span>simd8&lt;bool&gt;: base_u8&lt;bool&gt; {</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">typedef</span> uint16_t bitmask_t;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">typedef</span> uint32_t bitmask2_t;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">static</span> simdjson_inline simd8&lt;bool&gt; splat(<span class="keywordtype">bool</span> _value) { <span class="keywordflow">return</span> vmovq_n_u8(uint8_t(-(!!_value))); }</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> simdjson_inline simd8(<span class="keyword">const</span> uint8x16_t _value) : base_u8&lt;bool&gt;(_value) {}</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="comment">// False constructor</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> simdjson_inline simd8() : simd8(vdupq_n_u8(0)) {}</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="comment">// Splat constructor</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> simdjson_inline simd8(<span class="keywordtype">bool</span> _value) : simd8(splat(_value)) {}</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="comment">// We return uint32_t instead of uint16_t because that seems to be more efficient for most</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="comment">// purposes (cutting it down to uint16_t costs performance in some compilers).</span></div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> simdjson_inline uint32_t to_bitmask()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="preprocessor">#if SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">const</span> uint8x16_t bit_mask = simdjson_make_uint8x16_t(0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80,</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> 0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80);</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">const</span> uint8x16_t bit_mask = {0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80,</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> 0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80};</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">auto</span> minput = *<span class="keyword">this</span> &amp; bit_mask;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> uint8x16_t tmp = vpaddq_u8(minput, minput);</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> tmp = vpaddq_u8(tmp, tmp);</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> tmp = vpaddq_u8(tmp, tmp);</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> vgetq_lane_u16(vreinterpretq_u16_u8(tmp), 0);</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> }</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="comment">// Returns 4-bit out of each byte, alternating between the high 4 bits and low</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="comment">// bits result it is 64 bit.</span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> simdjson_inline uint64_t to_bitmask64()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordflow">return</span> vget_lane_u64(</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> vreinterpret_u64_u8(vshrn_n_u16(vreinterpretq_u16_u8(*<span class="keyword">this</span>), 4)), 0);</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> }</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> simdjson_inline <span class="keywordtype">bool</span> any()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vmaxvq_u32(vreinterpretq_u32_u8(*<span class="keyword">this</span>)) != 0; }</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> };</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="comment">// Unsigned bytes</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">template</span>&lt;&gt;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keyword">struct </span>simd8&lt;uint8_t&gt;: base_u8&lt;uint8_t&gt; {</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">static</span> simdjson_inline uint8x16_t splat(uint8_t _value) { <span class="keywordflow">return</span> vmovq_n_u8(_value); }</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">static</span> simdjson_inline uint8x16_t zero() { <span class="keywordflow">return</span> vdupq_n_u8(0); }</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">static</span> simdjson_inline uint8x16_t load(<span class="keyword">const</span> uint8_t* values) { <span class="keywordflow">return</span> vld1q_u8(values); }</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> simdjson_inline simd8(<span class="keyword">const</span> uint8x16_t _value) : base_u8&lt;uint8_t&gt;(_value) {}</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="comment">// Zero constructor</span></div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> simdjson_inline simd8() : simd8(zero()) {}</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="comment">// Array constructor</span></div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> simdjson_inline simd8(<span class="keyword">const</span> uint8_t values[16]) : simd8(load(values)) {}</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="comment">// Splat constructor</span></div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> simdjson_inline simd8(uint8_t _value) : simd8(splat(_value)) {}</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="comment">// Member-by-member initialization</span></div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="preprocessor">#if SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> simdjson_inline simd8(</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> uint8_t v0, uint8_t v1, uint8_t v2, uint8_t v3, uint8_t v4, uint8_t v5, uint8_t v6, uint8_t v7,</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> uint8_t v8, uint8_t v9, uint8_t v10, uint8_t v11, uint8_t v12, uint8_t v13, uint8_t v14, uint8_t v15</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> ) : simd8(simdjson_make_uint8x16_t(</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> v0, v1, v2, v3, v4, v5, v6, v7,</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> v8, v9, v10,v11,v12,v13,v14,v15</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> )) {}</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> simdjson_inline simd8(</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> uint8_t v0, uint8_t v1, uint8_t v2, uint8_t v3, uint8_t v4, uint8_t v5, uint8_t v6, uint8_t v7,</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> uint8_t v8, uint8_t v9, uint8_t v10, uint8_t v11, uint8_t v12, uint8_t v13, uint8_t v14, uint8_t v15</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> ) : simd8(uint8x16_t{</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> v0, v1, v2, v3, v4, v5, v6, v7,</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> v8, v9, v10,v11,v12,v13,v14,v15</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> }) {}</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> </div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="comment">// Repeat 16 values as many times as necessary (usually for lookup tables)</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> simdjson_inline <span class="keyword">static</span> simd8&lt;uint8_t&gt; repeat_16(</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> uint8_t v0, uint8_t v1, uint8_t v2, uint8_t v3, uint8_t v4, uint8_t v5, uint8_t v6, uint8_t v7,</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> uint8_t v8, uint8_t v9, uint8_t v10, uint8_t v11, uint8_t v12, uint8_t v13, uint8_t v14, uint8_t v15</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> ) {</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">return</span> simd8&lt;uint8_t&gt;(</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> v0, v1, v2, v3, v4, v5, v6, v7,</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> v8, v9, v10,v11,v12,v13,v14,v15</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> );</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> }</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="comment">// Store to array</span></div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> simdjson_inline <span class="keywordtype">void</span> store(uint8_t dst[16])<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vst1q_u8(dst, *<span class="keyword">this</span>); }</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> </div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="comment">// Saturated math</span></div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> simdjson_inline simd8&lt;uint8_t&gt; saturating_add(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vqaddq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> simdjson_inline simd8&lt;uint8_t&gt; saturating_sub(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vqsubq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> </div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="comment">// Addition/subtraction are the same for signed and unsigned</span></div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> simdjson_inline simd8&lt;uint8_t&gt; operator+(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vaddq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> simdjson_inline simd8&lt;uint8_t&gt; operator-(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vsubq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> simdjson_inline simd8&lt;uint8_t&gt;&amp; operator+=(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other) { *<span class="keyword">this</span> = *<span class="keyword">this</span> + other; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> simdjson_inline simd8&lt;uint8_t&gt;&amp; operator-=(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other) { *<span class="keyword">this</span> = *<span class="keyword">this</span> - other; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="comment">// Order-specific operations</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> simdjson_inline uint8_t max_val()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vmaxvq_u8(*<span class="keyword">this</span>); }</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> simdjson_inline uint8_t min_val()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vminvq_u8(*<span class="keyword">this</span>); }</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> simdjson_inline simd8&lt;uint8_t&gt; max_val(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vmaxq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> simdjson_inline simd8&lt;uint8_t&gt; min_val(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vminq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> simdjson_inline simd8&lt;bool&gt; operator&lt;=(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vcleq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> simdjson_inline simd8&lt;bool&gt; operator&gt;=(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vcgeq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> simdjson_inline simd8&lt;bool&gt; operator&lt;(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vcltq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> simdjson_inline simd8&lt;bool&gt; operator&gt;(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vcgtq_u8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="comment">// Same as &gt;, but instead of guaranteeing all 1&#39;s == true, false = 0 and true = nonzero. For ARM, returns all 1&#39;s.</span></div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> simdjson_inline simd8&lt;uint8_t&gt; gt_bits(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> simd8&lt;uint8_t&gt;(*<span class="keyword">this</span> &gt; other); }</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="comment">// Same as &lt;, but instead of guaranteeing all 1&#39;s == true, false = 0 and true = nonzero. For ARM, returns all 1&#39;s.</span></div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> simdjson_inline simd8&lt;uint8_t&gt; lt_bits(<span class="keyword">const</span> simd8&lt;uint8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> simd8&lt;uint8_t&gt;(*<span class="keyword">this</span> &lt; other); }</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="comment">// Bit-specific operations</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> simdjson_inline simd8&lt;bool&gt; any_bits_set(simd8&lt;uint8_t&gt; bits)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vtstq_u8(*<span class="keyword">this</span>, bits); }</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> simdjson_inline <span class="keywordtype">bool</span> any_bits_set_anywhere()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vmaxvq_u32(vreinterpretq_u32_u8(*<span class="keyword">this</span>)) != 0; }</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> simdjson_inline <span class="keywordtype">bool</span> any_bits_set_anywhere(simd8&lt;uint8_t&gt; bits)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (*<span class="keyword">this</span> &amp; bits).any_bits_set_anywhere(); }</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keyword">template</span>&lt;<span class="keywordtype">int</span> N&gt;</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> simdjson_inline simd8&lt;uint8_t&gt; shr()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vshrq_n_u8(*<span class="keyword">this</span>, N); }</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keyword">template</span>&lt;<span class="keywordtype">int</span> N&gt;</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> simdjson_inline simd8&lt;uint8_t&gt; shl()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vshlq_n_u8(*<span class="keyword">this</span>, N); }</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> </div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="comment">// Perform a lookup assuming the value is between 0 and 16 (undefined behavior for out of range values)</span></div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> L&gt;</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> simdjson_inline simd8&lt;L&gt; lookup_16(simd8&lt;L&gt; lookup_table)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">return</span> lookup_table.apply_lookup_16_to(*<span class="keyword">this</span>);</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> }</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> </div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="comment">// Returns 4-bit out of each byte, alternating between the high 4 bits and low</span></div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="comment">// bits result it is 64 bit.</span></div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> simdjson_inline uint64_t to_bitmask64()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <span class="keywordflow">return</span> vget_lane_u64(</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> vreinterpret_u64_u8(vshrn_n_u16(vreinterpretq_u16_u8(*<span class="keyword">this</span>), 4)), 0);</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> }</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="comment">// Copies to &#39;output&quot; all bytes corresponding to a 0 in the mask (interpreted as a bitset).</span></div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="comment">// Passing a 0 value for mask would be equivalent to writing out every byte to output.</span></div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> <span class="comment">// Only the first 16 - count_ones(mask) bytes of the result are significant but 16 bytes</span></div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="comment">// get written.</span></div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="comment">// Design consideration: it seems like a function with the</span></div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="comment">// signature simd8&lt;L&gt; compress(uint16_t mask) would be</span></div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="comment">// sensible, but the AVX ISA makes this kind of approach difficult.</span></div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> L&gt;</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> simdjson_inline <span class="keywordtype">void</span> compress(uint16_t mask, L * output)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keyword">using </span>internal::thintable_epi8;</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">using </span>internal::BitsSetTable256mul2;</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">using </span>internal::pshufb_combine_table;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="comment">// this particular implementation was inspired by work done by @animetosho</span></div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="comment">// we do it in two steps, first 8 bytes and then second 8 bytes</span></div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> uint8_t mask1 = uint8_t(mask); <span class="comment">// least significant 8 bits</span></div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> uint8_t mask2 = uint8_t(mask &gt;&gt; 8); <span class="comment">// most significant 8 bits</span></div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="comment">// next line just loads the 64-bit values thintable_epi8[mask1] and</span></div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <span class="comment">// thintable_epi8[mask2] into a 128-bit register, using only</span></div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="comment">// two instructions on most compilers.</span></div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> uint64x2_t shufmask64 = {thintable_epi8[mask1], thintable_epi8[mask2]};</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> uint8x16_t shufmask = vreinterpretq_u8_u64(shufmask64);</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="comment">// we increment by 0x08 the second half of the mask</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span><span class="preprocessor">#if SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> uint8x16_t inc = simdjson_make_uint8x16_t(0, 0, 0, 0, 0, 0, 0, 0, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08);</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> uint8x16_t inc = {0, 0, 0, 0, 0, 0, 0, 0, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08};</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> shufmask = vaddq_u8(shufmask, inc);</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="comment">// this is the version &quot;nearly pruned&quot;</span></div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> uint8x16_t pruned = vqtbl1q_u8(*<span class="keyword">this</span>, shufmask);</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="comment">// we still need to put the two halves together.</span></div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="comment">// we compute the popcount of the first half:</span></div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="keywordtype">int</span> pop1 = BitsSetTable256mul2[mask1];</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <span class="comment">// then load the corresponding mask, what it does is to write</span></div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> <span class="comment">// only the first pop1 bytes from the first 8 bytes, and then</span></div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="comment">// it fills in with the bytes from the second 8 bytes + some filling</span></div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> <span class="comment">// at the end.</span></div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> uint8x16_t compactmask = vld1q_u8(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t *<span class="keyword">&gt;</span>(pshufb_combine_table + pop1 * 8));</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> uint8x16_t answer = vqtbl1q_u8(pruned, compactmask);</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> vst1q_u8(<span class="keyword">reinterpret_cast&lt;</span>uint8_t*<span class="keyword">&gt;</span>(output), answer);</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> }</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> </div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="comment">// Copies all bytes corresponding to a 0 in the low half of the mask (interpreted as a</span></div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> <span class="comment">// bitset) to output1, then those corresponding to a 0 in the high half to output2.</span></div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> L&gt;</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> simdjson_inline <span class="keywordtype">void</span> compress_halves(uint16_t mask, L *output1, L *output2)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> <span class="keyword">using </span>internal::thintable_epi8;</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> uint8_t mask1 = uint8_t(mask); <span class="comment">// least significant 8 bits</span></div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> uint8_t mask2 = uint8_t(mask &gt;&gt; 8); <span class="comment">// most significant 8 bits</span></div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> uint8x8_t compactmask1 = vcreate_u8(thintable_epi8[mask1]);</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> uint8x8_t compactmask2 = vcreate_u8(thintable_epi8[mask2]);</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="comment">// we increment by 0x08 the second half of the mask</span></div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span><span class="preprocessor">#if SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> uint8x8_t inc = simdjson_make_uint8x8_t(0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08);</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> uint8x8_t inc = {0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08};</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> compactmask2 = vadd_u8(compactmask2, inc);</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <span class="comment">// store each result (with the second store possibly overlapping the first)</span></div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> vst1_u8((uint8_t*)output1, vqtbl1_u8(*<span class="keyword">this</span>, compactmask1));</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> vst1_u8((uint8_t*)output2, vqtbl1_u8(*<span class="keyword">this</span>, compactmask2));</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> }</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> L&gt;</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> simdjson_inline simd8&lt;L&gt; lookup_16(</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> L replace0, L replace1, L replace2, L replace3,</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> L replace4, L replace5, L replace6, L replace7,</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> L replace8, L replace9, L replace10, L replace11,</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> L replace12, L replace13, L replace14, L replace15)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">return</span> lookup_16(simd8&lt;L&gt;::repeat_16(</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> replace0, replace1, replace2, replace3,</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> replace4, replace5, replace6, replace7,</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> replace8, replace9, replace10, replace11,</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> replace12, replace13, replace14, replace15</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> ));</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> }</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> </div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> simdjson_inline simd8&lt;uint8_t&gt; apply_lookup_16_to(<span class="keyword">const</span> simd8&lt;T&gt; original) {</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">return</span> vqtbl1q_u8(*<span class="keyword">this</span>, simd8&lt;uint8_t&gt;(original));</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> }</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> };</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> </div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="comment">// Signed bytes</span></div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <span class="keyword">template</span>&lt;&gt;</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> <span class="keyword">struct </span>simd8&lt;int8_t&gt; {</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> int8x16_t value;</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> </div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> <span class="keyword">static</span> simdjson_inline simd8&lt;int8_t&gt; splat(int8_t _value) { <span class="keywordflow">return</span> vmovq_n_s8(_value); }</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> <span class="keyword">static</span> simdjson_inline simd8&lt;int8_t&gt; zero() { <span class="keywordflow">return</span> vdupq_n_s8(0); }</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <span class="keyword">static</span> simdjson_inline simd8&lt;int8_t&gt; load(<span class="keyword">const</span> int8_t values[16]) { <span class="keywordflow">return</span> vld1q_s8(values); }</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> </div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <span class="comment">// Conversion from/to SIMD register</span></div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> simdjson_inline simd8(<span class="keyword">const</span> int8x16_t _value) : value{_value} {}</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> simdjson_inline <span class="keyword">operator</span> <span class="keyword">const</span> int8x16_t&amp;() <span class="keyword">const</span> { <span class="keywordflow">return</span> this-&gt;value; }</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> simdjson_inline <span class="keyword">operator</span> int8x16_t&amp;() { <span class="keywordflow">return</span> this-&gt;value; }</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> </div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> <span class="comment">// Zero constructor</span></div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> simdjson_inline simd8() : simd8(zero()) {}</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span> <span class="comment">// Splat constructor</span></div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> simdjson_inline simd8(int8_t _value) : simd8(splat(_value)) {}</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> <span class="comment">// Array constructor</span></div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> simdjson_inline simd8(<span class="keyword">const</span> int8_t* values) : simd8(load(values)) {}</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="comment">// Member-by-member initialization</span></div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span><span class="preprocessor">#if SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> simdjson_inline simd8(</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> int8_t v0, int8_t v1, int8_t v2, int8_t v3, int8_t v4, int8_t v5, int8_t v6, int8_t v7,</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> int8_t v8, int8_t v9, int8_t v10, int8_t v11, int8_t v12, int8_t v13, int8_t v14, int8_t v15</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> ) : simd8(simdjson_make_int8x16_t(</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> v0, v1, v2, v3, v4, v5, v6, v7,</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> v8, v9, v10,v11,v12,v13,v14,v15</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"> 349</span> )) {}</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> simdjson_inline simd8(</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> int8_t v0, int8_t v1, int8_t v2, int8_t v3, int8_t v4, int8_t v5, int8_t v6, int8_t v7,</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> int8_t v8, int8_t v9, int8_t v10, int8_t v11, int8_t v12, int8_t v13, int8_t v14, int8_t v15</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> ) : simd8(int8x16_t{</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> v0, v1, v2, v3, v4, v5, v6, v7,</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> v8, v9, v10,v11,v12,v13,v14,v15</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> }) {}</div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"> 359</span> <span class="comment">// Repeat 16 values as many times as necessary (usually for lookup tables)</span></div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"> 360</span> simdjson_inline <span class="keyword">static</span> simd8&lt;int8_t&gt; repeat_16(</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"> 361</span> int8_t v0, int8_t v1, int8_t v2, int8_t v3, int8_t v4, int8_t v5, int8_t v6, int8_t v7,</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> int8_t v8, int8_t v9, int8_t v10, int8_t v11, int8_t v12, int8_t v13, int8_t v14, int8_t v15</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"> 363</span> ) {</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"> 364</span> <span class="keywordflow">return</span> simd8&lt;int8_t&gt;(</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"> 365</span> v0, v1, v2, v3, v4, v5, v6, v7,</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> v8, v9, v10,v11,v12,v13,v14,v15</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"> 367</span> );</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"> 368</span> }</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"> 369</span> </div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"> 370</span> <span class="comment">// Store to array</span></div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"> 371</span> simdjson_inline <span class="keywordtype">void</span> store(int8_t dst[16])<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vst1q_s8(dst, *<span class="keyword">this</span>); }</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"> 372</span> </div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> <span class="comment">// Explicit conversion to/from unsigned</span></div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"> 374</span> <span class="comment">//</span></div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"> 375</span> <span class="comment">// Under Visual Studio/ARM64 uint8x16_t and int8x16_t are apparently the same type.</span></div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"> 376</span> <span class="comment">// In theory, we could check this occurrence with std::same_as and std::enabled_if but it is C++14</span></div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"> 377</span> <span class="comment">// and relatively ugly and hard to read.</span></div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"> 378</span><span class="preprocessor">#ifndef SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> simdjson_inline <span class="keyword">explicit</span> simd8(<span class="keyword">const</span> uint8x16_t other): simd8(vreinterpretq_s8_u8(other)) {}</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"> 380</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"> 381</span> simdjson_inline <span class="keyword">explicit</span> <span class="keyword">operator</span> simd8&lt;uint8_t&gt;()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vreinterpretq_u8_s8(this-&gt;value); }</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"> 382</span> </div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"> 383</span> <span class="comment">// Math</span></div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"> 384</span> simdjson_inline simd8&lt;int8_t&gt; operator+(<span class="keyword">const</span> simd8&lt;int8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vaddq_s8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"> 385</span> simdjson_inline simd8&lt;int8_t&gt; operator-(<span class="keyword">const</span> simd8&lt;int8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vsubq_s8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> simdjson_inline simd8&lt;int8_t&gt;&amp; operator+=(<span class="keyword">const</span> simd8&lt;int8_t&gt; other) { *<span class="keyword">this</span> = *<span class="keyword">this</span> + other; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"> 387</span> simdjson_inline simd8&lt;int8_t&gt;&amp; operator-=(<span class="keyword">const</span> simd8&lt;int8_t&gt; other) { *<span class="keyword">this</span> = *<span class="keyword">this</span> - other; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"> 388</span> </div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> <span class="comment">// Order-sensitive comparisons</span></div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> simdjson_inline simd8&lt;int8_t&gt; max_val(<span class="keyword">const</span> simd8&lt;int8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vmaxq_s8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"> 391</span> simdjson_inline simd8&lt;int8_t&gt; min_val(<span class="keyword">const</span> simd8&lt;int8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vminq_s8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> simdjson_inline simd8&lt;bool&gt; operator&gt;(<span class="keyword">const</span> simd8&lt;int8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vcgtq_s8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> simdjson_inline simd8&lt;bool&gt; operator&lt;(<span class="keyword">const</span> simd8&lt;int8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vcltq_s8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> simdjson_inline simd8&lt;bool&gt; <a class="code hl_function" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html#aab771b17058b0c93bdd0a8679c2c4d84">operator==</a>(<span class="keyword">const</span> simd8&lt;int8_t&gt; other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> vceqq_s8(*<span class="keyword">this</span>, other); }</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> </div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <span class="keyword">template</span>&lt;<span class="keywordtype">int</span> N=1&gt;</div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"> 397</span> simdjson_inline simd8&lt;int8_t&gt; prev(<span class="keyword">const</span> simd8&lt;int8_t&gt; prev_chunk)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"> 398</span> <span class="keywordflow">return</span> vextq_s8(prev_chunk, *<span class="keyword">this</span>, 16 - N);</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"> 399</span> }</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"> 400</span> </div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> <span class="comment">// Perform a lookup assuming no value is larger than 16</span></div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> L&gt;</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"> 403</span> simdjson_inline simd8&lt;L&gt; lookup_16(simd8&lt;L&gt; lookup_table)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"> 404</span> <span class="keywordflow">return</span> lookup_table.apply_lookup_16_to(*<span class="keyword">this</span>);</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"> 405</span> }</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"> 406</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> L&gt;</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> simdjson_inline simd8&lt;L&gt; lookup_16(</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> L replace0, L replace1, L replace2, L replace3,</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> L replace4, L replace5, L replace6, L replace7,</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> L replace8, L replace9, L replace10, L replace11,</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span> L replace12, L replace13, L replace14, L replace15)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="keywordflow">return</span> lookup_16(simd8&lt;L&gt;::repeat_16(</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> replace0, replace1, replace2, replace3,</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> replace4, replace5, replace6, replace7,</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> replace8, replace9, replace10, replace11,</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> replace12, replace13, replace14, replace15</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> ));</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> }</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> </div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> simdjson_inline simd8&lt;int8_t&gt; apply_lookup_16_to(<span class="keyword">const</span> simd8&lt;T&gt; original) {</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> <span class="keywordflow">return</span> vqtbl1q_s8(*<span class="keyword">this</span>, simd8&lt;uint8_t&gt;(original));</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"> 423</span> }</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"> 424</span> };</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"> 425</span> </div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"> 426</span> <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"> 427</span> <span class="keyword">struct </span>simd8x64 {</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"> 428</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keywordtype">int</span> NUM_CHUNKS = 64 / <span class="keyword">sizeof</span>(simd8&lt;T&gt;);</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"> 429</span> <span class="keyword">static_assert</span>(NUM_CHUNKS == 4, <span class="stringliteral">&quot;ARM kernel should use four registers per 64-byte block.&quot;</span>);</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"> 430</span> <span class="keyword">const</span> simd8&lt;T&gt; chunks[NUM_CHUNKS];</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> <span class="keyword">template</span>&lt;<span class="keywordtype">int</span> <span class="keywordtype">id</span>x&gt; simd8&lt;uint8_t&gt; get()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> idx &lt; NUM_CHUNKS ? chunks[idx] : simd8&lt;T&gt;(); }</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> </div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> simd8x64(<span class="keyword">const</span> simd8x64&lt;T&gt;&amp; o) = <span class="keyword">delete</span>; <span class="comment">// no copy allowed</span></div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> simd8x64&lt;T&gt;&amp; operator=(<span class="keyword">const</span> simd8&lt;T&gt;&amp; other) = <span class="keyword">delete</span>; <span class="comment">// no assignment allowed</span></div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> simd8x64() = <span class="keyword">delete</span>; <span class="comment">// no default constructor allowed</span></div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> </div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> simdjson_inline simd8x64(<span class="keyword">const</span> simd8&lt;T&gt; chunk0, <span class="keyword">const</span> simd8&lt;T&gt; chunk1, <span class="keyword">const</span> simd8&lt;T&gt; chunk2, <span class="keyword">const</span> simd8&lt;T&gt; chunk3) : chunks{chunk0, chunk1, chunk2, chunk3} {}</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> simdjson_inline simd8x64(<span class="keyword">const</span> T ptr[64]) : chunks{simd8&lt;T&gt;::load(ptr), simd8&lt;T&gt;::load(ptr+16), simd8&lt;T&gt;::load(ptr+32), simd8&lt;T&gt;::load(ptr+48)} {}</div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> </div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> simdjson_inline <span class="keywordtype">void</span> store(T ptr[64])<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> this-&gt;chunks[0].store(ptr+<span class="keyword">sizeof</span>(simd8&lt;T&gt;)*0);</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> this-&gt;chunks[1].store(ptr+<span class="keyword">sizeof</span>(simd8&lt;T&gt;)*1);</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> this-&gt;chunks[2].store(ptr+<span class="keyword">sizeof</span>(simd8&lt;T&gt;)*2);</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> this-&gt;chunks[3].store(ptr+<span class="keyword">sizeof</span>(simd8&lt;T&gt;)*3);</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> }</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> </div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> simdjson_inline simd8&lt;T&gt; reduce_or()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> <span class="keywordflow">return</span> (this-&gt;chunks[0] | this-&gt;chunks[1]) | (this-&gt;chunks[2] | this-&gt;chunks[3]);</div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> }</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> </div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> </div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> simdjson_inline uint64_t compress(uint64_t mask, T * output)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> uint64_t popcounts = vget_lane_u64(vreinterpret_u64_u8(vcnt_u8(vcreate_u8(~mask))), 0);</div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> <span class="comment">// compute the prefix sum of the popcounts of each byte</span></div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> uint64_t offsets = popcounts * 0x0101010101010101;</div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> this-&gt;chunks[0].compress_halves(uint16_t(mask), output, &amp;output[popcounts &amp; 0xFF]);</div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> this-&gt;chunks[1].compress_halves(uint16_t(mask &gt;&gt; 16), &amp;output[(offsets &gt;&gt; 8) &amp; 0xFF], &amp;output[(offsets &gt;&gt; 16) &amp; 0xFF]);</div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> this-&gt;chunks[2].compress_halves(uint16_t(mask &gt;&gt; 32), &amp;output[(offsets &gt;&gt; 24) &amp; 0xFF], &amp;output[(offsets &gt;&gt; 32) &amp; 0xFF]);</div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> this-&gt;chunks[3].compress_halves(uint16_t(mask &gt;&gt; 48), &amp;output[(offsets &gt;&gt; 40) &amp; 0xFF], &amp;output[(offsets &gt;&gt; 48) &amp; 0xFF]);</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> <span class="keywordflow">return</span> offsets &gt;&gt; 56;</div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> }</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> </div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> simdjson_inline uint64_t to_bitmask()<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span><span class="preprocessor">#if SIMDJSON_REGULAR_VISUAL_STUDIO</span></div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> <span class="keyword">const</span> uint8x16_t bit_mask = simdjson_make_uint8x16_t(</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> 0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80,</div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> 0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> );</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> <span class="keyword">const</span> uint8x16_t bit_mask = {</div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> 0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80,</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> 0x01, 0x02, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80</div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> };</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> <span class="comment">// Add each of the elements next to each other, successively, to stuff each 8 byte mask into one.</span></div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> uint8x16_t sum0 = vpaddq_u8(this-&gt;chunks[0] &amp; bit_mask, this-&gt;chunks[1] &amp; bit_mask);</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> uint8x16_t sum1 = vpaddq_u8(this-&gt;chunks[2] &amp; bit_mask, this-&gt;chunks[3] &amp; bit_mask);</div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> sum0 = vpaddq_u8(sum0, sum1);</div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> sum0 = vpaddq_u8(sum0, sum0);</div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> <span class="keywordflow">return</span> vgetq_lane_u64(vreinterpretq_u64_u8(sum0), 0);</div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> }</div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> </div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> simdjson_inline uint64_t eq(<span class="keyword">const</span> T m)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> <span class="keyword">const</span> simd8&lt;T&gt; mask = simd8&lt;T&gt;::splat(m);</div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> <span class="keywordflow">return</span> simd8x64&lt;bool&gt;(</div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> this-&gt;chunks[0] == mask,</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> this-&gt;chunks[1] == mask,</div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> this-&gt;chunks[2] == mask,</div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> this-&gt;chunks[3] == mask</div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> ).to_bitmask();</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> }</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> </div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> simdjson_inline uint64_t lteq(<span class="keyword">const</span> T m)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> <span class="keyword">const</span> simd8&lt;T&gt; mask = simd8&lt;T&gt;::splat(m);</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> <span class="keywordflow">return</span> simd8x64&lt;bool&gt;(</div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> this-&gt;chunks[0] &lt;= mask,</div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> this-&gt;chunks[1] &lt;= mask,</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> this-&gt;chunks[2] &lt;= mask,</div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> this-&gt;chunks[3] &lt;= mask</div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> ).to_bitmask();</div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> }</div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> }; <span class="comment">// struct simd8x64&lt;T&gt;</span></div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> </div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span>} <span class="comment">// namespace simd</span></div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span>} <span class="comment">// unnamed namespace</span></div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span>} <span class="comment">// namespace arm64</span></div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> </div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_ARM64_SIMD_H</span></div>
<div class="ttc" id="anamespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_html_aab771b17058b0c93bdd0a8679c2c4d84"><div class="ttname"><a href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html#aab771b17058b0c93bdd0a8679c2c4d84">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::operator==</a></div><div class="ttdeci">simdjson_unused simdjson_inline bool operator==(const raw_json_string &amp;a, std::string_view c) noexcept</div><div class="ttdoc">Comparisons between raw_json_string and std::string_view instances are potentially unsafe: the user i...</div><div class="ttdef"><b>Definition</b> <a href="raw__json__string-inl_8h_source.html#l00147">raw_json_string-inl.h:147</a></div></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_76d8247d4498211a7d04a3794a38eb71.html">arm64</a></li><li class="navelem"><b>simd.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+196
View File
@@ -0,0 +1,196 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64/stringparsing_defs.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_2stringparsing__defs_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">stringparsing_defs.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_ARM64_STRINGPARSING_DEFS_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_ARM64_STRINGPARSING_DEFS_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#ifndef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/arm64/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/arm64/simd.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &quot;simdjson/arm64/bitmanipulation.h&quot;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">namespace </span>arm64 {</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">namespace </span>{</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="keyword">using namespace </span>simd;</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">// Holds backslashes and quotes locations.</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keyword">struct </span>backslash_and_quote {</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> uint32_t BYTES_PROCESSED = 32;</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> simdjson_inline backslash_and_quote copy_and_find(<span class="keyword">const</span> uint8_t *src, uint8_t *dst);</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> simdjson_inline <span class="keywordtype">bool</span> has_quote_first() { <span class="keywordflow">return</span> ((bs_bits - 1) &amp; quote_bits) != 0; }</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> simdjson_inline <span class="keywordtype">bool</span> has_backslash() { <span class="keywordflow">return</span> bs_bits != 0; }</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> simdjson_inline <span class="keywordtype">int</span> quote_index() { <span class="keywordflow">return</span> trailing_zeroes(quote_bits); }</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> simdjson_inline <span class="keywordtype">int</span> backslash_index() { <span class="keywordflow">return</span> trailing_zeroes(bs_bits); }</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> uint32_t bs_bits;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> uint32_t quote_bits;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span>}; <span class="comment">// struct backslash_and_quote</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span>simdjson_inline backslash_and_quote backslash_and_quote::copy_and_find(<span class="keyword">const</span> uint8_t *src, uint8_t *dst) {</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="comment">// this can read up to 31 bytes beyond the buffer size, but we require</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="comment">// SIMDJSON_PADDING of padding</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">static_assert</span>(<a class="code hl_variable" href="namespacesimdjson.html#aecdd750132f0eb123a6d61113b4197bf">SIMDJSON_PADDING</a> &gt;= (BYTES_PROCESSED - 1), <span class="stringliteral">&quot;backslash and quote finder must process fewer than SIMDJSON_PADDING bytes&quot;</span>);</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> simd8&lt;uint8_t&gt; v0(src);</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> simd8&lt;uint8_t&gt; v1(src + <span class="keyword">sizeof</span>(v0));</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> v0.store(dst);</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> v1.store(dst + <span class="keyword">sizeof</span>(v0));</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="comment">// Getting a 64-bit bitmask is much cheaper than multiple 16-bit bitmasks on ARM; therefore, we</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// smash them together into a 64-byte mask and get the bitmask from there.</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> uint64_t bs_and_quote = simd8x64&lt;bool&gt;(v0 == <span class="charliteral">&#39;\\&#39;</span>, v1 == <span class="charliteral">&#39;\\&#39;</span>, v0 == <span class="charliteral">&#39;&quot;&#39;</span>, v1 == <span class="charliteral">&#39;&quot;&#39;</span>).to_bitmask();</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">return</span> {</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> uint32_t(bs_and_quote), <span class="comment">// bs_bits</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> uint32_t(bs_and_quote &gt;&gt; 32) <span class="comment">// quote_bits</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> };</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span>}</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="keyword">struct </span>escaping {</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> uint32_t BYTES_PROCESSED = 16;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> simdjson_inline <span class="keyword">static</span> escaping copy_and_find(<span class="keyword">const</span> uint8_t *src, uint8_t *dst);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> simdjson_inline <span class="keywordtype">bool</span> has_escape() { <span class="keywordflow">return</span> escape_bits != 0; }</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> simdjson_inline <span class="keywordtype">int</span> escape_index() { <span class="keywordflow">return</span> trailing_zeroes(escape_bits) / 4; }</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> uint64_t escape_bits;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span>}; <span class="comment">// struct escaping</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span>simdjson_inline escaping escaping::copy_and_find(<span class="keyword">const</span> uint8_t *src, uint8_t *dst) {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">static_assert</span>(<a class="code hl_variable" href="namespacesimdjson.html#aecdd750132f0eb123a6d61113b4197bf">SIMDJSON_PADDING</a> &gt;= (BYTES_PROCESSED - 1), <span class="stringliteral">&quot;escaping finder must process fewer than SIMDJSON_PADDING bytes&quot;</span>);</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> simd8&lt;uint8_t&gt; v(src);</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> v.store(dst);</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> simd8&lt;bool&gt; is_quote = (v == <span class="charliteral">&#39;&quot;&#39;</span>);</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> simd8&lt;bool&gt; is_backslash = (v == <span class="charliteral">&#39;\\&#39;</span>);</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> simd8&lt;bool&gt; is_control = (v &lt; 32);</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">return</span> {</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> (is_backslash | is_quote | is_control).to_bitmask64()</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> };</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span>}</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span>} <span class="comment">// unnamed namespace</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span>} <span class="comment">// namespace arm64</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_ARM64_STRINGPARSING_DEFS_H</span></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
<div class="ttc" id="anamespacesimdjson_html_aecdd750132f0eb123a6d61113b4197bf"><div class="ttname"><a href="namespacesimdjson.html#aecdd750132f0eb123a6d61113b4197bf">simdjson::SIMDJSON_PADDING</a></div><div class="ttdeci">constexpr size_t SIMDJSON_PADDING</div><div class="ttdoc">The amount of padding needed in a buffer to parse JSON.</div><div class="ttdef"><b>Definition</b> <a href="base_8h_source.html#l00033">base.h:33</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_76d8247d4498211a7d04a3794a38eb71.html">arm64</a></li><li class="navelem"><b>stringparsing_defs.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+123
View File
@@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/arm64.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('arm64_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">arm64.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_ARM64_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_ARM64_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;simdjson/arm64/begin.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/generic/amalgamated.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/arm64/end.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_ARM64_H</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><b>arm64.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+227
View File
@@ -0,0 +1,227 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/generic/ondemand/array_iterator-inl.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('array__iterator-inl_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">array_iterator-inl.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_GENERIC_ONDEMAND_ARRAY_ITERATOR_INL_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#ifndef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#define SIMDJSON_GENERIC_ONDEMAND_ARRAY_ITERATOR_INL_H</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/generic/ondemand/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/generic/ondemand/array_iterator.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &quot;simdjson/generic/ondemand/value-inl.h&quot;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &quot;simdjson/generic/ondemand/value_iterator-inl.h&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">namespace </span>SIMDJSON_IMPLEMENTATION {</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="keyword">namespace </span>ondemand {</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span>simdjson_inline <a class="code hl_function" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#aa330b23feb572f33d77516431572b643">array_iterator::array_iterator</a>(<span class="keyword">const</span> value_iterator &amp;_iter) noexcept</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> : iter{_iter}</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span>{}</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="foldopen" id="foldopen00019" data-start="{" data-end="}">
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"><a class="line" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a1577fb5a95f92a4a1aaa8eee6440d572"> 19</a></span>simdjson_inline <a class="code hl_struct" href="structsimdjson_1_1simdjson__result.html">simdjson_result&lt;value&gt;</a> <a class="code hl_function" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a1577fb5a95f92a4a1aaa8eee6440d572">array_iterator::operator*</a>() noexcept {</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#if SIMDJSON_DEVELOPMENT_CHECKS</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> SIMDJSON_ASSUME(!has_been_referenced);</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> has_been_referenced = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keywordflow">if</span> (iter.error()) { iter.abandon(); <span class="keywordflow">return</span> iter.error(); }</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keywordflow">return</span> <a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a>(iter.child());</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>}</div>
</div>
<div class="foldopen" id="foldopen00027" data-start="{" data-end="}">
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a20cd55e63cf5bdc1561f771b4db1ac1b"> 27</a></span>simdjson_inline <span class="keywordtype">bool</span> <a class="code hl_function" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a20cd55e63cf5bdc1561f771b4db1ac1b">array_iterator::operator==</a>(<span class="keyword">const</span> <a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &amp;other) <span class="keyword">const</span> <span class="keyword">noexcept</span> {</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordflow">return</span> !(*<span class="keyword">this</span> != other);</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span>}</div>
</div>
<div class="foldopen" id="foldopen00030" data-start="{" data-end="}">
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#abbca17b48bd6c2b045b659076f1f64ce"> 30</a></span>simdjson_inline <span class="keywordtype">bool</span> <a class="code hl_function" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#abbca17b48bd6c2b045b659076f1f64ce">array_iterator::operator!=</a>(<span class="keyword">const</span> <a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &amp;) <span class="keyword">const</span> <span class="keyword">noexcept</span> {</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">return</span> iter.is_open();</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span>}</div>
</div>
<div class="foldopen" id="foldopen00033" data-start="{" data-end="}">
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a55e0ae33e5e5835c841fd082edab5937"> 33</a></span>simdjson_inline <a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &amp;<a class="code hl_function" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a55e0ae33e5e5835c841fd082edab5937">array_iterator::operator++</a>() noexcept {</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#if SIMDJSON_DEVELOPMENT_CHECKS</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> has_been_referenced = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_enumeration" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> error;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="comment">// PERF NOTE this is a safety rail ... users should exit loops as soon as they receive an error, so we&#39;ll never get here.</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="comment">// However, it does not seem to make a perf difference, so we add it out of an abundance of caution.</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">if</span> (( error = iter.error() )) { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">if</span> (( error = iter.skip_child() )) { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">if</span> (( error = iter.has_next_element().error() )) { <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span>}</div>
</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> </div>
<div class="foldopen" id="foldopen00046" data-start="{" data-end="}">
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#ae7629ba7c3cec3be3bc61d5d79c154c1"> 46</a></span>simdjson_inline <span class="keywordtype">bool</span> <a class="code hl_function" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#ae7629ba7c3cec3be3bc61d5d79c154c1">array_iterator::at_end</a>() const noexcept {</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">return</span> iter.at_end();</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span>}</div>
</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span>} <span class="comment">// namespace ondemand</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span>} <span class="comment">// namespace SIMDJSON_IMPLEMENTATION</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span>simdjson_inline simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt;::simdjson_result(</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> SIMDJSON_IMPLEMENTATION::ondemand::array_iterator &amp;&amp;value</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span>) noexcept</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> : SIMDJSON_IMPLEMENTATION::implementation_simdjson_result_base&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt;(std::forward&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt;(value))</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span>{</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> first.iter.assert_is_valid();</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span>}</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span>simdjson_inline simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt;::simdjson_result(<a class="code hl_enumeration" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> error) noexcept</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> : SIMDJSON_IMPLEMENTATION::implementation_simdjson_result_base&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt;({}, error)</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span>{</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span>}</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span>simdjson_inline simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::value&gt; simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt;::operator*() noexcept {</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">if</span> (error()) { <span class="keywordflow">return</span> error(); }</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">return</span> *first;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span>}</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span>simdjson_inline <span class="keywordtype">bool</span> simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt;::operator==(<span class="keyword">const</span> simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt; &amp;other) <span class="keyword">const</span> <span class="keyword">noexcept</span> {</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">if</span> (!first.iter.is_valid()) { <span class="keywordflow">return</span> !error(); }</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">return</span> first == other.first;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span>}</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span>simdjson_inline <span class="keywordtype">bool</span> simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt;::operator!=(<span class="keyword">const</span> simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt; &amp;other) <span class="keyword">const</span> <span class="keyword">noexcept</span> {</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">if</span> (!first.iter.is_valid()) { <span class="keywordflow">return</span> error(); }</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">return</span> first != other.first;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span>}</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span>simdjson_inline simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt; &amp;simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt;::operator++() noexcept {</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="comment">// Clear the error if there is one, so we don&#39;t yield it twice</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">if</span> (error()) { second = <a class="code hl_enumvalue" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9aa4ffc800804829a88c5b52ac3c4c6681">SUCCESS</a>; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> ++(first);</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span>}</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span>simdjson_inline <span class="keywordtype">bool</span> simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt;::at_end() const noexcept {</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">return</span> !first.iter.is_valid() || first.at_end();</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>}</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_GENERIC_ONDEMAND_ARRAY_ITERATOR_INL_H</span></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator_html"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></div><div class="ttdoc">A forward-only JSON array.</div><div class="ttdef"><b>Definition</b> <a href="array__iterator_8h_source.html#l00024">array_iterator.h:24</a></div></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator_html_a1577fb5a95f92a4a1aaa8eee6440d572"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a1577fb5a95f92a4a1aaa8eee6440d572">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::operator*</a></div><div class="ttdeci">simdjson_inline simdjson_result&lt; value &gt; operator*() noexcept</div><div class="ttdoc">Get the current element.</div><div class="ttdef"><b>Definition</b> <a href="array__iterator-inl_8h_source.html#l00019">array_iterator-inl.h:19</a></div></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator_html_a20cd55e63cf5bdc1561f771b4db1ac1b"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a20cd55e63cf5bdc1561f771b4db1ac1b">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::operator==</a></div><div class="ttdeci">simdjson_inline bool operator==(const array_iterator &amp;) const noexcept</div><div class="ttdoc">Check if we are at the end of the JSON.</div><div class="ttdef"><b>Definition</b> <a href="array__iterator-inl_8h_source.html#l00027">array_iterator-inl.h:27</a></div></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator_html_a55e0ae33e5e5835c841fd082edab5937"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a55e0ae33e5e5835c841fd082edab5937">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::operator++</a></div><div class="ttdeci">simdjson_inline array_iterator &amp; operator++() noexcept</div><div class="ttdoc">Move to the next element.</div><div class="ttdef"><b>Definition</b> <a href="array__iterator-inl_8h_source.html#l00033">array_iterator-inl.h:33</a></div></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator_html_aa330b23feb572f33d77516431572b643"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#aa330b23feb572f33d77516431572b643">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::array_iterator</a></div><div class="ttdeci">simdjson_inline array_iterator() noexcept=default</div><div class="ttdoc">Create a new, invalid array iterator.</div></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator_html_abbca17b48bd6c2b045b659076f1f64ce"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#abbca17b48bd6c2b045b659076f1f64ce">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::operator!=</a></div><div class="ttdeci">simdjson_inline bool operator!=(const array_iterator &amp;) const noexcept</div><div class="ttdoc">Check if there are more elements in the JSON array.</div><div class="ttdef"><b>Definition</b> <a href="array__iterator-inl_8h_source.html#l00030">array_iterator-inl.h:30</a></div></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator_html_ae7629ba7c3cec3be3bc61d5d79c154c1"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#ae7629ba7c3cec3be3bc61d5d79c154c1">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::at_end</a></div><div class="ttdeci">simdjson_warn_unused simdjson_inline bool at_end() const noexcept</div><div class="ttdoc">Check if the array is at the end.</div><div class="ttdef"><b>Definition</b> <a href="array__iterator-inl_8h_source.html#l00046">array_iterator-inl.h:46</a></div></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value_html"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></div><div class="ttdoc">An ephemeral JSON value returned during iteration.</div><div class="ttdef"><b>Definition</b> <a href="value_8h_source.html#l00022">value.h:22</a></div></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
<div class="ttc" id="anamespacesimdjson_html_a7b735a3a50ba79e3f7f14df5f77d8da9"><div class="ttname"><a href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">simdjson::error_code</a></div><div class="ttdeci">error_code</div><div class="ttdoc">All possible errors returned by simdjson.</div><div class="ttdef"><b>Definition</b> <a href="error_8h_source.html#l00019">error.h:19</a></div></div>
<div class="ttc" id="anamespacesimdjson_html_a7b735a3a50ba79e3f7f14df5f77d8da9aa4ffc800804829a88c5b52ac3c4c6681"><div class="ttname"><a href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9aa4ffc800804829a88c5b52ac3c4c6681">simdjson::SUCCESS</a></div><div class="ttdeci">@ SUCCESS</div><div class="ttdoc">No error.</div><div class="ttdef"><b>Definition</b> <a href="error_8h_source.html#l00020">error.h:20</a></div></div>
<div class="ttc" id="astructsimdjson_1_1simdjson__result_html"><div class="ttname"><a href="structsimdjson_1_1simdjson__result.html">simdjson::simdjson_result</a></div><div class="ttdoc">The result of a simdjson operation that could fail.</div><div class="ttdef"><b>Definition</b> <a href="error_8h_source.html#l00280">error.h:280</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_53368a02099cf3699f2996a5d88d70b6.html">generic</a></li><li class="navelem"><a class="el" href="dir_7796bb4b727f918c96faee1bdd50e49a.html">ondemand</a></li><li class="navelem"><b>array_iterator-inl.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+208
View File
@@ -0,0 +1,208 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/generic/ondemand/array_iterator.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('array__iterator_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">array_iterator.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_GENERIC_ONDEMAND_ARRAY_ITERATOR_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#ifndef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#define SIMDJSON_GENERIC_ONDEMAND_ARRAY_ITERATOR_H</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &lt;iterator&gt;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/generic/implementation_simdjson_result_base.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &quot;simdjson/generic/ondemand/base.h&quot;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &quot;simdjson/generic/ondemand/value_iterator.h&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="keyword">namespace </span>SIMDJSON_IMPLEMENTATION {</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="keyword">namespace </span>ondemand {</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
<div class="foldopen" id="foldopen00024" data-start="{" data-end="};">
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html"> 24</a></span><span class="keyword">class </span><a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> {</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">using </span>iterator_category = std::input_iterator_tag;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">using </span><a class="code hl_struct" href="structsimdjson_1_1simdjson__result.html">value_type</a> = <a class="code hl_struct" href="structsimdjson_1_1simdjson__result.html">simdjson_result&lt;value&gt;</a>;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">using </span>difference_type = std::ptrdiff_t;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">using </span>pointer = void;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">using </span><a class="code hl_struct" href="structsimdjson_1_1simdjson__result.html">reference</a> = <a class="code hl_struct" href="structsimdjson_1_1simdjson__result.html">value_type</a>;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#aa330b23feb572f33d77516431572b643"> 33</a></span> simdjson_inline <a class="code hl_function" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#aa330b23feb572f33d77516431572b643">array_iterator</a>() noexcept = default;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="comment">//</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="comment">// Iterator interface</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="comment">//</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> simdjson_inline <a class="code hl_struct" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt;<a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a>&gt;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> operator*() noexcept; <span class="comment">// MUST ONLY BE CALLED ONCE PER ITERATION.</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> simdjson_inline <span class="keywordtype">bool</span> operator==(const <a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &amp;) const noexcept;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> simdjson_inline <span class="keywordtype">bool</span> operator!=(const <a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &amp;) const noexcept;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> simdjson_inline <a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &amp;operator++() noexcept;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> simdjson_warn_unused simdjson_inline <span class="keywordtype">bool</span> <a class="code hl_function" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#ae7629ba7c3cec3be3bc61d5d79c154c1">at_end</a>() const noexcept;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span>private:</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="preprocessor">#if SIMDJSON_DEVELOPMENT_CHECKS</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">bool</span> has_been_referenced{<span class="keyword">false</span>};</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> value_iterator iter{};</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> simdjson_inline <a class="code hl_function" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#aa330b23feb572f33d77516431572b643">array_iterator</a>(<span class="keyword">const</span> value_iterator &amp;iter) <span class="keyword">noexcept</span>;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">friend</span> <span class="keyword">class </span>array;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">friend</span> <span class="keyword">class </span>value;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">friend</span> <span class="keyword">struct </span><a class="code hl_struct" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt;<a class="code hl_function" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#aa330b23feb572f33d77516431572b643">array_iterator</a>&gt;;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span>};</div>
</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>} <span class="comment">// namespace ondemand</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span>} <span class="comment">// namespace SIMDJSON_IMPLEMENTATION</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="keyword">template</span>&lt;&gt;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="keyword">struct </span>simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt; : <span class="keyword">public</span> SIMDJSON_IMPLEMENTATION::implementation_simdjson_result_base&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt; {</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">using </span>iterator_category = std::input_iterator_tag;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">using </span>value_type = simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::value&gt;;</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">using </span>difference_type = std::ptrdiff_t;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">using </span>pointer = void;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">using </span>reference = value_type;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> simdjson_inline simdjson_result(SIMDJSON_IMPLEMENTATION::ondemand::array_iterator &amp;&amp;value) <span class="keyword">noexcept</span>; </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> simdjson_inline simdjson_result(<a class="code hl_enumeration" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> <a class="code hl_function" href="structsimdjson_1_1simdjson__result.html#a23470fcc7f01262019e96d3f3010b4a1">error</a>) <span class="keyword">noexcept</span>; </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> simdjson_inline simdjson_result() noexcept = default;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="comment">//</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="comment">// Iterator interface</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="comment">//</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> simdjson_inline simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::value&gt; operator*() noexcept; <span class="comment">// MUST ONLY BE CALLED ONCE PER ITERATION.</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> simdjson_inline <span class="keywordtype">bool</span> operator==(const simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt; &amp;) const noexcept;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> simdjson_inline <span class="keywordtype">bool</span> operator!=(const simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt; &amp;) const noexcept;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> simdjson_inline simdjson_result&lt;SIMDJSON_IMPLEMENTATION::ondemand::array_iterator&gt; &amp;operator++() noexcept;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> simdjson_warn_unused simdjson_inline <span class="keywordtype">bool</span> at_end() const noexcept;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span>};</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_GENERIC_ONDEMAND_ARRAY_ITERATOR_H</span></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator_html"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></div><div class="ttdoc">A forward-only JSON array.</div><div class="ttdef"><b>Definition</b> <a href="array__iterator_8h_source.html#l00024">array_iterator.h:24</a></div></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator_html_aa330b23feb572f33d77516431572b643"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#aa330b23feb572f33d77516431572b643">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::array_iterator</a></div><div class="ttdeci">simdjson_inline array_iterator() noexcept=default</div><div class="ttdoc">Create a new, invalid array iterator.</div></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator_html_ae7629ba7c3cec3be3bc61d5d79c154c1"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#ae7629ba7c3cec3be3bc61d5d79c154c1">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::at_end</a></div><div class="ttdeci">simdjson_warn_unused simdjson_inline bool at_end() const noexcept</div><div class="ttdoc">Check if the array is at the end.</div><div class="ttdef"><b>Definition</b> <a href="array__iterator-inl_8h_source.html#l00046">array_iterator-inl.h:46</a></div></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value_html"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></div><div class="ttdoc">An ephemeral JSON value returned during iteration.</div><div class="ttdef"><b>Definition</b> <a href="value_8h_source.html#l00022">value.h:22</a></div></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
<div class="ttc" id="anamespacesimdjson_html_a7b735a3a50ba79e3f7f14df5f77d8da9"><div class="ttname"><a href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">simdjson::error_code</a></div><div class="ttdeci">error_code</div><div class="ttdoc">All possible errors returned by simdjson.</div><div class="ttdef"><b>Definition</b> <a href="error_8h_source.html#l00019">error.h:19</a></div></div>
<div class="ttc" id="astructsimdjson_1_1simdjson__result_html"><div class="ttname"><a href="structsimdjson_1_1simdjson__result.html">simdjson::simdjson_result</a></div><div class="ttdoc">The result of a simdjson operation that could fail.</div><div class="ttdef"><b>Definition</b> <a href="error_8h_source.html#l00280">error.h:280</a></div></div>
<div class="ttc" id="astructsimdjson_1_1simdjson__result_html_a23470fcc7f01262019e96d3f3010b4a1"><div class="ttname"><a href="structsimdjson_1_1simdjson__result.html#a23470fcc7f01262019e96d3f3010b4a1">simdjson::simdjson_result::error</a></div><div class="ttdeci">simdjson_inline error_code error() const noexcept</div><div class="ttdoc">The error.</div><div class="ttdef"><b>Definition</b> <a href="error-inl_8h_source.html#l00168">error-inl.h:168</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_53368a02099cf3699f2996a5d88d70b6.html">generic</a></li><li class="navelem"><a class="el" href="dir_7796bb4b727f918c96faee1bdd50e49a.html">ondemand</a></li><li class="navelem"><b>array_iterator.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+147
View File
@@ -0,0 +1,147 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/internal/atomic_ptr.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('atomic__ptr_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">atomic_ptr.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_INTERNAL_ATOMIC_PTR_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_INTERNAL_ATOMIC_PTR_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;simdjson/base.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &lt;atomic&gt;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="keyword">namespace </span>internal {</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">class </span>atomic_ptr {</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> atomic_ptr(T *_ptr) : ptr{_ptr} {}</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">operator</span> <span class="keyword">const</span> T*() <span class="keyword">const</span> { <span class="keywordflow">return</span> ptr.load(); }</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <span class="keyword">const</span> T&amp; operator*()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> *ptr; }</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">const</span> T* operator-&gt;()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ptr.load(); }</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">operator</span> T*() { <span class="keywordflow">return</span> ptr.load(); }</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> T&amp; operator*() { <span class="keywordflow">return</span> *ptr; }</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> T* operator-&gt;() { <span class="keywordflow">return</span> ptr.load(); }</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> atomic_ptr&amp; operator=(T *_ptr) { ptr = _ptr; <span class="keywordflow">return</span> *<span class="keyword">this</span>; }</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> std::atomic&lt;T*&gt; ptr;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>};</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span>} <span class="comment">// namespace internal</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_INTERNAL_ATOMIC_PTR_H</span></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_0fee190c3bc9a7d22e6d44901a62fa54.html">internal</a></li><li class="navelem"><b>atomic_ptr.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+193
View File
@@ -0,0 +1,193 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/generic/atomparsing.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('atomparsing_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">atomparsing.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_GENERIC_ATOMPARSING_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#ifndef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#define SIMDJSON_GENERIC_ATOMPARSING_H</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/generic/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/generic/jsoncharutils.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;cstring&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">namespace </span>SIMDJSON_IMPLEMENTATION {</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="keyword">namespace </span>{</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="keyword">namespace </span>atomparsing {</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">// The string_to_uint32 is exclusively used to map literal strings to 32-bit values.</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">// We use memcpy instead of a pointer cast to avoid undefined behaviors since we cannot</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">// be certain that the character pointer will be properly aligned.</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">// You might think that using memcpy makes this function expensive, but you&#39;d be wrong.</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">// All decent optimizing compilers (GCC, clang, Visual Studio) will compile string_to_uint32(&quot;false&quot;);</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">// to the compile-time constant 1936482662.</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span>simdjson_inline uint32_t string_to_uint32(<span class="keyword">const</span> <span class="keywordtype">char</span>* str) { uint32_t val; std::memcpy(&amp;val, str, <span class="keyword">sizeof</span>(uint32_t)); <span class="keywordflow">return</span> val; }</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment">// Again in str4ncmp we use a memcpy to avoid undefined behavior. The memcpy may appear expensive.</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment">// Yet all decent optimizing compilers will compile memcpy to a single instruction, just about.</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span>simdjson_warn_unused</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span>simdjson_inline uint32_t str4ncmp(<span class="keyword">const</span> uint8_t *src, <span class="keyword">const</span> <span class="keywordtype">char</span>* atom) {</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> uint32_t srcval; <span class="comment">// we want to avoid unaligned 32-bit loads (undefined in C/C++)</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">static_assert</span>(<span class="keyword">sizeof</span>(uint32_t) &lt;= <a class="code hl_variable" href="namespacesimdjson.html#aecdd750132f0eb123a6d61113b4197bf">SIMDJSON_PADDING</a>, <span class="stringliteral">&quot;SIMDJSON_PADDING must be larger than 4 bytes&quot;</span>);</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> std::memcpy(&amp;srcval, src, <span class="keyword">sizeof</span>(uint32_t));</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow">return</span> srcval ^ string_to_uint32(atom);</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span>}</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>simdjson_warn_unused</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span>simdjson_inline <span class="keywordtype">bool</span> is_valid_true_atom(<span class="keyword">const</span> uint8_t *src) {</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">return</span> (str4ncmp(src, <span class="stringliteral">&quot;true&quot;</span>) | jsoncharutils::is_not_structural_or_whitespace(src[4])) == 0;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span>}</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>simdjson_warn_unused</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span>simdjson_inline <span class="keywordtype">bool</span> is_valid_true_atom(<span class="keyword">const</span> uint8_t *src, <span class="keywordtype">size_t</span> len) {</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">if</span> (len &gt; 4) { <span class="keywordflow">return</span> is_valid_true_atom(src); }</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (len == 4) { <span class="keywordflow">return</span> !str4ncmp(src, <span class="stringliteral">&quot;true&quot;</span>); }</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">else</span> { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span>}</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span>simdjson_warn_unused</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span>simdjson_inline <span class="keywordtype">bool</span> is_valid_false_atom(<span class="keyword">const</span> uint8_t *src) {</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">return</span> (str4ncmp(src+1, <span class="stringliteral">&quot;alse&quot;</span>) | jsoncharutils::is_not_structural_or_whitespace(src[5])) == 0;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span>}</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span>simdjson_warn_unused</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span>simdjson_inline <span class="keywordtype">bool</span> is_valid_false_atom(<span class="keyword">const</span> uint8_t *src, <span class="keywordtype">size_t</span> len) {</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">if</span> (len &gt; 5) { <span class="keywordflow">return</span> is_valid_false_atom(src); }</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (len == 5) { <span class="keywordflow">return</span> !str4ncmp(src+1, <span class="stringliteral">&quot;alse&quot;</span>); }</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">else</span> { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span>}</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span>simdjson_warn_unused</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span>simdjson_inline <span class="keywordtype">bool</span> is_valid_null_atom(<span class="keyword">const</span> uint8_t *src) {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">return</span> (str4ncmp(src, <span class="stringliteral">&quot;null&quot;</span>) | jsoncharutils::is_not_structural_or_whitespace(src[4])) == 0;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span>}</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span>simdjson_warn_unused</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span>simdjson_inline <span class="keywordtype">bool</span> is_valid_null_atom(<span class="keyword">const</span> uint8_t *src, <span class="keywordtype">size_t</span> len) {</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">if</span> (len &gt; 4) { <span class="keywordflow">return</span> is_valid_null_atom(src); }</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (len == 4) { <span class="keywordflow">return</span> !str4ncmp(src, <span class="stringliteral">&quot;null&quot;</span>); }</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">else</span> { <span class="keywordflow">return</span> <span class="keyword">false</span>; }</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span>}</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span>} <span class="comment">// namespace atomparsing</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span>} <span class="comment">// unnamed namespace</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span>} <span class="comment">// namespace SIMDJSON_IMPLEMENTATION</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> </div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_GENERIC_ATOMPARSING_H</span></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
<div class="ttc" id="anamespacesimdjson_html_aecdd750132f0eb123a6d61113b4197bf"><div class="ttname"><a href="namespacesimdjson.html#aecdd750132f0eb123a6d61113b4197bf">simdjson::SIMDJSON_PADDING</a></div><div class="ttdeci">constexpr size_t SIMDJSON_PADDING</div><div class="ttdoc">The amount of padding needed in a buffer to parse JSON.</div><div class="ttdef"><b>Definition</b> <a href="base_8h_source.html#l00033">base.h:33</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_53368a02099cf3699f2996a5d88d70b6.html">generic</a></li><li class="navelem"><b>atomparsing.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+165
View File
@@ -0,0 +1,165 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/base.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('base_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">base.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#ifndef SIMDJSON_BASE_H</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#define SIMDJSON_BASE_H</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &quot;simdjson/common_defs.h&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &quot;simdjson/compiler_check.h&quot;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &quot;simdjson/error.h&quot;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &quot;simdjson/portability.h&quot;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;simdjson/concepts.h&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &quot;simdjson/constevalutil.h&quot;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span>SIMDJSON_PUSH_DISABLE_UNUSED_WARNINGS</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="namespacesimdjson.html#ad0bad3783275be4012bd5cfd0327875a"> 23</a></span><span class="keyword">constexpr</span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="namespacesimdjson.html#ad0bad3783275be4012bd5cfd0327875a">SIMDJSON_MAXSIZE_BYTES</a> = 0xFFFFFFFF;</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="namespacesimdjson.html#aecdd750132f0eb123a6d61113b4197bf"> 33</a></span><span class="keyword">constexpr</span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="namespacesimdjson.html#aecdd750132f0eb123a6d61113b4197bf">SIMDJSON_PADDING</a> = 64;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="namespacesimdjson.html#a6df2598eb1d4e1ea669c41831cc7325d"> 40</a></span><span class="keyword">constexpr</span> <span class="keywordtype">size_t</span> <a class="code hl_variable" href="namespacesimdjson.html#a6df2598eb1d4e1ea669c41831cc7325d">DEFAULT_MAX_DEPTH</a> = 1024;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span>SIMDJSON_POP_DISABLE_UNUSED_WARNINGS</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="keyword">class </span><a class="code hl_class" href="classsimdjson_1_1implementation.html">implementation</a>;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span><span class="keyword">struct </span><a class="code hl_struct" href="structsimdjson_1_1padded__string.html">padded_string</a>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span><span class="keyword">class </span><a class="code hl_class" href="classsimdjson_1_1padded__string__view.html">padded_string_view</a>;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="namespacesimdjson.html#ae6ec9f0ce23fc51d87116b64fdbeb811">stage1_mode</a>;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span><span class="keyword">namespace </span>internal {</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="keyword">class </span>atomic_ptr;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="keyword">class </span>dom_parser_implementation;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="keyword">class </span>escape_json_string;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keyword">class </span>tape_ref;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="keyword">struct </span>value128;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span><span class="keyword">enum class</span> tape_type;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span>} <span class="comment">// namespace internal</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_BASE_H</span></div>
<div class="ttc" id="aclasssimdjson_1_1implementation_html"><div class="ttname"><a href="classsimdjson_1_1implementation.html">simdjson::implementation</a></div><div class="ttdoc">An implementation of simdjson for a particular CPU architecture.</div><div class="ttdef"><b>Definition</b> <a href="implementation_8h_source.html#l00045">implementation.h:45</a></div></div>
<div class="ttc" id="aclasssimdjson_1_1padded__string__view_html"><div class="ttname"><a href="classsimdjson_1_1padded__string__view.html">simdjson::padded_string_view</a></div><div class="ttdoc">User-provided string that promises it has extra padded bytes at the end for use with parser::parse().</div><div class="ttdef"><b>Definition</b> <a href="padded__string__view_8h_source.html#l00018">padded_string_view.h:18</a></div></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
<div class="ttc" id="anamespacesimdjson_html_a6df2598eb1d4e1ea669c41831cc7325d"><div class="ttname"><a href="namespacesimdjson.html#a6df2598eb1d4e1ea669c41831cc7325d">simdjson::DEFAULT_MAX_DEPTH</a></div><div class="ttdeci">constexpr size_t DEFAULT_MAX_DEPTH</div><div class="ttdoc">By default, simdjson supports this many nested objects and arrays.</div><div class="ttdef"><b>Definition</b> <a href="base_8h_source.html#l00040">base.h:40</a></div></div>
<div class="ttc" id="anamespacesimdjson_html_ad0bad3783275be4012bd5cfd0327875a"><div class="ttname"><a href="namespacesimdjson.html#ad0bad3783275be4012bd5cfd0327875a">simdjson::SIMDJSON_MAXSIZE_BYTES</a></div><div class="ttdeci">SIMDJSON_PUSH_DISABLE_UNUSED_WARNINGS constexpr size_t SIMDJSON_MAXSIZE_BYTES</div><div class="ttdoc">The maximum document size supported by simdjson.</div><div class="ttdef"><b>Definition</b> <a href="base_8h_source.html#l00023">base.h:23</a></div></div>
<div class="ttc" id="anamespacesimdjson_html_ae6ec9f0ce23fc51d87116b64fdbeb811"><div class="ttname"><a href="namespacesimdjson.html#ae6ec9f0ce23fc51d87116b64fdbeb811">simdjson::stage1_mode</a></div><div class="ttdeci">stage1_mode</div><div class="ttdoc">This enum is used with the dom_parser_implementation::stage1 function.</div><div class="ttdef"><b>Definition</b> <a href="internal_2dom__parser__implementation_8h_source.html#l00022">dom_parser_implementation.h:22</a></div></div>
<div class="ttc" id="anamespacesimdjson_html_aecdd750132f0eb123a6d61113b4197bf"><div class="ttname"><a href="namespacesimdjson.html#aecdd750132f0eb123a6d61113b4197bf">simdjson::SIMDJSON_PADDING</a></div><div class="ttdeci">constexpr size_t SIMDJSON_PADDING</div><div class="ttdoc">The amount of padding needed in a buffer to parse JSON.</div><div class="ttdef"><b>Definition</b> <a href="base_8h_source.html#l00033">base.h:33</a></div></div>
<div class="ttc" id="astructsimdjson_1_1padded__string_html"><div class="ttname"><a href="structsimdjson_1_1padded__string.html">simdjson::padded_string</a></div><div class="ttdoc">String with extra allocation for ease of use with parser::parse()</div><div class="ttdef"><b>Definition</b> <a href="padded__string_8h_source.html#l00023">padded_string.h:23</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><b>base.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

-8
View File
@@ -1,8 +0,0 @@
target_include_directories(${SIMDJSON_LIB_NAME}
INTERFACE
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/benchmark>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/benchmark/linux>
)
add_cpp_benchmark(parse)
add_cpp_benchmark(statisticalmodel)
-220
View File
@@ -1,220 +0,0 @@
#ifndef _BENCHMARK_H_
#define _BENCHMARK_H_
#include <float.h>
#include <stdint.h>
#include <time.h>
#ifdef __x86_64__
const char *unitname = "cycles";
#define RDTSC_START(cycles) \
do { \
uint32_t cyc_high, cyc_low; \
__asm volatile("cpuid\n" \
"rdtsc\n" \
"mov %%edx, %0\n" \
"mov %%eax, %1" \
: "=r"(cyc_high), "=r"(cyc_low) \
: \
: /* no read only */ \
"%rax", "%rbx", "%rcx", "%rdx" /* clobbers */ \
); \
(cycles) = ((uint64_t)cyc_high << 32) | cyc_low; \
} while (0)
#define RDTSC_STOP(cycles) \
do { \
uint32_t cyc_high, cyc_low; \
__asm volatile("rdtscp\n" \
"mov %%edx, %0\n" \
"mov %%eax, %1\n" \
"cpuid" \
: "=r"(cyc_high), "=r"(cyc_low) \
: /* no read only registers */ \
: "%rax", "%rbx", "%rcx", "%rdx" /* clobbers */ \
); \
(cycles) = ((uint64_t)cyc_high << 32) | cyc_low; \
} while (0)
#else
const char *unitname = " (clock units) ";
#define RDTSC_START(cycles) \
do { \
cycles = clock(); \
} while (0)
#define RDTSC_STOP(cycles) \
do { \
cycles = clock(); \
} while (0)
#endif
static __attribute__((noinline)) uint64_t rdtsc_overhead_func(uint64_t dummy) {
return dummy;
}
uint64_t global_rdtsc_overhead = (uint64_t)UINT64_MAX;
#define RDTSC_SET_OVERHEAD(test, repeat) \
do { \
uint64_t cycles_start, cycles_final, cycles_diff; \
uint64_t min_diff = UINT64_MAX; \
for (int i = 0; i < repeat; i++) { \
__asm volatile("" ::: /* pretend to clobber */ "memory"); \
RDTSC_START(cycles_start); \
test; \
RDTSC_STOP(cycles_final); \
cycles_diff = (cycles_final - cycles_start); \
if (cycles_diff < min_diff) \
min_diff = cycles_diff; \
} \
global_rdtsc_overhead = min_diff; \
} while (0)
double diff(timespec start, timespec end) {
return ((end.tv_nsec + 1000000000 * end.tv_sec) -
(start.tv_nsec + 1000000000 * start.tv_sec)) /
1000000000.0;
}
/*
* Prints the best number of operations per cycle where
* test is the function call, answer is the expected answer generated by
* test, repeat is the number of times we should repeat and size is the
* number of operations represented by test.
*/
#define BEST_TIME(name, test, expected, pre, repeat, size, verbose) \
do { \
if (global_rdtsc_overhead == UINT64_MAX) { \
RDTSC_SET_OVERHEAD(rdtsc_overhead_func(1), repeat); \
} \
if (verbose) \
printf("%-40s\t: ", name); \
else \
printf("\"%s\"\t", name); \
fflush(NULL); \
uint64_t cycles_start, cycles_final, cycles_diff; \
uint64_t min_diff = (uint64_t)-1; \
double min_sumclockdiff = DBL_MAX; \
uint64_t sum_diff = 0; \
double sumclockdiff = 0; \
struct timespec time1, time2; \
for (int i = 0; i < repeat; i++) { \
pre; \
__asm volatile("" ::: /* pretend to clobber */ "memory"); \
clock_gettime(CLOCK_REALTIME, &time1); \
RDTSC_START(cycles_start); \
if (test != expected) { \
fprintf(stderr, "not expected (%d , %d )", (int)test, (int)expected); \
break; \
} \
RDTSC_STOP(cycles_final); \
clock_gettime(CLOCK_REALTIME, &time2); \
double thistiming = diff(time1, time2); \
sumclockdiff += thistiming; \
if (thistiming < min_sumclockdiff) \
min_sumclockdiff = thistiming; \
cycles_diff = (cycles_final - cycles_start - global_rdtsc_overhead); \
if (cycles_diff < min_diff) \
min_diff = cycles_diff; \
sum_diff += cycles_diff; \
} \
uint64_t S = size; \
float cycle_per_op = (min_diff) / (double)S; \
float avg_cycle_per_op = (sum_diff) / ((double)S * repeat); \
double avg_gb_per_s = \
((double)S * repeat) / ((sumclockdiff)*1000.0 * 1000.0 * 1000.0); \
double max_gb_per_s = \
((double)S) / ((min_sumclockdiff)*1000.0 * 1000.0 * 1000.0); \
if (verbose) \
printf(" %.3f %s per input byte (best) ", cycle_per_op, unitname); \
if (verbose) \
printf(" %.3f %s per input byte (avg) ", avg_cycle_per_op, unitname); \
if (!verbose) \
printf(" %.3f %.3f %.3f %.3f ", cycle_per_op, \
avg_cycle_per_op - cycle_per_op, max_gb_per_s, \
-avg_gb_per_s + max_gb_per_s); \
printf("\n"); \
fflush(NULL); \
} while (0)
// like BEST_TIME, but no check
#define BEST_TIME_NOCHECK(name, test, pre, repeat, size, verbose) \
do { \
if (global_rdtsc_overhead == UINT64_MAX) { \
RDTSC_SET_OVERHEAD(rdtsc_overhead_func(1), repeat); \
} \
if (verbose) \
printf("%-40s\t: ", name); \
fflush(NULL); \
uint64_t cycles_start, cycles_final, cycles_diff; \
uint64_t min_diff = (uint64_t)-1; \
uint64_t sum_diff = 0; \
for (int i = 0; i < repeat; i++) { \
pre; \
__asm volatile("" ::: /* pretend to clobber */ "memory"); \
RDTSC_START(cycles_start); \
test; \
RDTSC_STOP(cycles_final); \
cycles_diff = (cycles_final - cycles_start - global_rdtsc_overhead); \
if (cycles_diff < min_diff) \
min_diff = cycles_diff; \
sum_diff += cycles_diff; \
} \
uint64_t S = size; \
float cycle_per_op = (min_diff) / (double)S; \
float avg_cycle_per_op = (sum_diff) / ((double)S * repeat); \
if (verbose) \
printf(" %.3f %s per input byte (best) ", cycle_per_op, unitname); \
if (verbose) \
printf(" %.3f %s per input byte (avg) ", avg_cycle_per_op, unitname); \
if (verbose) \
printf("\n"); \
if (!verbose) \
printf(" %.3f ", cycle_per_op); \
fflush(NULL); \
} while (0)
// like BEST_TIME except that we run a function to check the result
#define BEST_TIME_CHECK(test, check, pre, repeat, size, verbose) \
do { \
if (global_rdtsc_overhead == UINT64_MAX) { \
RDTSC_SET_OVERHEAD(rdtsc_overhead_func(1), repeat); \
} \
if (verbose) \
printf("%-60s\t:\n", #test); \
fflush(NULL); \
uint64_t cycles_start, cycles_final, cycles_diff; \
uint64_t min_diff = (uint64_t)-1; \
uint64_t sum_diff = 0; \
for (int i = 0; i < repeat; i++) { \
pre; \
__asm volatile("" ::: /* pretend to clobber */ "memory"); \
RDTSC_START(cycles_start); \
test; \
RDTSC_STOP(cycles_final); \
if (!check) { \
printf("error"); \
break; \
} \
cycles_diff = (cycles_final - cycles_start - global_rdtsc_overhead); \
if (cycles_diff < min_diff) \
min_diff = cycles_diff; \
sum_diff += cycles_diff; \
} \
uint64_t S = size; \
float cycle_per_op = (min_diff) / (double)S; \
float avg_cycle_per_op = (sum_diff) / ((double)S * repeat); \
if (verbose) \
printf(" %.3f cycles per operation (best) ", cycle_per_op); \
if (verbose) \
printf("\t%.3f cycles per operation (avg) ", avg_cycle_per_op); \
if (verbose) \
printf("\n"); \
if (!verbose) \
printf(" %.3f ", cycle_per_op); \
fflush(NULL); \
} while (0)
#endif
-281
View File
@@ -1,281 +0,0 @@
#include "simdjson/jsonparser.h"
#include <algorithm>
#include <unistd.h>
#include <vector>
#include "benchmark.h"
// #define RAPIDJSON_SSE2 // bad for performance
// #define RAPIDJSON_SSE42 // bad for performance
#include "rapidjson/document.h"
#include "rapidjson/reader.h"
#include "rapidjson/stringbuffer.h"
#include "rapidjson/writer.h"
#include "sajson.h"
using namespace rapidjson;
bool equals(const char *s1, const char *s2) { return strcmp(s1, s2) == 0; }
void remove_duplicates(std::vector<int64_t> &v) {
std::sort(v.begin(), v.end());
auto last = std::unique(v.begin(), v.end());
v.erase(last, v.end());
}
void print_vec(const std::vector<int64_t> &v) {
for (auto i : v) {
std::cout << i << " ";
}
std::cout << std::endl;
}
void simdjson_traverse(std::vector<int64_t> &answer, ParsedJson::iterator &i) {
switch (i.get_type()) {
case '{':
if (i.down()) {
do {
bool founduser = equals(i.get_string(), "user");
i.next(); // move to value
if (i.is_object()) {
if (founduser && i.move_to_key("id")) {
if (i.is_integer()) {
answer.push_back(i.get_integer());
}
i.up();
}
simdjson_traverse(answer, i);
} else if (i.is_array()) {
simdjson_traverse(answer, i);
}
} while (i.next());
i.up();
}
break;
case '[':
if (i.down()) {
do {
if (i.is_object_or_array()) {
simdjson_traverse(answer, i);
}
} while (i.next());
i.up();
}
break;
case 'l':
case 'd':
case 'n':
case 't':
case 'f':
default:
break;
}
}
std::vector<int64_t> simdjson_computestats(const padded_string &p) {
std::vector<int64_t> answer;
ParsedJson pj = build_parsed_json(p);
if (!pj.isValid()) {
return answer;
}
ParsedJson::iterator i(pj);
simdjson_traverse(answer, i);
remove_duplicates(answer);
return answer;
}
void sajson_traverse(std::vector<int64_t> &answer, const sajson::value &node) {
using namespace sajson;
switch (node.get_type()) {
case TYPE_ARRAY: {
auto length = node.get_length();
for (size_t i = 0; i < length; ++i) {
sajson_traverse(answer, node.get_array_element(i));
}
break;
}
case TYPE_OBJECT: {
auto length = node.get_length();
for (auto i = 0u; i < length; ++i) {
if (equals(node.get_object_key(i).data(), "user")) { // found a user!!!
auto uservalue = node.get_object_value(i); // get the value
if (uservalue.get_type() ==
TYPE_OBJECT) { // the value should be an object
auto uservaluelength = uservalue.get_length();
for (auto j = 0u; j < uservaluelength;
++j) { // go through the children
if (equals(uservalue.get_object_key(j).data(),
"id")) { // ah ah found id
auto v = uservalue.get_object_value(j);
if (v.get_type() == TYPE_INTEGER) { // check that it is an integer
answer.push_back(v.get_integer_value()); // record it!
} else if (v.get_type() == TYPE_DOUBLE) {
answer.push_back((int64_t)v.get_double_value()); // record it!
}
}
}
}
}
sajson_traverse(answer, node.get_object_value(i));
}
break;
}
case TYPE_NULL:
case TYPE_FALSE:
case TYPE_TRUE:
case TYPE_STRING:
case TYPE_DOUBLE:
case TYPE_INTEGER:
break;
default:
assert(false && "unknown node type");
}
}
std::vector<int64_t> sasjon_computestats(const padded_string &p) {
std::vector<int64_t> answer;
char *buffer = (char *)malloc(p.size());
memcpy(buffer, p.data(), p.size());
auto d = sajson::parse(sajson::dynamic_allocation(),
sajson::mutable_string_view(p.size(), buffer));
if (!d.is_valid()) {
return answer;
}
sajson_traverse(answer, d.get_root());
free(buffer);
remove_duplicates(answer);
return answer;
}
void rapid_traverse(std::vector<int64_t> &answer, const rapidjson::Value &v) {
switch (v.GetType()) {
case kObjectType:
for (Value::ConstMemberIterator m = v.MemberBegin(); m != v.MemberEnd();
++m) {
if (equals(m->name.GetString(), "user")) {
const rapidjson::Value &child = m->value;
if (child.GetType() == kObjectType) {
for (Value::ConstMemberIterator k = child.MemberBegin();
k != child.MemberEnd(); ++k) {
if (equals(k->name.GetString(), "id")) {
const rapidjson::Value &val = k->value;
if (val.GetType() == kNumberType) {
answer.push_back(val.GetInt64());
}
}
}
}
}
rapid_traverse(answer, m->value);
}
break;
case kArrayType:
for (Value::ConstValueIterator i = v.Begin(); i != v.End();
++i) { // v.Size();
rapid_traverse(answer, *i);
}
break;
case kNullType:
case kFalseType:
case kTrueType:
case kStringType:
case kNumberType:
default:
break;
}
}
std::vector<int64_t> rapid_computestats(const padded_string &p) {
std::vector<int64_t> answer;
char *buffer = (char *)malloc(p.size() + 1);
memcpy(buffer, p.data(), p.size());
buffer[p.size()] = '\0';
rapidjson::Document d;
d.ParseInsitu<kParseValidateEncodingFlag>(buffer);
if (d.HasParseError()) {
return answer;
}
rapid_traverse(answer, d);
free(buffer);
remove_duplicates(answer);
return answer;
}
int main(int argc, char *argv[]) {
bool verbose = false;
bool justdata = false;
int c;
while ((c = getopt(argc, argv, "vt")) != -1)
switch (c) {
case 't':
justdata = true;
break;
case 'v':
verbose = true;
break;
default:
abort();
}
if (optind >= argc) {
std::cerr << "Using different parsers, we compute the content statistics of "
"JSON documents." << std::endl;
std::cerr << "Usage: " << argv[0] << " <jsonfile>" << std::endl;
std::cerr << "Or " << argv[0] << " -v <jsonfile>" << std::endl;
exit(1);
}
const char *filename = argv[optind];
if (optind + 1 < argc) {
std::cerr << "warning: ignoring everything after " << argv[optind + 1] << std::endl;
}
padded_string p;
try {
get_corpus(filename).swap(p);
} catch (const std::exception &e) { // caught by reference to base
std::cout << "Could not load the file " << filename << std::endl;
return EXIT_FAILURE;
}
if (verbose) {
std::cout << "Input has ";
if (p.size() > 1024 * 1024)
std::cout << p.size() / (1024 * 1024) << " MB ";
else if (p.size() > 1024)
std::cout << p.size() / 1024 << " KB ";
else
std::cout << p.size() << " B ";
std::cout << std::endl;
}
std::vector<int64_t> s1 = simdjson_computestats(p);
if (verbose) {
printf("simdjson: ");
print_vec(s1);
}
std::vector<int64_t> s2 = rapid_computestats(p);
if (verbose) {
printf("rapid: ");
print_vec(s2);
}
std::vector<int64_t> s3 = sasjon_computestats(p);
if (verbose) {
printf("sasjon: ");
print_vec(s3);
}
assert(s1 == s2);
assert(s1 == s3);
size_t size = s1.size();
int repeat = 50;
int volume = p.size();
if(justdata) {
printf("name cycles_per_byte cycles_per_byte_err gb_per_s gb_per_s_err \n");
}
BEST_TIME("simdjson ", simdjson_computestats(p).size(), size, , repeat,
volume, !justdata);
BEST_TIME("rapid ", rapid_computestats(p).size(), size, , repeat, volume,
!justdata);
BEST_TIME("sasjon ", sasjon_computestats(p).size(), size, , repeat, volume,
!justdata);
}
-91
View File
@@ -1,91 +0,0 @@
// https://github.com/WojciechMula/toys/blob/master/000helpers/linux-perf-events.h
#pragma once
#ifdef __linux__
#include <asm/unistd.h> // for __NR_perf_event_open
#include <linux/perf_event.h> // for perf event constants
#include <sys/ioctl.h> // for ioctl
#include <unistd.h> // for syscall
#include <cerrno> // for errno
#include <cstring> // for memset
#include <stdexcept>
#include <vector>
#include <iostream>
template <int TYPE = PERF_TYPE_HARDWARE> class LinuxEvents {
int fd;
bool working;
perf_event_attr attribs;
int num_events;
std::vector<uint64_t> temp_result_vec;
std::vector<uint64_t> ids;
public:
explicit LinuxEvents(std::vector<int> config_vec) : fd(0), working(true) {
memset(&attribs, 0, sizeof(attribs));
attribs.type = TYPE;
attribs.size = sizeof(attribs);
attribs.disabled = 1;
attribs.exclude_kernel = 1;
attribs.exclude_hv = 1;
attribs.sample_period = 0;
attribs.read_format = PERF_FORMAT_GROUP | PERF_FORMAT_ID;
const int pid = 0; // the current process
const int cpu = -1; // all CPUs
const unsigned long flags = 0;
int group = -1; // no group
num_events = config_vec.size();
ids.resize(config_vec.size());
uint32_t i = 0;
for (auto config : config_vec) {
attribs.config = config;
fd = syscall(__NR_perf_event_open, &attribs, pid, cpu, group, flags);
if (fd == -1) {
report_error("perf_event_open");
}
ioctl(fd, PERF_EVENT_IOC_ID, &ids[i++]);
if (group == -1) {
group = fd;
}
}
temp_result_vec.resize(num_events * 2 + 1);
}
~LinuxEvents() { close(fd); }
inline void start() {
if (ioctl(fd, PERF_EVENT_IOC_RESET, PERF_IOC_FLAG_GROUP) == -1) {
report_error("ioctl(PERF_EVENT_IOC_RESET)");
}
if (ioctl(fd, PERF_EVENT_IOC_ENABLE, PERF_IOC_FLAG_GROUP) == -1) {
report_error("ioctl(PERF_EVENT_IOC_ENABLE)");
}
}
inline void end(std::vector<unsigned long long> &results) {
if (ioctl(fd, PERF_EVENT_IOC_DISABLE, PERF_IOC_FLAG_GROUP) == -1) {
report_error("ioctl(PERF_EVENT_IOC_DISABLE)");
}
if (read(fd, temp_result_vec.data(), temp_result_vec.size() * 8) == -1) {
report_error("read");
}
// our actual results are in slots 1,3,5, ... of this structure
// we really should be checking our ids obtained earlier to be safe
for (uint32_t i = 1; i < temp_result_vec.size(); i += 2) {
results[i / 2] = temp_result_vec[i];
}
}
private:
void report_error(const std::string &context) {
if(working) std::cerr << (context + ": " + std::string(strerror(errno))) << std::endl;
working = false;
}
};
#endif
-158
View File
@@ -1,158 +0,0 @@
#include <unistd.h>
#include <iostream>
#include "benchmark.h"
#include "simdjson/jsonioutil.h"
#include "simdjson/jsonminifier.h"
#include "simdjson/jsonparser.h"
// #define RAPIDJSON_SSE2 // bad
// #define RAPIDJSON_SSE42 // bad
#include "rapidjson/document.h"
#include "rapidjson/reader.h" // you have to check in the submodule
#include "rapidjson/stringbuffer.h"
#include "rapidjson/writer.h"
#include "sajson.h"
using namespace rapidjson;
std::string rapidstringmeInsitu(char *json) {
Document d;
d.ParseInsitu(json);
if (d.HasParseError()) {
std::cerr << "problem!" << std::endl;
return ""; // should do something
}
StringBuffer buffer;
Writer<StringBuffer> writer(buffer);
d.Accept(writer);
return buffer.GetString();
}
std::string rapidstringme(char *json) {
Document d;
d.Parse(json);
if (d.HasParseError()) {
std::cerr << "problem!" << std::endl;
return ""; // should do something
}
StringBuffer buffer;
Writer<StringBuffer> writer(buffer);
d.Accept(writer);
return buffer.GetString();
}
int main(int argc, char *argv[]) {
int c;
bool verbose = false;
bool justdata = false;
while ((c = getopt (argc, argv, "vt")) != -1)
switch (c)
{
case 't':
justdata = true;
break;
case 'v':
verbose = true;
break;
default:
abort ();
}
if (optind >= argc) {
std::cerr << "Usage: " << argv[0] << " <jsonfile>" << std::endl;
exit(1);
}
const char * filename = argv[optind];
padded_string p;
try {
get_corpus(filename).swap(p);
} catch (const std::exception& e) { // caught by reference to base
std::cout << "Could not load the file " << filename << std::endl;
return EXIT_FAILURE;
}
if (verbose) {
std::cout << "Input has ";
if (p.size() > 1024 * 1024)
std::cout << p.size() / (1024 * 1024) << " MB ";
else if (p.size() > 1024)
std::cout << p.size() / 1024 << " KB ";
else
std::cout << p.size() << " B ";
std::cout << std::endl;
}
char *buffer = allocate_padded_buffer(p.size() + 1);
memcpy(buffer, p.data(), p.size());
buffer[p.size()] = '\0';
int repeat = 50;
int volume = p.size();
if(justdata) {
printf("name cycles_per_byte cycles_per_byte_err gb_per_s gb_per_s_err \n");
}
size_t strlength = rapidstringme((char *)p.data()).size();
if (verbose)
std::cout << "input length is " << p.size() << " stringified length is "
<< strlength << std::endl;
BEST_TIME_NOCHECK("despacing with RapidJSON", rapidstringme((char *)p.data()), , repeat, volume, !justdata);
BEST_TIME_NOCHECK("despacing with RapidJSON Insitu", rapidstringmeInsitu((char *)buffer),
memcpy(buffer, p.data(), p.size()), repeat, volume, !justdata);
memcpy(buffer, p.data(), p.size());
size_t outlength =
jsonminify((const uint8_t *)buffer, p.size(), (uint8_t *)buffer);
if (verbose)
std::cout << "jsonminify length is " << outlength << std::endl;
uint8_t *cbuffer = (uint8_t *)buffer;
BEST_TIME("jsonminify", jsonminify(cbuffer, p.size(), cbuffer), outlength,
memcpy(buffer, p.data(), p.size()), repeat, volume, !justdata);
printf("minisize = %zu, original size = %zu (minified down to %.2f percent of original) \n", outlength, p.size(), outlength * 100.0 / p.size());
/***
* Is it worth it to minify before parsing?
***/
rapidjson::Document d;
BEST_TIME("RapidJSON Insitu orig", d.ParseInsitu(buffer).HasParseError(), false,
memcpy(buffer, p.data(), p.size()), repeat, volume, !justdata);
char *minibuffer = allocate_padded_buffer(p.size() + 1);
size_t minisize = jsonminify((const uint8_t *)p.data(), p.size(), (uint8_t*) minibuffer);
minibuffer[minisize] = '\0';
BEST_TIME("RapidJSON Insitu despaced", d.ParseInsitu(buffer).HasParseError(), false,
memcpy(buffer, minibuffer, p.size()),
repeat, volume, !justdata);
size_t astbuffersize = p.size() * 2;
size_t * ast_buffer = (size_t *) malloc(astbuffersize * sizeof(size_t));
BEST_TIME("sajson orig", sajson::parse(sajson::bounded_allocation(ast_buffer, astbuffersize), sajson::mutable_string_view(p.size(), buffer)).is_valid(), true, memcpy(buffer, p.data(), p.size()), repeat, volume, !justdata);
BEST_TIME("sajson despaced", sajson::parse(sajson::bounded_allocation(ast_buffer, astbuffersize), sajson::mutable_string_view(minisize, buffer)).is_valid(), true, memcpy(buffer, minibuffer, p.size()), repeat, volume, !justdata);
ParsedJson pj;
bool isallocok = pj.allocateCapacity(p.size(), 1024);
if(!isallocok) {
fprintf(stderr, "failed to allocate memory\n");
return EXIT_FAILURE;
}
bool automated_reallocation = false;
BEST_TIME("simdjson orig", json_parse((const uint8_t*)buffer, p.size(), pj, automated_reallocation), true, memcpy(buffer, p.data(), p.size()), repeat, volume, !justdata);
ParsedJson pj2;
bool isallocok2 = pj2.allocateCapacity(p.size(), 1024);
if(!isallocok2) {
fprintf(stderr, "failed to allocate memory\n");
return EXIT_FAILURE;
}
automated_reallocation = false;
BEST_TIME("simdjson despaced", json_parse((const uint8_t*)buffer, minisize, pj2, automated_reallocation), true, memcpy(buffer, minibuffer, p.size()), repeat, volume, !justdata);
free(buffer);
free(ast_buffer);
free(minibuffer);
}
-269
View File
@@ -1,269 +0,0 @@
#include <cassert>
#include <cctype>
#ifndef _MSC_VER
#include <dirent.h>
#include <unistd.h>
#endif
#include <cinttypes>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <chrono>
#include <cstring>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <map>
#include <set>
#include <sstream>
#include <string>
#include <vector>
#include "linux-perf-events.h"
#ifdef __linux__
#include <libgen.h>
#endif
//#define DEBUG
#include "simdjson/common_defs.h"
#include "simdjson/jsonioutil.h"
#include "simdjson/jsonparser.h"
#include "simdjson/parsedjson.h"
#include "simdjson/stage1_find_marks.h"
#include "simdjson/stage2_build_tape.h"
int main(int argc, char *argv[]) {
bool verbose = false;
bool dump = false;
bool jsonoutput = false;
bool forceoneiteration = false;
bool justdata = false;
#ifndef _MSC_VER
int c;
while ((c = getopt(argc, argv, "1vdt")) != -1) {
switch (c) {
case 't':
justdata = true;
break;
case 'v':
verbose = true;
break;
case 'd':
dump = true;
break;
case 'j':
jsonoutput = true;
break;
case '1':
forceoneiteration = true;
break;
default:
abort();
}
}
#else
int optind = 1;
#endif
if (optind >= argc) {
std::cerr << "Usage: " << argv[0] << " <jsonfile>" << std::endl;
exit(1);
}
const char *filename = argv[optind];
if (optind + 1 < argc) {
std::cerr << "warning: ignoring everything after " << argv[optind + 1] << std::endl;
}
if (verbose) {
std::cout << "[verbose] loading " << filename << std::endl;
}
padded_string p;
try {
get_corpus(filename).swap(p);
} catch (const std::exception &e) { // caught by reference to base
std::cout << "Could not load the file " << filename << std::endl;
return EXIT_FAILURE;
}
if (verbose) {
std::cout << "[verbose] loaded " << filename << " (" << p.size() << " bytes)"
<< std::endl;
}
#if defined(DEBUG)
const uint32_t iterations = 1;
#else
const uint32_t iterations =
forceoneiteration ? 1 : (p.size() < 1 * 1000 * 1000 ? 1000 : 10);
#endif
std::vector<double> res;
res.resize(iterations);
#if !defined(__linux__)
#define SQUASH_COUNTERS
if (justdata) {
printf("justdata (-t) flag only works under linux.\n");
}
#endif
#ifndef SQUASH_COUNTERS
std::vector<int> evts;
evts.push_back(PERF_COUNT_HW_CPU_CYCLES);
evts.push_back(PERF_COUNT_HW_INSTRUCTIONS);
evts.push_back(PERF_COUNT_HW_BRANCH_MISSES);
evts.push_back(PERF_COUNT_HW_CACHE_REFERENCES);
evts.push_back(PERF_COUNT_HW_CACHE_MISSES);
LinuxEvents<PERF_TYPE_HARDWARE> unified(evts);
std::vector<unsigned long long> results;
results.resize(evts.size());
unsigned long cy0 = 0, cy1 = 0, cy2 = 0;
unsigned long cl0 = 0, cl1 = 0, cl2 = 0;
unsigned long mis0 = 0, mis1 = 0, mis2 = 0;
unsigned long cref0 = 0, cref1 = 0, cref2 = 0;
unsigned long cmis0 = 0, cmis1 = 0, cmis2 = 0;
#endif
bool isok = true;
for (uint32_t i = 0; i < iterations; i++) {
if (verbose) {
std::cout << "[verbose] iteration # " << i << std::endl;
}
#ifndef SQUASH_COUNTERS
unified.start();
#endif
ParsedJson pj;
bool allocok = pj.allocateCapacity(p.size());
if (!allocok) {
std::cerr << "failed to allocate memory" << std::endl;
return EXIT_FAILURE;
}
#ifndef SQUASH_COUNTERS
unified.end(results);
cy0 += results[0];
cl0 += results[1];
mis0 += results[2];
cref0 += results[3];
cmis0 += results[4];
#endif
if (verbose) {
std::cout << "[verbose] allocated memory for parsed JSON " << std::endl;
}
auto start = std::chrono::steady_clock::now();
#ifndef SQUASH_COUNTERS
unified.start();
#endif
isok = find_structural_bits(p.data(), p.size(), pj);
#ifndef SQUASH_COUNTERS
unified.end(results);
cy1 += results[0];
cl1 += results[1];
mis1 += results[2];
cref1 += results[3];
cmis1 += results[4];
if (!isok) {
std::cout << "Failed during stage 1" << std::endl;
break;
}
unified.start();
#endif
isok = isok && !unified_machine(p.data(), p.size(), pj);
#ifndef SQUASH_COUNTERS
unified.end(results);
cy2 += results[0];
cl2 += results[1];
mis2 += results[2];
cref2 += results[3];
cmis2 += results[4];
if (!isok) {
std::cout << "Failed during stage 2" << std::endl;
break;
}
#endif
auto end = std::chrono::steady_clock::now();
std::chrono::duration<double> secs = end - start;
res[i] = secs.count();
}
ParsedJson pj = build_parsed_json(p); // do the parsing again to get the stats
if (!pj.isValid()) {
std::cerr << "Could not parse. " << std::endl;
return EXIT_FAILURE;
}
#ifndef SQUASH_COUNTERS
unsigned long total = cy0 + cy1 + cy2;
if (justdata) {
float cpb0 = (double)cy0 / (iterations * p.size());
float cpb1 = (double)cy1 / (iterations * p.size());
float cpb2 = (double)cy2 / (iterations * p.size());
float cpbtotal = (double)total / (iterations * p.size());
char *newfile = (char *)malloc(strlen(filename) + 1);
if (newfile == NULL) {
return EXIT_FAILURE;
}
::strcpy(newfile, filename);
char *snewfile = ::basename(newfile);
size_t nl = strlen(snewfile);
for (size_t j = nl - 1; j > 0; j--) {
if (snewfile[j] == '.') {
snewfile[j] = '\0';
break;
}
}
printf("\"%s\"\t%f\t%f\t%f\t%f\n", snewfile, cpb0, cpb1, cpb2,
cpbtotal);
free(newfile);
} else {
printf("number of bytes %ld number of structural chars %u ratio %.3f\n",
p.size(), pj.n_structural_indexes,
(double)pj.n_structural_indexes / p.size());
printf("mem alloc instructions: %10lu cycles: %10lu (%.2f %%) ins/cycles: "
"%.2f mis. branches: %10lu (cycles/mis.branch %.2f) cache accesses: "
"%10lu (failure %10lu)\n",
cl0 / iterations, cy0 / iterations, 100. * cy0 / total,
(double)cl0 / cy0, mis0 / iterations, (double)cy0 / mis0,
cref1 / iterations, cmis0 / iterations);
printf(" mem alloc runs at %.2f cycles per input byte.\n",
(double)cy0 / (iterations * p.size()));
printf("stage 1 instructions: %10lu cycles: %10lu (%.2f %%) ins/cycles: "
"%.2f mis. branches: %10lu (cycles/mis.branch %.2f) cache accesses: "
"%10lu (failure %10lu)\n",
cl1 / iterations, cy1 / iterations, 100. * cy1 / total,
(double)cl1 / cy1, mis1 / iterations, (double)cy1 / mis1,
cref1 / iterations, cmis1 / iterations);
printf(" stage 1 runs at %.2f cycles per input byte.\n",
(double)cy1 / (iterations * p.size()));
printf("stage 2 instructions: %10lu cycles: %10lu (%.2f %%) ins/cycles: "
"%.2f mis. branches: %10lu (cycles/mis.branch %.2f) cache "
"accesses: %10lu (failure %10lu)\n",
cl2 / iterations, cy2 / iterations, 100. * cy2 / total,
(double)cl2 / cy2, mis2 / iterations, (double)cy2 / mis2,
cref2 / iterations, cmis2 / iterations);
printf(" stage 2 runs at %.2f cycles per input byte and ",
(double)cy2 / (iterations * p.size()));
printf("%.2f cycles per structural character.\n",
(double)cy2 / (iterations * pj.n_structural_indexes));
printf(" all stages: %.2f cycles per input byte.\n",
(double)total / (iterations * p.size()));
}
#endif
double min_result = *min_element(res.begin(), res.end());
if (!justdata) {
std::cout << "Min: " << min_result << " bytes read: " << p.size()
<< " Gigabytes/second: " << (p.size()) / (min_result * 1000000000.0)
<< std::endl;
}
if (jsonoutput) {
isok = isok && pj.printjson(std::cout);
}
if (dump) {
isok = isok && pj.dump_raw_tape(std::cout);
}
if (!isok) {
fprintf(stderr, " Parsing failed. \n ");
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
-302
View File
@@ -1,302 +0,0 @@
#include "simdjson/jsonparser.h"
#include <unistd.h>
#include "benchmark.h"
// #define RAPIDJSON_SSE2 // bad for performance
// #define RAPIDJSON_SSE42 // bad for performance
#include "rapidjson/document.h"
#include "rapidjson/reader.h"
#include "rapidjson/stringbuffer.h"
#include "rapidjson/writer.h"
#include "sajson.h"
using namespace rapidjson;
struct stat_s {
size_t number_count;
size_t object_count;
size_t array_count;
size_t null_count;
size_t true_count;
size_t false_count;
bool valid;
};
typedef struct stat_s stat_t;
bool stat_equal(const stat_t &s1, const stat_t &s2) {
return (s1.valid == s2.valid) && (s1.number_count == s2.number_count) &&
(s1.object_count == s2.object_count) &&
(s1.array_count == s2.array_count) &&
(s1.null_count == s2.null_count) && (s1.true_count == s2.true_count) &&
(s1.false_count == s2.false_count);
}
void print_stat(const stat_t &s) {
if (!s.valid) {
printf("invalid\n");
return;
}
printf("number: %zu object: %zu array: %zu null: %zu true: %zu false: %zu\n",
s.number_count, s.object_count, s.array_count, s.null_count,
s.true_count, s.false_count);
}
__attribute__ ((noinline))
stat_t simdjson_computestats(const padded_string &p) {
stat_t answer;
ParsedJson pj = build_parsed_json(p);
answer.valid = pj.isValid();
if (!answer.valid) {
return answer;
}
answer.number_count = 0;
answer.object_count = 0;
answer.array_count = 0;
answer.null_count = 0;
answer.true_count = 0;
answer.false_count = 0;
size_t tapeidx = 0;
uint64_t tape_val = pj.tape[tapeidx++];
uint8_t type = (tape_val >> 56);
size_t howmany = 0;
assert(type == 'r');
howmany = tape_val & JSONVALUEMASK;
for (; tapeidx < howmany; tapeidx++) {
tape_val = pj.tape[tapeidx];
// uint64_t payload = tape_val & JSONVALUEMASK;
type = (tape_val >> 56);
switch (type) {
case 'l': // we have a long int
answer.number_count++;
tapeidx++; // skipping the integer
break;
case 'd': // we have a double
answer.number_count++;
tapeidx++; // skipping the double
break;
case 'n': // we have a null
answer.null_count++;
break;
case 't': // we have a true
answer.true_count++;
break;
case 'f': // we have a false
answer.false_count++;
break;
case '{': // we have an object
answer.object_count++;
break;
case '}': // we end an object
break;
case '[': // we start an array
answer.array_count++;
break;
case ']': // we end an array
break;
default:
break; // ignore
}
}
return answer;
}
// see
// https://github.com/miloyip/nativejson-benchmark/blob/master/src/tests/sajsontest.cpp
void sajson_traverse(stat_t &stats, const sajson::value &node) {
using namespace sajson;
switch (node.get_type()) {
case TYPE_NULL:
stats.null_count++;
break;
case TYPE_FALSE:
stats.false_count++;
break;
case TYPE_TRUE:
stats.true_count++;
break;
case TYPE_ARRAY: {
stats.array_count++;
auto length = node.get_length();
for (size_t i = 0; i < length; ++i) {
sajson_traverse(stats, node.get_array_element(i));
}
break;
}
case TYPE_OBJECT: {
stats.object_count++;
auto length = node.get_length();
for (auto i = 0u; i < length; ++i) {
sajson_traverse(stats, node.get_object_value(i));
}
break;
}
case TYPE_STRING:
// skip
break;
case TYPE_DOUBLE:
case TYPE_INTEGER:
stats.number_count++; // node.get_number_value();
break;
default:
assert(false && "unknown node type");
}
}
__attribute__ ((noinline))
stat_t sasjon_computestats(const padded_string &p) {
stat_t answer;
char *buffer = (char *)malloc(p.size());
memcpy(buffer, p.data(), p.size());
auto d = sajson::parse(sajson::dynamic_allocation(),
sajson::mutable_string_view(p.size(), buffer));
answer.valid = d.is_valid();
if (!answer.valid) {
return answer;
}
answer.number_count = 0;
answer.object_count = 0;
answer.array_count = 0;
answer.null_count = 0;
answer.true_count = 0;
answer.false_count = 0;
sajson_traverse(answer, d.get_root());
free(buffer);
return answer;
}
void rapid_traverse(stat_t &stats, const rapidjson::Value &v) {
switch (v.GetType()) {
case kNullType:
stats.null_count++;
break;
case kFalseType:
stats.false_count++;
break;
case kTrueType:
stats.true_count++;
break;
case kObjectType:
for (Value::ConstMemberIterator m = v.MemberBegin(); m != v.MemberEnd();
++m) {
rapid_traverse(stats, m->value);
}
stats.object_count++;
break;
case kArrayType:
for (Value::ConstValueIterator i = v.Begin(); i != v.End();
++i) { // v.Size();
rapid_traverse(stats, *i);
}
stats.array_count++;
break;
case kStringType:
break;
case kNumberType:
stats.number_count++;
break;
}
}
__attribute__ ((noinline))
stat_t rapid_computestats(const padded_string &p) {
stat_t answer;
char *buffer = (char *)malloc(p.size() + 1);
memcpy(buffer, p.data(), p.size());
buffer[p.size()] = '\0';
rapidjson::Document d;
d.ParseInsitu<kParseValidateEncodingFlag>(buffer);
answer.valid = !d.HasParseError();
if (!answer.valid) {
return answer;
}
answer.number_count = 0;
answer.object_count = 0;
answer.array_count = 0;
answer.null_count = 0;
answer.true_count = 0;
answer.false_count = 0;
rapid_traverse(answer, d);
free(buffer);
return answer;
}
int main(int argc, char *argv[]) {
bool verbose = false;
bool justdata = false;
int c;
while ((c = getopt(argc, argv, "vt")) != -1)
switch (c) {
case 't':
justdata = true;
break;
case 'v':
verbose = true;
break;
default:
abort();
}
if (optind >= argc) {
std::cerr << "Using different parsers, we compute the content statistics of "
"JSON documents." << std::endl;
std::cerr << "Usage: " << argv[0] << " <jsonfile>" << std::endl;
std::cerr << "Or " << argv[0] << " -v <jsonfile>" << std::endl;
exit(1);
}
const char *filename = argv[optind];
if (optind + 1 < argc) {
std::cerr << "warning: ignoring everything after " << argv[optind + 1] << std::endl;
}
padded_string p;
try {
get_corpus(filename).swap(p);
} catch (const std::exception &e) { // caught by reference to base
std::cout << "Could not load the file " << filename << std::endl;
return EXIT_FAILURE;
}
if (verbose) {
std::cout << "Input has ";
if (p.size() > 1024 * 1024)
std::cout << p.size() / (1024 * 1024) << " MB ";
else if (p.size() > 1024)
std::cout << p.size() / 1024 << " KB ";
else
std::cout << p.size() << " B ";
std::cout << std::endl;
}
stat_t s1 = simdjson_computestats(p);
if (verbose) {
printf("simdjson: ");
print_stat(s1);
}
stat_t s2 = rapid_computestats(p);
if (verbose) {
printf("rapid: ");
print_stat(s2);
}
stat_t s3 = sasjon_computestats(p);
if (verbose) {
printf("sasjon: ");
print_stat(s3);
}
assert(stat_equal(s1, s2));
assert(stat_equal(s1, s3));
int repeat = 50;
int volume = p.size();
if(justdata) {
printf("name cycles_per_byte cycles_per_byte_err gb_per_s gb_per_s_err \n");
}
BEST_TIME("simdjson ", simdjson_computestats(p).valid, true, , repeat,
volume, !justdata);
BEST_TIME("RapidJSON ", rapid_computestats(p).valid, true, , repeat, volume,
!justdata);
BEST_TIME("sasjon ", sasjon_computestats(p).valid, true, , repeat, volume,
!justdata);
}
-261
View File
@@ -1,261 +0,0 @@
#include "simdjson/jsonparser.h"
#ifndef _MSC_VER
#include <unistd.h>
#include "linux-perf-events.h"
#ifdef __linux__
#include <libgen.h>
#endif //__linux__
#endif // _MSC_VER
#include <memory>
#include "benchmark.h"
// #define RAPIDJSON_SSE2 // bad for performance
// #define RAPIDJSON_SSE42 // bad for performance
#include "rapidjson/document.h"
#include "rapidjson/reader.h"
#include "rapidjson/stringbuffer.h"
#include "rapidjson/writer.h"
#include "sajson.h"
#ifdef ALLPARSER
#include "fastjson.cpp"
#include "fastjson_dom.cpp"
#include "gason.cpp"
#include "json11.cpp"
extern "C" {
#include "ujdecode.h"
#include "ultrajsondec.c"
#include "cJSON.h"
#include "cJSON.c"
#include "jsmn.h"
#include "jsmn.c"
}
#include "json/json.h"
#include "jsoncpp.cpp"
#endif
using namespace rapidjson;
#ifdef ALLPARSER
// fastjson has a tricky interface
void on_json_error(void *, const fastjson::ErrorContext &ec) {
// std::cerr<<"ERROR: "<<ec.mesg<<std::endl;
}
bool fastjson_parse(const char *input) {
fastjson::Token token;
fastjson::dom::Chunk chunk;
return fastjson::dom::parse_string(input, &token, &chunk, 0, &on_json_error,
NULL);
}
// end of fastjson stuff
#endif
int main(int argc, char *argv[]) {
bool verbose = false;
bool justdata = false;
int c;
while ((c = getopt(argc, argv, "vt")) != -1)
switch (c) {
case 't':
justdata = true;
break;
case 'v':
verbose = true;
break;
default:
abort();
}
if (optind >= argc) {
std::cerr << "Usage: " << argv[0] << " <jsonfile>" << std::endl;
std::cerr << "Or " << argv[0] << " -v <jsonfile>" << std::endl;
std::cerr << "To enable parsers that are not standard compliant, use the -a "
"flag" << std::endl;
exit(1);
}
const char *filename = argv[optind];
if (optind + 1 < argc) {
std::cerr << "warning: ignoring everything after " << argv[optind + 1] << std::endl;
}
padded_string p;
try {
get_corpus(filename).swap(p);
} catch (const std::exception &e) { // caught by reference to base
std::cout << "Could not load the file " << filename << std::endl;
return EXIT_FAILURE;
}
if (verbose) {
std::cout << "Input has ";
if (p.size() > 1024 * 1024)
std::cout << p.size() / (1024 * 1024) << " MB ";
else if (p.size() > 1024)
std::cout << p.size() / 1024 << " KB ";
else
std::cout << p.size() << " B ";
std::cout << std::endl;
}
ParsedJson pj;
bool allocok = pj.allocateCapacity(p.size(), 1024);
if (!allocok) {
std::cerr << "can't allocate memory" << std::endl;
return EXIT_FAILURE;
}
int repeat = 50;
int volume = p.size();
if(justdata) {
printf("name cycles_per_byte cycles_per_byte_err gb_per_s gb_per_s_err \n");
}
if(!justdata) BEST_TIME("simdjson (dynamic mem) ", build_parsed_json(p).isValid(), true, ,
repeat, volume, !justdata);
// (static alloc)
BEST_TIME("simdjson ", json_parse(p, pj), simdjson::SUCCESS, , repeat,
volume, !justdata);
rapidjson::Document d;
char *buffer = (char *)malloc(p.size() + 1);
memcpy(buffer, p.data(), p.size());
buffer[p.size()] = '\0';
#ifndef ALLPARSER
if(!justdata)
#endif
BEST_TIME(
"RapidJSON ",
d.Parse<kParseValidateEncodingFlag>((const char *)buffer).HasParseError(),
false, memcpy(buffer, p.data(), p.size()), repeat, volume, !justdata);
BEST_TIME("RapidJSON (insitu)",
d.ParseInsitu<kParseValidateEncodingFlag>(buffer).HasParseError(),
false, memcpy(buffer, p.data(), p.size()) && (buffer[p.size()] = '\0'), repeat, volume, !justdata);
#ifndef ALLPARSER
if(!justdata)
#endif
BEST_TIME("sajson (dynamic mem)",
sajson::parse(sajson::dynamic_allocation(),
sajson::mutable_string_view(p.size(), buffer))
.is_valid(),
true, memcpy(buffer, p.data(), p.size()), repeat, volume, !justdata);
size_t astbuffersize = p.size();
size_t *ast_buffer = (size_t *)malloc(astbuffersize * sizeof(size_t));
// (static alloc, insitu)
BEST_TIME("sajson",
sajson::parse(sajson::bounded_allocation(ast_buffer, astbuffersize),
sajson::mutable_string_view(p.size(), buffer))
.is_valid(),
true, memcpy(buffer, p.data(), p.size()), repeat, volume, !justdata);
#ifdef __linux__
if(!justdata) {
std::vector<int> evts;
evts.push_back(PERF_COUNT_HW_CPU_CYCLES);
evts.push_back(PERF_COUNT_HW_INSTRUCTIONS);
evts.push_back(PERF_COUNT_HW_BRANCH_MISSES);
evts.push_back(PERF_COUNT_HW_CACHE_REFERENCES);
evts.push_back(PERF_COUNT_HW_CACHE_MISSES);
LinuxEvents<PERF_TYPE_HARDWARE> unified(evts);
std::vector<unsigned long long> results;
std::vector<unsigned long long> stats;
results.resize(evts.size());
stats.resize(evts.size());
std::fill(stats.begin(), stats.end(), 0);// unnecessary
for(int i = 0; i < repeat; i++) {
unified.start();
if(json_parse(p, pj) != true) printf("bug\n");
unified.end(results);
std::transform (stats.begin(), stats.end(), results.begin(), stats.begin(), std::plus<unsigned long long>());
}
printf("simdjson : cycles %10.0f instructions %10.0f branchmisses %10.0f cacheref %10.0f cachemisses %10.0f bytespercachemiss %10.0f inspercycle %10.1f insperbyte %10.1f\n",
stats[0] * 1.0 / repeat, stats[1] * 1.0 / repeat, stats[2] * 1.0 / repeat, stats[3] * 1.0 / repeat, stats[4] * 1.0 / repeat, volume * repeat * 1.0 / stats[2], stats[1] *1.0 / stats[0], stats[1] * 1.0 / (volume * repeat));
std::fill(stats.begin(), stats.end(), 0);
for(int i = 0; i < repeat; i++) {
memcpy(buffer, p.data(), p.size());
buffer[p.size()] = '\0';
unified.start();
if(d.ParseInsitu<kParseValidateEncodingFlag>(buffer).HasParseError() != false) printf("bug\n");
unified.end(results);
std::transform (stats.begin(), stats.end(), results.begin(), stats.begin(), std::plus<unsigned long long>());
}
printf("RapidJSON: cycles %10.0f instructions %10.0f branchmisses %10.0f cacheref %10.0f cachemisses %10.0f bytespercachemiss %10.0f inspercycle %10.1f insperbyte %10.1f\n",
stats[0] * 1.0 / repeat, stats[1] * 1.0 / repeat, stats[2] * 1.0 / repeat, stats[3] * 1.0 / repeat, stats[4] * 1.0 / repeat, volume * repeat * 1.0 / stats[2], stats[1] *1.0 / stats[0], stats[1] * 1.0 / (volume * repeat));
std::fill(stats.begin(), stats.end(), 0);// unnecessary
for(int i = 0; i < repeat; i++) {
memcpy(buffer, p.data(), p.size());
unified.start();
if(sajson::parse(sajson::bounded_allocation(ast_buffer, astbuffersize),
sajson::mutable_string_view(p.size(), buffer))
.is_valid() != true) printf("bug\n");
unified.end(results);
std::transform (stats.begin(), stats.end(), results.begin(), stats.begin(), std::plus<unsigned long long>());
}
printf("sajson : cycles %10.0f instructions %10.0f branchmisses %10.0f cacheref %10.0f cachemisses %10.0f bytespercachemiss %10.0f inspercycle %10.1f insperbyte %10.1f\n",
stats[0] * 1.0 / repeat, stats[1] * 1.0 / repeat, stats[2] * 1.0 / repeat, stats[3] * 1.0 / repeat, stats[4] * 1.0 / repeat, volume * repeat * 1.0 / stats[2], stats[1] *1.0 / stats[0], stats[1] * 1.0 / (volume * repeat));
}
#endif// __linux__
#ifdef ALLPARSER
std::string json11err;
BEST_TIME("dropbox (json11) ",
((json11::Json::parse(buffer, json11err).is_null()) ||
(!json11err.empty())),
false, memcpy(buffer, p.data(), p.size()), repeat, volume, !justdata);
BEST_TIME("fastjson ", fastjson_parse(buffer), true,
memcpy(buffer, p.data(), p.size()), repeat, volume, !justdata);
JsonValue value;
JsonAllocator allocator;
char *endptr;
BEST_TIME("gason ",
jsonParse(buffer, &endptr, &value, allocator), JSON_OK,
memcpy(buffer, p.data(), p.size()), repeat, volume, !justdata);
void *state;
BEST_TIME("ultrajson ",
(UJDecode(buffer, p.size(), NULL, &state) == NULL), false,
memcpy(buffer, p.data(), p.size()), repeat, volume, !justdata);
{
std::unique_ptr<jsmntok_t[]> tokens = std::make_unique<jsmntok_t[]>(p.size());
jsmn_parser parser;
jsmn_init(&parser);
memcpy(buffer, p.data(), p.size());
buffer[p.size()] = '\0';
BEST_TIME("jsmn ",
(jsmn_parse(&parser, buffer, p.size(), tokens.get(), p.size()) > 0), true,
jsmn_init(&parser), repeat, volume, !justdata);
}
memcpy(buffer, p.data(), p.size());
buffer[p.size()] = '\0';
cJSON * tree = cJSON_Parse(buffer);
BEST_TIME("cJSON ",
((tree = cJSON_Parse(buffer)) != NULL ), true,
cJSON_Delete(tree), repeat, volume, !justdata);
cJSON_Delete(tree);
Json::CharReaderBuilder b;
Json::CharReader * jsoncppreader = b.newCharReader();
Json::Value root;
Json::String errs;
BEST_TIME("jsoncpp ",
jsoncppreader->parse(buffer,buffer+volume,&root,&errs), true,
, repeat, volume, !justdata);
delete jsoncppreader;
#endif
if(!justdata) BEST_TIME("memcpy ",
(memcpy(buffer, p.data(), p.size()) == buffer), true, , repeat,
volume, !justdata);
free(ast_buffer);
free(buffer);
}
-204
View File
@@ -1,204 +0,0 @@
#include <iostream>
#ifndef _MSC_VER
#include <unistd.h>
#endif
#include "simdjson/jsonioutil.h"
#include "simdjson/jsonparser.h"
#ifdef __linux__
#include "linux-perf-events.h"
#endif
size_t count_nonasciibytes(const uint8_t *input, size_t length) {
size_t count = 0;
for (size_t i = 0; i < length; i++) {
count += input[i] >> 7;
}
return count;
}
size_t count_backslash(const uint8_t *input, size_t length) {
size_t count = 0;
for (size_t i = 0; i < length; i++) {
count += (input[i] == '\\') ? 1 : 0;
}
return count;
}
struct stat_s {
size_t integer_count;
size_t float_count;
size_t string_count;
size_t backslash_count;
size_t nonasciibyte_count;
size_t object_count;
size_t array_count;
size_t null_count;
size_t true_count;
size_t false_count;
size_t byte_count;
size_t structural_indexes_count;
bool valid;
};
using stat_t = struct stat_s;
stat_t simdjson_computestats(const padded_string &p) {
stat_t answer;
ParsedJson pj = build_parsed_json(p);
answer.valid = pj.isValid();
if (!answer.valid) {
return answer;
}
answer.backslash_count = count_backslash(reinterpret_cast<const uint8_t *>(p.data()), p.size());
answer.nonasciibyte_count =
count_nonasciibytes(reinterpret_cast<const uint8_t *>(p.data()), p.size());
answer.byte_count = p.size();
answer.integer_count = 0;
answer.float_count = 0;
answer.object_count = 0;
answer.array_count = 0;
answer.null_count = 0;
answer.true_count = 0;
answer.false_count = 0;
answer.string_count = 0;
answer.structural_indexes_count = pj.n_structural_indexes;
size_t tapeidx = 0;
uint64_t tape_val = pj.tape[tapeidx++];
uint8_t type = (tape_val >> 56);
size_t howmany = 0;
assert(type == 'r');
howmany = tape_val & JSONVALUEMASK;
for (; tapeidx < howmany; tapeidx++) {
tape_val = pj.tape[tapeidx];
// uint64_t payload = tape_val & JSONVALUEMASK;
type = (tape_val >> 56);
switch (type) {
case 'l': // we have a long int
answer.integer_count++;
tapeidx++; // skipping the integer
break;
case 'd': // we have a double
answer.float_count++;
tapeidx++; // skipping the double
break;
case 'n': // we have a null
answer.null_count++;
break;
case 't': // we have a true
answer.true_count++;
break;
case 'f': // we have a false
answer.false_count++;
break;
case '{': // we have an object
answer.object_count++;
break;
case '}': // we end an object
break;
case '[': // we start an array
answer.array_count++;
break;
case ']': // we end an array
break;
case '"': // we have a string
answer.string_count++;
break;
default:
break; // ignore
}
}
return answer;
}
int main(int argc, char *argv[]) {
#ifndef _MSC_VER
int c;
while ((c = getopt(argc, argv, "")) != -1) {
switch (c) {
default:
abort();
}
}
#else
int optind = 1;
#endif
if (optind >= argc) {
std::cerr << "Reads json, prints stats. " << std::endl;
std::cerr << "Usage: " << argv[0] << " <jsonfile>" << std::endl;
exit(1);
}
const char *filename = argv[optind];
if (optind + 1 < argc) {
std::cerr << "warning: ignoring everything after " << argv[optind + 1]
<< std::endl;
}
padded_string p;
try {
get_corpus(filename).swap(p);
} catch (const std::exception &e) { // caught by reference to base
std::cerr << "Could not load the file " << filename << std::endl;
return EXIT_FAILURE;
}
stat_t s = simdjson_computestats(p);
if (!s.valid) {
std::cerr << "not a valid JSON" << std::endl;
return EXIT_FAILURE;
}
printf("# integer_count float_count string_count backslash_count "
"nonasciibyte_count object_count array_count null_count true_count "
"false_count byte_count structural_indexes_count ");
#ifdef __linux__
printf(
" stage1_cycle_count stage1_instruction_count stage2_cycle_count "
" stage2_instruction_count stage3_cycle_count stage3_instruction_count ");
#else
printf("(you are not under linux, so perf counters are disaabled)");
#endif
printf("\n");
printf("%zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu %zu ", s.integer_count,
s.float_count, s.string_count, s.backslash_count, s.nonasciibyte_count,
s.object_count, s.array_count, s.null_count, s.true_count,
s.false_count, s.byte_count, s.structural_indexes_count);
#ifdef __linux__
ParsedJson pj;
bool allocok = pj.allocateCapacity(p.size());
if (!allocok) {
std::cerr << "failed to allocate memory" << std::endl;
return EXIT_FAILURE;
}
const uint32_t iterations = p.size() < 1 * 1000 * 1000 ? 1000 : 50;
std::vector<int> evts;
evts.push_back(PERF_COUNT_HW_CPU_CYCLES);
evts.push_back(PERF_COUNT_HW_INSTRUCTIONS);
LinuxEvents<PERF_TYPE_HARDWARE> unified(evts);
unsigned long cy1 = 0, cy2 = 0;
unsigned long cl1 = 0, cl2 = 0;
std::vector<unsigned long long> results;
results.resize(evts.size());
for (uint32_t i = 0; i < iterations; i++) {
unified.start();
bool isok = find_structural_bits(p.data(), p.size(), pj);
unified.end(results);
cy1 += results[0];
cl1 += results[1];
unified.start();
isok = isok && unified_machine(p.data(), p.size(), pj);
unified.end(results);
cy2 += results[0];
cl2 += results[1];
if(!isok) {
std::cerr << "failure?" << std::endl;
}
}
printf("%f %f %f %f ", cy1 * 1.0 / iterations, cl1 * 1.0 / iterations,
cy2 * 1.0 / iterations, cl2 * 1.0 / iterations);
#endif // __linux__
printf("\n");
return EXIT_SUCCESS;
}
+128
View File
@@ -0,0 +1,128 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/generic/builder/amalgamated.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('builder_2amalgamated_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">amalgamated.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#if defined(SIMDJSON_CONDITIONAL_INCLUDE) &amp;&amp; !defined(SIMDJSON_GENERIC_BUILDER_DEPENDENCIES_H)</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#error simdjson/generic/builder/dependencies.h must be included before simdjson/generic/builder/amalgamated.h!</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/generic/builder/json_string_builder.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/generic/builder/json_builder.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &quot;simdjson/generic/builder/fractured_json_builder.h&quot;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment">// JSON builder inline definitions</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;simdjson/generic/builder/json_string_builder-inl.h&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_53368a02099cf3699f2996a5d88d70b6.html">generic</a></li><li class="navelem"><a class="el" href="dir_a2ce916121bdd83b69f2869ea38a15f5.html">builder</a></li><li class="navelem"><b>amalgamated.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+129
View File
@@ -0,0 +1,129 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/generic/builder/dependencies.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('builder_2dependencies_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">dependencies.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifdef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#error simdjson/generic/builder/dependencies.h must be included before defining SIMDJSON_CONDITIONAL_INCLUDE!</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#ifndef SIMDJSON_GENERIC_BUILDER_DEPENDENCIES_H</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#define SIMDJSON_GENERIC_BUILDER_DEPENDENCIES_H</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment">// Internal headers needed for builder generics.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment">// All includes not under simdjson/generic/builder must be here!</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment">// Otherwise, amalgamation will fail.</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &quot;simdjson/concepts.h&quot;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;simdjson/dom/fractured_json.h&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_GENERIC_BUILDER_DEPENDENCIES_H</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_53368a02099cf3699f2996a5d88d70b6.html">generic</a></li><li class="navelem"><a class="el" href="dir_a2ce916121bdd83b69f2869ea38a15f5.html">builder</a></li><li class="navelem"><b>dependencies.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+127
View File
@@ -0,0 +1,127 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/builder.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('builder_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">builder.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_BUILDER_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_BUILDER_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;simdjson/builtin/builder.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> <span class="keyword">namespace </span>builder = builtin::builder;</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_BUILDER_H</span></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><b>builder.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+149
View File
@@ -0,0 +1,149 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/builtin/base.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('builtin_2base_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">base.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_BUILTIN_BASE_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_BUILTIN_BASE_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;simdjson/base.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/implementation_detection.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#if SIMDJSON_BUILTIN_IMPLEMENTATION_IS(arm64)</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> <span class="keyword">namespace </span>arm64 {}</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(fallback)</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> <span class="keyword">namespace </span>fallback {}</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(haswell)</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> <span class="keyword">namespace </span>haswell {}</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(icelake)</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">namespace </span>icelake {}</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(ppc64)</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">namespace </span>ppc64 {}</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(westmere)</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">namespace </span>westmere {}</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(lsx)</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">namespace </span>lsx {}</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(lasx)</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">namespace </span>lasx {}</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(rvv_vls)</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">namespace </span>rvv_vls {}</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#error Unknown SIMDJSON_BUILTIN_IMPLEMENTATION</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">namespace </span>builtin = SIMDJSON_BUILTIN_IMPLEMENTATION;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_BUILTIN_BASE_H</span></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_cae07bd9608c9724f8cbc862866fc74a.html">builtin</a></li><li class="navelem"><b>base.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+155
View File
@@ -0,0 +1,155 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/builtin/builder.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('builtin_2builder_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">builder.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_BUILTIN_BUILDER_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_BUILTIN_BUILDER_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;simdjson/builtin.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/builtin/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &quot;simdjson/generic/builder/dependencies.h&quot;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#define SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#if SIMDJSON_BUILTIN_IMPLEMENTATION_IS(arm64)</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;simdjson/arm64/builder.h&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(fallback)</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &quot;simdjson/fallback/builder.h&quot;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(haswell)</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &quot;simdjson/haswell/builder.h&quot;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(icelake)</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &quot;simdjson/icelake/builder.h&quot;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(ppc64)</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &quot;simdjson/ppc64/builder.h&quot;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(westmere)</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &quot;simdjson/westmere/builder.h&quot;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(lsx)</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &quot;simdjson/lsx/builder.h&quot;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(lasx)</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include &quot;simdjson/lasx/builder.h&quot;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(rvv_vls)</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include &quot;simdjson/rvv-vls/builder.h&quot;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#error Unknown SIMDJSON_BUILTIN_IMPLEMENTATION</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#undef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">namespace </span>builder = SIMDJSON_BUILTIN_IMPLEMENTATION::builder;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_BUILTIN_BUILDER_H</span></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_cae07bd9608c9724f8cbc862866fc74a.html">builtin</a></li><li class="navelem"><b>builder.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+156
View File
@@ -0,0 +1,156 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/builtin/implementation.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('builtin_2implementation_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">implementation.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_BUILTIN_IMPLEMENTATION_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_BUILTIN_IMPLEMENTATION_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;simdjson/builtin/base.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> </div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &quot;simdjson/generic/dependencies.h&quot;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#define SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#if SIMDJSON_BUILTIN_IMPLEMENTATION_IS(arm64)</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &quot;simdjson/arm64/implementation.h&quot;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(fallback)</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &quot;simdjson/fallback/implementation.h&quot;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(haswell)</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &quot;simdjson/haswell/implementation.h&quot;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(icelake)</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &quot;simdjson/icelake/implementation.h&quot;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(ppc64)</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &quot;simdjson/ppc64/implementation.h&quot;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(westmere)</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &quot;simdjson/westmere/implementation.h&quot;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(lsx)</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#include &quot;simdjson/lsx/implementation.h&quot;</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(lasx)</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#include &quot;simdjson/lasx/implementation.h&quot;</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(rvv_vls)</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#include &quot;simdjson/rvv-vls/implementation.h&quot;</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#error Unknown SIMDJSON_BUILTIN_IMPLEMENTATION</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#undef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="namespacesimdjson.html#a27d0ec4db7cb0197fa90096703a13e25"> 41</a></span> <span class="keyword">const</span> <a class="code hl_class" href="classsimdjson_1_1implementation.html">implementation</a> * <a class="code hl_function" href="namespacesimdjson.html#a27d0ec4db7cb0197fa90096703a13e25">builtin_implementation</a>();</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_BUILTIN_IMPLEMENTATION_H</span></div>
<div class="ttc" id="aclasssimdjson_1_1implementation_html"><div class="ttname"><a href="classsimdjson_1_1implementation.html">simdjson::implementation</a></div><div class="ttdoc">An implementation of simdjson for a particular CPU architecture.</div><div class="ttdef"><b>Definition</b> <a href="implementation_8h_source.html#l00045">implementation.h:45</a></div></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
<div class="ttc" id="anamespacesimdjson_html_a27d0ec4db7cb0197fa90096703a13e25"><div class="ttname"><a href="namespacesimdjson.html#a27d0ec4db7cb0197fa90096703a13e25">simdjson::builtin_implementation</a></div><div class="ttdeci">const implementation * builtin_implementation()</div><div class="ttdoc">Function which returns a pointer to an implementation matching the &quot;builtin&quot; implementation.</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_cae07bd9608c9724f8cbc862866fc74a.html">builtin</a></li><li class="navelem"><b>implementation.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+155
View File
@@ -0,0 +1,155 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/builtin/ondemand.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('builtin_2ondemand_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">ondemand.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_BUILTIN_ONDEMAND_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_BUILTIN_ONDEMAND_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;simdjson/builtin.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/builtin/base.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &quot;simdjson/generic/ondemand/dependencies.h&quot;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#define SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#if SIMDJSON_BUILTIN_IMPLEMENTATION_IS(arm64)</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;simdjson/arm64/ondemand.h&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(fallback)</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &quot;simdjson/fallback/ondemand.h&quot;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(haswell)</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &quot;simdjson/haswell/ondemand.h&quot;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(icelake)</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &quot;simdjson/icelake/ondemand.h&quot;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(ppc64)</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &quot;simdjson/ppc64/ondemand.h&quot;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(westmere)</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &quot;simdjson/westmere/ondemand.h&quot;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(lsx)</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &quot;simdjson/lsx/ondemand.h&quot;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(lasx)</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include &quot;simdjson/lasx/ondemand.h&quot;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(rvv_vls)</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include &quot;simdjson/rvv-vls/ondemand.h&quot;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#error Unknown SIMDJSON_BUILTIN_IMPLEMENTATION</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#undef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacesimdjson.html">simdjson</a> {</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">namespace </span>ondemand = SIMDJSON_BUILTIN_IMPLEMENTATION::ondemand;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span>} <span class="comment">// namespace simdjson</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_BUILTIN_ONDEMAND_H</span></div>
<div class="ttc" id="anamespacesimdjson_html"><div class="ttname"><a href="namespacesimdjson.html">simdjson</a></div><div class="ttdoc">The top level simdjson namespace, containing everything the library provides.</div><div class="ttdef"><b>Definition</b> <a href="arm64_2base_8h_source.html#l00008">base.h:8</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><a class="el" href="dir_cae07bd9608c9724f8cbc862866fc74a.html">builtin</a></li><li class="navelem"><b>ondemand.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+150
View File
@@ -0,0 +1,150 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: include/simdjson/builtin.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('builtin_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">builtin.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef SIMDJSON_BUILTIN_H</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define SIMDJSON_BUILTIN_H</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &quot;simdjson/builtin/base.h&quot;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;simdjson/builtin/implementation.h&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &quot;simdjson/generic/dependencies.h&quot;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#define SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#if SIMDJSON_BUILTIN_IMPLEMENTATION_IS(arm64)</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;simdjson/arm64.h&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(fallback)</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &quot;simdjson/fallback.h&quot;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(haswell)</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &quot;simdjson/haswell.h&quot;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(icelake)</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &quot;simdjson/icelake.h&quot;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(ppc64)</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &quot;simdjson/ppc64.h&quot;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(westmere)</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#include &quot;simdjson/westmere.h&quot;</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(lasx)</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor">#include &quot;simdjson/lasx.h&quot;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(lsx)</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#include &quot;simdjson/lsx.h&quot;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="preprocessor">#elif SIMDJSON_BUILTIN_IMPLEMENTATION_IS(rvv_vls)</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#include &quot;simdjson/rvv-vls.h&quot;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="preprocessor">#error Unknown SIMDJSON_BUILTIN_IMPLEMENTATION</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#undef SIMDJSON_CONDITIONAL_INCLUDE</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#endif </span><span class="comment">// SIMDJSON_BUILTIN_H</span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_49a0b2767ded4a45005c5d6720a18cd1.html">simdjson</a></li><li class="navelem"><b>builtin.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
+151
View File
@@ -0,0 +1,151 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classes.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Class Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_H">H</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a>&#160;|&#160;<a class="qindex" href="#letter_K">K</a>&#160;|&#160;<a class="qindex" href="#letter_N">N</a>&#160;|&#160;<a class="qindex" href="#letter_O">O</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_V">V</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_A" name="letter_A">A</a></dt>
<dd><a class="el" href="classsimdjson_1_1dom_1_1array.html">array</a> (<a class="el" href="namespacesimdjson_1_1dom.html">simdjson::dom</a>)</dd><dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">array</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd><dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_D" name="letter_D">D</a></dt>
<dd><a class="el" href="classsimdjson_1_1dom_1_1document.html">document</a> (<a class="el" href="namespacesimdjson_1_1dom.html">simdjson::dom</a>)</dd><dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">document</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd><dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">document_reference</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd><dd><a class="el" href="classsimdjson_1_1dom_1_1document__stream.html">document_stream</a> (<a class="el" href="namespacesimdjson_1_1dom.html">simdjson::dom</a>)</dd><dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">document_stream</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd><dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">dom_parser_implementation</a> (simdjson::SIMDJSON_IMPLEMENTATION)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_E" name="letter_E">E</a></dt>
<dd><a class="el" href="classsimdjson_1_1dom_1_1element.html">element</a> (<a class="el" href="namespacesimdjson_1_1dom.html">simdjson::dom</a>)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_F" name="letter_F">F</a></dt>
<dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">field</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd><dd><a class="el" href="structsimdjson_1_1fractured__json__options.html">fractured_json_options</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_H" name="letter_H">H</a></dt>
<dd><a class="el" href="structsimdjson_1_1has__custom__serialization.html">has_custom_serialization</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_I" name="letter_I">I</a></dt>
<dd><a class="el" href="classsimdjson_1_1implementation.html">implementation</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1implementation__simdjson__result__base.html">implementation_simdjson_result_base</a> (simdjson::SIMDJSON_IMPLEMENTATION)</dd><dd><a class="el" href="classsimdjson_1_1dom_1_1array_1_1iterator.html">array::iterator</a> (<a class="el" href="namespacesimdjson_1_1dom.html">simdjson::dom</a>)</dd><dd><a class="el" href="classsimdjson_1_1dom_1_1document__stream_1_1iterator.html">document_stream::iterator</a> (<a class="el" href="namespacesimdjson_1_1dom.html">simdjson::dom</a>)</dd><dd><a class="el" href="classsimdjson_1_1dom_1_1object_1_1iterator.html">object::iterator</a> (<a class="el" href="namespacesimdjson_1_1dom.html">simdjson::dom</a>)</dd><dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">document_stream::iterator</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_K" name="letter_K">K</a></dt>
<dd><a class="el" href="classsimdjson_1_1dom_1_1key__value__pair.html">key_value_pair</a> (<a class="el" href="namespacesimdjson_1_1dom.html">simdjson::dom</a>)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_N" name="letter_N">N</a></dt>
<dd><a class="el" href="structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1number.html">number</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_O" name="letter_O">O</a></dt>
<dd><a class="el" href="classsimdjson_1_1dom_1_1object.html">object</a> (<a class="el" href="namespacesimdjson_1_1dom.html">simdjson::dom</a>)</dd><dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">object</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd><dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd><dd><a class="el" href="structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1open__container.html">open_container</a> (simdjson::SIMDJSON_IMPLEMENTATION)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_P" name="letter_P">P</a></dt>
<dd><a class="el" href="classsimdjson_1_1padded__memory__map.html">padded_memory_map</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1padded__string.html">padded_string</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="classsimdjson_1_1padded__string__builder.html">padded_string_builder</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="classsimdjson_1_1padded__string__view.html">padded_string_view</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="classsimdjson_1_1dom_1_1parser.html">parser</a> (<a class="el" href="namespacesimdjson_1_1dom.html">simdjson::dom</a>)</dd><dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">parser</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_R" name="letter_R">R</a></dt>
<dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">raw_json_string</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt>
<dd><a class="el" href="structsimdjson_1_1simdjson__error.html">simdjson_error</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01dom_1_1array_01_4.html">simdjson_result&lt; dom::array &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01dom_1_1document__stream_01_4.html">simdjson_result&lt; dom::document_stream &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01dom_1_1element_01_4.html">simdjson_result&lt; dom::element &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01dom_1_1object_01_4.html">simdjson_result&lt; dom::object &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array_01_4.html">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::array &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference_01_4.html">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::document_reference &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field_01_4.html">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::field &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1json__iterator_01_4.html">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::json_iterator &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1json__type_01_4.html">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::json_type &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object_01_4.html">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::object &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1token__iterator_01_4.html">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::token_iterator &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value_01_4.html">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::value &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="structsimdjson_1_1simdjson__result_3_01_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value__iterator_01_4.html">simdjson_result&lt; SIMDJSON_IMPLEMENTATION::ondemand::value_iterator &gt;</a> (<a class="el" href="namespacesimdjson.html">simdjson</a>)</dd><dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">string_builder</a> (simdjson::SIMDJSON_IMPLEMENTATION::builder)</dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_V" name="letter_V">V</a></dt>
<dd><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> (<a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand</a>)</dd></dl>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,138 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a3221a8b59ab2c9a08b6530026ad202b1">append</a>(number_type v) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#ab05b1076615819d523e3dadba9431891">append</a>(char c) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#ab9ef09e54ad1ca9e44d21ce7a3d70d9a">append_colon</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a02fa5e731a90339bb72052a8aa0822ab">append_comma</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a190089808a84fcfe133b529455ec951e">append_key_value</a>(key_type key, value_type value) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#ab8271f4c85aa4e54cecb58ec2c4758ff">append_null</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a8ef2d52b7d6099cff5c69165edd8a7ef">append_raw</a>(const char *c) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#aba3c308bc23e73cd4fe0c154a7e2a22a">append_raw</a>(std::string_view input) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a9ee1806825fd7b1fcf64725d783421d7">append_raw</a>(const char *str, size_t len) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a914d1fe0740448804f18be301e712da0">c_str</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a9aaa18471e8b69c9dce68fdc48c6af0b">clear</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>DEFAULT_INITIAL_CAPACITY</b> (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a78f07884d55f4ed3e82c07daa0ec81f7">end_array</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a9e60d7ef555280671f0196b21668f07c">end_object</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a5b8e2a3427e050ce4798c6bbbfb25154">escape_and_append</a>(std::string_view input) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a106387a1848af00d9434d206a6cb9126">escape_and_append_with_quotes</a>(std::string_view input) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a00bf1c41d3c5e001895959c700b9c9a0">escape_and_append_with_quotes</a>(char input) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a2440a83bb3a5d87599a1ced47bebbe37">escape_and_append_with_quotes</a>(const char *input) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#acff55a6c72df9c575f78d71400b0289a">operator std::string</a>() const noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a8b45f6e56bdc03f55d1bb6204a672bfa">operator std::string_view</a>() const noexcept(false) simdjson_lifetime_bound</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a8e4e7328f1d40078710853cb732d29fc">size</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a987e3f57fc1124f0a67fef5ea6c06c82">start_array</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a7f094bab497d4939adbe7196ec646068">start_object</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>string_builder</b>(size_t initial_capacity=DEFAULT_INITIAL_CAPACITY) (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#abd3705658ebcf9442677f4a34a102975">validate_unicode</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a8426e0339357dead16fa272590abc705">view</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,993 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>A builder for JSON strings representing documents.
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="json__string__builder_8h_source.html">json_string_builder.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a45fc612a9e0e2d1a6f327241cdc60060" id="r_a45fc612a9e0e2d1a6f327241cdc60060"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a45fc612a9e0e2d1a6f327241cdc60060">string_builder</a> (size_t initial_capacity=DEFAULT_INITIAL_CAPACITY)</td></tr>
<tr class="separator:a45fc612a9e0e2d1a6f327241cdc60060"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3221a8b59ab2c9a08b6530026ad202b1" id="r_a3221a8b59ab2c9a08b6530026ad202b1"><td class="memTemplParams" colspan="2">template&lt;typename number_type , typename = typename std::enable_if&lt;std::is_arithmetic&lt;number_type&gt;::value&gt;::type&gt; </td></tr>
<tr class="memitem:a3221a8b59ab2c9a08b6530026ad202b1"><td class="memTemplItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a3221a8b59ab2c9a08b6530026ad202b1">append</a> (number_type v) noexcept</td></tr>
<tr class="memdesc:a3221a8b59ab2c9a08b6530026ad202b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append number (includes Booleans). <br /></td></tr>
<tr class="separator:a3221a8b59ab2c9a08b6530026ad202b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab05b1076615819d523e3dadba9431891" id="r_ab05b1076615819d523e3dadba9431891"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#ab05b1076615819d523e3dadba9431891">append</a> (char c) noexcept</td></tr>
<tr class="memdesc:ab05b1076615819d523e3dadba9431891"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append character c. <br /></td></tr>
<tr class="separator:ab05b1076615819d523e3dadba9431891"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8271f4c85aa4e54cecb58ec2c4758ff" id="r_ab8271f4c85aa4e54cecb58ec2c4758ff"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#ab8271f4c85aa4e54cecb58ec2c4758ff">append_null</a> () noexcept</td></tr>
<tr class="memdesc:ab8271f4c85aa4e54cecb58ec2c4758ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append the string 'null'. <br /></td></tr>
<tr class="separator:ab8271f4c85aa4e54cecb58ec2c4758ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9aaa18471e8b69c9dce68fdc48c6af0b" id="r_a9aaa18471e8b69c9dce68fdc48c6af0b"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a9aaa18471e8b69c9dce68fdc48c6af0b">clear</a> () noexcept</td></tr>
<tr class="memdesc:a9aaa18471e8b69c9dce68fdc48c6af0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear the content. <br /></td></tr>
<tr class="separator:a9aaa18471e8b69c9dce68fdc48c6af0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b8e2a3427e050ce4798c6bbbfb25154" id="r_a5b8e2a3427e050ce4798c6bbbfb25154"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a5b8e2a3427e050ce4798c6bbbfb25154">escape_and_append</a> (std::string_view input) noexcept</td></tr>
<tr class="memdesc:a5b8e2a3427e050ce4798c6bbbfb25154"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append the std::string_view, after escaping it. <br /></td></tr>
<tr class="separator:a5b8e2a3427e050ce4798c6bbbfb25154"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a106387a1848af00d9434d206a6cb9126" id="r_a106387a1848af00d9434d206a6cb9126"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a106387a1848af00d9434d206a6cb9126">escape_and_append_with_quotes</a> (std::string_view input) noexcept</td></tr>
<tr class="memdesc:a106387a1848af00d9434d206a6cb9126"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append the std::string_view surrounded by double quotes, after escaping it. <br /></td></tr>
<tr class="separator:a106387a1848af00d9434d206a6cb9126"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00bf1c41d3c5e001895959c700b9c9a0" id="r_a00bf1c41d3c5e001895959c700b9c9a0"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a00bf1c41d3c5e001895959c700b9c9a0">escape_and_append_with_quotes</a> (char input) noexcept</td></tr>
<tr class="memdesc:a00bf1c41d3c5e001895959c700b9c9a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append the character surrounded by double quotes, after escaping it. <br /></td></tr>
<tr class="separator:a00bf1c41d3c5e001895959c700b9c9a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2440a83bb3a5d87599a1ced47bebbe37" id="r_a2440a83bb3a5d87599a1ced47bebbe37"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a2440a83bb3a5d87599a1ced47bebbe37">escape_and_append_with_quotes</a> (const char *input) noexcept</td></tr>
<tr class="memdesc:a2440a83bb3a5d87599a1ced47bebbe37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append the character surrounded by double quotes, after escaping it. <br /></td></tr>
<tr class="separator:a2440a83bb3a5d87599a1ced47bebbe37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ef2d52b7d6099cff5c69165edd8a7ef" id="r_a8ef2d52b7d6099cff5c69165edd8a7ef"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a8ef2d52b7d6099cff5c69165edd8a7ef">append_raw</a> (const char *c) noexcept</td></tr>
<tr class="memdesc:a8ef2d52b7d6099cff5c69165edd8a7ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append the C string directly, without escaping. <br /></td></tr>
<tr class="separator:a8ef2d52b7d6099cff5c69165edd8a7ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f094bab497d4939adbe7196ec646068" id="r_a7f094bab497d4939adbe7196ec646068"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a7f094bab497d4939adbe7196ec646068">start_object</a> () noexcept</td></tr>
<tr class="memdesc:a7f094bab497d4939adbe7196ec646068"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append "{" to the buffer. <br /></td></tr>
<tr class="separator:a7f094bab497d4939adbe7196ec646068"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e60d7ef555280671f0196b21668f07c" id="r_a9e60d7ef555280671f0196b21668f07c"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a9e60d7ef555280671f0196b21668f07c">end_object</a> () noexcept</td></tr>
<tr class="memdesc:a9e60d7ef555280671f0196b21668f07c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append "}" to the buffer. <br /></td></tr>
<tr class="separator:a9e60d7ef555280671f0196b21668f07c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a987e3f57fc1124f0a67fef5ea6c06c82" id="r_a987e3f57fc1124f0a67fef5ea6c06c82"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a987e3f57fc1124f0a67fef5ea6c06c82">start_array</a> () noexcept</td></tr>
<tr class="memdesc:a987e3f57fc1124f0a67fef5ea6c06c82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append "[" to the buffer. <br /></td></tr>
<tr class="separator:a987e3f57fc1124f0a67fef5ea6c06c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78f07884d55f4ed3e82c07daa0ec81f7" id="r_a78f07884d55f4ed3e82c07daa0ec81f7"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a78f07884d55f4ed3e82c07daa0ec81f7">end_array</a> () noexcept</td></tr>
<tr class="memdesc:a78f07884d55f4ed3e82c07daa0ec81f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append "]" to the buffer. <br /></td></tr>
<tr class="separator:a78f07884d55f4ed3e82c07daa0ec81f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02fa5e731a90339bb72052a8aa0822ab" id="r_a02fa5e731a90339bb72052a8aa0822ab"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a02fa5e731a90339bb72052a8aa0822ab">append_comma</a> () noexcept</td></tr>
<tr class="memdesc:a02fa5e731a90339bb72052a8aa0822ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append "," to the buffer. <br /></td></tr>
<tr class="separator:a02fa5e731a90339bb72052a8aa0822ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9ef09e54ad1ca9e44d21ce7a3d70d9a" id="r_ab9ef09e54ad1ca9e44d21ce7a3d70d9a"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#ab9ef09e54ad1ca9e44d21ce7a3d70d9a">append_colon</a> () noexcept</td></tr>
<tr class="memdesc:ab9ef09e54ad1ca9e44d21ce7a3d70d9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append ":" to the buffer. <br /></td></tr>
<tr class="separator:ab9ef09e54ad1ca9e44d21ce7a3d70d9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a190089808a84fcfe133b529455ec951e" id="r_a190089808a84fcfe133b529455ec951e"><td class="memTemplParams" colspan="2">template&lt;typename key_type , typename value_type &gt; </td></tr>
<tr class="memitem:a190089808a84fcfe133b529455ec951e"><td class="memTemplItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a190089808a84fcfe133b529455ec951e">append_key_value</a> (key_type key, value_type value) noexcept</td></tr>
<tr class="memdesc:a190089808a84fcfe133b529455ec951e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append a key-value pair to the buffer. <br /></td></tr>
<tr class="separator:a190089808a84fcfe133b529455ec951e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba3c308bc23e73cd4fe0c154a7e2a22a" id="r_aba3c308bc23e73cd4fe0c154a7e2a22a"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#aba3c308bc23e73cd4fe0c154a7e2a22a">append_raw</a> (std::string_view input) noexcept</td></tr>
<tr class="memdesc:aba3c308bc23e73cd4fe0c154a7e2a22a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append the std::string_view directly, without escaping. <br /></td></tr>
<tr class="separator:aba3c308bc23e73cd4fe0c154a7e2a22a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ee1806825fd7b1fcf64725d783421d7" id="r_a9ee1806825fd7b1fcf64725d783421d7"><td class="memItemLeft" align="right" valign="top">simdjson_inline void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a9ee1806825fd7b1fcf64725d783421d7">append_raw</a> (const char *str, size_t len) noexcept</td></tr>
<tr class="memdesc:a9ee1806825fd7b1fcf64725d783421d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append len characters from str. <br /></td></tr>
<tr class="separator:a9ee1806825fd7b1fcf64725d783421d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acff55a6c72df9c575f78d71400b0289a" id="r_acff55a6c72df9c575f78d71400b0289a"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#acff55a6c72df9c575f78d71400b0289a">operator std::string</a> () const noexcept(false)</td></tr>
<tr class="memdesc:acff55a6c72df9c575f78d71400b0289a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an std::string from the written JSON buffer. <br /></td></tr>
<tr class="separator:acff55a6c72df9c575f78d71400b0289a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b45f6e56bdc03f55d1bb6204a672bfa" id="r_a8b45f6e56bdc03f55d1bb6204a672bfa"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a8b45f6e56bdc03f55d1bb6204a672bfa">operator std::string_view</a> () const noexcept(false) simdjson_lifetime_bound</td></tr>
<tr class="memdesc:a8b45f6e56bdc03f55d1bb6204a672bfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an std::string_view from the written JSON buffer. <br /></td></tr>
<tr class="separator:a8b45f6e56bdc03f55d1bb6204a672bfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8426e0339357dead16fa272590abc705" id="r_a8426e0339357dead16fa272590abc705"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; std::string_view &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a8426e0339357dead16fa272590abc705">view</a> () const noexcept</td></tr>
<tr class="memdesc:a8426e0339357dead16fa272590abc705"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a view on the written JSON buffer. <br /></td></tr>
<tr class="separator:a8426e0339357dead16fa272590abc705"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a914d1fe0740448804f18be301e712da0" id="r_a914d1fe0740448804f18be301e712da0"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; const char * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a914d1fe0740448804f18be301e712da0">c_str</a> () noexcept</td></tr>
<tr class="memdesc:a914d1fe0740448804f18be301e712da0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends the null character to the buffer and returns a pointer to the beginning of the written JSON buffer. <br /></td></tr>
<tr class="separator:a914d1fe0740448804f18be301e712da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd3705658ebcf9442677f4a34a102975" id="r_abd3705658ebcf9442677f4a34a102975"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#abd3705658ebcf9442677f4a34a102975">validate_unicode</a> () const noexcept</td></tr>
<tr class="memdesc:abd3705658ebcf9442677f4a34a102975"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if the content is valid UTF-8. <br /></td></tr>
<tr class="separator:abd3705658ebcf9442677f4a34a102975"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e4e7328f1d40078710853cb732d29fc" id="r_a8e4e7328f1d40078710853cb732d29fc"><td class="memItemLeft" align="right" valign="top">simdjson_inline size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a8e4e7328f1d40078710853cb732d29fc">size</a> () const noexcept</td></tr>
<tr class="memdesc:a8e4e7328f1d40078710853cb732d29fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the current size of the written JSON buffer. <br /></td></tr>
<tr class="separator:a8e4e7328f1d40078710853cb732d29fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:adc119b3d6fec8939660443772d604ddb" id="r_adc119b3d6fec8939660443772d604ddb"><td class="memItemLeft" align="right" valign="top">static constexpr size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#adc119b3d6fec8939660443772d604ddb">DEFAULT_INITIAL_CAPACITY</a> = 1024</td></tr>
<tr class="separator:adc119b3d6fec8939660443772d604ddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A builder for JSON strings representing documents. </p>
<p>This is a low-level builder that is not meant to be used directly by end-users. Though it supports atomic types (Booleans, strings), it does not support composed types (arrays and objects).</p>
<p>Ultimately, this class can support kernel-specific optimizations. E.g., it may make use of SIMD instructions to escape strings faster. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder_8h_source.html#l00051">51</a> of file <a class="el" href="json__string__builder_8h_source.html">json_string_builder.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a45fc612a9e0e2d1a6f327241cdc60060" name="a45fc612a9e0e2d1a6f327241cdc60060"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45fc612a9e0e2d1a6f327241cdc60060">&#9670;&#160;</a></span>string_builder()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::string_builder </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>initial_capacity</em> = <code>DEFAULT_INITIAL_CAPACITY</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00487">487</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab05b1076615819d523e3dadba9431891" name="ab05b1076615819d523e3dadba9431891"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab05b1076615819d523e3dadba9431891">&#9670;&#160;</a></span>append() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::append </td>
<td>(</td>
<td class="paramtype">char&#160;</td>
<td class="paramname"><em>c</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append character c. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00538">538</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a3221a8b59ab2c9a08b6530026ad202b1" name="a3221a8b59ab2c9a08b6530026ad202b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3221a8b59ab2c9a08b6530026ad202b1">&#9670;&#160;</a></span>append() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename number_type , typename &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::append </td>
<td>(</td>
<td class="paramtype">number_type&#160;</td>
<td class="paramname"><em>v</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append number (includes Booleans). </p>
<p>Booleans are mapped to the strings false and true. Numbers are converted to strings abiding by the JSON standard. Floating-point numbers are converted to the shortest string that 'correctly' represents the number. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00643">643</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="ab9ef09e54ad1ca9e44d21ce7a3d70d9a" name="ab9ef09e54ad1ca9e44d21ce7a3d70d9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9ef09e54ad1ca9e44d21ce7a3d70d9a">&#9670;&#160;</a></span>append_colon()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::append_colon </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append ":" to the buffer. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00960">960</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a02fa5e731a90339bb72052a8aa0822ab" name="a02fa5e731a90339bb72052a8aa0822ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02fa5e731a90339bb72052a8aa0822ab">&#9670;&#160;</a></span>append_comma()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::append_comma </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append "," to the buffer. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00954">954</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a190089808a84fcfe133b529455ec951e" name="a190089808a84fcfe133b529455ec951e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a190089808a84fcfe133b529455ec951e">&#9670;&#160;</a></span>append_key_value()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename key_type , typename value_type &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::append_key_value </td>
<td>(</td>
<td class="paramtype">key_type&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">value_type&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append a key-value pair to the buffer. </p>
<p>The key is escaped and surrounded by double quotes. The value is escaped if it is a string. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00968">968</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="ab8271f4c85aa4e54cecb58ec2c4758ff" name="ab8271f4c85aa4e54cecb58ec2c4758ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8271f4c85aa4e54cecb58ec2c4758ff">&#9670;&#160;</a></span>append_null()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::append_null </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append the string 'null'. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00544">544</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a8ef2d52b7d6099cff5c69165edd8a7ef" name="a8ef2d52b7d6099cff5c69165edd8a7ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ef2d52b7d6099cff5c69165edd8a7ef">&#9670;&#160;</a></span>append_raw() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::append_raw </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>c</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append the C string directly, without escaping. </p>
<p>There is no UTF-8 validation. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00807">807</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a9ee1806825fd7b1fcf64725d783421d7" name="a9ee1806825fd7b1fcf64725d783421d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ee1806825fd7b1fcf64725d783421d7">&#9670;&#160;</a></span>append_raw() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::append_raw </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>len</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append len characters from str. </p>
<p>There is no UTF-8 validation. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00820">820</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="aba3c308bc23e73cd4fe0c154a7e2a22a" name="aba3c308bc23e73cd4fe0c154a7e2a22a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba3c308bc23e73cd4fe0c154a7e2a22a">&#9670;&#160;</a></span>append_raw() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::append_raw </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append the std::string_view directly, without escaping. </p>
<p>There is no UTF-8 validation. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00813">813</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a914d1fe0740448804f18be301e712da0" name="a914d1fe0740448804f18be301e712da0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a914d1fe0740448804f18be301e712da0">&#9670;&#160;</a></span>c_str()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; const char * &gt; simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::c_str </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Appends the null character to the buffer and returns a pointer to the beginning of the written JSON buffer. </p>
<p>Returns an error if memory allocation failed. The result is null-terminated.</p>
<p>The result may not be valid UTF-8 if some of your content was not valid UTF-8. Use <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#abd3705658ebcf9442677f4a34a102975" title="Return true if the content is valid UTF-8.">validate_unicode()</a> to check the content. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00918">918</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a9aaa18471e8b69c9dce68fdc48c6af0b" name="a9aaa18471e8b69c9dce68fdc48c6af0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9aaa18471e8b69c9dce68fdc48c6af0b">&#9670;&#160;</a></span>clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::clear </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear the content. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00553">553</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a78f07884d55f4ed3e82c07daa0ec81f7" name="a78f07884d55f4ed3e82c07daa0ec81f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78f07884d55f4ed3e82c07daa0ec81f7">&#9670;&#160;</a></span>end_array()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::end_array </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append "]" to the buffer. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00948">948</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a9e60d7ef555280671f0196b21668f07c" name="a9e60d7ef555280671f0196b21668f07c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e60d7ef555280671f0196b21668f07c">&#9670;&#160;</a></span>end_object()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::end_object </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append "}" to the buffer. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00936">936</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a5b8e2a3427e050ce4798c6bbbfb25154" name="a5b8e2a3427e050ce4798c6bbbfb25154"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b8e2a3427e050ce4798c6bbbfb25154">&#9670;&#160;</a></span>escape_and_append()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::escape_and_append </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append the std::string_view, after escaping it. </p>
<p>There is no UTF-8 validation. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00757">757</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a00bf1c41d3c5e001895959c700b9c9a0" name="a00bf1c41d3c5e001895959c700b9c9a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00bf1c41d3c5e001895959c700b9c9a0">&#9670;&#160;</a></span>escape_and_append_with_quotes() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::escape_and_append_with_quotes </td>
<td>(</td>
<td class="paramtype">char&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append the character surrounded by double quotes, after escaping it. </p>
<p>There is no UTF-8 validation. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00785">785</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a2440a83bb3a5d87599a1ced47bebbe37" name="a2440a83bb3a5d87599a1ced47bebbe37"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2440a83bb3a5d87599a1ced47bebbe37">&#9670;&#160;</a></span>escape_and_append_with_quotes() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::escape_and_append_with_quotes </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append the character surrounded by double quotes, after escaping it. </p>
<p>There is no UTF-8 validation. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00796">796</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a106387a1848af00d9434d206a6cb9126" name="a106387a1848af00d9434d206a6cb9126"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a106387a1848af00d9434d206a6cb9126">&#9670;&#160;</a></span>escape_and_append_with_quotes() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::escape_and_append_with_quotes </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>input</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append the std::string_view surrounded by double quotes, after escaping it. </p>
<p>There is no UTF-8 validation. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00770">770</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="acff55a6c72df9c575f78d71400b0289a" name="acff55a6c72df9c575f78d71400b0289a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acff55a6c72df9c575f78d71400b0289a">&#9670;&#160;</a></span>operator std::string()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::operator std::string </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an std::string from the written JSON buffer. </p>
<p>Throws if memory allocation failed</p>
<p>The result may not be valid UTF-8 if some of your content was not valid UTF-8. Use <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#abd3705658ebcf9442677f4a34a102975" title="Return true if the content is valid UTF-8.">validate_unicode()</a> to check the content if needed. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00900">900</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a8b45f6e56bdc03f55d1bb6204a672bfa" name="a8b45f6e56bdc03f55d1bb6204a672bfa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b45f6e56bdc03f55d1bb6204a672bfa">&#9670;&#160;</a></span>operator std::string_view()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::operator std::string_view </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates an std::string_view from the written JSON buffer. </p>
<p>Throws if memory allocation failed.</p>
<p>The result may not be valid UTF-8 if some of your content was not valid UTF-8. Use <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#abd3705658ebcf9442677f4a34a102975" title="Return true if the content is valid UTF-8.">validate_unicode()</a> to check the content if needed. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00904">904</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a8e4e7328f1d40078710853cb732d29fc" name="a8e4e7328f1d40078710853cb732d29fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e4e7328f1d40078710853cb732d29fc">&#9670;&#160;</a></span>size()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline size_t simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::size </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the current size of the written JSON buffer. </p>
<p>If an error occurred, returns 0. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00534">534</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a987e3f57fc1124f0a67fef5ea6c06c82" name="a987e3f57fc1124f0a67fef5ea6c06c82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a987e3f57fc1124f0a67fef5ea6c06c82">&#9670;&#160;</a></span>start_array()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::start_array </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append "[" to the buffer. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00942">942</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a7f094bab497d4939adbe7196ec646068" name="a7f094bab497d4939adbe7196ec646068"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f094bab497d4939adbe7196ec646068">&#9670;&#160;</a></span>start_object()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline void simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::start_object </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Append "{" to the buffer. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00930">930</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="abd3705658ebcf9442677f4a34a102975" name="abd3705658ebcf9442677f4a34a102975"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd3705658ebcf9442677f4a34a102975">&#9670;&#160;</a></span>validate_unicode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::validate_unicode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return true if the content is valid UTF-8. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00926">926</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<a id="a8426e0339357dead16fa272590abc705" name="a8426e0339357dead16fa272590abc705"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8426e0339357dead16fa272590abc705">&#9670;&#160;</a></span>view()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; std::string_view &gt; simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::view </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a view on the written JSON buffer. </p>
<p>Returns an error if memory allocation failed.</p>
<p>The result may not be valid UTF-8 if some of your content was not valid UTF-8. Use <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#abd3705658ebcf9442677f4a34a102975" title="Return true if the content is valid UTF-8.">validate_unicode()</a> to check the content. </p>
<p class="definition">Definition at line <a class="el" href="json__string__builder-inl_8h_source.html#l00911">911</a> of file <a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="adc119b3d6fec8939660443772d604ddb" name="adc119b3d6fec8939660443772d604ddb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adc119b3d6fec8939660443772d604ddb">&#9670;&#160;</a></span>DEFAULT_INITIAL_CAPACITY</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">constexpr size_t simdjson::SIMDJSON_IMPLEMENTATION::builder::string_builder::DEFAULT_INITIAL_CAPACITY = 1024</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">constexpr</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="json__string__builder_8h_source.html#l00055">55</a> of file <a class="el" href="json__string__builder_8h_source.html">json_string_builder.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/simdjson/generic/builder/<a class="el" href="json__string__builder_8h_source.html">json_string_builder.h</a></li>
<li>include/simdjson/generic/builder/<a class="el" href="json__string__builder-inl_8h_source.html">json_string_builder-inl.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacesimdjson.html">simdjson</a></li><li class="navelem"><b>SIMDJSON_IMPLEMENTATION</b></li><li class="navelem"><b>builder</b></li><li class="navelem"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html">string_builder</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,27 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder =
[
[ "append", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#ab05b1076615819d523e3dadba9431891", null ],
[ "append", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a3221a8b59ab2c9a08b6530026ad202b1", null ],
[ "append_colon", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#ab9ef09e54ad1ca9e44d21ce7a3d70d9a", null ],
[ "append_comma", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a02fa5e731a90339bb72052a8aa0822ab", null ],
[ "append_key_value", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a190089808a84fcfe133b529455ec951e", null ],
[ "append_null", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#ab8271f4c85aa4e54cecb58ec2c4758ff", null ],
[ "append_raw", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a8ef2d52b7d6099cff5c69165edd8a7ef", null ],
[ "append_raw", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a9ee1806825fd7b1fcf64725d783421d7", null ],
[ "append_raw", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#aba3c308bc23e73cd4fe0c154a7e2a22a", null ],
[ "c_str", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a914d1fe0740448804f18be301e712da0", null ],
[ "clear", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a9aaa18471e8b69c9dce68fdc48c6af0b", null ],
[ "end_array", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a78f07884d55f4ed3e82c07daa0ec81f7", null ],
[ "end_object", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a9e60d7ef555280671f0196b21668f07c", null ],
[ "escape_and_append", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a5b8e2a3427e050ce4798c6bbbfb25154", null ],
[ "escape_and_append_with_quotes", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a00bf1c41d3c5e001895959c700b9c9a0", null ],
[ "escape_and_append_with_quotes", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a2440a83bb3a5d87599a1ced47bebbe37", null ],
[ "escape_and_append_with_quotes", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a106387a1848af00d9434d206a6cb9126", null ],
[ "operator std::string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#acff55a6c72df9c575f78d71400b0289a", null ],
[ "operator std::string_view", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a8b45f6e56bdc03f55d1bb6204a672bfa", null ],
[ "size", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a8e4e7328f1d40078710853cb732d29fc", null ],
[ "start_array", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a987e3f57fc1124f0a67fef5ea6c06c82", null ],
[ "start_object", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a7f094bab497d4939adbe7196ec646068", null ],
[ "validate_unicode", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#abd3705658ebcf9442677f4a34a102975", null ],
[ "view", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1builder_1_1string__builder.html#a8426e0339357dead16fa272590abc705", null ]
];
@@ -0,0 +1,130 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a961b4870710d5ee1da938c4923d6f68d">buf</a></td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a4089d6265ec845fd85acd2db0973b858">doc</a></td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dom_parser_implementation</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>dom_parser_implementation</b>(dom_parser_implementation &amp;&amp;other) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>dom_parser_implementation</b>(const dom_parser_implementation &amp;)=delete (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a9b82f3273bb2f2f83b8e085b7d9c6613">is_array</a></td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a132a95e1147b80c2533d1632185a6a09">len</a></td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a9c67c6c782f1296319a58ec1586f2329">open_containers</a></td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(dom_parser_implementation &amp;&amp;other) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator=</b>(const dom_parser_implementation &amp;)=delete (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>parse</b>(const uint8_t *buf, size_t len, dom::document &amp;doc) noexcept final (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>parse_string</b>(const uint8_t *src, uint8_t *dst, bool allow_replacement) const noexcept final (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>parse_wobbly_string</b>(const uint8_t *src, uint8_t *dst) const noexcept final (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>set_capacity</b>(size_t capacity) noexcept final (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_max_depth</b>(size_t max_depth) noexcept final (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>stage1</b>(const uint8_t *buf, size_t len, stage1_mode partial) noexcept final (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>stage2</b>(dom::document &amp;doc) noexcept final (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>stage2_next</b>(dom::document &amp;doc) noexcept final (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,330 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation:</div>
<div class="dyncontent">
<div class="center">
<img src="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a403c396b3c28815786eaa70bbbbd505a" id="r_a403c396b3c28815786eaa70bbbbd505a"><td class="memItemLeft" align="right" valign="top"><a id="a403c396b3c28815786eaa70bbbbd505a" name="a403c396b3c28815786eaa70bbbbd505a"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>dom_parser_implementation</b> (<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">dom_parser_implementation</a> &amp;&amp;other) noexcept</td></tr>
<tr class="separator:a403c396b3c28815786eaa70bbbbd505a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bdd98e83c105a18882ede9cd7cd0525" id="r_a4bdd98e83c105a18882ede9cd7cd0525"><td class="memItemLeft" align="right" valign="top"><a id="a4bdd98e83c105a18882ede9cd7cd0525" name="a4bdd98e83c105a18882ede9cd7cd0525"></a>
<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">dom_parser_implementation</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">dom_parser_implementation</a> &amp;&amp;other) noexcept</td></tr>
<tr class="separator:a4bdd98e83c105a18882ede9cd7cd0525"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b9fab70b6f9846d16aca7dc1aeb7251" id="r_a2b9fab70b6f9846d16aca7dc1aeb7251"><td class="memItemLeft" align="right" valign="top"><a id="a2b9fab70b6f9846d16aca7dc1aeb7251" name="a2b9fab70b6f9846d16aca7dc1aeb7251"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>dom_parser_implementation</b> (const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">dom_parser_implementation</a> &amp;)=delete</td></tr>
<tr class="separator:a2b9fab70b6f9846d16aca7dc1aeb7251"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc0d0448e292db117dffd73ba5be86fc" id="r_afc0d0448e292db117dffd73ba5be86fc"><td class="memItemLeft" align="right" valign="top"><a id="afc0d0448e292db117dffd73ba5be86fc" name="afc0d0448e292db117dffd73ba5be86fc"></a>
<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">dom_parser_implementation</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">dom_parser_implementation</a> &amp;)=delete</td></tr>
<tr class="separator:afc0d0448e292db117dffd73ba5be86fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2667a623246d69262e685124020fcbb1" id="r_a2667a623246d69262e685124020fcbb1"><td class="memItemLeft" align="right" valign="top"><a id="a2667a623246d69262e685124020fcbb1" name="a2667a623246d69262e685124020fcbb1"></a>
simdjson_warn_unused <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><b>parse</b> (const uint8_t *<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a961b4870710d5ee1da938c4923d6f68d">buf</a>, size_t <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a132a95e1147b80c2533d1632185a6a09">len</a>, <a class="el" href="classsimdjson_1_1dom_1_1document.html">dom::document</a> &amp;<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a4089d6265ec845fd85acd2db0973b858">doc</a>) noexcept final</td></tr>
<tr class="separator:a2667a623246d69262e685124020fcbb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4e2f7842cf7307636ac00b3dbb188d0" id="r_af4e2f7842cf7307636ac00b3dbb188d0"><td class="memItemLeft" align="right" valign="top"><a id="af4e2f7842cf7307636ac00b3dbb188d0" name="af4e2f7842cf7307636ac00b3dbb188d0"></a>
simdjson_warn_unused <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><b>stage1</b> (const uint8_t *<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a961b4870710d5ee1da938c4923d6f68d">buf</a>, size_t <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a132a95e1147b80c2533d1632185a6a09">len</a>, <a class="el" href="namespacesimdjson.html#ae6ec9f0ce23fc51d87116b64fdbeb811">stage1_mode</a> partial) noexcept final</td></tr>
<tr class="separator:af4e2f7842cf7307636ac00b3dbb188d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a016ecd16f2dc440d6e9bb5642c5c9a03" id="r_a016ecd16f2dc440d6e9bb5642c5c9a03"><td class="memItemLeft" align="right" valign="top"><a id="a016ecd16f2dc440d6e9bb5642c5c9a03" name="a016ecd16f2dc440d6e9bb5642c5c9a03"></a>
simdjson_warn_unused <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><b>stage2</b> (<a class="el" href="classsimdjson_1_1dom_1_1document.html">dom::document</a> &amp;<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a4089d6265ec845fd85acd2db0973b858">doc</a>) noexcept final</td></tr>
<tr class="separator:a016ecd16f2dc440d6e9bb5642c5c9a03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae08bd3dd4f8343db8d5adf805cb00a8d" id="r_ae08bd3dd4f8343db8d5adf805cb00a8d"><td class="memItemLeft" align="right" valign="top"><a id="ae08bd3dd4f8343db8d5adf805cb00a8d" name="ae08bd3dd4f8343db8d5adf805cb00a8d"></a>
simdjson_warn_unused <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><b>stage2_next</b> (<a class="el" href="classsimdjson_1_1dom_1_1document.html">dom::document</a> &amp;<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a4089d6265ec845fd85acd2db0973b858">doc</a>) noexcept final</td></tr>
<tr class="separator:ae08bd3dd4f8343db8d5adf805cb00a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd1820679ee9a4b6d2394a370854f7c0" id="r_abd1820679ee9a4b6d2394a370854f7c0"><td class="memItemLeft" align="right" valign="top"><a id="abd1820679ee9a4b6d2394a370854f7c0" name="abd1820679ee9a4b6d2394a370854f7c0"></a>
simdjson_warn_unused uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><b>parse_string</b> (const uint8_t *src, uint8_t *dst, bool allow_replacement) const noexcept final</td></tr>
<tr class="separator:abd1820679ee9a4b6d2394a370854f7c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a4a638aa0fa5d18f57318113ac57cab" id="r_a8a4a638aa0fa5d18f57318113ac57cab"><td class="memItemLeft" align="right" valign="top"><a id="a8a4a638aa0fa5d18f57318113ac57cab" name="a8a4a638aa0fa5d18f57318113ac57cab"></a>
simdjson_warn_unused uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><b>parse_wobbly_string</b> (const uint8_t *src, uint8_t *dst) const noexcept final</td></tr>
<tr class="separator:a8a4a638aa0fa5d18f57318113ac57cab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a228ebe3ee63b409a21949f27a0db034e" id="r_a228ebe3ee63b409a21949f27a0db034e"><td class="memItemLeft" align="right" valign="top">simdjson_warn_unused <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a228ebe3ee63b409a21949f27a0db034e">set_capacity</a> (size_t capacity) noexcept final</td></tr>
<tr class="separator:a228ebe3ee63b409a21949f27a0db034e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63068d5e284fab7c458727a1f2c074c7" id="r_a63068d5e284fab7c458727a1f2c074c7"><td class="memItemLeft" align="right" valign="top">simdjson_warn_unused <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a63068d5e284fab7c458727a1f2c074c7">set_max_depth</a> (size_t max_depth) noexcept final</td></tr>
<tr class="separator:a63068d5e284fab7c458727a1f2c074c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a9c67c6c782f1296319a58ec1586f2329" id="r_a9c67c6c782f1296319a58ec1586f2329"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1open__container.html">open_container</a>[]&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a9c67c6c782f1296319a58ec1586f2329">open_containers</a> {}</td></tr>
<tr class="memdesc:a9c67c6c782f1296319a58ec1586f2329"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tape location of each open { or [. <br /></td></tr>
<tr class="separator:a9c67c6c782f1296319a58ec1586f2329"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b82f3273bb2f2f83b8e085b7d9c6613" id="r_a9b82f3273bb2f2f83b8e085b7d9c6613"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; bool[]&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a9b82f3273bb2f2f83b8e085b7d9c6613">is_array</a> {}</td></tr>
<tr class="memdesc:a9b82f3273bb2f2f83b8e085b7d9c6613"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether each open container is a [ or {. <br /></td></tr>
<tr class="separator:a9b82f3273bb2f2f83b8e085b7d9c6613"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a961b4870710d5ee1da938c4923d6f68d" id="r_a961b4870710d5ee1da938c4923d6f68d"><td class="memItemLeft" align="right" valign="top">const uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a961b4870710d5ee1da938c4923d6f68d">buf</a> {}</td></tr>
<tr class="memdesc:a961b4870710d5ee1da938c4923d6f68d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer passed to stage 1. <br /></td></tr>
<tr class="separator:a961b4870710d5ee1da938c4923d6f68d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a132a95e1147b80c2533d1632185a6a09" id="r_a132a95e1147b80c2533d1632185a6a09"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a132a95e1147b80c2533d1632185a6a09">len</a> {0}</td></tr>
<tr class="memdesc:a132a95e1147b80c2533d1632185a6a09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Length passed to stage 1. <br /></td></tr>
<tr class="separator:a132a95e1147b80c2533d1632185a6a09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4089d6265ec845fd85acd2db0973b858" id="r_a4089d6265ec845fd85acd2db0973b858"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsimdjson_1_1dom_1_1document.html">dom::document</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a4089d6265ec845fd85acd2db0973b858">doc</a> {}</td></tr>
<tr class="memdesc:a4089d6265ec845fd85acd2db0973b858"><td class="mdescLeft">&#160;</td><td class="mdescRight">Document passed to stage 2. <br /></td></tr>
<tr class="separator:a4089d6265ec845fd85acd2db0973b858"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="generic_2dom__parser__implementation_8h_source.html#l00020">20</a> of file <a class="el" href="generic_2dom__parser__implementation_8h_source.html">dom_parser_implementation.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a228ebe3ee63b409a21949f27a0db034e" name="a228ebe3ee63b409a21949f27a0db034e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a228ebe3ee63b409a21949f27a0db034e">&#9670;&#160;</a></span>set_capacity()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_warn_unused <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation::set_capacity </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>capacity</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2dom__parser__implementation_8h_source.html#l00063">63</a> of file <a class="el" href="generic_2dom__parser__implementation_8h_source.html">dom_parser_implementation.h</a>.</p>
</div>
</div>
<a id="a63068d5e284fab7c458727a1f2c074c7" name="a63068d5e284fab7c458727a1f2c074c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63068d5e284fab7c458727a1f2c074c7">&#9670;&#160;</a></span>set_max_depth()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_warn_unused <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation::set_max_depth </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>max_depth</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2dom__parser__implementation_8h_source.html#l00076">76</a> of file <a class="el" href="generic_2dom__parser__implementation_8h_source.html">dom_parser_implementation.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a961b4870710d5ee1da938c4923d6f68d" name="a961b4870710d5ee1da938c4923d6f68d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a961b4870710d5ee1da938c4923d6f68d">&#9670;&#160;</a></span>buf</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const uint8_t* simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation::buf {}</td>
</tr>
</table>
</div><div class="memdoc">
<p>Buffer passed to stage 1. </p>
<p class="definition">Definition at line <a class="el" href="generic_2dom__parser__implementation_8h_source.html#l00027">27</a> of file <a class="el" href="generic_2dom__parser__implementation_8h_source.html">dom_parser_implementation.h</a>.</p>
</div>
</div>
<a id="a4089d6265ec845fd85acd2db0973b858" name="a4089d6265ec845fd85acd2db0973b858"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4089d6265ec845fd85acd2db0973b858">&#9670;&#160;</a></span>doc</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classsimdjson_1_1dom_1_1document.html">dom::document</a>* simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation::doc {}</td>
</tr>
</table>
</div><div class="memdoc">
<p>Document passed to stage 2. </p>
<p class="definition">Definition at line <a class="el" href="generic_2dom__parser__implementation_8h_source.html#l00031">31</a> of file <a class="el" href="generic_2dom__parser__implementation_8h_source.html">dom_parser_implementation.h</a>.</p>
</div>
</div>
<a id="a9b82f3273bb2f2f83b8e085b7d9c6613" name="a9b82f3273bb2f2f83b8e085b7d9c6613"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b82f3273bb2f2f83b8e085b7d9c6613">&#9670;&#160;</a></span>is_array</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;bool[]&gt; simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation::is_array {}</td>
</tr>
</table>
</div><div class="memdoc">
<p>Whether each open container is a [ or {. </p>
<p class="definition">Definition at line <a class="el" href="generic_2dom__parser__implementation_8h_source.html#l00025">25</a> of file <a class="el" href="generic_2dom__parser__implementation_8h_source.html">dom_parser_implementation.h</a>.</p>
</div>
</div>
<a id="a132a95e1147b80c2533d1632185a6a09" name="a132a95e1147b80c2533d1632185a6a09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a132a95e1147b80c2533d1632185a6a09">&#9670;&#160;</a></span>len</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation::len {0}</td>
</tr>
</table>
</div><div class="memdoc">
<p>Length passed to stage 1. </p>
<p class="definition">Definition at line <a class="el" href="generic_2dom__parser__implementation_8h_source.html#l00029">29</a> of file <a class="el" href="generic_2dom__parser__implementation_8h_source.html">dom_parser_implementation.h</a>.</p>
</div>
</div>
<a id="a9c67c6c782f1296319a58ec1586f2329" name="a9c67c6c782f1296319a58ec1586f2329"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c67c6c782f1296319a58ec1586f2329">&#9670;&#160;</a></span>open_containers</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="structsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1open__container.html">open_container</a>[]&gt; simdjson::SIMDJSON_IMPLEMENTATION::dom_parser_implementation::open_containers {}</td>
</tr>
</table>
</div><div class="memdoc">
<p>Tape location of each open { or [. </p>
<p class="definition">Definition at line <a class="el" href="generic_2dom__parser__implementation_8h_source.html#l00023">23</a> of file <a class="el" href="generic_2dom__parser__implementation_8h_source.html">dom_parser_implementation.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/simdjson/generic/<a class="el" href="generic_2dom__parser__implementation_8h_source.html">dom_parser_implementation.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacesimdjson.html">simdjson</a></li><li class="navelem"><b>SIMDJSON_IMPLEMENTATION</b></li><li class="navelem"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html">dom_parser_implementation</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,8 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation =
[
[ "buf", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a961b4870710d5ee1da938c4923d6f68d", null ],
[ "doc", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a4089d6265ec845fd85acd2db0973b858", null ],
[ "is_array", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a9b82f3273bb2f2f83b8e085b7d9c6613", null ],
[ "len", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a132a95e1147b80c2533d1632185a6a09", null ],
[ "open_containers", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1dom__parser__implementation.html#a9c67c6c782f1296319a58ec1586f2329", null ]
];
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

@@ -0,0 +1,129 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a8cc89dada9999c2ecc319954cc3fc90a">array</a>() noexcept=default</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a240a8118a5b6f76962425134cc284764">array</a>(const value_iterator &amp;iter) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a1c97143f7637414d737d58daeec2eb84">at</a>(size_t index) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#aa9ec8526ef892cb3766faccf1a674e03">at_path</a>(std::string_view json_path) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a73c2fc4db0c0b4083fafe706412d3b26">at_pointer</a>(std::string_view json_pointer) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a8cb4bf0ca1890a4a3c86f69be40f17f2">begin</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#ad00dfe364f8f9c97a2e0e8bb309a00b7">consume</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a9f23e6ab13ad93c43e705ce7fe6134c9">count_elements</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#ae482e8f5fa3233babbcb9ccc29db5a15">end</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a103d5033b37372bc4762112b39e140f3">for_each_at_path_with_wildcard</a>(std::string_view json_path, Func &amp;&amp;callback) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a371cf8909f04019606063e8538fd7109">is_empty</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a2d84851f9e4fc07b3e518ea957e2d9b6">iter</a></td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#ad8a7f0b418fae60160e403f71a5a8088">raw_json</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#ae7248918b09cb4cb1d866605c641679d">reset</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a760c4d01ad03f18e09a93387de5de60e">start</a>(value_iterator &amp;iter) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#aac11a5e300a49531b3600a019cd89304">start_root</a>(value_iterator &amp;iter) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#aca1c364caedac11edc78c64734013ce0">started</a>(value_iterator &amp;iter) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,776 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>A forward-only JSON array.
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="generic_2ondemand_2array_8h_source.html">array.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8cc89dada9999c2ecc319954cc3fc90a" id="r_a8cc89dada9999c2ecc319954cc3fc90a"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a8cc89dada9999c2ecc319954cc3fc90a">array</a> () noexcept=default</td></tr>
<tr class="memdesc:a8cc89dada9999c2ecc319954cc3fc90a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new invalid array. <br /></td></tr>
<tr class="separator:a8cc89dada9999c2ecc319954cc3fc90a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cb4bf0ca1890a4a3c86f69be40f17f2" id="r_a8cb4bf0ca1890a4a3c86f69be40f17f2"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a8cb4bf0ca1890a4a3c86f69be40f17f2">begin</a> () noexcept</td></tr>
<tr class="memdesc:a8cb4bf0ca1890a4a3c86f69be40f17f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin array iteration. <br /></td></tr>
<tr class="separator:a8cb4bf0ca1890a4a3c86f69be40f17f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae482e8f5fa3233babbcb9ccc29db5a15" id="r_ae482e8f5fa3233babbcb9ccc29db5a15"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#ae482e8f5fa3233babbcb9ccc29db5a15">end</a> () noexcept</td></tr>
<tr class="memdesc:ae482e8f5fa3233babbcb9ccc29db5a15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sentinel representing the end of the array. <br /></td></tr>
<tr class="separator:ae482e8f5fa3233babbcb9ccc29db5a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f23e6ab13ad93c43e705ce7fe6134c9" id="r_a9f23e6ab13ad93c43e705ce7fe6134c9"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a9f23e6ab13ad93c43e705ce7fe6134c9">count_elements</a> () &amp;noexcept</td></tr>
<tr class="memdesc:a9f23e6ab13ad93c43e705ce7fe6134c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method scans the array and counts the number of elements. <br /></td></tr>
<tr class="separator:a9f23e6ab13ad93c43e705ce7fe6134c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a371cf8909f04019606063e8538fd7109" id="r_a371cf8909f04019606063e8538fd7109"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a371cf8909f04019606063e8538fd7109">is_empty</a> () &amp;noexcept</td></tr>
<tr class="memdesc:a371cf8909f04019606063e8538fd7109"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method scans the beginning of the array and checks whether the array is empty. <br /></td></tr>
<tr class="separator:a371cf8909f04019606063e8538fd7109"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7248918b09cb4cb1d866605c641679d" id="r_ae7248918b09cb4cb1d866605c641679d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#ae7248918b09cb4cb1d866605c641679d">reset</a> () &amp;noexcept</td></tr>
<tr class="memdesc:ae7248918b09cb4cb1d866605c641679d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the iterator so that we are pointing back at the beginning of the array. <br /></td></tr>
<tr class="separator:ae7248918b09cb4cb1d866605c641679d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73c2fc4db0c0b4083fafe706412d3b26" id="r_a73c2fc4db0c0b4083fafe706412d3b26"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a73c2fc4db0c0b4083fafe706412d3b26">at_pointer</a> (std::string_view json_pointer) noexcept</td></tr>
<tr class="memdesc:a73c2fc4db0c0b4083fafe706412d3b26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value associated with the given JSON pointer. <br /></td></tr>
<tr class="separator:a73c2fc4db0c0b4083fafe706412d3b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9ec8526ef892cb3766faccf1a674e03" id="r_aa9ec8526ef892cb3766faccf1a674e03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#aa9ec8526ef892cb3766faccf1a674e03">at_path</a> (std::string_view json_path) noexcept</td></tr>
<tr class="memdesc:aa9ec8526ef892cb3766faccf1a674e03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value associated with the given JSONPath expression. <br /></td></tr>
<tr class="separator:aa9ec8526ef892cb3766faccf1a674e03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a103d5033b37372bc4762112b39e140f3" id="r_a103d5033b37372bc4762112b39e140f3"><td class="memTemplParams" colspan="2">template&lt;typename Func &gt; </td></tr>
<tr class="memitem:a103d5033b37372bc4762112b39e140f3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a103d5033b37372bc4762112b39e140f3">for_each_at_path_with_wildcard</a> (std::string_view json_path, Func &amp;&amp;callback) noexcept</td></tr>
<tr class="memdesc:a103d5033b37372bc4762112b39e140f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call the provided callback for each value matching the given JSONPath expression with wildcard support. <br /></td></tr>
<tr class="separator:a103d5033b37372bc4762112b39e140f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8a7f0b418fae60160e403f71a5a8088" id="r_ad8a7f0b418fae60160e403f71a5a8088"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; std::string_view &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#ad8a7f0b418fae60160e403f71a5a8088">raw_json</a> () noexcept</td></tr>
<tr class="memdesc:ad8a7f0b418fae60160e403f71a5a8088"><td class="mdescLeft">&#160;</td><td class="mdescRight">Consumes the array and returns a string_view instance corresponding to the array as represented in JSON. <br /></td></tr>
<tr class="separator:ad8a7f0b418fae60160e403f71a5a8088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c97143f7637414d737d58daeec2eb84" id="r_a1c97143f7637414d737d58daeec2eb84"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a1c97143f7637414d737d58daeec2eb84">at</a> (size_t index) noexcept</td></tr>
<tr class="memdesc:a1c97143f7637414d737d58daeec2eb84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value at the given index. <br /></td></tr>
<tr class="separator:a1c97143f7637414d737d58daeec2eb84"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:ad00dfe364f8f9c97a2e0e8bb309a00b7" id="r_ad00dfe364f8f9c97a2e0e8bb309a00b7"><td class="memItemLeft" align="right" valign="top">simdjson_warn_unused simdjson_inline <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#ad00dfe364f8f9c97a2e0e8bb309a00b7">consume</a> () noexcept</td></tr>
<tr class="memdesc:ad00dfe364f8f9c97a2e0e8bb309a00b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Go to the end of the array, no matter where you are right now. <br /></td></tr>
<tr class="separator:ad00dfe364f8f9c97a2e0e8bb309a00b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a240a8118a5b6f76962425134cc284764" id="r_a240a8118a5b6f76962425134cc284764"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a240a8118a5b6f76962425134cc284764">array</a> (const value_iterator &amp;<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a2d84851f9e4fc07b3e518ea957e2d9b6">iter</a>) noexcept</td></tr>
<tr class="memdesc:a240a8118a5b6f76962425134cc284764"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an array at the given Internal array creation. <br /></td></tr>
<tr class="separator:a240a8118a5b6f76962425134cc284764"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-methods" name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:a760c4d01ad03f18e09a93387de5de60e" id="r_a760c4d01ad03f18e09a93387de5de60e"><td class="memItemLeft" align="right" valign="top">static simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a760c4d01ad03f18e09a93387de5de60e">start</a> (value_iterator &amp;<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a2d84851f9e4fc07b3e518ea957e2d9b6">iter</a>) noexcept</td></tr>
<tr class="memdesc:a760c4d01ad03f18e09a93387de5de60e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin array iteration. <br /></td></tr>
<tr class="separator:a760c4d01ad03f18e09a93387de5de60e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac11a5e300a49531b3600a019cd89304" id="r_aac11a5e300a49531b3600a019cd89304"><td class="memItemLeft" align="right" valign="top">static simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#aac11a5e300a49531b3600a019cd89304">start_root</a> (value_iterator &amp;<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a2d84851f9e4fc07b3e518ea957e2d9b6">iter</a>) noexcept</td></tr>
<tr class="memdesc:aac11a5e300a49531b3600a019cd89304"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin array iteration from the root. <br /></td></tr>
<tr class="separator:aac11a5e300a49531b3600a019cd89304"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca1c364caedac11edc78c64734013ce0" id="r_aca1c364caedac11edc78c64734013ce0"><td class="memItemLeft" align="right" valign="top">static simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#aca1c364caedac11edc78c64734013ce0">started</a> (value_iterator &amp;<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a2d84851f9e4fc07b3e518ea957e2d9b6">iter</a>) noexcept</td></tr>
<tr class="memdesc:aca1c364caedac11edc78c64734013ce0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin array iteration. <br /></td></tr>
<tr class="separator:aca1c364caedac11edc78c64734013ce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a2d84851f9e4fc07b3e518ea957e2d9b6" id="r_a2d84851f9e4fc07b3e518ea957e2d9b6"><td class="memItemLeft" align="right" valign="top">value_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a2d84851f9e4fc07b3e518ea957e2d9b6">iter</a> {}</td></tr>
<tr class="memdesc:a2d84851f9e4fc07b3e518ea957e2d9b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator marking current position. <br /></td></tr>
<tr class="separator:a2d84851f9e4fc07b3e518ea957e2d9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A forward-only JSON array. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array_8h_source.html#l00018">18</a> of file <a class="el" href="generic_2ondemand_2array_8h_source.html">array.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a8cc89dada9999c2ecc319954cc3fc90a" name="a8cc89dada9999c2ecc319954cc3fc90a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8cc89dada9999c2ecc319954cc3fc90a">&#9670;&#160;</a></span>array() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::array </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new invalid array. </p>
<p>Exists so you can declare a variable and later assign to it before use. </p>
</div>
</div>
<a id="a240a8118a5b6f76962425134cc284764" name="a240a8118a5b6f76962425134cc284764"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a240a8118a5b6f76962425134cc284764">&#9670;&#160;</a></span>array() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::array </td>
<td>(</td>
<td class="paramtype">const value_iterator &amp;&#160;</td>
<td class="paramname"><em>iter</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create an array at the given Internal array creation. </p>
<p>Call <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a760c4d01ad03f18e09a93387de5de60e" title="Begin array iteration.">array::start()</a> or <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#aca1c364caedac11edc78c64734013ce0" title="Begin array iteration.">array::started()</a> instead of this.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iter</td><td>The iterator. Must either be at the start of the first element with iter.is_alive() == true, or past the [] with is_alive() == false if the array is empty. Will be <em>moved</em> into the resulting array. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00056">56</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a1c97143f7637414d737d58daeec2eb84" name="a1c97143f7637414d737d58daeec2eb84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c97143f7637414d737d58daeec2eb84">&#9670;&#160;</a></span>at()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::at </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the value at the given index. </p>
<p>This function has linear-time complexity. This function should only be called once on an array instance since the array iterator is not reset between each call.</p>
<dl class="section return"><dt>Returns</dt><dd>The value at the given index, or:<ul>
<li>INDEX_OUT_OF_BOUNDS if the array index is larger than an array length </li>
</ul>
</dd></dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00219">219</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="aa9ec8526ef892cb3766faccf1a674e03" name="aa9ec8526ef892cb3766faccf1a674e03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9ec8526ef892cb3766faccf1a674e03">&#9670;&#160;</a></span>at_path()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::at_path </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>json_path</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the value associated with the given JSONPath expression. </p>
<p>We only support JSONPath queries that trivially convertible to JSON Pointer queries: key names and array indices.</p>
<p><a href="https://www.rfc-editor.org/rfc/rfc9535">https://www.rfc-editor.org/rfc/rfc9535</a> (RFC 9535)</p>
<dl class="section return"><dt>Returns</dt><dd>The value associated with the given JSONPath expression, or:<ul>
<li>INVALID_JSON_POINTER if the JSONPath to JSON Pointer conversion fails</li>
<li>NO_SUCH_FIELD if a field does not exist in an object</li>
<li>INDEX_OUT_OF_BOUNDS if an array index is larger than an array length</li>
<li>INCORRECT_TYPE if a non-integer is used to access an array </li>
</ul>
</dd></dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00167">167</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="a73c2fc4db0c0b4083fafe706412d3b26" name="a73c2fc4db0c0b4083fafe706412d3b26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73c2fc4db0c0b4083fafe706412d3b26">&#9670;&#160;</a></span>at_pointer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::at_pointer </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>json_pointer</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the value associated with the given JSON pointer. </p>
<p>We use the RFC 6901 <a href="https://tools.ietf.org/html/rfc6901">https://tools.ietf.org/html/rfc6901</a> standard, interpreting the current node as the root of its own JSON document.</p>
<p><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html" title="A JSON fragment iterator.">ondemand::parser</a> parser; auto json = R"([ { "foo": { "a": [ 10, 20, 30 ] }} ])"_padded; auto doc = parser.iterate(json); doc.at_pointer("/0/foo/a/1") == 20</p>
<p>Note that <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a73c2fc4db0c0b4083fafe706412d3b26" title="Get the value associated with the given JSON pointer.">at_pointer()</a> called on the document automatically calls the document's rewind method between each call. It invalidates all previously accessed arrays, objects and values that have not been consumed. Yet it is not the case when calling at_pointer on an array instance: there is no rewind and no invalidation.</p>
<p>You may only call at_pointer on an array after it has been created, but before it has been first accessed. When calling at_pointer on an array, the pointer is advanced to the location indicated by the JSON pointer (in case of success). It is no longer possible to call at_pointer on the same array.</p>
<p>Also note that <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a73c2fc4db0c0b4083fafe706412d3b26" title="Get the value associated with the given JSON pointer.">at_pointer()</a> relies on find_field() which implies that we do not unescape keys when matching.</p>
<dl class="section return"><dt>Returns</dt><dd>The value associated with the given JSON pointer, or:<ul>
<li>NO_SUCH_FIELD if a field does not exist in an object</li>
<li>INDEX_OUT_OF_BOUNDS if an array index is larger than an array length</li>
<li>INCORRECT_TYPE if a non-integer is used to access an array</li>
<li>INVALID_JSON_POINTER if the JSON pointer is invalid and cannot be parsed </li>
</ul>
</dd></dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00131">131</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="a8cb4bf0ca1890a4a3c86f69be40f17f2" name="a8cb4bf0ca1890a4a3c86f69be40f17f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8cb4bf0ca1890a4a3c86f69be40f17f2">&#9670;&#160;</a></span>begin()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Begin array iteration. </p>
<p>Part of the std::iterable interface. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00079">79</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="ad00dfe364f8f9c97a2e0e8bb309a00b7" name="ad00dfe364f8f9c97a2e0e8bb309a00b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad00dfe364f8f9c97a2e0e8bb309a00b7">&#9670;&#160;</a></span>consume()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_warn_unused simdjson_warn_unused simdjson_inline <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::consume </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Go to the end of the array, no matter where you are right now. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00088">88</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="a9f23e6ab13ad93c43e705ce7fe6134c9" name="a9f23e6ab13ad93c43e705ce7fe6134c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f23e6ab13ad93c43e705ce7fe6134c9">&#9670;&#160;</a></span>count_elements()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SIMDJSON_PUSH_DISABLE_WARNINGS SIMDJSON_DISABLE_STRICT_OVERFLOW_WARNING simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; size_t &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::count_elements </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> &amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method scans the array and counts the number of elements. </p>
<p>The count_elements method should always be called before you have begun iterating through the array: it is expected that you are pointing at the beginning of the array. The runtime complexity is linear in the size of the array. After calling this function, if successful, the array is 'rewinded' at its beginning as if it had never been accessed. If the JSON is malformed (e.g., there is a missing comma), then an error is returned and it is no longer safe to continue. Note that <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a9f23e6ab13ad93c43e705ce7fe6134c9" title="This method scans the array and counts the number of elements.">count_elements()</a> does not validate the JSON values, only the structure of the array.</p>
<p>To check that an array is empty, it is more performant to use the <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a371cf8909f04019606063e8538fd7109" title="This method scans the beginning of the array and checks whether the array is empty.">is_empty()</a> method. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00107">107</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="ae482e8f5fa3233babbcb9ccc29db5a15" name="ae482e8f5fa3233babbcb9ccc29db5a15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae482e8f5fa3233babbcb9ccc29db5a15">&#9670;&#160;</a></span>end()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::end </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sentinel representing the end of the array. </p>
<p>Part of the std::iterable interface. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00085">85</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="a103d5033b37372bc4762112b39e140f3" name="a103d5033b37372bc4762112b39e140f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a103d5033b37372bc4762112b39e140f3">&#9670;&#160;</a></span>for_each_at_path_with_wildcard()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Func &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::for_each_at_path_with_wildcard </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>json_path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Func &amp;&amp;&#160;</td>
<td class="paramname"><em>callback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Call the provided callback for each value matching the given JSONPath expression with wildcard support. </p>
<p>Supports wildcard patterns like "[*]" to match all array elements.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">json_path</td><td>JSONPath expression with wildcards </td></tr>
<tr><td class="paramname">callback</td><td>Function called for each matching value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>error_code indicating success or failure </dd></dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00179">179</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="a371cf8909f04019606063e8538fd7109" name="a371cf8909f04019606063e8538fd7109"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a371cf8909f04019606063e8538fd7109">&#9670;&#160;</a></span>is_empty()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SIMDJSON_POP_DISABLE_WARNINGS simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; bool &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::is_empty </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> &amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method scans the beginning of the array and checks whether the array is empty. </p>
<p>The runtime complexity is constant time. After calling this function, if successful, the array is 'rewinded' at its beginning as if it had never been accessed. If the JSON is malformed (e.g., there is a missing comma), then an error is returned and it is no longer safe to continue. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00120">120</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="ad8a7f0b418fae60160e403f71a5a8088" name="ad8a7f0b418fae60160e403f71a5a8088"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8a7f0b418fae60160e403f71a5a8088">&#9670;&#160;</a></span>raw_json()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; std::string_view &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::raw_json </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Consumes the array and returns a string_view instance corresponding to the array as represented in JSON. </p>
<p>It points inside the original document. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00094">94</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="ae7248918b09cb4cb1d866605c641679d" name="ae7248918b09cb4cb1d866605c641679d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7248918b09cb4cb1d866605c641679d">&#9670;&#160;</a></span>reset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; bool &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::reset </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> &amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset the iterator so that we are pointing back at the beginning of the array. </p>
<p>You should still consume values only once even if you can iterate through the array more than once. If you unescape a string within the array more than once, you have unsafe code. Note that rewinding an array means that you may need to reparse it anew: it is not a free operation.</p>
<dl class="section return"><dt>Returns</dt><dd>true if the array contains some elements (not empty) </dd></dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00127">127</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="a760c4d01ad03f18e09a93387de5de60e" name="a760c4d01ad03f18e09a93387de5de60e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a760c4d01ad03f18e09a93387de5de60e">&#9670;&#160;</a></span>start()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">array</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::start </td>
<td>(</td>
<td class="paramtype">value_iterator &amp;&#160;</td>
<td class="paramname"><em>iter</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Begin array iteration. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iter</td><td>The iterator. Must be where the initial [ is expected. Will be <em>moved</em> into the resulting array. @error INCORRECT_TYPE if the iterator is not at [. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00061">61</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="aac11a5e300a49531b3600a019cd89304" name="aac11a5e300a49531b3600a019cd89304"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac11a5e300a49531b3600a019cd89304">&#9670;&#160;</a></span>start_root()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">array</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::start_root </td>
<td>(</td>
<td class="paramtype">value_iterator &amp;&#160;</td>
<td class="paramname"><em>iter</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Begin array iteration from the root. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iter</td><td>The iterator. Must be where the initial [ is expected. Will be <em>moved</em> into the resulting array. @error INCORRECT_TYPE if the iterator is not at [. @error TAPE_ERROR if there is no closing ] at the end of the document. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00068">68</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<a id="aca1c364caedac11edc78c64734013ce0" name="aca1c364caedac11edc78c64734013ce0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca1c364caedac11edc78c64734013ce0">&#9670;&#160;</a></span>started()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">array</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::started </td>
<td>(</td>
<td class="paramtype">value_iterator &amp;&#160;</td>
<td class="paramname"><em>iter</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Begin array iteration. </p>
<p>This version of the method should be called after the initial [ has been verified, and is intended for use by switch statements that check the type of a value.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">iter</td><td>The iterator. Must be after the initial [. Will be <em>moved</em> into the resulting array. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array-inl_8h_source.html#l00073">73</a> of file <a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a2d84851f9e4fc07b3e518ea957e2d9b6" name="a2d84851f9e4fc07b3e518ea957e2d9b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d84851f9e4fc07b3e518ea957e2d9b6">&#9670;&#160;</a></span>iter</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">value_iterator simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array::iter {}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Iterator marking current position. </p>
<p>iter.is_alive() == false indicates iteration is complete. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2array_8h_source.html#l00230">230</a> of file <a class="el" href="generic_2ondemand_2array_8h_source.html">array.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/simdjson/generic/ondemand/<a class="el" href="generic_2ondemand_2array_8h_source.html">array.h</a></li>
<li>include/simdjson/generic/ondemand/<a class="el" href="generic_2ondemand_2array-inl_8h_source.html">array-inl.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacesimdjson.html">simdjson</a></li><li class="navelem"><b>SIMDJSON_IMPLEMENTATION</b></li><li class="navelem"><a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">ondemand</a></li><li class="navelem"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html">array</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,17 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array =
[
[ "array", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a8cc89dada9999c2ecc319954cc3fc90a", null ],
[ "array", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a240a8118a5b6f76962425134cc284764", null ],
[ "at", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a1c97143f7637414d737d58daeec2eb84", null ],
[ "at_path", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#aa9ec8526ef892cb3766faccf1a674e03", null ],
[ "at_pointer", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a73c2fc4db0c0b4083fafe706412d3b26", null ],
[ "begin", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a8cb4bf0ca1890a4a3c86f69be40f17f2", null ],
[ "consume", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#ad00dfe364f8f9c97a2e0e8bb309a00b7", null ],
[ "count_elements", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a9f23e6ab13ad93c43e705ce7fe6134c9", null ],
[ "end", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#ae482e8f5fa3233babbcb9ccc29db5a15", null ],
[ "for_each_at_path_with_wildcard", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a103d5033b37372bc4762112b39e140f3", null ],
[ "is_empty", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a371cf8909f04019606063e8538fd7109", null ],
[ "raw_json", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#ad8a7f0b418fae60160e403f71a5a8088", null ],
[ "reset", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#ae7248918b09cb4cb1d866605c641679d", null ],
[ "iter", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array.html#a2d84851f9e4fc07b3e518ea957e2d9b6", null ]
];
@@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#aa330b23feb572f33d77516431572b643">array_iterator</a>() noexcept=default</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#ae7629ba7c3cec3be3bc61d5d79c154c1">at_end</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>iterator_category</b> typedef (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#abbca17b48bd6c2b045b659076f1f64ce">operator!=</a>(const array_iterator &amp;) const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a1577fb5a95f92a4a1aaa8eee6440d572">operator*</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a55e0ae33e5e5835c841fd082edab5937">operator++</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a20cd55e63cf5bdc1561f771b4db1ac1b">operator==</a>(const array_iterator &amp;) const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,403 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>A forward-only JSON array.
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="array__iterator_8h_source.html">array_iterator.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ad2f5c063fd0c68cb3147f1bdfa48beff" id="r_ad2f5c063fd0c68cb3147f1bdfa48beff"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#ad2f5c063fd0c68cb3147f1bdfa48beff">iterator_category</a> = std::input_iterator_tag</td></tr>
<tr class="separator:ad2f5c063fd0c68cb3147f1bdfa48beff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f62a877d26cdf617dce0e9457bec727" id="r_a5f62a877d26cdf617dce0e9457bec727"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a5f62a877d26cdf617dce0e9457bec727">value_type</a> = <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;</td></tr>
<tr class="separator:a5f62a877d26cdf617dce0e9457bec727"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a479323cd52feffaeafb072d540940b0a" id="r_a479323cd52feffaeafb072d540940b0a"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a479323cd52feffaeafb072d540940b0a">difference_type</a> = std::ptrdiff_t</td></tr>
<tr class="separator:a479323cd52feffaeafb072d540940b0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95464a9754bb5e4cbdd1712f04150c75" id="r_a95464a9754bb5e4cbdd1712f04150c75"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a95464a9754bb5e4cbdd1712f04150c75">pointer</a> = void</td></tr>
<tr class="separator:a95464a9754bb5e4cbdd1712f04150c75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a765100e65d2c2081722f123fed4cb584" id="r_a765100e65d2c2081722f123fed4cb584"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a765100e65d2c2081722f123fed4cb584">reference</a> = <a class="el" href="structsimdjson_1_1simdjson__result.html">value_type</a></td></tr>
<tr class="separator:a765100e65d2c2081722f123fed4cb584"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa330b23feb572f33d77516431572b643" id="r_aa330b23feb572f33d77516431572b643"><td class="memItemLeft" align="right" valign="top"><a id="aa330b23feb572f33d77516431572b643" name="aa330b23feb572f33d77516431572b643"></a>
simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><b>array_iterator</b> () noexcept=default</td></tr>
<tr class="memdesc:aa330b23feb572f33d77516431572b643"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new, invalid array iterator. <br /></td></tr>
<tr class="separator:aa330b23feb572f33d77516431572b643"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1577fb5a95f92a4a1aaa8eee6440d572" id="r_a1577fb5a95f92a4a1aaa8eee6440d572"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a1577fb5a95f92a4a1aaa8eee6440d572">operator*</a> () noexcept</td></tr>
<tr class="memdesc:a1577fb5a95f92a4a1aaa8eee6440d572"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current element. <br /></td></tr>
<tr class="separator:a1577fb5a95f92a4a1aaa8eee6440d572"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20cd55e63cf5bdc1561f771b4db1ac1b" id="r_a20cd55e63cf5bdc1561f771b4db1ac1b"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a20cd55e63cf5bdc1561f771b4db1ac1b">operator==</a> (const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &amp;) const noexcept</td></tr>
<tr class="memdesc:a20cd55e63cf5bdc1561f771b4db1ac1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if we are at the end of the JSON. <br /></td></tr>
<tr class="separator:a20cd55e63cf5bdc1561f771b4db1ac1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbca17b48bd6c2b045b659076f1f64ce" id="r_abbca17b48bd6c2b045b659076f1f64ce"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#abbca17b48bd6c2b045b659076f1f64ce">operator!=</a> (const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &amp;) const noexcept</td></tr>
<tr class="memdesc:abbca17b48bd6c2b045b659076f1f64ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if there are more elements in the JSON array. <br /></td></tr>
<tr class="separator:abbca17b48bd6c2b045b659076f1f64ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55e0ae33e5e5835c841fd082edab5937" id="r_a55e0ae33e5e5835c841fd082edab5937"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a55e0ae33e5e5835c841fd082edab5937">operator++</a> () noexcept</td></tr>
<tr class="memdesc:a55e0ae33e5e5835c841fd082edab5937"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move to the next element. <br /></td></tr>
<tr class="separator:a55e0ae33e5e5835c841fd082edab5937"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7629ba7c3cec3be3bc61d5d79c154c1" id="r_ae7629ba7c3cec3be3bc61d5d79c154c1"><td class="memItemLeft" align="right" valign="top">simdjson_warn_unused simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#ae7629ba7c3cec3be3bc61d5d79c154c1">at_end</a> () const noexcept</td></tr>
<tr class="memdesc:ae7629ba7c3cec3be3bc61d5d79c154c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the array is at the end. <br /></td></tr>
<tr class="separator:ae7629ba7c3cec3be3bc61d5d79c154c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A forward-only JSON array. </p>
<p>This is an input_iterator, meaning:</p><ul>
<li>It is forward-only</li>
<li>* must be called at most once per element.</li>
<li>++ must be called exactly once in between each * (*, ++, *, ++, * ...) </li>
</ul>
<p class="definition">Definition at line <a class="el" href="array__iterator_8h_source.html#l00024">24</a> of file <a class="el" href="array__iterator_8h_source.html">array_iterator.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a479323cd52feffaeafb072d540940b0a" name="a479323cd52feffaeafb072d540940b0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a479323cd52feffaeafb072d540940b0a">&#9670;&#160;</a></span>difference_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::difference_type = std::ptrdiff_t</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="array__iterator_8h_source.html#l00028">28</a> of file <a class="el" href="array__iterator_8h_source.html">array_iterator.h</a>.</p>
</div>
</div>
<a id="ad2f5c063fd0c68cb3147f1bdfa48beff" name="ad2f5c063fd0c68cb3147f1bdfa48beff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2f5c063fd0c68cb3147f1bdfa48beff">&#9670;&#160;</a></span>iterator_category</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::iterator_category = std::input_iterator_tag</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="array__iterator_8h_source.html#l00026">26</a> of file <a class="el" href="array__iterator_8h_source.html">array_iterator.h</a>.</p>
</div>
</div>
<a id="a95464a9754bb5e4cbdd1712f04150c75" name="a95464a9754bb5e4cbdd1712f04150c75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95464a9754bb5e4cbdd1712f04150c75">&#9670;&#160;</a></span>pointer</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::pointer = void</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="array__iterator_8h_source.html#l00029">29</a> of file <a class="el" href="array__iterator_8h_source.html">array_iterator.h</a>.</p>
</div>
</div>
<a id="a765100e65d2c2081722f123fed4cb584" name="a765100e65d2c2081722f123fed4cb584"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a765100e65d2c2081722f123fed4cb584">&#9670;&#160;</a></span>reference</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::reference</a> = <a class="el" href="structsimdjson_1_1simdjson__result.html">value_type</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="array__iterator_8h_source.html#l00030">30</a> of file <a class="el" href="array__iterator_8h_source.html">array_iterator.h</a>.</p>
</div>
</div>
<a id="a5f62a877d26cdf617dce0e9457bec727" name="a5f62a877d26cdf617dce0e9457bec727"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f62a877d26cdf617dce0e9457bec727">&#9670;&#160;</a></span>value_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::value_type</a> = <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt;<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a>&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="array__iterator_8h_source.html#l00027">27</a> of file <a class="el" href="array__iterator_8h_source.html">array_iterator.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae7629ba7c3cec3be3bc61d5d79c154c1" name="ae7629ba7c3cec3be3bc61d5d79c154c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7629ba7c3cec3be3bc61d5d79c154c1">&#9670;&#160;</a></span>at_end()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::at_end </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if the array is at the end. </p>
<p class="definition">Definition at line <a class="el" href="array__iterator-inl_8h_source.html#l00046">46</a> of file <a class="el" href="array__iterator-inl_8h_source.html">array_iterator-inl.h</a>.</p>
</div>
</div>
<a id="abbca17b48bd6c2b045b659076f1f64ce" name="abbca17b48bd6c2b045b659076f1f64ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abbca17b48bd6c2b045b659076f1f64ce">&#9670;&#160;</a></span>operator!=()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if there are more elements in the JSON array. </p>
<p>Part of the std::iterator interface.</p>
<dl class="section return"><dt>Returns</dt><dd>true if there are more elements in the JSON array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="array__iterator-inl_8h_source.html#l00030">30</a> of file <a class="el" href="array__iterator-inl_8h_source.html">array_iterator-inl.h</a>.</p>
</div>
</div>
<a id="a1577fb5a95f92a4a1aaa8eee6440d572" name="a1577fb5a95f92a4a1aaa8eee6440d572"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1577fb5a95f92a4a1aaa8eee6440d572">&#9670;&#160;</a></span>operator*()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::operator* </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current element. </p>
<p>Part of the std::iterator interface. </p>
<p class="definition">Definition at line <a class="el" href="array__iterator-inl_8h_source.html#l00019">19</a> of file <a class="el" href="array__iterator-inl_8h_source.html">array_iterator-inl.h</a>.</p>
</div>
</div>
<a id="a55e0ae33e5e5835c841fd082edab5937" name="a55e0ae33e5e5835c841fd082edab5937"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55e0ae33e5e5835c841fd082edab5937">&#9670;&#160;</a></span>operator++()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &amp; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::operator++ </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Move to the next element. </p>
<p>Part of the std::iterator interface. </p>
<p class="definition">Definition at line <a class="el" href="array__iterator-inl_8h_source.html#l00033">33</a> of file <a class="el" href="array__iterator-inl_8h_source.html">array_iterator-inl.h</a>.</p>
</div>
</div>
<a id="a20cd55e63cf5bdc1561f771b4db1ac1b" name="a20cd55e63cf5bdc1561f771b4db1ac1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20cd55e63cf5bdc1561f771b4db1ac1b">&#9670;&#160;</a></span>operator==()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::array_iterator::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if we are at the end of the JSON. </p>
<p>Part of the std::iterator interface.</p>
<dl class="section return"><dt>Returns</dt><dd>true if there are no more elements in the JSON array. </dd></dl>
<p class="definition">Definition at line <a class="el" href="array__iterator-inl_8h_source.html#l00027">27</a> of file <a class="el" href="array__iterator-inl_8h_source.html">array_iterator-inl.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/simdjson/generic/ondemand/<a class="el" href="array__iterator_8h_source.html">array_iterator.h</a></li>
<li>include/simdjson/generic/ondemand/<a class="el" href="array__iterator-inl_8h_source.html">array_iterator-inl.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacesimdjson.html">simdjson</a></li><li class="navelem"><b>SIMDJSON_IMPLEMENTATION</b></li><li class="navelem"><a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">ondemand</a></li><li class="navelem"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html">array_iterator</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,9 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator =
[
[ "array_iterator", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#aa330b23feb572f33d77516431572b643", null ],
[ "at_end", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#ae7629ba7c3cec3be3bc61d5d79c154c1", null ],
[ "operator!=", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#abbca17b48bd6c2b045b659076f1f64ce", null ],
[ "operator*", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a1577fb5a95f92a4a1aaa8eee6440d572", null ],
[ "operator++", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a55e0ae33e5e5835c841fd082edab5937", null ],
[ "operator==", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1array__iterator.html#a20cd55e63cf5bdc1561f771b4db1ac1b", null ]
];
@@ -0,0 +1,217 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a01c6bde0574654dc22ea219c3b3dbf51">at</a>(size_t index) &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ae896ac465551b036763e4465b3a16c7b">at_end</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a87b1fb46555fdf69761966e49ffaa9d7">at_path</a>(std::string_view json_path) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a74484485f4a3d8dce5943b0cb60ac815">at_pointer</a>(std::string_view json_pointer) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a1a450826deb3ba982c9f0ec6208cb246">begin</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a15159e4995ec7c9dd9e4eb295699c593">consume</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ab408c2ea4be8874e3514b389c70a5667">count_elements</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a24fd6a8aa158b80d851e3a57c9fef642">count_fields</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a1919a4ca6418c94ed54f026fbbda6f1d">current_depth</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#af4c151ba820f579e149b4bf98e644a49">current_location</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a54cd729a715a09bc9e706b7640233427">document</a>() noexcept=default</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>document</b>(const document &amp;other) noexcept=delete (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>document</b>(document &amp;&amp;other) noexcept=default (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>document</b>(ondemand::json_iterator &amp;&amp;iter) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a18847ef30e5800f1c628a344c23ec968">DOCUMENT_DEPTH</a></td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a7a79c0e85c9d40b53f0d4daeeb24111a">end</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ab919032e611f7f4a1e8cc9eb47ad4dea">find_field</a>(std::string_view key) &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>find_field</b>(const char *key) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#aa89d66d993d0bffcbb85e303ad3950c2">find_field_unordered</a>(std::string_view key) &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>find_field_unordered</b>(const char *key) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a38c4cefe18bc6c897e6beeeedeae9abd">for_each_at_path_with_wildcard</a>(std::string_view json_path, Func &amp;&amp;callback) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#af689a9311baeed32bb4631b7cba05467">get</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a2fb5d36c429a48f039f4648dbf1ecf38">get</a>(T &amp;out) &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(T &amp;out) &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(array &amp;out) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>(object &amp;out) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(raw_json_string &amp;out) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>(std::string_view &amp;out) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(double &amp;out) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>(uint64_t &amp;out) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(int64_t &amp;out) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>(uint32_t &amp;out) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(int32_t &amp;out) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>(bool &amp;out) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(value &amp;out) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#aea545f106413a9bc01cd19e6630a580d">get_array</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a41eaac87582a465b4c9f9834701a837d">get_bool</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a9909be358c78a64bc9ab7e11e3f2a47b">get_double</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a85e4b5250e316cc602b1b05bd097f771">get_double_in_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a6bbf74a154cc969e6ca2aa4793264439">get_int32</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a6abc08fb48868bdc5104c885c46ced82">get_int64</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#aac4a4837e66c8f1243722ab04ce45436">get_int64_in_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a2b04a9cd8c4ff9b591dc3f2db95c69cf">get_number</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#abb3a7cc6f2391d26f27a28c16ca38c9c">get_number_type</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a4620d364a637031ef38661f9fb215ebc">get_object</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#afa3370b930da937911cf61ec9b047c56">get_raw_json_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_root_value_iterator</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a2ae4c160def21463b0ab214a36c0a78e">get_string</a>(bool allow_replacement=false) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ab3b1b8825d53b381b715ae473c639848">get_string</a>(string_type &amp;receiver, bool allow_replacement=false) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ac25c6f7624e3956c166461f3a2e3f6ff">get_uint32</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a4d221850d045f1e7ada4dfaaee0e145c">get_uint64</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a5cb63d14a99509d751f4be45063fec95">get_uint64_in_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ab89eda435b4a68be578fcb5c3da73980">get_value</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ae1db0154ef901ed1e8fb581bb9df6899">get_wobbly_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a3170300bc331577a1435bb238cf3faff">is_alive</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#af47e11e9925fd5d3d8a43cf0f7773992">is_integer</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a5083f65b71d7540ea785ec2b52604267">is_negative</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a5ed59f01a0d4ad253f0e1c1f995ed0a7">is_null</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ac2ea8f4340d02d9062f81419da47500b">is_scalar</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a4af5ddd8fc929969a4bb1e2a6e1c4ba7">is_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a969e1000319391cd2bee3aed88481500">iter</a></td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a08307c0a5552cf8cb06613ed1de48eac">operator array</a>() &amp;noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a7df7ba140c9d6398fef2c6963da82230">operator bool</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ae052e098bfbfde398845060a8d4f572f">operator double</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a5d50aa0d396fc49855d3c0c571b07a25">operator int64_t</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a6cd27fe6dc9062b5380db757d49c3f7b">operator object</a>() &amp;noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ab691465a2a8c73b25aa7217324e06480">operator raw_json_string</a>() noexcept(false) simdjson_lifetime_bound</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a81f19e6237c6a94ca3802ec5c8f334bd">operator std::string_view</a>() noexcept(false) simdjson_lifetime_bound</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ac2e6625884bd0fd12d93e3eff2214b1c">operator T</a>() &amp;noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator T</b>() &amp;&amp;noexcept(false) (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a847db7139319155ef5fa2d4af7063163">operator uint64_t</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ad12185e1993ebcad73eb5ce82f5de8f7">operator value</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator=</b>(const document &amp;other) noexcept=delete (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(document &amp;&amp;other) noexcept=default (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator[]</b>(std::string_view key) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator[]</b>(const char *key) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator[]</b>(int) &amp;noexcept=delete (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#aa3a27654a19c386ad0c775cff258cf0c">raw_json</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a58802e77b6fb25a3d2ec8a4d2482f9bf">raw_json_token</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resume_value_iterator</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a9cc053001e8246e6e65bbcbf3db035c4">rewind</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>start</b>(ondemand::json_iterator &amp;&amp;iter) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>start_or_resume_object</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>text</b>(uint32_t idx) const noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a9afdfb30ac2aacabce09a5c9d7fd375a">to_debug_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a77bdebf4d2105efdd123cbf0a4906b1e">type</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,60 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document =
[
[ "document", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a54cd729a715a09bc9e706b7640233427", null ],
[ "at", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a01c6bde0574654dc22ea219c3b3dbf51", null ],
[ "at_end", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ae896ac465551b036763e4465b3a16c7b", null ],
[ "at_path", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a87b1fb46555fdf69761966e49ffaa9d7", null ],
[ "at_pointer", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a74484485f4a3d8dce5943b0cb60ac815", null ],
[ "begin", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a1a450826deb3ba982c9f0ec6208cb246", null ],
[ "consume", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a15159e4995ec7c9dd9e4eb295699c593", null ],
[ "count_elements", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ab408c2ea4be8874e3514b389c70a5667", null ],
[ "count_fields", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a24fd6a8aa158b80d851e3a57c9fef642", null ],
[ "current_depth", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a1919a4ca6418c94ed54f026fbbda6f1d", null ],
[ "current_location", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#af4c151ba820f579e149b4bf98e644a49", null ],
[ "end", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a7a79c0e85c9d40b53f0d4daeeb24111a", null ],
[ "find_field", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ab919032e611f7f4a1e8cc9eb47ad4dea", null ],
[ "find_field_unordered", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#aa89d66d993d0bffcbb85e303ad3950c2", null ],
[ "for_each_at_path_with_wildcard", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a38c4cefe18bc6c897e6beeeedeae9abd", null ],
[ "get", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#af689a9311baeed32bb4631b7cba05467", null ],
[ "get", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a2fb5d36c429a48f039f4648dbf1ecf38", null ],
[ "get_array", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#aea545f106413a9bc01cd19e6630a580d", null ],
[ "get_bool", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a41eaac87582a465b4c9f9834701a837d", null ],
[ "get_double", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a9909be358c78a64bc9ab7e11e3f2a47b", null ],
[ "get_double_in_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a85e4b5250e316cc602b1b05bd097f771", null ],
[ "get_int32", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a6bbf74a154cc969e6ca2aa4793264439", null ],
[ "get_int64", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a6abc08fb48868bdc5104c885c46ced82", null ],
[ "get_int64_in_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#aac4a4837e66c8f1243722ab04ce45436", null ],
[ "get_number", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a2b04a9cd8c4ff9b591dc3f2db95c69cf", null ],
[ "get_number_type", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#abb3a7cc6f2391d26f27a28c16ca38c9c", null ],
[ "get_object", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a4620d364a637031ef38661f9fb215ebc", null ],
[ "get_raw_json_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#afa3370b930da937911cf61ec9b047c56", null ],
[ "get_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a2ae4c160def21463b0ab214a36c0a78e", null ],
[ "get_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ab3b1b8825d53b381b715ae473c639848", null ],
[ "get_uint32", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ac25c6f7624e3956c166461f3a2e3f6ff", null ],
[ "get_uint64", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a4d221850d045f1e7ada4dfaaee0e145c", null ],
[ "get_uint64_in_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a5cb63d14a99509d751f4be45063fec95", null ],
[ "get_value", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ab89eda435b4a68be578fcb5c3da73980", null ],
[ "get_wobbly_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ae1db0154ef901ed1e8fb581bb9df6899", null ],
[ "is_alive", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a3170300bc331577a1435bb238cf3faff", null ],
[ "is_integer", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#af47e11e9925fd5d3d8a43cf0f7773992", null ],
[ "is_negative", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a5083f65b71d7540ea785ec2b52604267", null ],
[ "is_null", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a5ed59f01a0d4ad253f0e1c1f995ed0a7", null ],
[ "is_scalar", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ac2ea8f4340d02d9062f81419da47500b", null ],
[ "is_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a4af5ddd8fc929969a4bb1e2a6e1c4ba7", null ],
[ "operator array", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a08307c0a5552cf8cb06613ed1de48eac", null ],
[ "operator bool", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a7df7ba140c9d6398fef2c6963da82230", null ],
[ "operator double", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ae052e098bfbfde398845060a8d4f572f", null ],
[ "operator int64_t", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a5d50aa0d396fc49855d3c0c571b07a25", null ],
[ "operator object", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a6cd27fe6dc9062b5380db757d49c3f7b", null ],
[ "operator raw_json_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ab691465a2a8c73b25aa7217324e06480", null ],
[ "operator std::string_view", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a81f19e6237c6a94ca3802ec5c8f334bd", null ],
[ "operator T", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ac2e6625884bd0fd12d93e3eff2214b1c", null ],
[ "operator uint64_t", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a847db7139319155ef5fa2d4af7063163", null ],
[ "operator value", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#ad12185e1993ebcad73eb5ce82f5de8f7", null ],
[ "raw_json", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#aa3a27654a19c386ad0c775cff258cf0c", null ],
[ "raw_json_token", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a58802e77b6fb25a3d2ec8a4d2482f9bf", null ],
[ "rewind", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a9cc053001e8246e6e65bbcbf3db035c4", null ],
[ "to_debug_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a9afdfb30ac2aacabce09a5c9d7fd375a", null ],
[ "type", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a77bdebf4d2105efdd123cbf0a4906b1e", null ],
[ "iter", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html#a969e1000319391cd2bee3aed88481500", null ]
];
@@ -0,0 +1,186 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>at</b>(size_t index) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>at_path</b>(std::string_view json_path) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>at_pointer</b>(std::string_view json_pointer) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>begin</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>count_elements</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>count_fields</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>current_depth</b>() const noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>current_location</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>document_reference</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>document_reference</b>(document &amp;d) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>document_reference</b>(const document_reference &amp;other) noexcept=default (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>end</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>find_field</b>(std::string_view key) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>find_field</b>(const char *key) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>find_field_unordered</b>(std::string_view key) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>find_field_unordered</b>(const char *key) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>for_each_at_path_with_wildcard</b>(std::string_view json_path, Func &amp;&amp;callback) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html#a171191c8a51168aacb8159795ff97910">get</a>(T &amp;out) &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(T &amp;out) &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_array</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_bool</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_double</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_double_in_string</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_int32</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_int64</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_int64_in_string</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_number</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_number_type</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_object</b>() &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_raw_json_string</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_string</b>(bool allow_replacement=false) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_string</b>(string_type &amp;receiver, bool allow_replacement=false) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_uint32</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html#a47b30548f71aca4317bdc4c6955cd719">get_uint64</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_uint64_in_string</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get_value</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get_wobbly_string</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_integer</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>is_negative</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_null</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>is_scalar</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>is_string</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator array</b>() &amp;noexcept(false) (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator bool</b>() noexcept(false) (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator document &amp;</b>() const noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator double</b>() noexcept(false) (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator int64_t</b>() noexcept(false) (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator object</b>() &amp;noexcept(false) (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator raw_json_string</b>() noexcept(false) (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator std::string_view</b>() noexcept(false) (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator T</b>() noexcept(false) (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator uint64_t</b>() noexcept(false) (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator value</b>() noexcept(false) (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const document_reference &amp;other) noexcept=default (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator[]</b>(std::string_view key) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator[]</b>(const char *key) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator[]</b>(int) &amp;noexcept=delete (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>raw_json</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>raw_json_token</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>rewind</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>type</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_reference</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,5 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference =
[
[ "get", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html#a171191c8a51168aacb8159795ff97910", null ],
[ "get_uint64", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__reference.html#a47b30548f71aca4317bdc4c6955cd719", null ]
];
@@ -0,0 +1,121 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#ae88253d9f6cef0dfc0bd05c45cdfc06f">begin</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#af12dc14d4d16b9f4f4602c738678cb0c">document_stream</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a0ac2a6ad0393eb4330b440c8c09290f2">document_stream</a>(document_stream &amp;&amp;other) noexcept=default</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a0a0d40ed80767c01232a6aacb6258b2b">end</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterator</b> typedef (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a6ec32f4aceb19fc554f04f6951979df4">operator=</a>(document_stream &amp;&amp;other) noexcept=default</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a43723c86c43ee3533a3278b5cd2fe2d0">size_in_bytes</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#acd3fd372dfd30fcce1d6a103c6682d0e">truncated_bytes</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~document_stream</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,365 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>A forward-only stream of documents.
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="generic_2ondemand_2document__stream_8h_source.html">document_stream.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">iterator</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a89f8275bd08dfca285a183840c8ebe27" id="r_a89f8275bd08dfca285a183840c8ebe27"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a89f8275bd08dfca285a183840c8ebe27">iterator</a> = <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">document_stream::iterator</a></td></tr>
<tr class="separator:a89f8275bd08dfca285a183840c8ebe27"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:af12dc14d4d16b9f4f4602c738678cb0c" id="r_af12dc14d4d16b9f4f4602c738678cb0c"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#af12dc14d4d16b9f4f4602c738678cb0c">document_stream</a> () noexcept</td></tr>
<tr class="memdesc:af12dc14d4d16b9f4f4602c738678cb0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct an uninitialized <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html" title="A forward-only stream of documents.">document_stream</a>. <br /></td></tr>
<tr class="separator:af12dc14d4d16b9f4f4602c738678cb0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ac2a6ad0393eb4330b440c8c09290f2" id="r_a0ac2a6ad0393eb4330b440c8c09290f2"><td class="memItemLeft" align="right" valign="top"><a id="a0ac2a6ad0393eb4330b440c8c09290f2" name="a0ac2a6ad0393eb4330b440c8c09290f2"></a>
simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><b>document_stream</b> (<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">document_stream</a> &amp;&amp;other) noexcept=default</td></tr>
<tr class="memdesc:a0ac2a6ad0393eb4330b440c8c09290f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move one <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html" title="A forward-only stream of documents.">document_stream</a> to another. <br /></td></tr>
<tr class="separator:a0ac2a6ad0393eb4330b440c8c09290f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ec32f4aceb19fc554f04f6951979df4" id="r_a6ec32f4aceb19fc554f04f6951979df4"><td class="memItemLeft" align="right" valign="top"><a id="a6ec32f4aceb19fc554f04f6951979df4" name="a6ec32f4aceb19fc554f04f6951979df4"></a>
simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">document_stream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">document_stream</a> &amp;&amp;other) noexcept=default</td></tr>
<tr class="memdesc:a6ec32f4aceb19fc554f04f6951979df4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move one <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html" title="A forward-only stream of documents.">document_stream</a> to another. <br /></td></tr>
<tr class="separator:a6ec32f4aceb19fc554f04f6951979df4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43723c86c43ee3533a3278b5cd2fe2d0" id="r_a43723c86c43ee3533a3278b5cd2fe2d0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a43723c86c43ee3533a3278b5cd2fe2d0">size_in_bytes</a> () const noexcept</td></tr>
<tr class="memdesc:a43723c86c43ee3533a3278b5cd2fe2d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the input size in bytes. <br /></td></tr>
<tr class="separator:a43723c86c43ee3533a3278b5cd2fe2d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd3fd372dfd30fcce1d6a103c6682d0e" id="r_acd3fd372dfd30fcce1d6a103c6682d0e"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#acd3fd372dfd30fcce1d6a103c6682d0e">truncated_bytes</a> () const noexcept</td></tr>
<tr class="memdesc:acd3fd372dfd30fcce1d6a103c6682d0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">After iterating through the stream, this method returns the number of bytes that were not parsed at the end of the stream. <br /></td></tr>
<tr class="separator:acd3fd372dfd30fcce1d6a103c6682d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae88253d9f6cef0dfc0bd05c45cdfc06f" id="r_ae88253d9f6cef0dfc0bd05c45cdfc06f"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#ae88253d9f6cef0dfc0bd05c45cdfc06f">begin</a> () noexcept</td></tr>
<tr class="memdesc:ae88253d9f6cef0dfc0bd05c45cdfc06f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start iterating the documents in the stream. <br /></td></tr>
<tr class="separator:ae88253d9f6cef0dfc0bd05c45cdfc06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a0d40ed80767c01232a6aacb6258b2b" id="r_a0a0d40ed80767c01232a6aacb6258b2b"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a0a0d40ed80767c01232a6aacb6258b2b">end</a> () noexcept</td></tr>
<tr class="memdesc:a0a0d40ed80767c01232a6aacb6258b2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The end of the stream, for iterator comparison purposes. <br /></td></tr>
<tr class="separator:a0a0d40ed80767c01232a6aacb6258b2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A forward-only stream of documents. </p>
<p>Produced by <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#af996682250c05ca237fe6db234bb9179" title="Parse a buffer containing many JSON documents.">parser::iterate_many</a>. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream_8h_source.html#l00079">79</a> of file <a class="el" href="generic_2ondemand_2document__stream_8h_source.html">document_stream.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a89f8275bd08dfca285a183840c8ebe27" name="a89f8275bd08dfca285a183840c8ebe27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89f8275bd08dfca285a183840c8ebe27">&#9670;&#160;</a></span>iterator</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a> = <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">document_stream::iterator</a></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream_8h_source.html#l00208">208</a> of file <a class="el" href="generic_2ondemand_2document__stream_8h_source.html">document_stream.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="af12dc14d4d16b9f4f4602c738678cb0c" name="af12dc14d4d16b9f4f4602c738678cb0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af12dc14d4d16b9f4f4602c738678cb0c">&#9670;&#160;</a></span>document_stream()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::document_stream </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct an uninitialized <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html" title="A forward-only stream of documents.">document_stream</a>. </p>
<div class="fragment"><div class="line"><a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">document_stream</a> docs;</div>
<div class="line"><span class="keyword">auto</span> error = <a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">parser</a>.<a class="code hl_function" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#af996682250c05ca237fe6db234bb9179">iterate_many</a>(json).get(docs);</div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_html"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream</a></div><div class="ttdoc">A forward-only stream of documents.</div><div class="ttdef"><b>Definition</b> <a href="generic_2ondemand_2document__stream_8h_source.html#l00079">document_stream.h:79</a></div></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser_html"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></div><div class="ttdoc">A JSON fragment iterator.</div><div class="ttdef"><b>Definition</b> <a href="generic_2ondemand_2parser_8h_source.html#l00037">parser.h:37</a></div></div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser_html_af996682250c05ca237fe6db234bb9179"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#af996682250c05ca237fe6db234bb9179">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser::iterate_many</a></div><div class="ttdeci">simdjson_result&lt; document_stream &gt; iterate_many(const uint8_t *buf, size_t len, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept</div><div class="ttdoc">Parse a buffer containing many JSON documents.</div><div class="ttdef"><b>Definition</b> <a href="generic_2ondemand_2parser-inl_8h_source.html#l00136">parser-inl.h:136</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00117">117</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<a id="a9b47c7cebf184d423c6f093009c42efb" name="a9b47c7cebf184d423c6f093009c42efb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b47c7cebf184d423c6f093009c42efb">&#9670;&#160;</a></span>~document_stream()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::~document_stream </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00130">130</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae88253d9f6cef0dfc0bd05c45cdfc06f" name="ae88253d9f6cef0dfc0bd05c45cdfc06f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae88253d9f6cef0dfc0bd05c45cdfc06f">&#9670;&#160;</a></span>begin()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">document_stream::iterator</a> simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Start iterating the documents in the stream. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00198">198</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<a id="a0a0d40ed80767c01232a6aacb6258b2b" name="a0a0d40ed80767c01232a6aacb6258b2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a0d40ed80767c01232a6aacb6258b2b">&#9670;&#160;</a></span>end()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">document_stream::iterator</a> simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::end </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The end of the stream, for iterator comparison purposes. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00204">204</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<a id="a43723c86c43ee3533a3278b5cd2fe2d0" name="a43723c86c43ee3533a3278b5cd2fe2d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43723c86c43ee3533a3278b5cd2fe2d0">&#9670;&#160;</a></span>size_in_bytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::size_in_bytes </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the input size in bytes. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00137">137</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<a id="acd3fd372dfd30fcce1d6a103c6682d0e" name="acd3fd372dfd30fcce1d6a103c6682d0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd3fd372dfd30fcce1d6a103c6682d0e">&#9670;&#160;</a></span>truncated_bytes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">size_t simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::truncated_bytes </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>After iterating through the stream, this method returns the number of bytes that were not parsed at the end of the stream. </p>
<p>If <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#acd3fd372dfd30fcce1d6a103c6682d0e" title="After iterating through the stream, this method returns the number of bytes that were not parsed at t...">truncated_bytes()</a> differs from zero, then the input was truncated maybe because incomplete JSON documents were found at the end of the stream. You may need to process the bytes in the interval [<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a43723c86c43ee3533a3278b5cd2fe2d0" title="Returns the input size in bytes.">size_in_bytes()</a>-<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#acd3fd372dfd30fcce1d6a103c6682d0e" title="After iterating through the stream, this method returns the number of bytes that were not parsed at t...">truncated_bytes()</a>, <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a43723c86c43ee3533a3278b5cd2fe2d0" title="Returns the input size in bytes.">size_in_bytes()</a>).</p>
<p>You should only call <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#acd3fd372dfd30fcce1d6a103c6682d0e" title="After iterating through the stream, this method returns the number of bytes that were not parsed at t...">truncated_bytes()</a> after streaming through all documents, like so:</p>
<p><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html" title="A forward-only stream of documents.">document_stream</a> stream = parser.iterate_many(json,window); for(auto &amp; doc : stream) { // do something with doc } size_t truncated = stream.truncated_bytes(); </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00141">141</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/simdjson/generic/ondemand/<a class="el" href="generic_2ondemand_2document__stream_8h_source.html">document_stream.h</a></li>
<li>include/simdjson/generic/ondemand/<a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacesimdjson.html">simdjson</a></li><li class="navelem"><b>SIMDJSON_IMPLEMENTATION</b></li><li class="navelem"><a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">ondemand</a></li><li class="navelem"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">document_stream</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,11 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream =
[
[ "iterator", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator" ],
[ "document_stream", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#af12dc14d4d16b9f4f4602c738678cb0c", null ],
[ "document_stream", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a0ac2a6ad0393eb4330b440c8c09290f2", null ],
[ "begin", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#ae88253d9f6cef0dfc0bd05c45cdfc06f", null ],
[ "end", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a0a0d40ed80767c01232a6aacb6258b2b", null ],
[ "operator=", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a6ec32f4aceb19fc554f04f6951979df4", null ],
[ "size_in_bytes", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#a43723c86c43ee3533a3278b5cd2fe2d0", null ],
[ "truncated_bytes", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html#acd3fd372dfd30fcce1d6a103c6682d0e", null ]
];
@@ -0,0 +1,125 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#ab6e957b9c6f9c15d6869be3642db0e6b">at_end</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>difference_type</b> typedef (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a4111757108422ffaf647024319205d5c">error</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a3b0ac5e3e64e53167a011afdd0b77345">iterator</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterator</b>(const iterator &amp;other) noexcept=default (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>iterator_category</b> typedef (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a05396b8e8322363b523b3bf9730a31f1">operator!=</a>(const iterator &amp;other) const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a5fe3ce985cc1921d5917667d6b25841b">operator*</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a03e0c8d93b86a18b10370d51b99548ef">operator++</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator==</b>(const iterator &amp;other) const noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>pointer</b> typedef (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>reference</b> typedef (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value_type</b> typedef (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,453 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a3e884d6b05a6d7004c054024c14f42d5" id="r_a3e884d6b05a6d7004c054024c14f42d5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a3e884d6b05a6d7004c054024c14f42d5">value_type</a> = <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">document</a> &gt;</td></tr>
<tr class="separator:a3e884d6b05a6d7004c054024c14f42d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58e963dfc405dfd62e06f3b158349ce7" id="r_a58e963dfc405dfd62e06f3b158349ce7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a58e963dfc405dfd62e06f3b158349ce7">reference</a> = <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; ondemand::document_reference &gt;</td></tr>
<tr class="separator:a58e963dfc405dfd62e06f3b158349ce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7d6d5b6b9b86a6532bb4dbe405fa74d" id="r_ae7d6d5b6b9b86a6532bb4dbe405fa74d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#ae7d6d5b6b9b86a6532bb4dbe405fa74d">pointer</a> = void</td></tr>
<tr class="separator:ae7d6d5b6b9b86a6532bb4dbe405fa74d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adee0c974b66f734b3b67f5600bbe594f" id="r_adee0c974b66f734b3b67f5600bbe594f"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#adee0c974b66f734b3b67f5600bbe594f">difference_type</a> = std::ptrdiff_t</td></tr>
<tr class="separator:adee0c974b66f734b3b67f5600bbe594f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafaa3ab05db7276e461c4da811aa821c" id="r_aafaa3ab05db7276e461c4da811aa821c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#aafaa3ab05db7276e461c4da811aa821c">iterator_category</a> = std::input_iterator_tag</td></tr>
<tr class="separator:aafaa3ab05db7276e461c4da811aa821c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3b0ac5e3e64e53167a011afdd0b77345" id="r_a3b0ac5e3e64e53167a011afdd0b77345"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a3b0ac5e3e64e53167a011afdd0b77345">iterator</a> () noexcept</td></tr>
<tr class="memdesc:a3b0ac5e3e64e53167a011afdd0b77345"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:a3b0ac5e3e64e53167a011afdd0b77345"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c8281c240888fea9bae856681dbbc61" id="r_a3c8281c240888fea9bae856681dbbc61"><td class="memItemLeft" align="right" valign="top"><a id="a3c8281c240888fea9bae856681dbbc61" name="a3c8281c240888fea9bae856681dbbc61"></a>
simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><b>iterator</b> (const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">iterator</a> &amp;other) noexcept=default</td></tr>
<tr class="separator:a3c8281c240888fea9bae856681dbbc61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fe3ce985cc1921d5917667d6b25841b" id="r_a5fe3ce985cc1921d5917667d6b25841b"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">reference</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a5fe3ce985cc1921d5917667d6b25841b">operator*</a> () noexcept</td></tr>
<tr class="memdesc:a5fe3ce985cc1921d5917667d6b25841b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current document (or error). <br /></td></tr>
<tr class="separator:a5fe3ce985cc1921d5917667d6b25841b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03e0c8d93b86a18b10370d51b99548ef" id="r_a03e0c8d93b86a18b10370d51b99548ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a03e0c8d93b86a18b10370d51b99548ef">operator++</a> () noexcept</td></tr>
<tr class="memdesc:a03e0c8d93b86a18b10370d51b99548ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advance to the next document (prefix). <br /></td></tr>
<tr class="separator:a03e0c8d93b86a18b10370d51b99548ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05396b8e8322363b523b3bf9730a31f1" id="r_a05396b8e8322363b523b3bf9730a31f1"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a05396b8e8322363b523b3bf9730a31f1">operator!=</a> (const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">iterator</a> &amp;other) const noexcept</td></tr>
<tr class="memdesc:a05396b8e8322363b523b3bf9730a31f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if we're at the end yet. <br /></td></tr>
<tr class="separator:a05396b8e8322363b523b3bf9730a31f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75cbcee49b0dbf4e420c9caeface3f30" id="r_a75cbcee49b0dbf4e420c9caeface3f30"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a75cbcee49b0dbf4e420c9caeface3f30">operator==</a> (const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">iterator</a> &amp;other) const noexcept</td></tr>
<tr class="separator:a75cbcee49b0dbf4e420c9caeface3f30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4111757108422ffaf647024319205d5c" id="r_a4111757108422ffaf647024319205d5c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a4111757108422ffaf647024319205d5c">error</a> () const noexcept</td></tr>
<tr class="memdesc:a4111757108422ffaf647024319205d5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns error of the stream (if any). <br /></td></tr>
<tr class="separator:a4111757108422ffaf647024319205d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6e957b9c6f9c15d6869be3642db0e6b" id="r_ab6e957b9c6f9c15d6869be3642db0e6b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#ab6e957b9c6f9c15d6869be3642db0e6b">at_end</a> () const noexcept</td></tr>
<tr class="memdesc:ab6e957b9c6f9c15d6869be3642db0e6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the iterator is at the end. <br /></td></tr>
<tr class="separator:ab6e957b9c6f9c15d6869be3642db0e6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream_8h_source.html#l00122">122</a> of file <a class="el" href="generic_2ondemand_2document__stream_8h_source.html">document_stream.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="adee0c974b66f734b3b67f5600bbe594f" name="adee0c974b66f734b3b67f5600bbe594f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adee0c974b66f734b3b67f5600bbe594f">&#9670;&#160;</a></span>difference_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::difference_type = std::ptrdiff_t</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream_8h_source.html#l00127">127</a> of file <a class="el" href="generic_2ondemand_2document__stream_8h_source.html">document_stream.h</a>.</p>
</div>
</div>
<a id="aafaa3ab05db7276e461c4da811aa821c" name="aafaa3ab05db7276e461c4da811aa821c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafaa3ab05db7276e461c4da811aa821c">&#9670;&#160;</a></span>iterator_category</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::iterator_category = std::input_iterator_tag</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream_8h_source.html#l00128">128</a> of file <a class="el" href="generic_2ondemand_2document__stream_8h_source.html">document_stream.h</a>.</p>
</div>
</div>
<a id="ae7d6d5b6b9b86a6532bb4dbe405fa74d" name="ae7d6d5b6b9b86a6532bb4dbe405fa74d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7d6d5b6b9b86a6532bb4dbe405fa74d">&#9670;&#160;</a></span>pointer</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::pointer = void</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream_8h_source.html#l00126">126</a> of file <a class="el" href="generic_2ondemand_2document__stream_8h_source.html">document_stream.h</a>.</p>
</div>
</div>
<a id="a58e963dfc405dfd62e06f3b158349ce7" name="a58e963dfc405dfd62e06f3b158349ce7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58e963dfc405dfd62e06f3b158349ce7">&#9670;&#160;</a></span>reference</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::reference</a> = <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt;ondemand::document_reference&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream_8h_source.html#l00125">125</a> of file <a class="el" href="generic_2ondemand_2document__stream_8h_source.html">document_stream.h</a>.</p>
</div>
</div>
<a id="a3e884d6b05a6d7004c054024c14f42d5" name="a3e884d6b05a6d7004c054024c14f42d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e884d6b05a6d7004c054024c14f42d5">&#9670;&#160;</a></span>value_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::value_type</a> = <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt;<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document.html">document</a>&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream_8h_source.html#l00124">124</a> of file <a class="el" href="generic_2ondemand_2document__stream_8h_source.html">document_stream.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a3b0ac5e3e64e53167a011afdd0b77345" name="a3b0ac5e3e64e53167a011afdd0b77345"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b0ac5e3e64e53167a011afdd0b77345">&#9670;&#160;</a></span>iterator()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::iterator </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Default constructor. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00146">146</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab6e957b9c6f9c15d6869be3642db0e6b" name="ab6e957b9c6f9c15d6869be3642db0e6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6e957b9c6f9c15d6869be3642db0e6b">&#9670;&#160;</a></span>at_end()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::at_end </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whether the iterator is at the end. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00185">185</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<a id="a4111757108422ffaf647024319205d5c" name="a4111757108422ffaf647024319205d5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4111757108422ffaf647024319205d5c">&#9670;&#160;</a></span>error()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::error </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns error of the stream (if any). </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00388">388</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<a id="a05396b8e8322363b523b3bf9730a31f1" name="a05396b8e8322363b523b3bf9730a31f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05396b8e8322363b523b3bf9730a31f1">&#9670;&#160;</a></span>operator!=()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">iterator</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if we're at the end yet. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">other</td><td>the end iterator to compare to. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00190">190</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<a id="a5fe3ce985cc1921d5917667d6b25841b" name="a5fe3ce985cc1921d5917667d6b25841b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fe3ce985cc1921d5917667d6b25841b">&#9670;&#160;</a></span>operator*()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; ondemand::document_reference &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::operator* </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the current document (or error). </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00154">154</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<a id="a03e0c8d93b86a18b10370d51b99548ef" name="a03e0c8d93b86a18b10370d51b99548ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03e0c8d93b86a18b10370d51b99548ef">&#9670;&#160;</a></span>operator++()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">document_stream::iterator</a> &amp; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::operator++ </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Advance to the next document (prefix). </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00158">158</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<a id="a75cbcee49b0dbf4e420c9caeface3f30" name="a75cbcee49b0dbf4e420c9caeface3f30"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75cbcee49b0dbf4e420c9caeface3f30">&#9670;&#160;</a></span>operator==()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::document_stream::iterator::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">iterator</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html#l00194">194</a> of file <a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/simdjson/generic/ondemand/<a class="el" href="generic_2ondemand_2document__stream_8h_source.html">document_stream.h</a></li>
<li>include/simdjson/generic/ondemand/<a class="el" href="generic_2ondemand_2document__stream-inl_8h_source.html">document_stream-inl.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacesimdjson.html">simdjson</a></li><li class="navelem"><b>SIMDJSON_IMPLEMENTATION</b></li><li class="navelem"><a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">ondemand</a></li><li class="navelem"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream.html">document_stream</a></li><li class="navelem"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html">iterator</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,9 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator =
[
[ "iterator", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a3b0ac5e3e64e53167a011afdd0b77345", null ],
[ "at_end", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#ab6e957b9c6f9c15d6869be3642db0e6b", null ],
[ "error", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a4111757108422ffaf647024319205d5c", null ],
[ "operator!=", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a05396b8e8322363b523b3bf9730a31f1", null ],
[ "operator*", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a5fe3ce985cc1921d5917667d6b25841b", null ],
[ "operator++", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1document__stream_1_1iterator.html#a03e0c8d93b86a18b10370d51b99548ef", null ]
];
@@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a598e64f8fff7f033b2e38057798799d9">escaped_key</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a9415aecf3526ad6081be495c9be61b43">field</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>field</b>(raw_json_string key, ondemand::value &amp;&amp;value) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a4f49d8e89feb3ca69cf85ce2aea80c0f">key</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a248d65ae4cf327f277a5a48ba7480386">key_raw_json_token</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>start</b>(value_iterator &amp;parent_iter) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>start</b>(const value_iterator &amp;parent_iter, raw_json_string key) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a421d8339349ee4f2618231f6106d24fa">unescaped_key</a>(bool allow_replacement=false) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a2a86abd90e539324f097674fb66e1520">unescaped_key</a>(string_type &amp;receiver, bool allow_replacement=false) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#ad5f688629f86f80dff49cab2270b1967">value</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>value</b>() &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,535 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>A JSON field (key/value pair) in an object.
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="field_8h_source.html">field.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field:</div>
<div class="dyncontent">
<div class="center">
<img src="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9415aecf3526ad6081be495c9be61b43" id="r_a9415aecf3526ad6081be495c9be61b43"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a9415aecf3526ad6081be495c9be61b43">field</a> () noexcept</td></tr>
<tr class="memdesc:a9415aecf3526ad6081be495c9be61b43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new invalid field. <br /></td></tr>
<tr class="separator:a9415aecf3526ad6081be495c9be61b43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a421d8339349ee4f2618231f6106d24fa" id="r_a421d8339349ee4f2618231f6106d24fa"><td class="memItemLeft" align="right" valign="top">simdjson_inline simdjson_warn_unused <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; std::string_view &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a421d8339349ee4f2618231f6106d24fa">unescaped_key</a> (bool allow_replacement=false) noexcept</td></tr>
<tr class="memdesc:a421d8339349ee4f2618231f6106d24fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the key as a string_view (for higher speed, consider raw_key). <br /></td></tr>
<tr class="separator:a421d8339349ee4f2618231f6106d24fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a86abd90e539324f097674fb66e1520" id="r_a2a86abd90e539324f097674fb66e1520"><td class="memTemplParams" colspan="2">template&lt;typename string_type &gt; </td></tr>
<tr class="memitem:a2a86abd90e539324f097674fb66e1520"><td class="memTemplItemLeft" align="right" valign="top">simdjson_inline simdjson_warn_unused <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a2a86abd90e539324f097674fb66e1520">unescaped_key</a> (string_type &amp;receiver, bool allow_replacement=false) noexcept</td></tr>
<tr class="memdesc:a2a86abd90e539324f097674fb66e1520"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the key as a string_view (for higher speed, consider raw_key). <br /></td></tr>
<tr class="separator:a2a86abd90e539324f097674fb66e1520"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f49d8e89feb3ca69cf85ce2aea80c0f" id="r_a4f49d8e89feb3ca69cf85ce2aea80c0f"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">raw_json_string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a4f49d8e89feb3ca69cf85ce2aea80c0f">key</a> () const noexcept</td></tr>
<tr class="memdesc:a4f49d8e89feb3ca69cf85ce2aea80c0f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the key as a <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a>. <br /></td></tr>
<tr class="separator:a4f49d8e89feb3ca69cf85ce2aea80c0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a248d65ae4cf327f277a5a48ba7480386" id="r_a248d65ae4cf327f277a5a48ba7480386"><td class="memItemLeft" align="right" valign="top">simdjson_inline std::string_view&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a248d65ae4cf327f277a5a48ba7480386">key_raw_json_token</a> () const noexcept</td></tr>
<tr class="memdesc:a248d65ae4cf327f277a5a48ba7480386"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the unprocessed key as a string_view. <br /></td></tr>
<tr class="separator:a248d65ae4cf327f277a5a48ba7480386"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a598e64f8fff7f033b2e38057798799d9" id="r_a598e64f8fff7f033b2e38057798799d9"><td class="memItemLeft" align="right" valign="top">simdjson_inline std::string_view&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a598e64f8fff7f033b2e38057798799d9">escaped_key</a> () const noexcept</td></tr>
<tr class="memdesc:a598e64f8fff7f033b2e38057798799d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the key as a string_view. <br /></td></tr>
<tr class="separator:a598e64f8fff7f033b2e38057798799d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5f688629f86f80dff49cab2270b1967" id="r_ad5f688629f86f80dff49cab2270b1967"><td class="memItemLeft" align="right" valign="top">simdjson_inline ondemand::value &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#ad5f688629f86f80dff49cab2270b1967">value</a> () &amp;noexcept</td></tr>
<tr class="memdesc:ad5f688629f86f80dff49cab2270b1967"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the field value. <br /></td></tr>
<tr class="separator:ad5f688629f86f80dff49cab2270b1967"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73a389f50a576d2a5eb315dbd8abced7" id="r_a73a389f50a576d2a5eb315dbd8abced7"><td class="memItemLeft" align="right" valign="top">simdjson_inline ondemand::value&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a73a389f50a576d2a5eb315dbd8abced7">value</a> () &amp;&amp;noexcept</td></tr>
<tr class="separator:a73a389f50a576d2a5eb315dbd8abced7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a7d565f0d79dec8bf19c307e464452650" id="r_a7d565f0d79dec8bf19c307e464452650"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a7d565f0d79dec8bf19c307e464452650">field</a> (<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">raw_json_string</a> <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a4f49d8e89feb3ca69cf85ce2aea80c0f">key</a>, ondemand::value &amp;&amp;<a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a>) noexcept</td></tr>
<tr class="separator:a7d565f0d79dec8bf19c307e464452650"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-methods" name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:a2a8ab3049f858bec8ecff87104a0d4a1" id="r_a2a8ab3049f858bec8ecff87104a0d4a1"><td class="memItemLeft" align="right" valign="top">static simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">field</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a2a8ab3049f858bec8ecff87104a0d4a1">start</a> (value_iterator &amp;parent_iter) noexcept</td></tr>
<tr class="separator:a2a8ab3049f858bec8ecff87104a0d4a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3de7e3a33931a9d1a8891e2656f68a97" id="r_a3de7e3a33931a9d1a8891e2656f68a97"><td class="memItemLeft" align="right" valign="top">static simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">field</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a3de7e3a33931a9d1a8891e2656f68a97">start</a> (const value_iterator &amp;parent_iter, <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">raw_json_string</a> <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a4f49d8e89feb3ca69cf85ce2aea80c0f">key</a>) noexcept</td></tr>
<tr class="separator:a3de7e3a33931a9d1a8891e2656f68a97"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A JSON field (key/value pair) in an object. </p>
<p>Returned from object iteration.</p>
<p>Extends from std::pair&lt;raw_json_string, value&gt; so you can use C++ algorithms that rely on pairs. </p>
<p class="definition">Definition at line <a class="el" href="field_8h_source.html#l00022">22</a> of file <a class="el" href="field_8h_source.html">field.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a9415aecf3526ad6081be495c9be61b43" name="a9415aecf3526ad6081be495c9be61b43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9415aecf3526ad6081be495c9be61b43">&#9670;&#160;</a></span>field() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::field </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new invalid field. </p>
<p>Exists so you can declare a variable and later assign to it before use. </p>
<p class="definition">Definition at line <a class="el" href="field-inl_8h_source.html#l00016">16</a> of file <a class="el" href="field-inl_8h_source.html">field-inl.h</a>.</p>
</div>
</div>
<a id="a7d565f0d79dec8bf19c307e464452650" name="a7d565f0d79dec8bf19c307e464452650"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d565f0d79dec8bf19c307e464452650">&#9670;&#160;</a></span>field() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::field </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">raw_json_string</a>&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ondemand::value &amp;&amp;&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="field-inl_8h_source.html#l00018">18</a> of file <a class="el" href="field-inl_8h_source.html">field-inl.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a598e64f8fff7f033b2e38057798799d9" name="a598e64f8fff7f033b2e38057798799d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a598e64f8fff7f033b2e38057798799d9">&#9670;&#160;</a></span>escaped_key()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline std::string_view simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::escaped_key </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the key as a string_view. </p>
<p>This does not include the quotes and the string is unprocessed key so it may contain escape characters (e.g., \uXXXX or <br />
). It does not count as a consumption of the content: you can safely call it repeatedly. Use <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a421d8339349ee4f2618231f6106d24fa" title="Get the key as a string_view (for higher speed, consider raw_key).">unescaped_key()</a> to get the unescaped key. </p>
<p class="definition">Definition at line <a class="el" href="field-inl_8h_source.html#l00060">60</a> of file <a class="el" href="field-inl_8h_source.html">field-inl.h</a>.</p>
</div>
</div>
<a id="a4f49d8e89feb3ca69cf85ce2aea80c0f" name="a4f49d8e89feb3ca69cf85ce2aea80c0f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f49d8e89feb3ca69cf85ce2aea80c0f">&#9670;&#160;</a></span>key()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">raw_json_string</a> simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::key </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the key as a <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a>. </p>
<p>Can be used for direct comparison with an unescaped C string: e.g., <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a4f49d8e89feb3ca69cf85ce2aea80c0f" title="Get the key as a raw_json_string.">key()</a> == "test". This does not count as consumption of the content: you can safely call it repeatedly. See <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a598e64f8fff7f033b2e38057798799d9" title="Get the key as a string_view.">escaped_key()</a> for a similar function which returns a more convenient std::string_view result. </p>
<p class="definition">Definition at line <a class="el" href="field-inl_8h_source.html#l00049">49</a> of file <a class="el" href="field-inl_8h_source.html">field-inl.h</a>.</p>
</div>
</div>
<a id="a248d65ae4cf327f277a5a48ba7480386" name="a248d65ae4cf327f277a5a48ba7480386"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a248d65ae4cf327f277a5a48ba7480386">&#9670;&#160;</a></span>key_raw_json_token()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline std::string_view simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::key_raw_json_token </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the unprocessed key as a string_view. </p>
<p>This includes the quotes and may include some spaces after the last quote. This does not count as consumption of the content: you can safely call it repeatedly. See <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a598e64f8fff7f033b2e38057798799d9" title="Get the key as a string_view.">escaped_key()</a>. </p>
<p class="definition">Definition at line <a class="el" href="field-inl_8h_source.html#l00055">55</a> of file <a class="el" href="field-inl_8h_source.html">field-inl.h</a>.</p>
</div>
</div>
<a id="a3de7e3a33931a9d1a8891e2656f68a97" name="a3de7e3a33931a9d1a8891e2656f68a97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3de7e3a33931a9d1a8891e2656f68a97">&#9670;&#160;</a></span>start() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">field</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::start </td>
<td>(</td>
<td class="paramtype">const value_iterator &amp;&#160;</td>
<td class="paramname"><em>parent_iter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">raw_json_string</a>&#160;</td>
<td class="paramname"><em>key</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="field-inl_8h_source.html#l00030">30</a> of file <a class="el" href="field-inl_8h_source.html">field-inl.h</a>.</p>
</div>
</div>
<a id="a2a8ab3049f858bec8ecff87104a0d4a1" name="a2a8ab3049f858bec8ecff87104a0d4a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a8ab3049f858bec8ecff87104a0d4a1">&#9670;&#160;</a></span>start() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">field</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::start </td>
<td>(</td>
<td class="paramtype">value_iterator &amp;&#160;</td>
<td class="paramname"><em>parent_iter</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="field-inl_8h_source.html#l00023">23</a> of file <a class="el" href="field-inl_8h_source.html">field-inl.h</a>.</p>
</div>
</div>
<a id="a421d8339349ee4f2618231f6106d24fa" name="a421d8339349ee4f2618231f6106d24fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a421d8339349ee4f2618231f6106d24fa">&#9670;&#160;</a></span>unescaped_key() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson_warn_unused <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; std::string_view &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::unescaped_key </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>allow_replacement</em> = <code>false</code></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the key as a string_view (for higher speed, consider raw_key). </p>
<p>We deliberately use a more cumbersome name (unescaped_key) to force users to think twice about using it.</p>
<p>This consumes the key: once you have called <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a421d8339349ee4f2618231f6106d24fa" title="Get the key as a string_view (for higher speed, consider raw_key).">unescaped_key()</a>, you cannot call it again nor can you call <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a4f49d8e89feb3ca69cf85ce2aea80c0f" title="Get the key as a raw_json_string.">key()</a>. </p>
<p class="definition">Definition at line <a class="el" href="field-inl_8h_source.html#l00034">34</a> of file <a class="el" href="field-inl_8h_source.html">field-inl.h</a>.</p>
</div>
</div>
<a id="a2a86abd90e539324f097674fb66e1520" name="a2a86abd90e539324f097674fb66e1520"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a86abd90e539324f097674fb66e1520">&#9670;&#160;</a></span>unescaped_key() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename string_type &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson_warn_unused <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::unescaped_key </td>
<td>(</td>
<td class="paramtype">string_type &amp;&#160;</td>
<td class="paramname"><em>receiver</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>allow_replacement</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the key as a string_view (for higher speed, consider raw_key). </p>
<p>We deliberately use a more cumbersome name (unescaped_key) to force users to think twice about using it. The content is stored in the receiver.</p>
<p>This consumes the key: once you have called <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a421d8339349ee4f2618231f6106d24fa" title="Get the key as a string_view (for higher speed, consider raw_key).">unescaped_key()</a>, you cannot call it again nor can you call <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a4f49d8e89feb3ca69cf85ce2aea80c0f" title="Get the key as a raw_json_string.">key()</a>. </p>
<p class="definition">Definition at line <a class="el" href="field-inl_8h_source.html#l00042">42</a> of file <a class="el" href="field-inl_8h_source.html">field-inl.h</a>.</p>
</div>
</div>
<a id="a73a389f50a576d2a5eb315dbd8abced7" name="a73a389f50a576d2a5eb315dbd8abced7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73a389f50a576d2a5eb315dbd8abced7">&#9670;&#160;</a></span>value() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::value </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> &amp;&amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="field-inl_8h_source.html#l00071">71</a> of file <a class="el" href="field-inl_8h_source.html">field-inl.h</a>.</p>
</div>
</div>
<a id="ad5f688629f86f80dff49cab2270b1967" name="ad5f688629f86f80dff49cab2270b1967"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5f688629f86f80dff49cab2270b1967">&#9670;&#160;</a></span>value() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &amp; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::field::value </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> &amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the field value. </p>
<p class="definition">Definition at line <a class="el" href="field-inl_8h_source.html#l00067">67</a> of file <a class="el" href="field-inl_8h_source.html">field-inl.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/simdjson/generic/ondemand/<a class="el" href="field_8h_source.html">field.h</a></li>
<li>include/simdjson/generic/ondemand/<a class="el" href="field-inl_8h_source.html">field-inl.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacesimdjson.html">simdjson</a></li><li class="navelem"><b>SIMDJSON_IMPLEMENTATION</b></li><li class="navelem"><a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">ondemand</a></li><li class="navelem"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">field</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,10 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field =
[
[ "field", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a9415aecf3526ad6081be495c9be61b43", null ],
[ "escaped_key", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a598e64f8fff7f033b2e38057798799d9", null ],
[ "key", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a4f49d8e89feb3ca69cf85ce2aea80c0f", null ],
[ "key_raw_json_token", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a248d65ae4cf327f277a5a48ba7480386", null ],
[ "unescaped_key", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a421d8339349ee4f2618231f6106d24fa", null ],
[ "unescaped_key", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#a2a86abd90e539324f097674fb66e1520", null ],
[ "value", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html#ad5f688629f86f80dff49cab2270b1967", null ]
];
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,136 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ae1bb196ae5f2aeabd8d95accdcd73498">at_path</a>(std::string_view json_path) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ae3d80f8e7f31c319fe6ee09c0860df83">at_pointer</a>(std::string_view json_pointer) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aeb4a70edd1808f36210460ed410e8dae">begin</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a7eead0332d195ce78559dac428ae027d">consume</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aef6872e07743217fe2e2abe790a21d4c">count_fields</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>end</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aa25020165cc5a191026a243a10da6558">find_field</a>(std::string_view key) &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>find_field</b>(std::string_view key) &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>find_field_raw</b>(const std::string_view key) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a55d8bd31e2f5e6b10986af2f48a544fc">find_field_unordered</a>(std::string_view key) &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>find_field_unordered</b>(std::string_view key) &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a0b7dbef786eba3eada6fb461518b0df1">for_each_at_path_with_wildcard</a>(std::string_view json_path, Func &amp;&amp;callback) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ad210f9115679a625ada433add55eff51">is_empty</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>iter</b> (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a034b27d7ff75832a574c2069af267111">object</a>() noexcept=default</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>object</b>(const value_iterator &amp;iter) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator[]</b>(std::string_view key) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator[]</b>(std::string_view key) &amp;&amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a71600033791f9c6bbc9f40fb2f82fdc8">raw_json</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ae0bc6b9803e0c989e9defaf3edcaaae4">reset</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>resume</b>(const value_iterator &amp;iter) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>start</b>(value_iterator &amp;iter) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>start_root</b>(value_iterator &amp;iter) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>started</b>(value_iterator &amp;iter) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,950 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>A forward-only JSON object field iterator.
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="generic_2ondemand_2object_8h_source.html">object.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a034b27d7ff75832a574c2069af267111" id="r_a034b27d7ff75832a574c2069af267111"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a034b27d7ff75832a574c2069af267111">object</a> () noexcept=default</td></tr>
<tr class="memdesc:a034b27d7ff75832a574c2069af267111"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new invalid object. <br /></td></tr>
<tr class="separator:a034b27d7ff75832a574c2069af267111"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb4a70edd1808f36210460ed410e8dae" id="r_aeb4a70edd1808f36210460ed410e8dae"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aeb4a70edd1808f36210460ed410e8dae">begin</a> () noexcept</td></tr>
<tr class="memdesc:aeb4a70edd1808f36210460ed410e8dae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an iterator to the start of the object. <br /></td></tr>
<tr class="separator:aeb4a70edd1808f36210460ed410e8dae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad742392a9223e096f1be16b7bbf20ca8" id="r_ad742392a9223e096f1be16b7bbf20ca8"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ad742392a9223e096f1be16b7bbf20ca8">end</a> () noexcept</td></tr>
<tr class="separator:ad742392a9223e096f1be16b7bbf20ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa25020165cc5a191026a243a10da6558" id="r_aa25020165cc5a191026a243a10da6558"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aa25020165cc5a191026a243a10da6558">find_field</a> (std::string_view key) &amp;noexcept</td></tr>
<tr class="memdesc:aa25020165cc5a191026a243a10da6558"><td class="mdescLeft">&#160;</td><td class="mdescRight">Look up a field by name on an object (order-sensitive). <br /></td></tr>
<tr class="separator:aa25020165cc5a191026a243a10da6558"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6b2e9769ce75fc625aa91504f26d82b" id="r_ab6b2e9769ce75fc625aa91504f26d82b"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ab6b2e9769ce75fc625aa91504f26d82b">find_field</a> (std::string_view key) &amp;&amp;noexcept</td></tr>
<tr class="separator:ab6b2e9769ce75fc625aa91504f26d82b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55d8bd31e2f5e6b10986af2f48a544fc" id="r_a55d8bd31e2f5e6b10986af2f48a544fc"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a55d8bd31e2f5e6b10986af2f48a544fc">find_field_unordered</a> (std::string_view key) &amp;noexcept</td></tr>
<tr class="memdesc:a55d8bd31e2f5e6b10986af2f48a544fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Look up a field by name on an object, without regard to key order. <br /></td></tr>
<tr class="separator:a55d8bd31e2f5e6b10986af2f48a544fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbe7322f665109b9816c5bcb9c10a9cb" id="r_adbe7322f665109b9816c5bcb9c10a9cb"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#adbe7322f665109b9816c5bcb9c10a9cb">find_field_unordered</a> (std::string_view key) &amp;&amp;noexcept</td></tr>
<tr class="separator:adbe7322f665109b9816c5bcb9c10a9cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f1cd920980a8bc0330d2c7f1f0be74b" id="r_a9f1cd920980a8bc0330d2c7f1f0be74b"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a9f1cd920980a8bc0330d2c7f1f0be74b">operator[]</a> (std::string_view key) &amp;noexcept</td></tr>
<tr class="separator:a9f1cd920980a8bc0330d2c7f1f0be74b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60ad1270b86c6a0c27c03b685aec9666" id="r_a60ad1270b86c6a0c27c03b685aec9666"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a60ad1270b86c6a0c27c03b685aec9666">operator[]</a> (std::string_view key) &amp;&amp;noexcept</td></tr>
<tr class="separator:a60ad1270b86c6a0c27c03b685aec9666"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3d80f8e7f31c319fe6ee09c0860df83" id="r_ae3d80f8e7f31c319fe6ee09c0860df83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ae3d80f8e7f31c319fe6ee09c0860df83">at_pointer</a> (std::string_view json_pointer) noexcept</td></tr>
<tr class="memdesc:ae3d80f8e7f31c319fe6ee09c0860df83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value associated with the given JSON pointer. <br /></td></tr>
<tr class="separator:ae3d80f8e7f31c319fe6ee09c0860df83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1bb196ae5f2aeabd8d95accdcd73498" id="r_ae1bb196ae5f2aeabd8d95accdcd73498"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ae1bb196ae5f2aeabd8d95accdcd73498">at_path</a> (std::string_view json_path) noexcept</td></tr>
<tr class="memdesc:ae1bb196ae5f2aeabd8d95accdcd73498"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value associated with the given JSONPath expression. <br /></td></tr>
<tr class="separator:ae1bb196ae5f2aeabd8d95accdcd73498"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b7dbef786eba3eada6fb461518b0df1" id="r_a0b7dbef786eba3eada6fb461518b0df1"><td class="memTemplParams" colspan="2">template&lt;typename Func &gt; </td></tr>
<tr class="memitem:a0b7dbef786eba3eada6fb461518b0df1"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a0b7dbef786eba3eada6fb461518b0df1">for_each_at_path_with_wildcard</a> (std::string_view json_path, Func &amp;&amp;callback) noexcept</td></tr>
<tr class="memdesc:a0b7dbef786eba3eada6fb461518b0df1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call the provided callback for each value matching the given JSONPath expression with wildcard support. <br /></td></tr>
<tr class="separator:a0b7dbef786eba3eada6fb461518b0df1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0bc6b9803e0c989e9defaf3edcaaae4" id="r_ae0bc6b9803e0c989e9defaf3edcaaae4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ae0bc6b9803e0c989e9defaf3edcaaae4">reset</a> () &amp;noexcept</td></tr>
<tr class="memdesc:ae0bc6b9803e0c989e9defaf3edcaaae4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the iterator so that we are pointing back at the beginning of the object. <br /></td></tr>
<tr class="separator:ae0bc6b9803e0c989e9defaf3edcaaae4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad210f9115679a625ada433add55eff51" id="r_ad210f9115679a625ada433add55eff51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ad210f9115679a625ada433add55eff51">is_empty</a> () &amp;noexcept</td></tr>
<tr class="memdesc:ad210f9115679a625ada433add55eff51"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method scans the beginning of the object and checks whether the object is empty. <br /></td></tr>
<tr class="separator:ad210f9115679a625ada433add55eff51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef6872e07743217fe2e2abe790a21d4c" id="r_aef6872e07743217fe2e2abe790a21d4c"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; size_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aef6872e07743217fe2e2abe790a21d4c">count_fields</a> () &amp;noexcept</td></tr>
<tr class="memdesc:aef6872e07743217fe2e2abe790a21d4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method scans the object and counts the number of key-value pairs. <br /></td></tr>
<tr class="separator:aef6872e07743217fe2e2abe790a21d4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71600033791f9c6bbc9f40fb2f82fdc8" id="r_a71600033791f9c6bbc9f40fb2f82fdc8"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; std::string_view &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a71600033791f9c6bbc9f40fb2f82fdc8">raw_json</a> () noexcept</td></tr>
<tr class="memdesc:a71600033791f9c6bbc9f40fb2f82fdc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Consumes the object and returns a string_view instance corresponding to the object as represented in JSON. <br /></td></tr>
<tr class="separator:a71600033791f9c6bbc9f40fb2f82fdc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a7eead0332d195ce78559dac428ae027d" id="r_a7eead0332d195ce78559dac428ae027d"><td class="memItemLeft" align="right" valign="top">simdjson_warn_unused simdjson_inline <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a7eead0332d195ce78559dac428ae027d">consume</a> () noexcept</td></tr>
<tr class="memdesc:a7eead0332d195ce78559dac428ae027d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Go to the end of the object, no matter where you are right now. <br /></td></tr>
<tr class="separator:a7eead0332d195ce78559dac428ae027d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6724eb440d3fb40018a9a47c715352ed" id="r_a6724eb440d3fb40018a9a47c715352ed"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a6724eb440d3fb40018a9a47c715352ed">object</a> (const value_iterator &amp;iter) noexcept</td></tr>
<tr class="separator:a6724eb440d3fb40018a9a47c715352ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affa38e7fd0778672e7dd02916a97ad21" id="r_affa38e7fd0778672e7dd02916a97ad21"><td class="memItemLeft" align="right" valign="top"><a id="affa38e7fd0778672e7dd02916a97ad21" name="affa38e7fd0778672e7dd02916a97ad21"></a>
simdjson_warn_unused simdjson_inline <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a>&#160;</td><td class="memItemRight" valign="bottom"><b>find_field_raw</b> (const std::string_view key) noexcept</td></tr>
<tr class="separator:affa38e7fd0778672e7dd02916a97ad21"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-static-methods" name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:ad6622bf80ec4e5e8aa6addbc5c6f04af" id="r_ad6622bf80ec4e5e8aa6addbc5c6f04af"><td class="memItemLeft" align="right" valign="top">static simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">object</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ad6622bf80ec4e5e8aa6addbc5c6f04af">start</a> (value_iterator &amp;iter) noexcept</td></tr>
<tr class="separator:ad6622bf80ec4e5e8aa6addbc5c6f04af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accf62d325d914b4a3af025447bbb6fe8" id="r_accf62d325d914b4a3af025447bbb6fe8"><td class="memItemLeft" align="right" valign="top">static simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">object</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#accf62d325d914b4a3af025447bbb6fe8">start_root</a> (value_iterator &amp;iter) noexcept</td></tr>
<tr class="separator:accf62d325d914b4a3af025447bbb6fe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa185ba38bbd7a8ffd1a877d2796a2358" id="r_aa185ba38bbd7a8ffd1a877d2796a2358"><td class="memItemLeft" align="right" valign="top">static simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">object</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aa185ba38bbd7a8ffd1a877d2796a2358">started</a> (value_iterator &amp;iter) noexcept</td></tr>
<tr class="separator:aa185ba38bbd7a8ffd1a877d2796a2358"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aece44530d6e6181a81221b2137601975" id="r_aece44530d6e6181a81221b2137601975"><td class="memItemLeft" align="right" valign="top">static simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">object</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aece44530d6e6181a81221b2137601975">resume</a> (const value_iterator &amp;iter) noexcept</td></tr>
<tr class="separator:aece44530d6e6181a81221b2137601975"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a62b96abab9d1338d5f5e513f90f8d7d0" id="r_a62b96abab9d1338d5f5e513f90f8d7d0"><td class="memItemLeft" align="right" valign="top">value_iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a62b96abab9d1338d5f5e513f90f8d7d0">iter</a> {}</td></tr>
<tr class="separator:a62b96abab9d1338d5f5e513f90f8d7d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A forward-only JSON object field iterator. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object_8h_source.html#l00021">21</a> of file <a class="el" href="generic_2ondemand_2object_8h_source.html">object.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a034b27d7ff75832a574c2069af267111" name="a034b27d7ff75832a574c2069af267111"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a034b27d7ff75832a574c2069af267111">&#9670;&#160;</a></span>object() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::object </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new invalid object. </p>
<p>Exists so you can declare a variable and later assign to it before use. </p>
</div>
</div>
<a id="a6724eb440d3fb40018a9a47c715352ed" name="a6724eb440d3fb40018a9a47c715352ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6724eb440d3fb40018a9a47c715352ed">&#9670;&#160;</a></span>object() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::object </td>
<td>(</td>
<td class="paramtype">const value_iterator &amp;&#160;</td>
<td class="paramname"><em>iter</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00117">117</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae1bb196ae5f2aeabd8d95accdcd73498" name="ae1bb196ae5f2aeabd8d95accdcd73498"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1bb196ae5f2aeabd8d95accdcd73498">&#9670;&#160;</a></span>at_path()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::at_path </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>json_path</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the value associated with the given JSONPath expression. </p>
<p>We only support JSONPath queries that trivially convertible to JSON Pointer queries: key names and array indices.</p>
<dl class="section return"><dt>Returns</dt><dd>The value associated with the given JSONPath expression, or:<ul>
<li>INVALID_JSON_POINTER if the JSONPath to JSON Pointer conversion fails</li>
<li>NO_SUCH_FIELD if a field does not exist in an object</li>
<li>INDEX_OUT_OF_BOUNDS if an array index is larger than an array length</li>
<li>INCORRECT_TYPE if a non-integer is used to access an array </li>
</ul>
</dd></dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00172">172</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="ae3d80f8e7f31c319fe6ee09c0860df83" name="ae3d80f8e7f31c319fe6ee09c0860df83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3d80f8e7f31c319fe6ee09c0860df83">&#9670;&#160;</a></span>at_pointer()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::at_pointer </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>json_pointer</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the value associated with the given JSON pointer. </p>
<p>We use the RFC 6901 <a href="https://tools.ietf.org/html/rfc6901">https://tools.ietf.org/html/rfc6901</a> standard, interpreting the current node as the root of its own JSON document.</p>
<p><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html" title="A JSON fragment iterator.">ondemand::parser</a> parser; auto json = R"({ "foo": { "a": [ 10, 20, 30 ] }})"_padded; auto doc = parser.iterate(json); doc.at_pointer("/foo/a/1") == 20</p>
<p>It is allowed for a key to be the empty string:</p>
<p><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html" title="A JSON fragment iterator.">ondemand::parser</a> parser; auto json = R"({ "": { "a": [ 10, 20, 30 ] }})"_padded; auto doc = parser.iterate(json); doc.at_pointer("//a/1") == 20</p>
<p>Note that <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ae3d80f8e7f31c319fe6ee09c0860df83" title="Get the value associated with the given JSON pointer.">at_pointer()</a> called on the document automatically calls the document's rewind method between each call. It invalidates all previously accessed arrays, objects and values that have not been consumed. Yet it is not the case when calling at_pointer on an object instance: there is no rewind and no invalidation.</p>
<p>You may call at_pointer more than once on an object, but each time the pointer is advanced to be within the value matched by the key indicated by the JSON pointer query. Thus any preceding key (as well as the current key) can no longer be used with following JSON pointer calls.</p>
<p>Also note that <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ae3d80f8e7f31c319fe6ee09c0860df83" title="Get the value associated with the given JSON pointer.">at_pointer()</a> relies on <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aa25020165cc5a191026a243a10da6558" title="Look up a field by name on an object (order-sensitive).">find_field()</a> which implies that we do not unescape keys when matching.</p>
<dl class="section return"><dt>Returns</dt><dd>The value associated with the given JSON pointer, or:<ul>
<li>NO_SUCH_FIELD if a field does not exist in an object</li>
<li>INDEX_OUT_OF_BOUNDS if an array index is larger than an array length</li>
<li>INCORRECT_TYPE if a non-integer is used to access an array</li>
<li>INVALID_JSON_POINTER if the JSON pointer is invalid and cannot be parsed </li>
</ul>
</dd></dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00132">132</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="aeb4a70edd1808f36210460ed410e8dae" name="aeb4a70edd1808f36210460ed410e8dae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb4a70edd1808f36210460ed410e8dae">&#9670;&#160;</a></span>begin()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get an iterator to the start of the object. </p>
<p>We recommend using a range-based for loop.</p>
<p>Using the iterator directly is also possible but error-prone and discouraged. In particular, you must dereference the iterator exactly once per iteration (before calling '++'). Doing otherwise is unsafe and may lead to errors. You are responsible for ensuring </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00122">122</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="a7eead0332d195ce78559dac428ae027d" name="a7eead0332d195ce78559dac428ae027d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7eead0332d195ce78559dac428ae027d">&#9670;&#160;</a></span>consume()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_warn_unused simdjson_inline <a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::consume </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Go to the end of the object, no matter where you are right now. </p>
<p>whenever you are pointing at a key, calling skip_child() is unsafe because you will hit a string and you will assume that it is string value, and this mistake will lead you to make bad depth computation.</p>
<p>We want to 'consume' the key. We could really just do _json_iter-&gt;return_current_and_advance(); at this point, but, for clarity, we will use the high-level API to eat the key. We assume that the compiler optimizes away most of the work.</p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00074">74</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="aef6872e07743217fe2e2abe790a21d4c" name="aef6872e07743217fe2e2abe790a21d4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef6872e07743217fe2e2abe790a21d4c">&#9670;&#160;</a></span>count_fields()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; size_t &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::count_fields </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> &amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method scans the object and counts the number of key-value pairs. </p>
<p>The count_fields method should always be called before you have begun iterating through the object: it is expected that you are pointing at the beginning of the object. The runtime complexity is linear in the size of the object. After calling this function, if successful, the object is 'rewinded' at its beginning as if it had never been accessed. If the JSON is malformed (e.g., there is a missing comma), then an error is returned and it is no longer safe to continue.</p>
<p>To check that an object is empty, it is more performant to use the <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ad210f9115679a625ada433add55eff51" title="This method scans the beginning of the object and checks whether the object is empty.">is_empty()</a> method.</p>
<p>Performance hint: You should only call <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aef6872e07743217fe2e2abe790a21d4c" title="This method scans the object and counts the number of key-value pairs.">count_fields()</a> as a last resort as it may require scanning the document twice or more. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00216">216</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="ad742392a9223e096f1be16b7bbf20ca8" name="ad742392a9223e096f1be16b7bbf20ca8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad742392a9223e096f1be16b7bbf20ca8">&#9670;&#160;</a></span>end()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::end </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00128">128</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="ab6b2e9769ce75fc625aa91504f26d82b" name="ab6b2e9769ce75fc625aa91504f26d82b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6b2e9769ce75fc625aa91504f26d82b">&#9670;&#160;</a></span>find_field() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::find_field </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> &amp;&amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00056">56</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="aa25020165cc5a191026a243a10da6558" name="aa25020165cc5a191026a243a10da6558"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa25020165cc5a191026a243a10da6558">&#9670;&#160;</a></span>find_field() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::find_field </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> &amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Look up a field by name on an object (order-sensitive). </p>
<p>By order-sensitive, we mean that fields must be accessed in the order they appear in the JSON text (although you can skip fields). See <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a55d8bd31e2f5e6b10986af2f48a544fc" title="Look up a field by name on an object, without regard to key order.">find_field_unordered()</a> and operator[] for an order-insensitive version.</p>
<p>The following code reads z, then y, then x, and thus will not retrieve x or y if fed the JSON <code>{ "x": 1, "y": 2, "z": 3 }</code>:</p>
<div class="fragment"><div class="line">simdjson::ondemand::parser <a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">parser</a>;</div>
<div class="line"><span class="keyword">auto</span> obj = <a class="code hl_class" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">parser</a>.parse(R<span class="stringliteral">&quot;( { &quot;x&quot;: 1, &quot;y&quot;: 2, &quot;z&quot;: 3 } )&quot;_padded);</span></div>
<div class="line"><span class="stringliteral"></span><span class="keywordtype">double</span> z = obj.find_field(<span class="stringliteral">&quot;z&quot;</span>);</div>
<div class="line"><span class="keywordtype">double</span> y = obj.find_field(<span class="stringliteral">&quot;y&quot;</span>);</div>
<div class="line"><span class="keywordtype">double</span> x = obj.find_field(<span class="stringliteral">&quot;x&quot;</span>);</div>
<div class="ttc" id="aclasssimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser_html"><div class="ttname"><a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></div><div class="ttdoc">A JSON fragment iterator.</div><div class="ttdef"><b>Definition</b> <a href="generic_2ondemand_2parser_8h_source.html#l00037">parser.h:37</a></div></div>
</div><!-- fragment --><p> If you have multiple fields with a matching key ({"x": 1, "x": 1}) be mindful that only one field is returned.</p>
<p><b>Raw Keys:</b> The lookup will be done against the <em>raw</em> key, and will not unescape keys. e.g. <code>object["a"]</code> will match <code>{ "a": 1 }</code>, but will <em>not</em> match <code>{ "\u0061": 1 }</code>.</p>
<p>You must consume the fields on an object one at a time. A request for a new key invalidates previous field values: it makes them unsafe. The value instance you get from <code>content["bids"]</code> becomes invalid when you call <code>content["asks"]</code>. The array given by content["bids"].get_array() should not be accessed after you have called content["asks"].get_array(). You can detect such mistakes by first compiling and running the code in Debug mode (or with the macro <code>SIMDJSON_DEVELOPMENT_CHECKS</code> set to 1): an OUT_OF_ORDER_ITERATION error is generated.</p>
<p>You are expected to access keys only once. You should access the value corresponding to a key a single time. Doing object["mykey"].to_string() and then again object["mykey"].to_string() is an error.</p>
<p>If you expect to have keys with escape characters, please review our documentation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>The key to look up. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value of the field, or NO_SUCH_FIELD if the field is not in the object. </dd></dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00047">47</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="adbe7322f665109b9816c5bcb9c10a9cb" name="adbe7322f665109b9816c5bcb9c10a9cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbe7322f665109b9816c5bcb9c10a9cb">&#9670;&#160;</a></span>find_field_unordered() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::find_field_unordered </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> &amp;&amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00032">32</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="a55d8bd31e2f5e6b10986af2f48a544fc" name="a55d8bd31e2f5e6b10986af2f48a544fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55d8bd31e2f5e6b10986af2f48a544fc">&#9670;&#160;</a></span>find_field_unordered() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::find_field_unordered </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> &amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Look up a field by name on an object, without regard to key order. </p>
<p><b>Performance Notes:</b> This is a bit less performant than <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aa25020165cc5a191026a243a10da6558" title="Look up a field by name on an object (order-sensitive).">find_field()</a>, though its effect varies and often appears negligible. It starts out normally, starting out at the last field; but if the field is not found, it scans from the beginning of the object to see if it missed it. That missing case has a non-cache-friendly bump and lots of extra scanning, especially if the object in question is large. The fact that the extra code is there also bumps the executable size.</p>
<p>We default operator[] on <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a55d8bd31e2f5e6b10986af2f48a544fc" title="Look up a field by name on an object, without regard to key order.">find_field_unordered()</a> for convenience. It is the default because it would be highly surprising (and hard to debug) if the default behavior failed to look up a field just because it was in the wrong order&ndash;and many APIs assume this. Therefore, you must be explicit if you want to treat objects as out of order.</p>
<p>Use <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aa25020165cc5a191026a243a10da6558" title="Look up a field by name on an object (order-sensitive).">find_field()</a> if you are sure fields will be in order (or are willing to treat it as if the field was not there when they are not in order).</p>
<p>If you have multiple fields with a matching key ({"x": 1, "x": 1}) be mindful that only one field is returned.</p>
<p>You must consume the fields on an object one at a time. A request for a new key invalidates previous field values: it makes them unsafe. The value instance you get from <code>content["bids"]</code> becomes invalid when you call <code>content["asks"]</code>. The array given by content["bids"].get_array() should not be accessed after you have called content["asks"].get_array(). You can detect such mistakes by first compiling and running the code in Debug mode (or with the macro <code>SIMDJSON_DEVELOPMENT_CHECKS</code> set to 1): an OUT_OF_ORDER_ITERATION error is generated.</p>
<p>You are expected to access keys only once. You should access the value corresponding to a key a single time. Doing object["mykey"].to_string() and then again object["mykey"].to_string() is an error.</p>
<p>If you expect to have keys with escape characters, please review our documentation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>The key to look up. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The value of the field, or NO_SUCH_FIELD if the field is not in the object. </dd></dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00023">23</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="a0b7dbef786eba3eada6fb461518b0df1" name="a0b7dbef786eba3eada6fb461518b0df1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b7dbef786eba3eada6fb461518b0df1">&#9670;&#160;</a></span>for_each_at_path_with_wildcard()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Func &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="namespacesimdjson.html#a7b735a3a50ba79e3f7f14df5f77d8da9">error_code</a> simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::for_each_at_path_with_wildcard </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>json_path</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Func &amp;&amp;&#160;</td>
<td class="paramname"><em>callback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Call the provided callback for each value matching the given JSONPath expression with wildcard support. </p>
<p>Supports wildcard patterns like ".*" to match all object fields.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">json_path</td><td>JSONPath expression with wildcards </td></tr>
<tr><td class="paramname">callback</td><td>Function called for each matching value </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>error_code indicating success or failure </dd></dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00186">186</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="ad210f9115679a625ada433add55eff51" name="ad210f9115679a625ada433add55eff51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad210f9115679a625ada433add55eff51">&#9670;&#160;</a></span>is_empty()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; bool &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::is_empty </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> &amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This method scans the beginning of the object and checks whether the object is empty. </p>
<p>The runtime complexity is constant time. After calling this function, if successful, the object is 'rewinded' at its beginning as if it had never been accessed. If the JSON is malformed (e.g., there is a missing comma), then an error is returned and it is no longer safe to continue. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00228">228</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="a60ad1270b86c6a0c27c03b685aec9666" name="a60ad1270b86c6a0c27c03b685aec9666"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60ad1270b86c6a0c27c03b685aec9666">&#9670;&#160;</a></span>operator[]() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::operator[] </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> &amp;&amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00044">44</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="a9f1cd920980a8bc0330d2c7f1f0be74b" name="a9f1cd920980a8bc0330d2c7f1f0be74b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f1cd920980a8bc0330d2c7f1f0be74b">&#9670;&#160;</a></span>operator[]() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">value</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::operator[] </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> &amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00041">41</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="a71600033791f9c6bbc9f40fb2f82fdc8" name="a71600033791f9c6bbc9f40fb2f82fdc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71600033791f9c6bbc9f40fb2f82fdc8">&#9670;&#160;</a></span>raw_json()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; std::string_view &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::raw_json </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Consumes the object and returns a string_view instance corresponding to the object as represented in JSON. </p>
<p>It points inside the original byte array containing the JSON document. </p>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00100">100</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="ae0bc6b9803e0c989e9defaf3edcaaae4" name="ae0bc6b9803e0c989e9defaf3edcaaae4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0bc6b9803e0c989e9defaf3edcaaae4">&#9670;&#160;</a></span>reset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; bool &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::reset </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> &amp;</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset the iterator so that we are pointing back at the beginning of the object. </p>
<p>You should still consume values only once even if you can iterate through the object more than once. If you unescape a string or a key within the object more than once, you have unsafe code. Note that rewinding an object means that you may need to reparse it anew: it is not a free operation.</p>
<dl class="section return"><dt>Returns</dt><dd>true if the object contains some elements (not empty) </dd></dl>
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00235">235</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="aece44530d6e6181a81221b2137601975" name="aece44530d6e6181a81221b2137601975"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aece44530d6e6181a81221b2137601975">&#9670;&#160;</a></span>resume()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">object</a> simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::resume </td>
<td>(</td>
<td class="paramtype">const value_iterator &amp;&#160;</td>
<td class="paramname"><em>iter</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00113">113</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="ad6622bf80ec4e5e8aa6addbc5c6f04af" name="ad6622bf80ec4e5e8aa6addbc5c6f04af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6622bf80ec4e5e8aa6addbc5c6f04af">&#9670;&#160;</a></span>start()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">object</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::start </td>
<td>(</td>
<td class="paramtype">value_iterator &amp;&#160;</td>
<td class="paramname"><em>iter</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00066">66</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="accf62d325d914b4a3af025447bbb6fe8" name="accf62d325d914b4a3af025447bbb6fe8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#accf62d325d914b4a3af025447bbb6fe8">&#9670;&#160;</a></span>start_root()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">object</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::start_root </td>
<td>(</td>
<td class="paramtype">value_iterator &amp;&#160;</td>
<td class="paramname"><em>iter</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00070">70</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<a id="aa185ba38bbd7a8ffd1a877d2796a2358" name="aa185ba38bbd7a8ffd1a877d2796a2358"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa185ba38bbd7a8ffd1a877d2796a2358">&#9670;&#160;</a></span>started()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">object</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::started </td>
<td>(</td>
<td class="paramtype">value_iterator &amp;&#160;</td>
<td class="paramname"><em>iter</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object-inl_8h_source.html#l00108">108</a> of file <a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a62b96abab9d1338d5f5e513f90f8d7d0" name="a62b96abab9d1338d5f5e513f90f8d7d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62b96abab9d1338d5f5e513f90f8d7d0">&#9670;&#160;</a></span>iter</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">value_iterator simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object::iter {}</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="generic_2ondemand_2object_8h_source.html#l00309">309</a> of file <a class="el" href="generic_2ondemand_2object_8h_source.html">object.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/simdjson/generic/ondemand/<a class="el" href="generic_2ondemand_2object_8h_source.html">object.h</a></li>
<li>include/simdjson/generic/ondemand/<a class="el" href="generic_2ondemand_2object-inl_8h_source.html">object-inl.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacesimdjson.html">simdjson</a></li><li class="navelem"><b>SIMDJSON_IMPLEMENTATION</b></li><li class="navelem"><a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">ondemand</a></li><li class="navelem"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html">object</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,15 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object =
[
[ "object", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a034b27d7ff75832a574c2069af267111", null ],
[ "at_path", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ae1bb196ae5f2aeabd8d95accdcd73498", null ],
[ "at_pointer", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ae3d80f8e7f31c319fe6ee09c0860df83", null ],
[ "begin", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aeb4a70edd1808f36210460ed410e8dae", null ],
[ "consume", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a7eead0332d195ce78559dac428ae027d", null ],
[ "count_fields", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aef6872e07743217fe2e2abe790a21d4c", null ],
[ "find_field", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#aa25020165cc5a191026a243a10da6558", null ],
[ "find_field_unordered", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a55d8bd31e2f5e6b10986af2f48a544fc", null ],
[ "for_each_at_path_with_wildcard", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a0b7dbef786eba3eada6fb461518b0df1", null ],
[ "is_empty", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ad210f9115679a625ada433add55eff51", null ],
[ "raw_json", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#a71600033791f9c6bbc9f40fb2f82fdc8", null ],
[ "reset", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object.html#ae0bc6b9803e0c989e9defaf3edcaaae4", null ]
];
@@ -0,0 +1,117 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html#a9fce67dabeb5dcccd16fa531febec666">object_iterator</a>() noexcept=default</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator!=</b>(const object_iterator &amp;) const noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator*</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator++</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator==</b>(const object_iterator &amp;) const noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,275 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator Class Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9fce67dabeb5dcccd16fa531febec666" id="r_a9fce67dabeb5dcccd16fa531febec666"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html#a9fce67dabeb5dcccd16fa531febec666">object_iterator</a> () noexcept=default</td></tr>
<tr class="memdesc:a9fce67dabeb5dcccd16fa531febec666"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new invalid <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a>. <br /></td></tr>
<tr class="separator:a9fce67dabeb5dcccd16fa531febec666"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84bc50aa1d7219483cd2e91819152875" id="r_a84bc50aa1d7219483cd2e91819152875"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">field</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html#a84bc50aa1d7219483cd2e91819152875">operator*</a> () noexcept</td></tr>
<tr class="separator:a84bc50aa1d7219483cd2e91819152875"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7ddcd7b99fb41c8efe932daf2d216a3" id="r_ad7ddcd7b99fb41c8efe932daf2d216a3"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html#ad7ddcd7b99fb41c8efe932daf2d216a3">operator==</a> (const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a> &amp;) const noexcept</td></tr>
<tr class="separator:ad7ddcd7b99fb41c8efe932daf2d216a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabb56f8e0f6199b91f500be3735091b0" id="r_aabb56f8e0f6199b91f500be3735091b0"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html#aabb56f8e0f6199b91f500be3735091b0">operator!=</a> (const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a> &amp;) const noexcept</td></tr>
<tr class="separator:aabb56f8e0f6199b91f500be3735091b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a968c571432f10eeda2a2b63433957e1e" id="r_a968c571432f10eeda2a2b63433957e1e"><td class="memItemLeft" align="right" valign="top">simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html#a968c571432f10eeda2a2b63433957e1e">operator++</a> () noexcept</td></tr>
<tr class="separator:a968c571432f10eeda2a2b63433957e1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="object__iterator_8h_source.html#l00014">14</a> of file <a class="el" href="object__iterator_8h_source.html">object_iterator.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a9fce67dabeb5dcccd16fa531febec666" name="a9fce67dabeb5dcccd16fa531febec666"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fce67dabeb5dcccd16fa531febec666">&#9670;&#160;</a></span>object_iterator()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator::object_iterator </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new invalid <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a>. </p>
<p>Exists so you can declare a variable and later assign to it before use. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aabb56f8e0f6199b91f500be3735091b0" name="aabb56f8e0f6199b91f500be3735091b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabb56f8e0f6199b91f500be3735091b0">&#9670;&#160;</a></span>operator!=()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator::operator!= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="object__iterator-inl_8h_source.html#l00040">40</a> of file <a class="el" href="object__iterator-inl_8h_source.html">object_iterator-inl.h</a>.</p>
</div>
</div>
<a id="a84bc50aa1d7219483cd2e91819152875" name="a84bc50aa1d7219483cd2e91819152875"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a84bc50aa1d7219483cd2e91819152875">&#9670;&#160;</a></span>operator*()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline <a class="el" href="structsimdjson_1_1simdjson__result.html">simdjson_result</a>&lt; <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1field.html">field</a> &gt; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator::operator* </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="object__iterator-inl_8h_source.html#l00023">23</a> of file <a class="el" href="object__iterator-inl_8h_source.html">object_iterator-inl.h</a>.</p>
</div>
</div>
<a id="a968c571432f10eeda2a2b63433957e1e" name="a968c571432f10eeda2a2b63433957e1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a968c571432f10eeda2a2b63433957e1e">&#9670;&#160;</a></span>operator++()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SIMDJSON_PUSH_DISABLE_WARNINGS SIMDJSON_DISABLE_STRICT_OVERFLOW_WARNING simdjson_inline <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a> &amp; simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator::operator++ </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="object__iterator-inl_8h_source.html#l00046">46</a> of file <a class="el" href="object__iterator-inl_8h_source.html">object_iterator-inl.h</a>.</p>
</div>
</div>
<a id="ad7ddcd7b99fb41c8efe932daf2d216a3" name="ad7ddcd7b99fb41c8efe932daf2d216a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7ddcd7b99fb41c8efe932daf2d216a3">&#9670;&#160;</a></span>operator==()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::object_iterator::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="object__iterator-inl_8h_source.html#l00037">37</a> of file <a class="el" href="object__iterator-inl_8h_source.html">object_iterator-inl.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/simdjson/generic/ondemand/<a class="el" href="object__iterator_8h_source.html">object_iterator.h</a></li>
<li>include/simdjson/generic/ondemand/<a class="el" href="object__iterator-inl_8h_source.html">object_iterator-inl.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacesimdjson.html">simdjson</a></li><li class="navelem"><b>SIMDJSON_IMPLEMENTATION</b></li><li class="navelem"><a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">ondemand</a></li><li class="navelem"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html">object_iterator</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,4 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator =
[
[ "object_iterator", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1object__iterator.html#a9fce67dabeb5dcccd16fa531febec666", null ]
];
@@ -0,0 +1,143 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#ab6201f2eab41026e722a237d280b8fe1">allocate</a>(size_t capacity, size_t max_depth=DEFAULT_MAX_DEPTH) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a6c471139dab5371a25021158a7f07d17">capacity</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#aec43b71b933ef5ba27fcc398f079e6e8">get_parser</a>()</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a0da712132ca4180a84907f2ca4ffbc5b">iterate</a>(padded_string_view json) &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterate</b>(const char *json, size_t len, size_t capacity) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>iterate</b>(const uint8_t *json, size_t len, size_t capacity) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterate</b>(std::string_view json, size_t capacity) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>iterate</b>(const std::string &amp;json) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterate</b>(std::string &amp;json) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>iterate</b>(const simdjson_result&lt; padded_string &gt; &amp;json) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterate</b>(const simdjson_result&lt; padded_string_view &gt; &amp;json) &amp;noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>iterate</b>(padded_string &amp;&amp;json) &amp;noexcept=delete (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#af996682250c05ca237fe6db234bb9179">iterate_many</a>(const uint8_t *buf, size_t len, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>iterate_many</b>(padded_string_view json, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterate_many</b>(const char *buf, size_t len, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>iterate_many</b>(const std::string &amp;s, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>iterate_many</b>(std::string &amp;s, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>iterate_many</b>(const padded_string &amp;s, size_t batch_size=DEFAULT_BATCH_SIZE, bool allow_comma_separated=false) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a1c1fa76cb23d179fc4e98c2707bd9530">max_capacity</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a53ae6fd25ecdc64171a03f8e542b276c">max_depth</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator=</b>(const parser &amp;other)=delete (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator=</b>(parser &amp;&amp;other) noexcept=default (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a76abd4d78f0c26d80d3bf436ce212e00">parser</a>(size_t max_capacity=SIMDJSON_MAXSIZE_BYTES) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>parser</b>(parser &amp;&amp;other) noexcept=default (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>parser</b>(const parser &amp;other)=delete (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a375c3e1df1387754d319f9b4907b5d12">release_parser</a>()</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>set_max_capacity</b>(size_t max_capacity) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#aae981142ef15c75893ecc09ce897ed60">threaded</a></td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a27714b0095b036a169cabebdc1031937">unescape</a>(raw_json_string in, uint8_t *&amp;dst, bool allow_replacement=false) const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a926e145e3ffb2b1024646dd56bc938e4">unescape_wobbly</a>(raw_json_string in, uint8_t *&amp;dst) const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a4a144d96ad06a2295137dd0e5b7dcc1d">~parser</a>() noexcept=default</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::parser</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,14 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser =
[
[ "parser", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a76abd4d78f0c26d80d3bf436ce212e00", null ],
[ "~parser", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a4a144d96ad06a2295137dd0e5b7dcc1d", null ],
[ "allocate", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#ab6201f2eab41026e722a237d280b8fe1", null ],
[ "capacity", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a6c471139dab5371a25021158a7f07d17", null ],
[ "iterate", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a0da712132ca4180a84907f2ca4ffbc5b", null ],
[ "iterate_many", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#af996682250c05ca237fe6db234bb9179", null ],
[ "max_capacity", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a1c1fa76cb23d179fc4e98c2707bd9530", null ],
[ "max_depth", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a53ae6fd25ecdc64171a03f8e542b276c", null ],
[ "unescape", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a27714b0095b036a169cabebdc1031937", null ],
[ "unescape_wobbly", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#a926e145e3ffb2b1024646dd56bc938e4", null ],
[ "threaded", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html#aae981142ef15c75893ecc09ce897ed60", null ]
];
@@ -0,0 +1,123 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a0ddac0ab1c69022610d8051b989b5c95">is_equal</a>(std::string_view target) const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#aa3165ea813c4c15fb9cb282e67abe6af">is_equal</a>(const char *target) const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a671923a53cc070f65029698afeb9be7f">is_free_from_unescaped_quote</a>(std::string_view target) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>is_free_from_unescaped_quote</b>(const char *target) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#ae35cf7c026285a1108e85dd2cc7fd109">operator[]</a>(size_t i) const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a8736f5e397a3e0a55090aadee0596214">raw</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a78b420ddb8a0570ee973cdfbccd31c9a">raw_json_string</a>() noexcept=default</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#acf64001cc9961cd01712211b778e760b">raw_json_string</a>(const uint8_t *_buf) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#affa14023a66c65f906ee3e673443d943">unsafe_is_equal</a>(size_t length, std::string_view target) const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a11bccba8ede5e7dff56e2737fcb853c7">unsafe_is_equal</a>(std::string_view target) const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a3d8f15d3b004acd695b6fff5ba94b515">unsafe_is_equal</a>(const char *target) const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,524 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>A string escaped per JSON rules, terminated with quote (").
<a href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="raw__json__string_8h_source.html">raw_json_string.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a78b420ddb8a0570ee973cdfbccd31c9a" id="r_a78b420ddb8a0570ee973cdfbccd31c9a"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a78b420ddb8a0570ee973cdfbccd31c9a">raw_json_string</a> () noexcept=default</td></tr>
<tr class="memdesc:a78b420ddb8a0570ee973cdfbccd31c9a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new invalid <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a>. <br /></td></tr>
<tr class="separator:a78b420ddb8a0570ee973cdfbccd31c9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf64001cc9961cd01712211b778e760b" id="r_acf64001cc9961cd01712211b778e760b"><td class="memItemLeft" align="right" valign="top">simdjson_inline&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#acf64001cc9961cd01712211b778e760b">raw_json_string</a> (const uint8_t *_buf) noexcept</td></tr>
<tr class="memdesc:acf64001cc9961cd01712211b778e760b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new invalid <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a> pointed at the given location in the JSON. <br /></td></tr>
<tr class="separator:acf64001cc9961cd01712211b778e760b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8736f5e397a3e0a55090aadee0596214" id="r_a8736f5e397a3e0a55090aadee0596214"><td class="memItemLeft" align="right" valign="top">simdjson_inline const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a8736f5e397a3e0a55090aadee0596214">raw</a> () const noexcept</td></tr>
<tr class="memdesc:a8736f5e397a3e0a55090aadee0596214"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the raw pointer to the beginning of the string in the JSON (just after the "). <br /></td></tr>
<tr class="separator:a8736f5e397a3e0a55090aadee0596214"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae35cf7c026285a1108e85dd2cc7fd109" id="r_ae35cf7c026285a1108e85dd2cc7fd109"><td class="memItemLeft" align="right" valign="top">simdjson_inline char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#ae35cf7c026285a1108e85dd2cc7fd109">operator[]</a> (size_t i) const noexcept</td></tr>
<tr class="memdesc:ae35cf7c026285a1108e85dd2cc7fd109"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the character at index i. <br /></td></tr>
<tr class="separator:ae35cf7c026285a1108e85dd2cc7fd109"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affa14023a66c65f906ee3e673443d943" id="r_affa14023a66c65f906ee3e673443d943"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#affa14023a66c65f906ee3e673443d943">unsafe_is_equal</a> (size_t length, std::string_view target) const noexcept</td></tr>
<tr class="memdesc:affa14023a66c65f906ee3e673443d943"><td class="mdescLeft">&#160;</td><td class="mdescRight">This compares the current instance to the std::string_view target: returns true if they are byte-by-byte equal (no escaping is done) on target.size() characters, and if the <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a> instance has a quote character at byte index target.size(). <br /></td></tr>
<tr class="separator:affa14023a66c65f906ee3e673443d943"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11bccba8ede5e7dff56e2737fcb853c7" id="r_a11bccba8ede5e7dff56e2737fcb853c7"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a11bccba8ede5e7dff56e2737fcb853c7">unsafe_is_equal</a> (std::string_view target) const noexcept</td></tr>
<tr class="memdesc:a11bccba8ede5e7dff56e2737fcb853c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This compares the current instance to the std::string_view target: returns true if they are byte-by-byte equal (no escaping is done). <br /></td></tr>
<tr class="separator:a11bccba8ede5e7dff56e2737fcb853c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d8f15d3b004acd695b6fff5ba94b515" id="r_a3d8f15d3b004acd695b6fff5ba94b515"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a3d8f15d3b004acd695b6fff5ba94b515">unsafe_is_equal</a> (const char *target) const noexcept</td></tr>
<tr class="memdesc:a3d8f15d3b004acd695b6fff5ba94b515"><td class="mdescLeft">&#160;</td><td class="mdescRight">This compares the current instance to the C string target: returns true if they are byte-by-byte equal (no escaping is done). <br /></td></tr>
<tr class="separator:a3d8f15d3b004acd695b6fff5ba94b515"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ddac0ab1c69022610d8051b989b5c95" id="r_a0ddac0ab1c69022610d8051b989b5c95"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a0ddac0ab1c69022610d8051b989b5c95">is_equal</a> (std::string_view target) const noexcept</td></tr>
<tr class="memdesc:a0ddac0ab1c69022610d8051b989b5c95"><td class="mdescLeft">&#160;</td><td class="mdescRight">This compares the current instance to the std::string_view target: returns true if they are byte-by-byte equal (no escaping is done). <br /></td></tr>
<tr class="separator:a0ddac0ab1c69022610d8051b989b5c95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3165ea813c4c15fb9cb282e67abe6af" id="r_aa3165ea813c4c15fb9cb282e67abe6af"><td class="memItemLeft" align="right" valign="top">simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#aa3165ea813c4c15fb9cb282e67abe6af">is_equal</a> (const char *target) const noexcept</td></tr>
<tr class="memdesc:aa3165ea813c4c15fb9cb282e67abe6af"><td class="mdescLeft">&#160;</td><td class="mdescRight">This compares the current instance to the C string target: returns true if they are byte-by-byte equal (no escaping is done). <br /></td></tr>
<tr class="separator:aa3165ea813c4c15fb9cb282e67abe6af"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a671923a53cc070f65029698afeb9be7f" id="r_a671923a53cc070f65029698afeb9be7f"><td class="memItemLeft" align="right" valign="top">static simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a671923a53cc070f65029698afeb9be7f">is_free_from_unescaped_quote</a> (std::string_view target) noexcept</td></tr>
<tr class="memdesc:a671923a53cc070f65029698afeb9be7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if target is free from unescaped quote. <br /></td></tr>
<tr class="separator:a671923a53cc070f65029698afeb9be7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af81c856b3d980d224c06813f76387ed1" id="r_af81c856b3d980d224c06813f76387ed1"><td class="memItemLeft" align="right" valign="top">static simdjson_inline bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#af81c856b3d980d224c06813f76387ed1">is_free_from_unescaped_quote</a> (const char *target) noexcept</td></tr>
<tr class="separator:af81c856b3d980d224c06813f76387ed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A string escaped per JSON rules, terminated with quote ("). </p>
<p>They are used to represent unescaped keys inside JSON documents.</p>
<p>(In other words, a pointer to the beginning of a string, just after the start quote, inside a JSON file.)</p>
<p>This class is deliberately simplistic and has little functionality. You can compare a <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a> instance with an unescaped C string, but that is nearly all you can do.</p>
<p>The <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a> is unescaped. If you wish to write an unescaped version of it to your own buffer, you may do so using the parser.unescape(string, buff) method, using an <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1parser.html" title="A JSON fragment iterator.">ondemand::parser</a> instance. Doing so requires you to have a sufficiently large buffer.</p>
<p>The <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a> instances originate typically from field instance which in turn represent key-value pairs from object instances. From a field instance, you get the <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a> instance by calling key(). You can, if you want a more usable string_view instance, call the unescaped_key() method on the field instance. You may also create a <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a> from any other string value, with the <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#aca8b183c4e674a5b4ade8f6d2780f815" title="Cast this JSON value to a raw_json_string.">value.get_raw_json_string()</a> method. Again, you can get a more usable string_view instance by calling get_string(). </p>
<p class="definition">Definition at line <a class="el" href="raw__json__string_8h_source.html#l00036">36</a> of file <a class="el" href="raw__json__string_8h_source.html">raw_json_string.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a78b420ddb8a0570ee973cdfbccd31c9a" name="a78b420ddb8a0570ee973cdfbccd31c9a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78b420ddb8a0570ee973cdfbccd31c9a">&#9670;&#160;</a></span>raw_json_string() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::raw_json_string </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new invalid <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a>. </p>
<p>Exists so you can declare a variable and later assign to it before use. </p>
</div>
</div>
<a id="acf64001cc9961cd01712211b778e760b" name="acf64001cc9961cd01712211b778e760b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf64001cc9961cd01712211b778e760b">&#9670;&#160;</a></span>raw_json_string() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::raw_json_string </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>_buf</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new invalid <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a> pointed at the given location in the JSON. </p>
<p>The given location must be just <em>after</em> the beginning quote (") in the JSON file.
It &lt;em&gt;must&lt;/em&gt; be terminated by a ", and be a valid JSON string. </p>
<p class="definition">Definition at line <a class="el" href="raw__json__string-inl_8h_source.html#l00016">16</a> of file <a class="el" href="raw__json__string-inl_8h_source.html">raw_json_string-inl.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aa3165ea813c4c15fb9cb282e67abe6af" name="aa3165ea813c4c15fb9cb282e67abe6af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3165ea813c4c15fb9cb282e67abe6af">&#9670;&#160;</a></span>is_equal() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::is_equal </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>target</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This compares the current instance to the C string target: returns true if they are byte-by-byte equal (no escaping is done). </p>
<p class="definition">Definition at line <a class="el" href="raw__json__string-inl_8h_source.html#l00122">122</a> of file <a class="el" href="raw__json__string-inl_8h_source.html">raw_json_string-inl.h</a>.</p>
</div>
</div>
<a id="a0ddac0ab1c69022610d8051b989b5c95" name="a0ddac0ab1c69022610d8051b989b5c95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ddac0ab1c69022610d8051b989b5c95">&#9670;&#160;</a></span>is_equal() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::is_equal </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>target</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This compares the current instance to the std::string_view target: returns true if they are byte-by-byte equal (no escaping is done). </p>
<p class="definition">Definition at line <a class="el" href="raw__json__string-inl_8h_source.html#l00086">86</a> of file <a class="el" href="raw__json__string-inl_8h_source.html">raw_json_string-inl.h</a>.</p>
</div>
</div>
<a id="af81c856b3d980d224c06813f76387ed1" name="af81c856b3d980d224c06813f76387ed1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af81c856b3d980d224c06813f76387ed1">&#9670;&#160;</a></span>is_free_from_unescaped_quote() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::is_free_from_unescaped_quote </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>target</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="raw__json__string-inl_8h_source.html#l00045">45</a> of file <a class="el" href="raw__json__string-inl_8h_source.html">raw_json_string-inl.h</a>.</p>
</div>
</div>
<a id="a671923a53cc070f65029698afeb9be7f" name="a671923a53cc070f65029698afeb9be7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a671923a53cc070f65029698afeb9be7f">&#9670;&#160;</a></span>is_free_from_unescaped_quote() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::is_free_from_unescaped_quote </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>target</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if target is free from unescaped quote. </p>
<p>If target is known at compile-time, we might expect the computation to happen at compile time with many compilers (not all!). </p>
<p class="definition">Definition at line <a class="el" href="raw__json__string-inl_8h_source.html#l00026">26</a> of file <a class="el" href="raw__json__string-inl_8h_source.html">raw_json_string-inl.h</a>.</p>
</div>
</div>
<a id="ae35cf7c026285a1108e85dd2cc7fd109" name="ae35cf7c026285a1108e85dd2cc7fd109"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae35cf7c026285a1108e85dd2cc7fd109">&#9670;&#160;</a></span>operator[]()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline char simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::operator[] </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>i</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the character at index i. </p>
<p>This is unchecked. [0] when the string is of length 0 returns the final quote ("). </p>
<p class="definition">Definition at line <a class="el" href="raw__json__string-inl_8h_source.html#l00022">22</a> of file <a class="el" href="raw__json__string-inl_8h_source.html">raw_json_string-inl.h</a>.</p>
</div>
</div>
<a id="a8736f5e397a3e0a55090aadee0596214" name="a8736f5e397a3e0a55090aadee0596214"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8736f5e397a3e0a55090aadee0596214">&#9670;&#160;</a></span>raw()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline const char * simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::raw </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the raw pointer to the beginning of the string in the JSON (just after the "). </p>
<p>It is possible for this function to return a null pointer if the instance has outlived its existence. </p>
<p class="definition">Definition at line <a class="el" href="raw__json__string-inl_8h_source.html#l00018">18</a> of file <a class="el" href="raw__json__string-inl_8h_source.html">raw_json_string-inl.h</a>.</p>
</div>
</div>
<a id="a3d8f15d3b004acd695b6fff5ba94b515" name="a3d8f15d3b004acd695b6fff5ba94b515"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d8f15d3b004acd695b6fff5ba94b515">&#9670;&#160;</a></span>unsafe_is_equal() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::unsafe_is_equal </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>target</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This compares the current instance to the C string target: returns true if they are byte-by-byte equal (no escaping is done). </p>
<p>The provided C string should not contain an unescaped quote character: the caller is responsible for this check. See is_free_from_unescaped_quote.</p>
<p>If target is a compile-time constant, and your compiler likes you, you should be able to do the following without performance penalty...</p>
<p>static_assert(raw_json_string::is_free_from_unescaped_quote(target), ""); s.unsafe_is_equal(target); </p>
<p class="definition">Definition at line <a class="el" href="raw__json__string-inl_8h_source.html#l00110">110</a> of file <a class="el" href="raw__json__string-inl_8h_source.html">raw_json_string-inl.h</a>.</p>
</div>
</div>
<a id="affa14023a66c65f906ee3e673443d943" name="affa14023a66c65f906ee3e673443d943"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affa14023a66c65f906ee3e673443d943">&#9670;&#160;</a></span>unsafe_is_equal() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::unsafe_is_equal </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>target</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This compares the current instance to the std::string_view target: returns true if they are byte-by-byte equal (no escaping is done) on target.size() characters, and if the <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a> instance has a quote character at byte index target.size(). </p>
<p>We never read more than length + 1 bytes in the <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a> instance. If length is smaller than target.size(), this will return false.</p>
<p>The std::string_view instance may contain any characters. However, the caller is responsible for setting length so that length bytes may be read in the <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html" title="A string escaped per JSON rules, terminated with quote (&quot;).">raw_json_string</a>.</p>
<p>Performance: the comparison may be done using memcmp which may be efficient for long strings. </p>
<p class="definition">Definition at line <a class="el" href="raw__json__string-inl_8h_source.html#l00066">66</a> of file <a class="el" href="raw__json__string-inl_8h_source.html">raw_json_string-inl.h</a>.</p>
</div>
</div>
<a id="a11bccba8ede5e7dff56e2737fcb853c7" name="a11bccba8ede5e7dff56e2737fcb853c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11bccba8ede5e7dff56e2737fcb853c7">&#9670;&#160;</a></span>unsafe_is_equal() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">simdjson_inline bool simdjson::SIMDJSON_IMPLEMENTATION::ondemand::raw_json_string::unsafe_is_equal </td>
<td>(</td>
<td class="paramtype">std::string_view&#160;</td>
<td class="paramname"><em>target</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This compares the current instance to the std::string_view target: returns true if they are byte-by-byte equal (no escaping is done). </p>
<p>The std::string_view instance should not contain unescaped quote characters: the caller is responsible for this check. See is_free_from_unescaped_quote.</p>
<p>Performance: the comparison is done byte-by-byte which might be inefficient for long strings.</p>
<p>If target is a compile-time constant, and your compiler likes you, you should be able to do the following without performance penalty...</p>
<p>static_assert(raw_json_string::is_free_from_unescaped_quote(target), ""); s.unsafe_is_equal(target); </p>
<p class="definition">Definition at line <a class="el" href="raw__json__string-inl_8h_source.html#l00071">71</a> of file <a class="el" href="raw__json__string-inl_8h_source.html">raw_json_string-inl.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>include/simdjson/generic/ondemand/<a class="el" href="raw__json__string_8h_source.html">raw_json_string.h</a></li>
<li>include/simdjson/generic/ondemand/<a class="el" href="raw__json__string-inl_8h_source.html">raw_json_string-inl.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacesimdjson.html">simdjson</a></li><li class="navelem"><b>SIMDJSON_IMPLEMENTATION</b></li><li class="navelem"><a class="el" href="namespacesimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand.html">ondemand</a></li><li class="navelem"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html">raw_json_string</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,12 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string =
[
[ "raw_json_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a78b420ddb8a0570ee973cdfbccd31c9a", null ],
[ "raw_json_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#acf64001cc9961cd01712211b778e760b", null ],
[ "is_equal", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#aa3165ea813c4c15fb9cb282e67abe6af", null ],
[ "is_equal", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a0ddac0ab1c69022610d8051b989b5c95", null ],
[ "operator[]", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#ae35cf7c026285a1108e85dd2cc7fd109", null ],
[ "raw", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a8736f5e397a3e0a55090aadee0596214", null ],
[ "unsafe_is_equal", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a3d8f15d3b004acd695b6fff5ba94b515", null ],
[ "unsafe_is_equal", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#affa14023a66c65f906ee3e673443d943", null ],
[ "unsafe_is_equal", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1raw__json__string.html#a11bccba8ede5e7dff56e2737fcb853c7", null ]
];
@@ -0,0 +1,195 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>simdjson: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/>
<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="logotiny.png"/></td>
<td id="projectalign">
<div id="projectname">simdjson<span id="projectnumber">&#160;4.6.4</span>
</div>
<div id="projectbrief">Ridiculously Fast JSON</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#acc369e813e7cf4a97564bb0d85f76db3">at</a>(size_t index) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a6f6c6d98a3605c8e04cad16fce05c16c">at_path</a>(std::string_view at_path) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#aadd2f646a3231d407948bf5f3da46528">at_pointer</a>(std::string_view json_pointer) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a88d1cdc3124965d707754af4fcfae7f9">begin</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a481e2b0b216d29038ddca3242a7047ad">count_elements</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a55f04607ee4e718294a572f9b6ad94cc">count_fields</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a8bcd64ae6b4d204c4b6b2a8420e0270c">current_depth</a>() const noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a06258e49f2dbb910beeaf6814ff7e071">current_location</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a6ed00f1588087b2d0de926c4599366d6">end</a>() &amp;noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a1588a173b15a20cacf77a24d07032d83">find_field</a>(std::string_view key) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>find_field</b>(const char *key) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#acb1514c00a87027c5eb3c81171a3b874">find_field_unordered</a>(std::string_view key) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>find_field_unordered</b>(const char *key) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#abcaa5b09c1c50928c8cf4d368fb2875e">for_each_at_path_with_wildcard</a>(std::string_view json_path, Func &amp;&amp;callback) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>for_each_at_path_with_wildcard</b>(std::string_view json_path, Func &amp;&amp;callback) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a15d0315e3a6b6975d57de5928263fbdf">get</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#abeb77b7f73cd6001d8c65f249901ece4">get</a>(T &amp;out) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>() noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(array &amp;out) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>(object &amp;out) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(raw_json_string &amp;out) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>(std::string_view &amp;out) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(number &amp;out) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>(double &amp;out) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(uint64_t &amp;out) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>(int64_t &amp;out) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(uint32_t &amp;out) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>get</b>(int32_t &amp;out) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>get</b>(bool &amp;out) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a2fdcc51cac791c3a2f4c970764bc0155">get_array</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#aa0e07db099e651d3e5279872683cb7dd">get_bool</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a9a5ebeb4a79fa1d997f9f3478370a57e">get_double</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#ac8b8d7d4bc7958363b7f0d380b248a4f">get_double_in_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#af36f96ac91d4a630436b1b7754470038">get_int32</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#ab7e4b28c0d9637cf1b04554d99c0e3b3">get_int64</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a547e99f2f430ca39bf4060d090f45ff7">get_int64_in_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#aa89c4aceb7e052a1f7ff7e4058b651f1">get_number</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a2f46079741d1ba316de32bb9765c5082">get_number_type</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a3bde0795cb309f3e51b8388fbafc1fe4">get_object</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#aca8b183c4e674a5b4ade8f6d2780f815">get_raw_json_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a9d574e04d5dfde0bf99dea4926232fe4">get_string</a>(bool allow_replacement=false) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a566af762e86914a1ab6eb2e5df7a02bb">get_string</a>(string_type &amp;receiver, bool allow_replacement=false) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#afa915bfa711909964ff1c6e3a80a0612">get_uint32</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#adaa7bb2c9b3988476f3317ddda27e22d">get_uint64</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a8bc2eb9eeeb7e2e0b82c23ed4d254933">get_uint64_in_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#ab7bb6749f40bec70c8a1a31edad53c1d">get_wobbly_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a5ab2c9c7d29a7a6c09f78930b0100836">is_integer</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a2701c283de019e56624e930e936e0df0">is_negative</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a04f1c591d93d834377a9cb916c90e09b">is_null</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a8c2618e57ec26501dd93ff8fd5cc2191">is_scalar</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#afd4052d4ebe0a500a051f5048206a9c8">is_string</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>iter</b> (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a93756146a65e835b9358cc652dc53396">operator array</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#af7b51d9048d388235f3936c8fa30a2f7">operator bool</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a53f99cedf58e62c1382a4d5a585e05a0">operator double</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a30f182e71d3c13d2656ba5983862be57">operator int64_t</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a89519c599fd938a6a750262111fc5757">operator object</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a85d69a32b4b95f353abe6214ecc98619">operator raw_json_string</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a8e5f2ff46639e6c1cffb73d4e071e491">operator std::string_view</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a4d381cbad85e6b5498328f2c9bacb8ab">operator T</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#afb7be23d4f1006d5eae234d8c8c8d286">operator uint64_t</a>() noexcept(false)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator[]</b>(std::string_view key) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>operator[]</b>(const char *key) noexcept (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>operator[]</b>(int) noexcept=delete (defined in <a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a>)</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a9271a0be9a741a34c3a63f77363963a6">raw_json</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a37427e768435aafef5af097b8cc3cfec">raw_json_token</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a970f5c3f3e668a399765d52c7426764d">resume</a>(const value_iterator &amp;iter) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#ae75aa0d09a10682fd30dc4e8e25d0a73">skip</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a0126e4a8e02fa0a02481d3bdfd3965f7">start</a>(const value_iterator &amp;iter) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a821e11bc3b6b3f16fa7d6b15c77c17d3">start_or_resume_object</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#ac39965b3006b8f19ed576ce99b7534c5">type</a>() noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#ab96f6c19a1866863a110e8bcc93e0392">value</a>() noexcept=default</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a7188b9843c2b3b3050c54b52d5b6886f">value</a>(const value_iterator &amp;iter) noexcept</td><td class="entry"><a class="el" href="classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html">simdjson::SIMDJSON_IMPLEMENTATION::ondemand::value</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>
@@ -0,0 +1,55 @@
var classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value =
[
[ "value", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#ab96f6c19a1866863a110e8bcc93e0392", null ],
[ "value", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a7188b9843c2b3b3050c54b52d5b6886f", null ],
[ "at", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#acc369e813e7cf4a97564bb0d85f76db3", null ],
[ "at_path", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a6f6c6d98a3605c8e04cad16fce05c16c", null ],
[ "at_pointer", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#aadd2f646a3231d407948bf5f3da46528", null ],
[ "begin", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a88d1cdc3124965d707754af4fcfae7f9", null ],
[ "count_elements", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a481e2b0b216d29038ddca3242a7047ad", null ],
[ "count_fields", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a55f04607ee4e718294a572f9b6ad94cc", null ],
[ "current_depth", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a8bcd64ae6b4d204c4b6b2a8420e0270c", null ],
[ "current_location", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a06258e49f2dbb910beeaf6814ff7e071", null ],
[ "end", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a6ed00f1588087b2d0de926c4599366d6", null ],
[ "find_field", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a1588a173b15a20cacf77a24d07032d83", null ],
[ "find_field_unordered", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#acb1514c00a87027c5eb3c81171a3b874", null ],
[ "for_each_at_path_with_wildcard", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#abcaa5b09c1c50928c8cf4d368fb2875e", null ],
[ "get", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a15d0315e3a6b6975d57de5928263fbdf", null ],
[ "get", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#abeb77b7f73cd6001d8c65f249901ece4", null ],
[ "get_array", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a2fdcc51cac791c3a2f4c970764bc0155", null ],
[ "get_bool", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#aa0e07db099e651d3e5279872683cb7dd", null ],
[ "get_double", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a9a5ebeb4a79fa1d997f9f3478370a57e", null ],
[ "get_double_in_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#ac8b8d7d4bc7958363b7f0d380b248a4f", null ],
[ "get_int32", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#af36f96ac91d4a630436b1b7754470038", null ],
[ "get_int64", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#ab7e4b28c0d9637cf1b04554d99c0e3b3", null ],
[ "get_int64_in_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a547e99f2f430ca39bf4060d090f45ff7", null ],
[ "get_number", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#aa89c4aceb7e052a1f7ff7e4058b651f1", null ],
[ "get_number_type", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a2f46079741d1ba316de32bb9765c5082", null ],
[ "get_object", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a3bde0795cb309f3e51b8388fbafc1fe4", null ],
[ "get_raw_json_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#aca8b183c4e674a5b4ade8f6d2780f815", null ],
[ "get_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a9d574e04d5dfde0bf99dea4926232fe4", null ],
[ "get_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a566af762e86914a1ab6eb2e5df7a02bb", null ],
[ "get_uint32", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#afa915bfa711909964ff1c6e3a80a0612", null ],
[ "get_uint64", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#adaa7bb2c9b3988476f3317ddda27e22d", null ],
[ "get_uint64_in_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a8bc2eb9eeeb7e2e0b82c23ed4d254933", null ],
[ "get_wobbly_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#ab7bb6749f40bec70c8a1a31edad53c1d", null ],
[ "is_integer", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a5ab2c9c7d29a7a6c09f78930b0100836", null ],
[ "is_negative", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a2701c283de019e56624e930e936e0df0", null ],
[ "is_null", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a04f1c591d93d834377a9cb916c90e09b", null ],
[ "is_scalar", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a8c2618e57ec26501dd93ff8fd5cc2191", null ],
[ "is_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#afd4052d4ebe0a500a051f5048206a9c8", null ],
[ "operator array", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a93756146a65e835b9358cc652dc53396", null ],
[ "operator bool", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#af7b51d9048d388235f3936c8fa30a2f7", null ],
[ "operator double", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a53f99cedf58e62c1382a4d5a585e05a0", null ],
[ "operator int64_t", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a30f182e71d3c13d2656ba5983862be57", null ],
[ "operator object", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a89519c599fd938a6a750262111fc5757", null ],
[ "operator raw_json_string", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a85d69a32b4b95f353abe6214ecc98619", null ],
[ "operator std::string_view", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a8e5f2ff46639e6c1cffb73d4e071e491", null ],
[ "operator T", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a4d381cbad85e6b5498328f2c9bacb8ab", null ],
[ "operator uint64_t", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#afb7be23d4f1006d5eae234d8c8c8d286", null ],
[ "raw_json", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a9271a0be9a741a34c3a63f77363963a6", null ],
[ "raw_json_token", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a37427e768435aafef5af097b8cc3cfec", null ],
[ "skip", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#ae75aa0d09a10682fd30dc4e8e25d0a73", null ],
[ "start_or_resume_object", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#a821e11bc3b6b3f16fa7d6b15c77c17d3", null ],
[ "type", "classsimdjson_1_1_s_i_m_d_j_s_o_n___i_m_p_l_e_m_e_n_t_a_t_i_o_n_1_1ondemand_1_1value.html#ac39965b3006b8f19ed576ce99b7534c5", null ]
];

Some files were not shown because too many files have changed in this diff Show More