soagen


Namesoagen JSON
Version 0.7.0 PyPI version JSON
download
home_page
SummaryStruct-of-Arrays for C++.
upload_time2023-08-27 17:43:08
maintainer
docs_urlNone
author
requires_python>=3.9
licenseMIT
keywords c++ soa struct-of-arrays structure-of-arrays struct of arrays structure of arrays parallel-arrays parallel arrays std::vector
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # soagen

Struct-of-Arrays for C++.

[![Sponsor](docs/images/badge-sponsor.svg)][sponsor]
[![Gitter](docs/images/badge-gitter.svg)][gitter]

<br><br>

<p align="center">
	<strong>✨&#xFE0F; This README is a stub. Please see the HTML documentation: <a href="https://marzer.github.io/soagen/">marzer.github.io/soagen</a>✨&#xFE0F;</strong>
</p>

<br><br>

[gitter]: https://gitter.im/marzer/community
[sponsor]: https://github.com/sponsors/marzer

# Changelog

## v0.7.0

-   Fixed rvalue row corruption bug on MSVC ([info](https://developercommunity.visualstudio.com/t/C:-Corrupt-references-when-creating-a/10446877))
-   Fuxed some SFINAE issues
-   Added `Cols...` selector template parameter to `at()`, `front()` and `back()`
-   Added `structs.mixins`
-   Added copy-based fallbacks for `unordered_erase()`, `insert()`, `emplace()` and `swap_columns()` (previously they required movability)

## 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 🎉&#xFE0F;

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "soagen",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "c++,soa,struct-of-arrays,structure-of-arrays,struct of arrays,structure of arrays,parallel-arrays,parallel arrays,std::vector",
    "author": "",
    "author_email": "Mark Gillard <mark.gillard@outlook.com.au>",
    "download_url": "https://files.pythonhosted.org/packages/92/1e/a07b4cf2dbae3cbfa3287a6ab04fc6dbb7489539a7bf4ecfa201db002a6b/soagen-0.7.0.tar.gz",
    "platform": null,
    "description": "# soagen\r\n\r\nStruct-of-Arrays for C++.\r\n\r\n[![Sponsor](docs/images/badge-sponsor.svg)][sponsor]\r\n[![Gitter](docs/images/badge-gitter.svg)][gitter]\r\n\r\n<br><br>\r\n\r\n<p align=\"center\">\r\n\t<strong>\u2728&#xFE0F; This README is a stub. Please see the HTML documentation: <a href=\"https://marzer.github.io/soagen/\">marzer.github.io/soagen</a>\u2728&#xFE0F;</strong>\r\n</p>\r\n\r\n<br><br>\r\n\r\n[gitter]: https://gitter.im/marzer/community\r\n[sponsor]: https://github.com/sponsors/marzer\r\n\r\n# Changelog\r\n\r\n## v0.7.0\r\n\r\n-   Fixed rvalue row corruption bug on MSVC ([info](https://developercommunity.visualstudio.com/t/C:-Corrupt-references-when-creating-a/10446877))\r\n-   Fuxed some SFINAE issues\r\n-   Added `Cols...` selector template parameter to `at()`, `front()` and `back()`\r\n-   Added `structs.mixins`\r\n-   Added copy-based fallbacks for `unordered_erase()`, `insert()`, `emplace()` and `swap_columns()` (previously they required movability)\r\n\r\n## v0.6.0\r\n\r\n-   Fixed `swap_columns()` fast-path breaking `data()`\r\n-   Added spans\r\n    -   Added `span`\r\n    -   Added `is_span<>`\r\n    -   Added `table::subspan()` and `table::const_subspan()`\r\n    -   Added `span_type<>` and `const_span_type<>`\r\n-   Added `soa_type<>`\r\n-   Added `const_iterator_type<>`\r\n-   Added `const_row_type<>`\r\n-   Added `column_indices<>`\r\n-   Added `soagen::for_each_column()`\r\n-   Added `row::for_each_column()`\r\n-   Added generic names `first`, `second`, ..., `sixteenth` for unnamed columns 0-15\r\n-   Binary size improvements\r\n-   Documentation improvements\r\n\r\n## v0.5.0\r\n\r\n-   Added rows to `soagen::table`\r\n-   Added iterators to `soagen::table`\r\n-   Added `soagen::table::for_each_column()`\r\n\r\n## v0.4.0\r\n\r\n-   Fixed `soagen::is_table<>`\r\n-   Added support for emplace-constructing column values by unpacking all `std::tuple`-like types (not just the `emplacer`)\r\n-   Added support for taking `std::integral_constants` in `for_each_column()`\r\n-   Added `soagen::same_table_type<>`\r\n-   Added conversions between `soagen::row<>` specializations\r\n-   Optimized instantiation overhead for most type-traits\r\n\r\n## v0.3.0\r\n\r\n-   Added `hpp.combined`\r\n-   Added `std::integral_constant<size_t>` to the overload set used by `for_each_column()`\r\n-   Added support for constructing rows from all `std::tuple`-like types\r\n-   Optimized bulk-swap operations\r\n\r\n## v0.2.0\r\n\r\n-   Added `structs.annotations`\r\n-   Added `structs.attributes`\r\n-   Added `auto` option for `structs.default_constructible`\r\n-   Added `soagen::row_base`\r\n-   Added `soagen::table_base`\r\n-   Added `soagen::iterator_base`\r\n-   Added `Base` template argument to `soagen::table` for CRTP\r\n-   Added `swap_columns<>()`\r\n-   Made `column_indices` member struct into `enum class columns`\r\n\r\n## v0.1.2\r\n\r\n-   Minor refactors.\r\n\r\n## v0.1.1\r\n\r\n-   Minor refactors.\r\n\r\n## v0.1.0\r\n\r\n-   First public release \ud83c\udf89&#xFE0F;\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Struct-of-Arrays for C++.",
    "version": "0.7.0",
    "project_urls": {
        "Funding": "https://github.com/sponsors/marzer",
        "Source": "https://github.com/marzer/soagen",
        "Tracker": "https://github.com/marzer/soagen/issues"
    },
    "split_keywords": [
        "c++",
        "soa",
        "struct-of-arrays",
        "structure-of-arrays",
        "struct of arrays",
        "structure of arrays",
        "parallel-arrays",
        "parallel arrays",
        "std::vector"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ec473a508784eac8fcd586e3bd997ab1cad29864e506db5cebd7768e0761efd",
                "md5": "3e3e55877ee51e9725a8275302b01b41",
                "sha256": "984185b946fb775fdbe50319979a2d27f5ca0aa409020079b6dc0ad2016b8932"
            },
            "downloads": -1,
            "filename": "soagen-0.7.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3e3e55877ee51e9725a8275302b01b41",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 156483,
            "upload_time": "2023-08-27T17:43:05",
            "upload_time_iso_8601": "2023-08-27T17:43:05.670154Z",
            "url": "https://files.pythonhosted.org/packages/4e/c4/73a508784eac8fcd586e3bd997ab1cad29864e506db5cebd7768e0761efd/soagen-0.7.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "921ea07b4cf2dbae3cbfa3287a6ab04fc6dbb7489539a7bf4ecfa201db002a6b",
                "md5": "f3296d1ffb47a0798a0f2e5080f487f2",
                "sha256": "3279d4829f2bb679457f18515d9d64457a83704c953296492934324e256e74fe"
            },
            "downloads": -1,
            "filename": "soagen-0.7.0.tar.gz",
            "has_sig": false,
            "md5_digest": "f3296d1ffb47a0798a0f2e5080f487f2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 133112,
            "upload_time": "2023-08-27T17:43:08",
            "upload_time_iso_8601": "2023-08-27T17:43:08.595727Z",
            "url": "https://files.pythonhosted.org/packages/92/1e/a07b4cf2dbae3cbfa3287a6ab04fc6dbb7489539a7bf4ecfa201db002a6b/soagen-0.7.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-27 17:43:08",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sponsors",
    "github_project": "marzer",
    "github_not_found": true,
    "lcname": "soagen"
}
        
Elapsed time: 0.20590s