* Refactor ByteArray from string alias to class implementation
- Converted ByteArray from an alias of std::string to a class implementation.
- Added multiple constructors to support initialization from various sources:
- std::vector<uint8_t>
- uint8_t pointer with size
- std::string
- C-string with and without null termination
- Implemented static methods fromHex() to construct from hex strings.
- Implemented c_str() method to return a C-string representation.
- Overloaded the stream operator to support pretty printing ByteArrays.
* Use an internal std::vector instead of inheriting from it
* Access directly to internal bytes of ByteArray
* Remove c_str methods
* Add slicing methods to ByteArray
* Fix data slicing in Windows backend
* Simplify ByteArray::fromHex
* Rename ByteArray::toHexString to toHex
so as to be consistent with fromHex
* Share ByteArray with simplebluez using common directory
* Remove unnecessary cast from ByteArray to string
* Extend use of ByteArray in simplebluez
* Revert changes in build script
* Remove subdirectory and rename namespace
* Allow hex prefix in 'fromHex' and clarify documentation
* Explicitly build ByteArray from py::bytes in python wrapper
* Add ByteArray to documentation
* Rename common dir to external
And rename kvn::ByteArray to kvn::bytearray
* Fix include path and format
* Use preprocessor guards instead of pragma
* [docs] Change CMake source flag in build documentation
From deprecated -H /path/to/source to -S /path/to/source
* [docs] Add class diagram to Simpleble 'API reference' page
Showing relationship between main frontend classes
* [docs] Add missing Cmake link
* Update api.rst
Removed class diagram. Doesn't seem necessary.
---------
Co-authored-by: Kevin Dewald <5274600+kdewald@users.noreply.github.com>
* More docs!
* Made version handling a bit simpler. Unified versions across subpackages.
* Fixed previous documentation bugs. First pass at Python docs
* Separated python binding code by class.
* Some progress with new docs
* See of we can get RTD to work
* See if the YAML file is correctly executed
* Move config file to root.
* Forgot the file
* Tweaking yaml
* Tweaking yaml
* Use apt packages
* Add breathe
* Try an older Python version.
* Try an older Python version.
* Pin Python packages
* Try another theme
* See if we can get RTD working
* Pin version post installation
* Raw pass at documentation of all functions.
* Add docs dependencies
* Pin requirement versions
* Fix linting exclude
* Add support to run Doxygen on SimpleBLE source code.
* Merged changelogs and dropped old messages.
* Added tutorial page
* Add tutorial to index
* Minor tweaks in changelog
* Initial tutorial
* Minor fixes
* Clean lint job, add docs build job
* Fix indentation error
* Fix indentation error, again...
* Doxygen now works fine
* Added a lot of documentation
* Updated SimpleBluez and used safe callbacks.
* Updated safe callback with windows fix.
* New documentation
* Moved supported platforms to a different section.