diff --git a/src/arm64/bitmanipulation.h b/src/arm64/bitmanipulation.h index c9203530e..4df7d60d8 100644 --- a/src/arm64/bitmanipulation.h +++ b/src/arm64/bitmanipulation.h @@ -1,9 +1,8 @@ #ifndef SIMDJSON_ARM64_BITMANIPULATION_H #define SIMDJSON_ARM64_BITMANIPULATION_H -namespace simdjson { -namespace arm64 { namespace { +namespace arm64 { // We sometimes call trailing_zero on inputs that are zero, // but the algorithms do not end up using the returned value. @@ -65,8 +64,7 @@ really_inline bool mul_overflow(uint64_t value1, uint64_t value2, uint64_t *resu #endif } -} // namespace { } // namespace arm64 -} // namespace simdjson +} // namespace { #endif // SIMDJSON_ARM64_BITMANIPULATION_H diff --git a/src/arm64/bitmask.h b/src/arm64/bitmask.h index 2c3094e27..7c392281a 100644 --- a/src/arm64/bitmask.h +++ b/src/arm64/bitmask.h @@ -1,9 +1,8 @@ #ifndef SIMDJSON_ARM64_BITMASK_H #define SIMDJSON_ARM64_BITMASK_H -namespace simdjson { -namespace arm64 { namespace { +namespace arm64 { // // Perform a "cumulative bitwise xor," flipping bits each time a 1 is encountered. diff --git a/src/arm64/dom_parser_implementation.cpp b/src/arm64/dom_parser_implementation.cpp index e512006ca..7a964044d 100644 --- a/src/arm64/dom_parser_implementation.cpp +++ b/src/arm64/dom_parser_implementation.cpp @@ -5,7 +5,7 @@ // // Stage 1 // -namespace simdjson { +namespace { namespace SIMDJSON_IMPLEMENTATION { using namespace simd; @@ -98,9 +98,8 @@ really_inline simd8 must_be_2_3_continuation(const simd8 prev2, c return is_third_byte ^ is_fourth_byte; } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "generic/stage1/utf8_lookup4_algorithm.h" #include "generic/stage1/json_structural_indexer.h" @@ -117,11 +116,9 @@ really_inline simd8 must_be_2_3_continuation(const simd8 prev2, c // // Implementation-specific overrides // -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { - -namespace stage1 { namespace { +namespace SIMDJSON_IMPLEMENTATION { +namespace stage1 { really_inline uint64_t json_string_scanner::find_escaped(uint64_t backslash) { // On ARM, we don't short-circuit this if there are no backslashes, because the branch gives us no @@ -130,7 +127,6 @@ really_inline uint64_t json_string_scanner::find_escaped(uint64_t backslash) { return find_escaped_branchless(backslash); } -} // namespace { } // namespace stage1 WARN_UNUSED error_code implementation::minify(const uint8_t *buf, size_t len, uint8_t *dst, size_t &dst_len) const noexcept { @@ -171,6 +167,6 @@ WARN_UNUSED error_code dom_parser_implementation::parse(const uint8_t *_buf, siz } } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "arm64/end_implementation.h" diff --git a/src/arm64/implementation.cpp b/src/arm64/implementation.cpp index 8a9a7984f..93a79ec63 100644 --- a/src/arm64/implementation.cpp +++ b/src/arm64/implementation.cpp @@ -1,9 +1,8 @@ #include "arm64/begin_implementation.h" #include "arm64/dom_parser_implementation.h" -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { WARN_UNUSED error_code implementation::create_dom_parser_implementation( size_t capacity, @@ -17,8 +16,7 @@ WARN_UNUSED error_code implementation::create_dom_parser_implementation( return SUCCESS; } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "arm64/end_implementation.h" \ No newline at end of file diff --git a/src/arm64/implementation.h b/src/arm64/implementation.h index b9eb7c571..2b98e30fe 100644 --- a/src/arm64/implementation.h +++ b/src/arm64/implementation.h @@ -4,10 +4,10 @@ #include "simdjson.h" #include "isadetection.h" -namespace simdjson { -namespace arm64 { namespace { +namespace arm64 { +using namespace simdjson; using namespace simdjson::dom; class implementation final : public simdjson::implementation { @@ -22,8 +22,7 @@ public: WARN_UNUSED bool validate_utf8(const char *buf, size_t len) const noexcept final; }; -} // namespace { } // namespace arm64 -} // namespace simdjson +} // namespace { #endif // SIMDJSON_ARM64_IMPLEMENTATION_H diff --git a/src/arm64/numberparsing.h b/src/arm64/numberparsing.h index e0079170a..6783ad27a 100644 --- a/src/arm64/numberparsing.h +++ b/src/arm64/numberparsing.h @@ -1,9 +1,8 @@ #ifndef SIMDJSON_ARM64_NUMBERPARSING_H #define SIMDJSON_ARM64_NUMBERPARSING_H -namespace simdjson { -namespace arm64 { namespace { +namespace arm64 { // we don't have SSE, so let us use a scalar function // credit: https://johnnylee-sde.github.io/Fast-numeric-string-to-int/ @@ -15,9 +14,8 @@ static really_inline uint32_t parse_eight_digits_unrolled(const uint8_t *chars) return uint32_t((val & 0x0000FFFF0000FFFF) * 42949672960001 >> 32); } -} // namespace { } // namespace arm64 -} // namespace simdjson +} // namespace { #define SWAR_NUMBER_PARSING diff --git a/src/arm64/simd.h b/src/arm64/simd.h index d12e78293..551ebeec8 100644 --- a/src/arm64/simd.h +++ b/src/arm64/simd.h @@ -7,9 +7,8 @@ #include -namespace simdjson { -namespace arm64 { namespace { +namespace arm64 { namespace simd { #ifdef SIMDJSON_REGULAR_VISUAL_STUDIO @@ -495,8 +494,7 @@ really_inline int8x16_t make_int8x16_t(int8_t x1, int8_t x2, int8_t x3, int8_ }; // struct simd8x64 } // namespace simd -} // namespace { } // namespace arm64 -} // namespace simdjson +} // namespace { #endif // SIMDJSON_ARM64_SIMD_H diff --git a/src/arm64/stringparsing.h b/src/arm64/stringparsing.h index 91fb8d90a..3890e6697 100644 --- a/src/arm64/stringparsing.h +++ b/src/arm64/stringparsing.h @@ -5,9 +5,8 @@ #include "arm64/simd.h" #include "arm64/bitmanipulation.h" -namespace simdjson { -namespace arm64 { namespace { +namespace arm64 { using namespace simd; @@ -44,9 +43,8 @@ really_inline backslash_and_quote backslash_and_quote::copy_and_find(const uint8 }; } -} // namespace { } // namespace arm64 -} // namespace simdjson +} // namespace { #include "generic/stage2/stringparsing.h" diff --git a/src/fallback/bitmanipulation.h b/src/fallback/bitmanipulation.h index c85aa7b16..e1e96d712 100644 --- a/src/fallback/bitmanipulation.h +++ b/src/fallback/bitmanipulation.h @@ -4,9 +4,8 @@ #include "simdjson.h" #include -namespace simdjson { -namespace fallback { namespace { +namespace fallback { #if defined(_MSC_VER) && !defined(_M_ARM64) && !defined(_M_X64) static inline unsigned char _BitScanForward64(unsigned long* ret, uint64_t x) { @@ -72,8 +71,7 @@ really_inline bool mul_overflow(uint64_t value1, uint64_t value2, uint64_t *resu return value2 > 0 && value1 > std::numeric_limits::max() / value2; } -} // namespace { } // namespace fallback -} // namespace simdjson +} // namespace { #endif // SIMDJSON_FALLBACK_BITMANIPULATION_H diff --git a/src/fallback/dom_parser_implementation.cpp b/src/fallback/dom_parser_implementation.cpp index 0364762eb..0c4a59478 100644 --- a/src/fallback/dom_parser_implementation.cpp +++ b/src/fallback/dom_parser_implementation.cpp @@ -7,9 +7,8 @@ // #include "generic/stage1/find_next_document_index.h" -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage1 { class structural_scanner { @@ -308,9 +307,8 @@ WARN_UNUSED bool implementation::validate_utf8(const char *buf, size_t len) cons return true; } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { // // Stage 2 @@ -319,7 +317,7 @@ WARN_UNUSED bool implementation::validate_utf8(const char *buf, size_t len) cons #include "fallback/numberparsing.h" #include "generic/stage2/structural_parser.h" -namespace simdjson { +namespace { namespace SIMDJSON_IMPLEMENTATION { WARN_UNUSED error_code dom_parser_implementation::stage2(dom::document &_doc) noexcept { @@ -346,6 +344,6 @@ WARN_UNUSED error_code dom_parser_implementation::parse(const uint8_t *_buf, siz } } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "fallback/end_implementation.h" \ No newline at end of file diff --git a/src/fallback/implementation.cpp b/src/fallback/implementation.cpp index ff2a4f8cc..d4c6e8318 100644 --- a/src/fallback/implementation.cpp +++ b/src/fallback/implementation.cpp @@ -1,9 +1,8 @@ #include "fallback/begin_implementation.h" #include "fallback/dom_parser_implementation.h" -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { WARN_UNUSED error_code implementation::create_dom_parser_implementation( size_t capacity, @@ -17,8 +16,7 @@ WARN_UNUSED error_code implementation::create_dom_parser_implementation( return SUCCESS; } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "fallback/end_implementation.h" \ No newline at end of file diff --git a/src/fallback/implementation.h b/src/fallback/implementation.h index 540030990..fe6005328 100644 --- a/src/fallback/implementation.h +++ b/src/fallback/implementation.h @@ -4,10 +4,10 @@ #include "simdjson.h" #include "isadetection.h" -namespace simdjson { -namespace fallback { namespace { +namespace fallback { +using namespace simdjson; using namespace simdjson::dom; class implementation final : public simdjson::implementation { @@ -26,8 +26,7 @@ public: WARN_UNUSED bool validate_utf8(const char *buf, size_t len) const noexcept final; }; -} // namespace { } // namespace fallback -} // namespace simdjson +} // namespace { #endif // SIMDJSON_FALLBACK_IMPLEMENTATION_H \ No newline at end of file diff --git a/src/fallback/numberparsing.h b/src/fallback/numberparsing.h index ce1e9b898..bf87bb947 100644 --- a/src/fallback/numberparsing.h +++ b/src/fallback/numberparsing.h @@ -8,9 +8,8 @@ void found_unsigned_integer(uint64_t result, const uint8_t *buf); void found_float(double result, const uint8_t *buf); #endif -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { static really_inline uint32_t parse_eight_digits_unrolled(const char *chars) { uint32_t result = 0; for (int i=0;i<8;i++) { @@ -22,9 +21,8 @@ static really_inline uint32_t parse_eight_digits_unrolled(const uint8_t *chars) return parse_eight_digits_unrolled((const char *)chars); } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #define SWAR_NUMBER_PARSING #include "generic/stage2/numberparsing.h" diff --git a/src/fallback/stringparsing.h b/src/fallback/stringparsing.h index 4fed27e85..eb45dd409 100644 --- a/src/fallback/stringparsing.h +++ b/src/fallback/stringparsing.h @@ -3,9 +3,8 @@ #include "simdjson.h" -namespace simdjson { -namespace fallback { namespace { +namespace fallback { // Holds backslashes and quotes locations. struct backslash_and_quote { @@ -27,9 +26,8 @@ really_inline backslash_and_quote backslash_and_quote::copy_and_find(const uint8 return { src[0] }; } -} // namespace { } // namespace fallback -} // namespace simdjson +} // namespace { #include "generic/stage2/stringparsing.h" diff --git a/src/generic/dom_parser_implementation.h b/src/generic/dom_parser_implementation.h index e242157b9..f41f4046a 100644 --- a/src/generic/dom_parser_implementation.h +++ b/src/generic/dom_parser_implementation.h @@ -1,9 +1,8 @@ #include "simdjson.h" #include "isadetection.h" -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { // expectation: sizeof(scope_descriptor) = 64/8. struct scope_descriptor { @@ -45,16 +44,14 @@ public: WARN_UNUSED error_code set_max_depth(size_t max_depth) noexcept final; }; -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "generic/stage1/allocate.h" #include "generic/stage2/allocate.h" -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { really_inline dom_parser_implementation::dom_parser_implementation() {} @@ -73,6 +70,5 @@ WARN_UNUSED error_code dom_parser_implementation::set_max_depth(size_t max_depth return SUCCESS; } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/allocate.h b/src/generic/stage1/allocate.h index 5a57e0700..f145e95d7 100644 --- a/src/generic/stage1/allocate.h +++ b/src/generic/stage1/allocate.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage1 { namespace allocate { @@ -18,6 +17,5 @@ really_inline error_code set_capacity(internal::dom_parser_implementation &parse } // namespace allocate } // namespace stage1 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/buf_block_reader.h b/src/generic/stage1/buf_block_reader.h index ca25d1eed..d1dc57e18 100644 --- a/src/generic/stage1/buf_block_reader.h +++ b/src/generic/stage1/buf_block_reader.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { // Walks through a buffer in block-sized increments, loading the last part with spaces template @@ -86,6 +85,5 @@ really_inline void buf_block_reader::advance() { idx += STEP_SIZE; } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/find_next_document_index.h b/src/generic/stage1/find_next_document_index.h index acbd3a0e0..f1b51d63e 100644 --- a/src/generic/stage1/find_next_document_index.h +++ b/src/generic/stage1/find_next_document_index.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { /** * This algorithm is used to quickly identify the last structural position that @@ -89,6 +88,5 @@ really_inline size_t trim_partial_utf8(const uint8_t *buf, size_t len) { return len; } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/json_minifier.h b/src/generic/stage1/json_minifier.h index e567418c5..766ef6ef2 100644 --- a/src/generic/stage1/json_minifier.h +++ b/src/generic/stage1/json_minifier.h @@ -3,9 +3,8 @@ // We assume the file in which it is included already includes // "simdjson/stage1.h" (this simplifies amalgation) -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage1 { class json_minifier { @@ -78,6 +77,5 @@ error_code json_minifier::minify(const uint8_t *buf, size_t len, uint8_t *dst, s } } // namespace stage1 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/json_scanner.h b/src/generic/stage1/json_scanner.h index 7a9e05e1e..a8b0b17ea 100644 --- a/src/generic/stage1/json_scanner.h +++ b/src/generic/stage1/json_scanner.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage1 { /** @@ -105,6 +104,5 @@ really_inline error_code json_scanner::finish(bool streaming) { } } // namespace stage1 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/json_string_scanner.h b/src/generic/stage1/json_string_scanner.h index c53a9bac9..4c22507ab 100644 --- a/src/generic/stage1/json_string_scanner.h +++ b/src/generic/stage1/json_string_scanner.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage1 { struct json_string_block { @@ -140,6 +139,5 @@ really_inline error_code json_string_scanner::finish(bool streaming) { } } // namespace stage1 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/json_structural_indexer.h b/src/generic/stage1/json_structural_indexer.h index 16c497cb5..b887eea41 100644 --- a/src/generic/stage1/json_structural_indexer.h +++ b/src/generic/stage1/json_structural_indexer.h @@ -9,9 +9,8 @@ #include "generic/stage1/json_minifier.h" #include "generic/stage1/find_next_document_index.h" -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage1 { class bit_indexer { @@ -205,6 +204,5 @@ really_inline error_code json_structural_indexer::finish(dom_parser_implementati } } // namespace stage1 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/utf8_fastvalidate_algorithm.h b/src/generic/stage1/utf8_fastvalidate_algorithm.h index 24adaeebe..da526696c 100644 --- a/src/generic/stage1/utf8_fastvalidate_algorithm.h +++ b/src/generic/stage1/utf8_fastvalidate_algorithm.h @@ -180,6 +180,5 @@ struct utf8_checker { } }; // struct utf8_checker -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/utf8_lookup2_algorithm.h b/src/generic/stage1/utf8_lookup2_algorithm.h index 9be898988..9c8a7e288 100644 --- a/src/generic/stage1/utf8_lookup2_algorithm.h +++ b/src/generic/stage1/utf8_lookup2_algorithm.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace utf8_validation { // @@ -217,8 +216,8 @@ using namespace simd; } }; // struct utf8_checker -} // namespace { } // namespace utf8_validation +} // namespace { using utf8_validation::utf8_checker; diff --git a/src/generic/stage1/utf8_lookup3_algorithm.h b/src/generic/stage1/utf8_lookup3_algorithm.h index 641b8005f..5de0d062c 100644 --- a/src/generic/stage1/utf8_lookup3_algorithm.h +++ b/src/generic/stage1/utf8_lookup3_algorithm.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace utf8_validation { // @@ -237,8 +236,8 @@ using namespace simd; } }; // struct utf8_checker -} // namespace { } // namespace utf8_validation +} // namespace { using utf8_validation::utf8_checker; diff --git a/src/generic/stage1/utf8_lookup4_algorithm.h b/src/generic/stage1/utf8_lookup4_algorithm.h index 2deeafde7..3aec36a2b 100644 --- a/src/generic/stage1/utf8_lookup4_algorithm.h +++ b/src/generic/stage1/utf8_lookup4_algorithm.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace utf8_validation { using namespace simd; @@ -174,10 +173,9 @@ using namespace simd; } }; // struct utf8_checker -} // namespace { } // namespace utf8_validation using utf8_validation::utf8_checker; } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/utf8_lookup_algorithm.h b/src/generic/stage1/utf8_lookup_algorithm.h index 9462b2ddf..e6d735402 100644 --- a/src/generic/stage1/utf8_lookup_algorithm.h +++ b/src/generic/stage1/utf8_lookup_algorithm.h @@ -299,6 +299,5 @@ struct utf8_checker { }; // struct utf8_checker } // namespace utf8_validation -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/utf8_range_algorithm.h b/src/generic/stage1/utf8_range_algorithm.h index f4b479eb6..05163a261 100644 --- a/src/generic/stage1/utf8_range_algorithm.h +++ b/src/generic/stage1/utf8_range_algorithm.h @@ -182,6 +182,5 @@ struct utf8_checker { } }; // struct utf8_checker -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/utf8_validator.h b/src/generic/stage1/utf8_validator.h index 3c2765b45..49c9dbc77 100644 --- a/src/generic/stage1/utf8_validator.h +++ b/src/generic/stage1/utf8_validator.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage1 { /** @@ -28,6 +27,5 @@ bool generic_validate_utf8(const char * input, size_t length) { } } // namespace stage1 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage1/utf8_zwegner_algorithm.h b/src/generic/stage1/utf8_zwegner_algorithm.h index b8a7bd807..91743351b 100644 --- a/src/generic/stage1/utf8_zwegner_algorithm.h +++ b/src/generic/stage1/utf8_zwegner_algorithm.h @@ -361,6 +361,5 @@ struct utf8_checker { } }; // struct utf8_checker -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage2/allocate.h b/src/generic/stage2/allocate.h index 5d9bdb352..f82f023d5 100644 --- a/src/generic/stage2/allocate.h +++ b/src/generic/stage2/allocate.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage2 { namespace allocate { @@ -19,6 +18,5 @@ really_inline error_code set_max_depth(dom_parser_implementation &parser, size_t } // namespace allocate } // namespace stage2 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage2/atomparsing.h b/src/generic/stage2/atomparsing.h index 26ffa5221..e993c7caa 100644 --- a/src/generic/stage2/atomparsing.h +++ b/src/generic/stage2/atomparsing.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage2 { namespace atomparsing { @@ -61,6 +60,5 @@ really_inline bool is_valid_null_atom(const uint8_t *src, size_t len) { } // namespace atomparsing } // namespace stage2 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage2/jsoncharutils.h b/src/generic/stage2/jsoncharutils.h index e560a1eba..6d7c1167b 100644 --- a/src/generic/stage2/jsoncharutils.h +++ b/src/generic/stage2/jsoncharutils.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage2 { // return non-zero if not a structural or whitespace char @@ -116,6 +115,5 @@ really_inline value128 full_multiplication(uint64_t value1, uint64_t value2) { } } // namespace stage2 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage2/logger.h b/src/generic/stage2/logger.h index dfafb6f68..a6584cb3a 100644 --- a/src/generic/stage2/logger.h +++ b/src/generic/stage2/logger.h @@ -1,8 +1,7 @@ // This is for an internal-only stage 2 specific logger. // Set LOG_ENABLED = true to log what stage 2 is doing! -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace logger { static constexpr const char * DASHES = "----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"; @@ -66,6 +65,5 @@ namespace logger { } } // namespace logger -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage2/numberparsing.h b/src/generic/stage2/numberparsing.h index 94059e51d..920c2b9d6 100644 --- a/src/generic/stage2/numberparsing.h +++ b/src/generic/stage2/numberparsing.h @@ -1,9 +1,8 @@ #include #include -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage2 { namespace numberparsing { @@ -505,6 +504,5 @@ really_inline bool parse_number(const uint8_t *const src, W &writer) { } // namespace numberparsing } // namespace stage2 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage2/stringparsing.h b/src/generic/stage2/stringparsing.h index b2568e282..f11103df0 100644 --- a/src/generic/stage2/stringparsing.h +++ b/src/generic/stage2/stringparsing.h @@ -1,9 +1,8 @@ // This file contains the common code every implementation uses // It is intended to be included multiple times and compiled multiple times -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage2 { namespace stringparsing { @@ -122,6 +121,5 @@ WARN_UNUSED really_inline uint8_t *parse_string(const uint8_t *src, uint8_t *dst } // namespace stringparsing } // namespace stage2 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage2/structural_iterator.h b/src/generic/stage2/structural_iterator.h index c849f9a21..2871a93ed 100644 --- a/src/generic/stage2/structural_iterator.h +++ b/src/generic/stage2/structural_iterator.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage2 { class structural_iterator { @@ -47,6 +46,5 @@ public: }; } // namespace stage2 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage2/structural_parser.h b/src/generic/stage2/structural_parser.h index f6cd15db5..a248ce085 100644 --- a/src/generic/stage2/structural_parser.h +++ b/src/generic/stage2/structural_parser.h @@ -8,9 +8,8 @@ #include "generic/stage2/atomparsing.h" #include "generic/stage2/structural_iterator.h" -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { // Make everything here private +namespace SIMDJSON_IMPLEMENTATION { namespace stage2 { #ifdef SIMDJSON_USE_COMPUTED_GOTO @@ -468,6 +467,5 @@ error: } } // namespace stage2 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/generic/stage2/tape_writer.h b/src/generic/stage2/tape_writer.h index 8c9f8c4b2..3a44f0477 100644 --- a/src/generic/stage2/tape_writer.h +++ b/src/generic/stage2/tape_writer.h @@ -1,6 +1,5 @@ -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage2 { struct tape_writer { @@ -100,6 +99,5 @@ really_inline void tape_writer::write(uint64_t &tape_loc, uint64_t val, internal } } // namespace stage2 -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { diff --git a/src/haswell/bitmanipulation.h b/src/haswell/bitmanipulation.h index 51ce7437c..8e22b7d8d 100644 --- a/src/haswell/bitmanipulation.h +++ b/src/haswell/bitmanipulation.h @@ -1,9 +1,8 @@ #ifndef SIMDJSON_HASWELL_BITMANIPULATION_H #define SIMDJSON_HASWELL_BITMANIPULATION_H -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { // We sometimes call trailing_zero on inputs that are zero, // but the algorithms do not end up using the returned value. @@ -69,8 +68,7 @@ really_inline bool mul_overflow(uint64_t value1, uint64_t value2, #endif } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #endif // SIMDJSON_HASWELL_BITMANIPULATION_H diff --git a/src/haswell/bitmask.h b/src/haswell/bitmask.h index b5d0727b8..a2702e232 100644 --- a/src/haswell/bitmask.h +++ b/src/haswell/bitmask.h @@ -1,9 +1,8 @@ #ifndef SIMDJSON_HASWELL_BITMASK_H #define SIMDJSON_HASWELL_BITMASK_H -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { // // Perform a "cumulative bitwise xor," flipping bits each time a 1 is encountered. @@ -18,8 +17,7 @@ really_inline uint64_t prefix_xor(const uint64_t bitmask) { return _mm_cvtsi128_si64(result); } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #endif // SIMDJSON_HASWELL_BITMASK_H diff --git a/src/haswell/dom_parser_implementation.cpp b/src/haswell/dom_parser_implementation.cpp index cd35619b1..68fa6aa6e 100644 --- a/src/haswell/dom_parser_implementation.cpp +++ b/src/haswell/dom_parser_implementation.cpp @@ -6,9 +6,8 @@ // Stage 1 // -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { using namespace simd; @@ -65,9 +64,8 @@ really_inline simd8 must_be_2_3_continuation(const simd8 prev2, c return simd8(is_third_byte | is_fourth_byte) > int8_t(0); } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "generic/stage1/utf8_lookup4_algorithm.h" #include "generic/stage1/json_structural_indexer.h" @@ -83,9 +81,8 @@ really_inline simd8 must_be_2_3_continuation(const simd8 prev2, c // // Implementation-specific overrides // -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage1 { really_inline uint64_t json_string_scanner::find_escaped(uint64_t backslash) { @@ -94,7 +91,6 @@ really_inline uint64_t json_string_scanner::find_escaped(uint64_t backslash) { } } // namespace stage1 -} // namespace { WARN_UNUSED error_code implementation::minify(const uint8_t *buf, size_t len, uint8_t *dst, size_t &dst_len) const noexcept { return haswell::stage1::json_minifier::minify<128>(buf, len, dst, dst_len); @@ -107,7 +103,7 @@ WARN_UNUSED error_code dom_parser_implementation::stage1(const uint8_t *_buf, si } WARN_UNUSED bool implementation::validate_utf8(const char *buf, size_t len) const noexcept { - return simdjson::haswell::stage1::generic_validate_utf8(buf,len); + return haswell::stage1::generic_validate_utf8(buf,len); } WARN_UNUSED error_code dom_parser_implementation::stage2(dom::document &_doc) noexcept { @@ -134,6 +130,6 @@ WARN_UNUSED error_code dom_parser_implementation::parse(const uint8_t *_buf, siz } } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "haswell/end_implementation.h" diff --git a/src/haswell/implementation.cpp b/src/haswell/implementation.cpp index 45f5b4fe8..8c70b81c7 100644 --- a/src/haswell/implementation.cpp +++ b/src/haswell/implementation.cpp @@ -1,9 +1,8 @@ #include "haswell/begin_implementation.h" #include "haswell/dom_parser_implementation.h" -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { WARN_UNUSED error_code implementation::create_dom_parser_implementation( size_t capacity, @@ -17,9 +16,8 @@ WARN_UNUSED error_code implementation::create_dom_parser_implementation( return SUCCESS; } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "haswell/end_implementation.h" diff --git a/src/haswell/implementation.h b/src/haswell/implementation.h index b2a549324..45ea9908a 100644 --- a/src/haswell/implementation.h +++ b/src/haswell/implementation.h @@ -5,9 +5,10 @@ #include "isadetection.h" // The constructor may be executed on any host, so we take care not to use SIMDJSON_TARGET_REGION -namespace simdjson { -namespace haswell { namespace { +namespace haswell { + +using namespace simdjson; class implementation final : public simdjson::implementation { public: @@ -25,8 +26,7 @@ public: WARN_UNUSED bool validate_utf8(const char *buf, size_t len) const noexcept final; }; -} // namespace { } // namespace haswell -} // namespace simdjson +} // namespace { #endif // SIMDJSON_HASWELL_IMPLEMENTATION_H \ No newline at end of file diff --git a/src/haswell/numberparsing.h b/src/haswell/numberparsing.h index 547d3baba..08d0a5c14 100644 --- a/src/haswell/numberparsing.h +++ b/src/haswell/numberparsing.h @@ -1,9 +1,8 @@ #ifndef SIMDJSON_HASWELL_NUMBERPARSING_H #define SIMDJSON_HASWELL_NUMBERPARSING_H -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { static really_inline uint32_t parse_eight_digits_unrolled(const uint8_t *chars) { // this actually computes *16* values so we are being wasteful. @@ -23,9 +22,8 @@ static really_inline uint32_t parse_eight_digits_unrolled(const uint8_t *chars) t4); // only captures the sum of the first 8 digits, drop the rest } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #define SWAR_NUMBER_PARSING diff --git a/src/haswell/simd.h b/src/haswell/simd.h index 26e13de41..183c4b124 100644 --- a/src/haswell/simd.h +++ b/src/haswell/simd.h @@ -3,9 +3,8 @@ #include "simdprune_tables.h" -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace simd { // Forward-declared so they can be used by splat and friends. @@ -347,10 +346,9 @@ namespace simd { } }; // struct simd8x64 -} // namespace { } // namespace simd } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #endif // SIMDJSON_HASWELL_SIMD_H diff --git a/src/haswell/stringparsing.h b/src/haswell/stringparsing.h index 575745460..8d7f95622 100644 --- a/src/haswell/stringparsing.h +++ b/src/haswell/stringparsing.h @@ -5,9 +5,8 @@ #include "haswell/simd.h" #include "haswell/bitmanipulation.h" -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { using namespace simd; @@ -39,9 +38,8 @@ really_inline backslash_and_quote backslash_and_quote::copy_and_find(const uint8 }; } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "generic/stage2/stringparsing.h" diff --git a/src/westmere/bitmanipulation.h b/src/westmere/bitmanipulation.h index 641a5ac9b..928dbfd18 100644 --- a/src/westmere/bitmanipulation.h +++ b/src/westmere/bitmanipulation.h @@ -1,9 +1,8 @@ #ifndef SIMDJSON_WESTMERE_BITMANIPULATION_H #define SIMDJSON_WESTMERE_BITMANIPULATION_H -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { // We sometimes call trailing_zero on inputs that are zero, // but the algorithms do not end up using the returned value. @@ -78,8 +77,7 @@ really_inline bool mul_overflow(uint64_t value1, uint64_t value2, #endif } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #endif // SIMDJSON_WESTMERE_BITMANIPULATION_H diff --git a/src/westmere/bitmask.h b/src/westmere/bitmask.h index 2da19c90c..ad397357c 100644 --- a/src/westmere/bitmask.h +++ b/src/westmere/bitmask.h @@ -1,9 +1,8 @@ #ifndef SIMDJSON_WESTMERE_BITMASK_H #define SIMDJSON_WESTMERE_BITMASK_H -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { // // Perform a "cumulative bitwise xor," flipping bits each time a 1 is encountered. @@ -18,8 +17,7 @@ really_inline uint64_t prefix_xor(const uint64_t bitmask) { return _mm_cvtsi128_si64(result); } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #endif // SIMDJSON_WESTMERE_BITMASK_H diff --git a/src/westmere/dom_parser_implementation.cpp b/src/westmere/dom_parser_implementation.cpp index d158cbf99..1f561c216 100644 --- a/src/westmere/dom_parser_implementation.cpp +++ b/src/westmere/dom_parser_implementation.cpp @@ -6,9 +6,8 @@ // Stage 1 // -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { using namespace simd; @@ -70,9 +69,8 @@ really_inline simd8 must_be_2_3_continuation(const simd8 prev2, c return simd8(is_third_byte | is_fourth_byte) > int8_t(0); } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "generic/stage1/utf8_lookup4_algorithm.h" #include "generic/stage1/json_structural_indexer.h" @@ -88,10 +86,9 @@ really_inline simd8 must_be_2_3_continuation(const simd8 prev2, c // // Implementation-specific overrides // -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace stage1 { really_inline uint64_t json_string_scanner::find_escaped(uint64_t backslash) { @@ -100,7 +97,6 @@ really_inline uint64_t json_string_scanner::find_escaped(uint64_t backslash) { } } // namespace stage1 -} // namespace { WARN_UNUSED error_code implementation::minify(const uint8_t *buf, size_t len, uint8_t *dst, size_t &dst_len) const noexcept { return westmere::stage1::json_minifier::minify<64>(buf, len, dst, dst_len); @@ -113,7 +109,7 @@ WARN_UNUSED error_code dom_parser_implementation::stage1(const uint8_t *_buf, si } WARN_UNUSED bool implementation::validate_utf8(const char *buf, size_t len) const noexcept { - return simdjson::westmere::stage1::generic_validate_utf8(buf,len); + return westmere::stage1::generic_validate_utf8(buf,len); } WARN_UNUSED error_code dom_parser_implementation::stage2(dom::document &_doc) noexcept { @@ -140,6 +136,6 @@ WARN_UNUSED error_code dom_parser_implementation::parse(const uint8_t *_buf, siz } } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "westmere/end_implementation.h" diff --git a/src/westmere/implementation.cpp b/src/westmere/implementation.cpp index e39efb02a..a58e676af 100644 --- a/src/westmere/implementation.cpp +++ b/src/westmere/implementation.cpp @@ -1,9 +1,8 @@ #include "westmere/begin_implementation.h" #include "westmere/dom_parser_implementation.h" -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { WARN_UNUSED error_code implementation::create_dom_parser_implementation( size_t capacity, @@ -17,8 +16,7 @@ WARN_UNUSED error_code implementation::create_dom_parser_implementation( return SUCCESS; } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "westmere/end_implementation.h" \ No newline at end of file diff --git a/src/westmere/implementation.h b/src/westmere/implementation.h index 453c065dd..c16922b93 100644 --- a/src/westmere/implementation.h +++ b/src/westmere/implementation.h @@ -6,10 +6,10 @@ #include "isadetection.h" // The constructor may be executed on any host, so we take care not to use SIMDJSON_TARGET_REGION -namespace simdjson { -namespace westmere { namespace { +namespace westmere { +using namespace simdjson; using namespace simdjson::dom; class implementation final : public simdjson::implementation { @@ -24,8 +24,7 @@ public: WARN_UNUSED bool validate_utf8(const char *buf, size_t len) const noexcept final; }; -} // namespace { } // namespace westmere -} // namespace simdjson +} // namespace { #endif // SIMDJSON_WESTMERE_IMPLEMENTATION_H \ No newline at end of file diff --git a/src/westmere/numberparsing.h b/src/westmere/numberparsing.h index c72a14564..681a079e2 100644 --- a/src/westmere/numberparsing.h +++ b/src/westmere/numberparsing.h @@ -1,9 +1,8 @@ #ifndef SIMDJSON_WESTMERE_NUMBERPARSING_H #define SIMDJSON_WESTMERE_NUMBERPARSING_H -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { static really_inline uint32_t parse_eight_digits_unrolled(const uint8_t *chars) { // this actually computes *16* values so we are being wasteful. @@ -23,9 +22,8 @@ static really_inline uint32_t parse_eight_digits_unrolled(const uint8_t *chars) t4); // only captures the sum of the first 8 digits, drop the rest } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #define SWAR_NUMBER_PARSING diff --git a/src/westmere/simd.h b/src/westmere/simd.h index bcb7db9b4..9f328c675 100644 --- a/src/westmere/simd.h +++ b/src/westmere/simd.h @@ -3,9 +3,8 @@ #include "simdprune_tables.h" -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { namespace simd { template @@ -328,8 +327,7 @@ namespace simd { }; // struct simd8x64 } // namespace simd -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #endif // SIMDJSON_WESTMERE_SIMD_INPUT_H diff --git a/src/westmere/stringparsing.h b/src/westmere/stringparsing.h index 7eab837e4..a0e8900ae 100644 --- a/src/westmere/stringparsing.h +++ b/src/westmere/stringparsing.h @@ -1,9 +1,8 @@ #ifndef SIMDJSON_WESTMERE_STRINGPARSING_H #define SIMDJSON_WESTMERE_STRINGPARSING_H -namespace simdjson { -namespace SIMDJSON_IMPLEMENTATION { namespace { +namespace SIMDJSON_IMPLEMENTATION { using namespace simd; @@ -37,9 +36,8 @@ really_inline backslash_and_quote backslash_and_quote::copy_and_find(const uint8 }; } -} // namespace { } // namespace SIMDJSON_IMPLEMENTATION -} // namespace simdjson +} // namespace { #include "generic/stage2/stringparsing.h"