Skip to content

[TRACKER] embedded-friendly #9

@KaruroChori

Description

@KaruroChori

Since day zero the library was mostly intended to be light on exceptions and memory allocations to ensure its viability in embedded systems. The initial code was not perfect in this sense, but I am now removing most of such occurrences.

1691877 & 1bbcbaa did most of the work. There are some cases left to be addressed, but we are now in a much better position.

What is left are:

  • Current escaping functions, to be replaced by an alternative already present in the codebase.
  • Some exceptions used to validate XML labels, to be replaced as well with the usual std::expect pattern.
  • Removed path functions requiring strings to operate. User defined replacements are now trivial
  • An option to fully statically define buffer, symbols and stack for the tree-builder, fully removing dynamic memory for it if so desired.
  • Rework queries not to use dynamic memory or at the very least no heap.
  • Forwards std::span as xml::span and allow for an alternative implementation of span and Stored to use sparse chunk allocations to target systems unable to operate with virtual memory?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions