Struct-of-Arrays for C++.
Project description
soagen
Struct-of-Arrays for C++.
✨️ This README is a stub. Please see the HTML documentation: marzer.github.io/soagen✨️
Changelog
v0.7.0
- Fixed rvalue row corruption bug on MSVC (info)
- Fuxed some SFINAE issues
- Added
Cols...selector template parameter toat(),front()andback() - Added
structs.mixins - Added copy-based fallbacks for
unordered_erase(),insert(),emplace()andswap_columns()(previously they required movability)
v0.6.0
- Fixed
swap_columns()fast-path breakingdata() - Added spans
- Added
span - Added
is_span<> - Added
table::subspan()andtable::const_subspan() - Added
span_type<>andconst_span_type<>
- Added
- Added
soa_type<> - Added
const_iterator_type<> - Added
const_row_type<> - Added
column_indices<> - Added
soagen::for_each_column() - Added
row::for_each_column() - Added generic names
first,second, ...,sixteenthfor unnamed columns 0-15 - Binary size improvements
- Documentation improvements
v0.5.0
- Added rows to
soagen::table - Added iterators to
soagen::table - Added
soagen::table::for_each_column()
v0.4.0
- Fixed
soagen::is_table<> - Added support for emplace-constructing column values by unpacking all
std::tuple-like types (not just theemplacer) - Added support for taking
std::integral_constantsinfor_each_column() - Added
soagen::same_table_type<> - Added conversions between
soagen::row<>specializations - Optimized instantiation overhead for most type-traits
v0.3.0
- Added
hpp.combined - Added
std::integral_constant<size_t>to the overload set used byfor_each_column() - Added support for constructing rows from all
std::tuple-like types - Optimized bulk-swap operations
v0.2.0
- Added
structs.annotations - Added
structs.attributes - Added
autooption forstructs.default_constructible - Added
soagen::row_base - Added
soagen::table_base - Added
soagen::iterator_base - Added
Basetemplate argument tosoagen::tablefor CRTP - Added
swap_columns<>() - Made
column_indicesmember struct intoenum class columns
v0.1.2
- Minor refactors.
v0.1.1
- Minor refactors.
v0.1.0
- First public release 🎉️
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
soagen-0.7.0.tar.gz
(133.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
soagen-0.7.0-py3-none-any.whl
(156.5 kB
view details)
File details
Details for the file soagen-0.7.0.tar.gz.
File metadata
- Download URL: soagen-0.7.0.tar.gz
- Upload date:
- Size: 133.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3279d4829f2bb679457f18515d9d64457a83704c953296492934324e256e74fe
|
|
| MD5 |
f3296d1ffb47a0798a0f2e5080f487f2
|
|
| BLAKE2b-256 |
921ea07b4cf2dbae3cbfa3287a6ab04fc6dbb7489539a7bf4ecfa201db002a6b
|
File details
Details for the file soagen-0.7.0-py3-none-any.whl.
File metadata
- Download URL: soagen-0.7.0-py3-none-any.whl
- Upload date:
- Size: 156.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
984185b946fb775fdbe50319979a2d27f5ca0aa409020079b6dc0ad2016b8932
|
|
| MD5 |
3e3e55877ee51e9725a8275302b01b41
|
|
| BLAKE2b-256 |
4ec473a508784eac8fcd586e3bd997ab1cad29864e506db5cebd7768e0761efd
|