- Added
rvalue_row_type<>
- Added
rvalue_iterator_type<>
- Added
rvalue_span_type<>
- Added
source_offset
customization point for mix-ins
- 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)
- 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
- Added rows to
soagen::table
- Added iterators to
soagen::table
- Added
soagen::table::for_each_column()
- 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
- 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
- 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
- Minor refactors.
- Minor refactors.
- First public release 🎉️