{"id":18404553,"url":"https://github.com/avakar/seri","last_synced_at":"2025-04-12T19:57:47.686Z","repository":{"id":137929768,"uuid":"181118503","full_name":"avakar/seri","owner":"avakar","description":"A header-only, endian-aware integer serialization library for C++17","archived":false,"fork":false,"pushed_at":"2021-10-04T19:14:07.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T19:57:44.804Z","etag":null,"topics":["cpp","cpp17","serialization"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avakar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-13T03:58:32.000Z","updated_at":"2020-02-06T21:14:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"7edfef11-184e-42dc-9a1d-f96fea6d6e8b","html_url":"https://github.com/avakar/seri","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avakar%2Fseri","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avakar%2Fseri/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avakar%2Fseri/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avakar%2Fseri/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avakar","download_url":"https://codeload.github.com/avakar/seri/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248625510,"owners_count":21135513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","cpp17","serialization"],"created_at":"2024-11-06T02:53:13.185Z","updated_at":"2025-04-12T19:57:47.666Z","avatar_url":"https://github.com/avakar.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# seri\n\nA header-only, endian-aware integer serialization library for C++17.\n\n## Introduction\n\n`seri` defines several standard-layout integer-like types with a specified\nrepresentation and an alignment of 1. The types have names in the form\n`(u|i)(16|32|64)_(le|be)_t`. Signedness is indicated by `u` or `i` prefix\nfor signed and unsigned, respectively. The suffixes `le` and `be` stand\nfor little-endian and big-endian.\n\nFor example, `u32_le_t` represents an unsigned 32-bit integer with\nlittle-endian representation.\n\nEach type is implicitly convertible to and from a corresponding type\nfrom `\u003cstdint.h\u003e`, e.g. `u32_le_t` is convertible to and from `uint32_t`.\nIn most situations, you can use `seri` types like built-in integers.\n\nYou can form structures from `seri` integers to represent on-disk structures.\n\n    struct my_file_header_t {\n        /* 0x00 */ u32_le_t magic;\n        /* 0x02 */ u16_le_t version;\n        /* 0x06 */ u32_le_t length;\n    };\n\nNotice that `my_file_header_t::length` is misaligned.\n\n## Getting Started\n\nAdd this repo as a subrepo of your project and add the `include` directory\ninto your include path.\n\nIf you're using CMake, you can also pull the library\nvia the FetchContent module.\n\n    FetchContent_Declare(\n        avakar_seri\n        GIT_REPOSITORY https://github.com/avakar/seri.git\n        GIT_TAG master\n        )\n    FetchContent_MakeAvailable(avakar_seri)\n\nThen link against `avakar::seri` target and use namespace `avakar::seri`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favakar%2Fseri","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favakar%2Fseri","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favakar%2Fseri/lists"}