Skip to main content

Struct-of-Arrays for C++.

Project description

soagen

Struct-of-Arrays for C++.

Sponsor Gitter



✨️ This README is a stub. Please see the HTML documentation: marzer.github.io/soagen✨️



Changelog

v0.6.0

  • Fixed swap_columns() fast-path breaking data()
  • Added spans
    • Added span
    • Added is_span<>
    • Added table::subspan() and table::const_subspan()
    • Added span_type<> and const_span_type<>
  • 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 the emplacer)
  • Added support for taking std::integral_constants in for_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 by for_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 for structs.default_constructible
  • Added soagen::row_base
  • Added soagen::table_base
  • Added soagen::iterator_base
  • Added Base template argument to soagen::table for CRTP
  • Added swap_columns<>()
  • Made column_indices member struct into enum class columns

v0.1.2

  • Minor refactors.

v0.1.1

  • Minor refactors.

v0.1.0

  • First public release 🎉️

Project details


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.6.0.tar.gz (131.2 kB view details)

Uploaded Source

Built Distribution

soagen-0.6.0-py3-none-any.whl (154.8 kB view details)

Uploaded Python 3

File details

Details for the file soagen-0.6.0.tar.gz.

File metadata

  • Download URL: soagen-0.6.0.tar.gz
  • Upload date:
  • Size: 131.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for soagen-0.6.0.tar.gz
Algorithm Hash digest
SHA256 bb059eeb3301bdfba12d6208bfb093886ccf79b895b124e7d4b729697dcb24bf
MD5 25e9c7b555724b75ddf5b9b193ea1087
BLAKE2b-256 af1bdf0b68dba26fa1cf5d894216a2b184c7d5e64642da6be9b87bf7ee1d166c

See more details on using hashes here.

File details

Details for the file soagen-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: soagen-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 154.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for soagen-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bac6c991bce33b5dc1fa973f2a7e1f7957b7472976967514c8c45638d741231f
MD5 5e792300e425ead69a919e52d88903f8
BLAKE2b-256 6e2080df850c6b25675548ab2bcef59b787d4b29375c2247843bd4140e2da577

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page