{
  "canonical_url": "https://crates.flyology.org/community/",
  "catalog": {
    "name": "community",
    "repository_url": "https://github.com/alire-project/alire-index",
    "revision": "cd12c6aa35b7d6483841517305d57ba167ec78d0"
  },
  "generated_at": "2026-08-23T04:55:42Z",
  "index": {
    "version": "1.4.0"
  },
  "package": {
    "catalog": "community",
    "description": "Signed/modular types for system, big and little endian reading/writing.",
    "development_only": false,
    "latest_version": "1.1.0",
    "name": "byteflippers",
    "selected_version": "1.1.0",
    "versions": [
      {
        "dependants": [
          {
            "catalog": "community",
            "condition": null,
            "development": false,
            "name": "file_formats_java_class",
            "path": "index/fi/file_formats_java_class/file_formats_java_class-7.0.0.toml",
            "provided_version": "1.1.0",
            "qualifies": true,
            "requirement": "^1.0.0",
            "requires": "byteflippers",
            "selected": true,
            "version": "7.0.0"
          }
        ],
        "dependencies": [],
        "development": false,
        "external": false,
        "manifest": {
          "authors": [
            "Miko Elbrecht"
          ],
          "description": "Signed/modular types for system, big and little endian reading/writing.",
          "licenses": "Apache-2.0 WITH LLVM-exception",
          "long-description": "Modular and signed types to convert between big and little endian, such as 50 (0x00000032) to 838860800 (0x32000000). Currently supported are 16/24/[32/64/128]-bit sized signed/modular/fp numeric types for big/little endian respectively, as well as system-endian dependent base types for 8/16/24/[32/64/128]-bit signed/modular/fp numeric types (for both categories: numbers in square brackets indicate the supported sizes of floating-points (fp.)))\n\nAll types are compatible with `Interfaces` operators, such as `Shift_Left`, `Shift_Right`, `Rotate_Left`, `Rotate_Right`, as well as (where applicable) `xor`, `and`, `or`.\n\n**NOTE:** This library depends on the GNAT compiler, as it depends on the `Provide_Shift_Operators` pragma. If you need support for another compiler, please let me know, and I'll try to support it.\n\n## Example Use\n\n```ada\nwith Byteflippers;\n\nwith Ada.Text_IO;\nwith Ada.Streams.Stream_IO;\nuse  Ada.Streams.Stream_IO;\n\nprocedure Scratch is\n    package Endians_u32 renames Byteflippers.Endians_Unsigned_32;\n\n    F : File_Type;\n    S : Stream_Access;\nbegin\n   Create (F, Name => \"test.bin\");\n   S := Stream (F);\n   Byteflippers.Signed_32'Write (S, 1234);\n   Endians_u32.Little_Endian'Write (S, 5678);\n   Endians_u32.Little_Endian'Write (S, 9101);\n   Endians_u32.Big_Endian'Write (S, 1213);\n   Endians_u32.Big_Endian'Write (S, 1415);\n\n   Close (F);   \n   Open (F, In_File, \"test.bin\");\n   S := Stream (F);\n\n   Ada.Text_IO.Put_Line (\"# System Endian Test\");\n   Ada.Text_IO.Put_Line (Byteflippers.Signed_32'Input (S)'Image);\n   Ada.Text_IO.Put_Line (\"# Little Endian Test (System / Little)\");\n   Ada.Text_IO.Put_Line (Byteflippers.Signed_32'Input (S)'Image);\n   Ada.Text_IO.Put_Line (Endians_u32.Little_Endian'Input (S)'Image);\n   Ada.Text_IO.Put_Line (\"# Big Endian Test (System / Big)\");\n   Ada.Text_IO.Put_Line (Byteflippers.Signed_32'Input (S)'Image);\n   Ada.Text_IO.Put_Line (Endians_u32.Big_Endian'Input (S)'Image);\nend Scratch;\n```\n",
          "maintainers": [
            "Miko Elbrecht <pmt.mailservice@gmail.com>"
          ],
          "maintainers-logins": [
            "ATPStorages"
          ],
          "name": "byteflippers",
          "origin": {
            "commit": "6a0c43ead736c3cece4c176f69fcebe0ca1d4b64",
            "url": "git+https://github.com/Bread-Experts-Group/byteflippers.git"
          },
          "tags": [
            "byte",
            "endian",
            "flip",
            "swap",
            "msb",
            "lsb",
            "big-endian",
            "little-endian"
          ],
          "version": "1.1.0",
          "website": "https://github.com/Bread-Experts-Group/byteflippers"
        },
        "path": "index/by/byteflippers/byteflippers-1.1.0.toml",
        "version": "1.1.0"
      },
      {
        "dependants": [
          {
            "catalog": "community",
            "condition": null,
            "development": false,
            "name": "file_formats_java_class",
            "path": "index/fi/file_formats_java_class/file_formats_java_class-7.0.0.toml",
            "provided_version": "1.0.0",
            "qualifies": true,
            "requirement": "^1.0.0",
            "requires": "byteflippers",
            "selected": true,
            "version": "7.0.0"
          }
        ],
        "dependencies": [],
        "development": false,
        "external": false,
        "manifest": {
          "authors": [
            "Miko Elbrecht"
          ],
          "description": "Signed/modular types for system, big and little endian reading/writing.",
          "licenses": "Apache-2.0 WITH LLVM-exception",
          "maintainers": [
            "Miko Elbrecht <pmt.mailservice@gmail.com>"
          ],
          "maintainers-logins": [
            "ATPStorages"
          ],
          "name": "byteflippers",
          "origin": {
            "commit": "a5fa8ef15ffec4d8c8b11a221fb2ad50a19a8c35",
            "url": "git+https://github.com/Bread-Experts-Group/byteflippers.git"
          },
          "tags": [
            "byte",
            "endian",
            "flip",
            "swap",
            "msb",
            "lsb",
            "big-endian",
            "little-endian"
          ],
          "version": "1.0.0",
          "website": "https://github.com/Bread-Experts-Group/byteflippers"
        },
        "path": "index/by/byteflippers/byteflippers-1.0.0.toml",
        "version": "1.0.0"
      }
    ]
  },
  "schema_version": 4
}
