Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion include/simdjson/common_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ namespace std {
#undef SIMDJSON_HAS_STRING_VIEW // We are not going to need this macro anymore.

/// If EXPR is an error, returns it.
#define SIMDJSON_TRY(EXPR) { auto _err = (EXPR); if (_err) { return _err; } }
#define SIMDJSON_TRY(EXPR) { auto _err = (EXPR); if (simdjson_unlikely(_err)) { return _err; } }

// Unless the programmer has already set SIMDJSON_DEVELOPMENT_CHECKS,
// we want to set it under debug builds. We detect a debug build
Expand Down
10 changes: 5 additions & 5 deletions include/simdjson/dom/array-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,26 +26,26 @@ simdjson_inline simdjson_result<dom::array>::simdjson_result(error_code error) n
#if SIMDJSON_EXCEPTIONS

inline dom::array::iterator simdjson_result<dom::array>::begin() const noexcept(false) {
if (error()) { throw simdjson_error(error()); }
if (simdjson_unlikely(error())) { throw simdjson_error(error()); }
return first.begin();
}
inline dom::array::iterator simdjson_result<dom::array>::end() const noexcept(false) {
if (error()) { throw simdjson_error(error()); }
if (simdjson_unlikely(error())) { throw simdjson_error(error()); }
return first.end();
}
inline size_t simdjson_result<dom::array>::size() const noexcept(false) {
if (error()) { throw simdjson_error(error()); }
if (simdjson_unlikely(error())) { throw simdjson_error(error()); }
return first.size();
}

#endif // SIMDJSON_EXCEPTIONS

inline simdjson_result<dom::element> simdjson_result<dom::array>::at_pointer(std::string_view json_pointer) const noexcept {
if (error()) { return error(); }
if (simdjson_unlikely(error())) { return error(); }
return first.at_pointer(json_pointer);
}
inline simdjson_result<dom::element> simdjson_result<dom::array>::at(size_t index) const noexcept {
if (error()) { return error(); }
if (simdjson_unlikely(error())) { return error(); }
return first.at(index);
}

Expand Down
4 changes: 2 additions & 2 deletions include/simdjson/dom/document_stream-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -320,11 +320,11 @@ simdjson_inline simdjson_result<dom::document_stream>::simdjson_result(dom::docu

#if SIMDJSON_EXCEPTIONS
simdjson_inline dom::document_stream::iterator simdjson_result<dom::document_stream>::begin() noexcept(false) {
if (error()) { throw simdjson_error(error()); }
if (simdjson_unlikely(error())) { throw simdjson_error(error()); }
return first.begin();
}
simdjson_inline dom::document_stream::iterator simdjson_result<dom::document_stream>::end() noexcept(false) {
if (error()) { throw simdjson_error(error()); }
if (simdjson_unlikely(error())) { throw simdjson_error(error()); }
return first.end();
}
#else // SIMDJSON_EXCEPTIONS
Expand Down
16 changes: 8 additions & 8 deletions include/simdjson/dom/object-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,38 +23,38 @@ simdjson_inline simdjson_result<dom::object>::simdjson_result(error_code error)
: internal::simdjson_result_base<dom::object>(error) {}

inline simdjson_result<dom::element> simdjson_result<dom::object>::operator[](std::string_view key) const noexcept {
if (error()) { return error(); }
if (simdjson_unlikely(error())) { return error(); }
return first[key];
}
inline simdjson_result<dom::element> simdjson_result<dom::object>::operator[](const char *key) const noexcept {
if (error()) { return error(); }
if (simdjson_unlikely(error())) { return error(); }
return first[key];
}
inline simdjson_result<dom::element> simdjson_result<dom::object>::at_pointer(std::string_view json_pointer) const noexcept {
if (error()) { return error(); }
if (simdjson_unlikely(error())) { return error(); }
return first.at_pointer(json_pointer);
}
inline simdjson_result<dom::element> simdjson_result<dom::object>::at_key(std::string_view key) const noexcept {
if (error()) { return error(); }
if (simdjson_unlikely(error())) { return error(); }
return first.at_key(key);
}
inline simdjson_result<dom::element> simdjson_result<dom::object>::at_key_case_insensitive(std::string_view key) const noexcept {
if (error()) { return error(); }
if (simdjson_unlikely(error())) { return error(); }
return first.at_key_case_insensitive(key);
}

#if SIMDJSON_EXCEPTIONS

inline dom::object::iterator simdjson_result<dom::object>::begin() const noexcept(false) {
if (error()) { throw simdjson_error(error()); }
if (simdjson_unlikely(error())) { throw simdjson_error(error()); }
return first.begin();
}
inline dom::object::iterator simdjson_result<dom::object>::end() const noexcept(false) {
if (error()) { throw simdjson_error(error()); }
if (simdjson_unlikely(error())) { throw simdjson_error(error()); }
return first.end();
}
inline size_t simdjson_result<dom::object>::size() const noexcept(false) {
if (error()) { throw simdjson_error(error()); }
if (simdjson_unlikely(error())) { throw simdjson_error(error()); }
return first.size();
}

Expand Down
6 changes: 3 additions & 3 deletions include/simdjson/dom/parser-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ inline error_code parser::allocate(size_t capacity, size_t max_depth) noexcept {
} else {
err = simdjson::get_active_implementation()->create_dom_parser_implementation(capacity, max_depth, implementation);
}
if (err) { return err; }
if (simdjson_unlikely(err)) { return err; }
return SUCCESS;
}

Expand Down Expand Up @@ -238,8 +238,8 @@ inline error_code parser::ensure_capacity(document& target_document, size_t desi
}
error_code err1 = target_document.capacity() < desired_capacity ? target_document.allocate(desired_capacity) : SUCCESS;
error_code err2 = capacity() < desired_capacity ? allocate(desired_capacity, max_depth()) : SUCCESS;
if(err1 != SUCCESS) { return error = err1; }
if(err2 != SUCCESS) { return error = err2; }
if(simdjson_unlikely(err1 != SUCCESS)) { return error = err1; }
if(simdjson_unlikely(err2 != SUCCESS)) { return error = err2; }
}
return SUCCESS;
}
Expand Down
4 changes: 2 additions & 2 deletions include/simdjson/error-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ simdjson_inline error_code simdjson_result_base<T>::error() const noexcept {

template<typename T>
simdjson_inline T& simdjson_result_base<T>::value() & noexcept(false) {
if (error()) { throw simdjson_error(error()); }
if (simdjson_unlikely(error())) { throw simdjson_error(error()); }
return this->first;
}

Expand All @@ -77,7 +77,7 @@ simdjson_inline T&& simdjson_result_base<T>::value() && noexcept(false) {

template<typename T>
simdjson_inline T&& simdjson_result_base<T>::take_value() && noexcept(false) {
if (error()) { throw simdjson_error(error()); }
if (simdjson_unlikely(error())) { throw simdjson_error(error()); }
return std::forward<T>(this->first);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ simdjson_inline error_code implementation_simdjson_result_base<T>::error() const

template<typename T>
simdjson_inline T& implementation_simdjson_result_base<T>::value() & noexcept(false) {
if (error()) { throw simdjson_error(error()); }
if (simdjson_unlikely(error())) { throw simdjson_error(error()); }
return this->first;
}

Expand All @@ -48,7 +48,7 @@ simdjson_inline T&& implementation_simdjson_result_base<T>::value() && noexcept(

template<typename T>
simdjson_inline T&& implementation_simdjson_result_base<T>::take_value() && noexcept(false) {
if (error()) { throw simdjson_error(error()); }
if (simdjson_unlikely(error())) { throw simdjson_error(error()); }
return std::forward<T>(this->first);
}

Expand Down
Loading