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
, ...,sixteenth
for 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_constants
infor_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
auto
option forstructs.default_constructible
- Added
soagen::row_base
- Added
soagen::table_base
- Added
soagen::iterator_base
- Added
Base
template argument tosoagen::table
for CRTP - Added
swap_columns<>()
- Made
column_indices
member 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
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 |