{"id":20145893,"url":"https://github.com/usagi/wonderland.storage","last_synced_at":"2025-06-25T23:04:21.648Z","repository":{"id":16387051,"uuid":"19137715","full_name":"usagi/wonderland.storage","owner":"usagi","description":"R/W storage wrapper C++ header-only library for PC-native and Web (Emscripten) designed for wonderland.","archived":false,"fork":false,"pushed_at":"2015-01-22T10:08:07.000Z","size":176,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-03T00:14:18.830Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/usagi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-25T07:22:54.000Z","updated_at":"2015-01-22T10:08:07.000Z","dependencies_parsed_at":"2022-09-24T11:51:55.222Z","dependency_job_id":null,"html_url":"https://github.com/usagi/wonderland.storage","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/usagi/wonderland.storage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fwonderland.storage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fwonderland.storage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fwonderland.storage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fwonderland.storage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/usagi","download_url":"https://codeload.github.com/usagi/wonderland.storage/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usagi%2Fwonderland.storage/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259871056,"owners_count":22924614,"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":[],"created_at":"2024-11-13T22:18:37.121Z","updated_at":"2025-06-25T23:04:21.595Z","avatar_url":"https://github.com/usagi.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"wonderland.storage\n==================\n\nR/W storage wrapper C++ header-only library for PC-native and Web (Emscripten) designed for wonderland.\n\n- It designed to unifying interface and easy for use.\n- It use standard filesystem for PC-native.\n- It use Web storage ( localStorage ) for Web (Emscripten).\n- It can use standalone.( It is not depend wonderland.)\n\n## Supports\n\n- for PC\n    - g++-4.8.1\n    - clang++-3.3\n- for Web\n    - em++-1.16.0 (Emscripten)\n\n## Example\n\n- [example-1](example/example-1/main.cxx)\n\n## Features\n\nin `wonder_rabbit_project::wonderland::storage` namespace free functions:\n\n- save ( `template \u003c class T = std::string \u003e auto save( const std::string\u0026 path, const T\u0026 data ) -\u003e void` )\n    - call `save( \"something-1.data\", \"Hello, string data!\" );`\n        - PC : write out to the file `something-1.data` with text data.\n        - Web: write out to the Web Storage (Local) key `something-1.data` with BASE64 encoded text data.\n    - call `save( \"something-2.data\", 3.14159265358979f );`\n        - PC : write raw binary byte sequence data.\n        - Web: write text data encoded by BASE64 with raw binary byte sequence data. \n\n- load ( `template \u003c class T = std::string \u003e auto load( const std::string\u0026 path ) -\u003e T` )\n    - call `const auto something1 = load( \"something-1.data\" );`\n        - PC : read from the file `something-1.data` with return std::string data.\n        - Web: read from the Web Storage (Local) key `something-1.data` with BASE64 decoded std::string data.\n    - call `const auto something2 = load\u003c float \u003e( \"something-2.data\" );`\n        - PC : read raw binary byte sequence data and return restored `float` type value\n        - Web: read text data encoded by BASE64 with raw binary byte sequence data and return restored `float` type value.\n\n## Dependency\n\n- [Boost.Archives](http://www.boost.org/doc/libs/1_55_0/libs/serialization/doc/archives.html)\n\n## License\n\n- [MIT](LICENSE)\n\n## Author\n\nUsagi Ito \u003cusagi@WonderRabbitProject.net\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusagi%2Fwonderland.storage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fusagi%2Fwonderland.storage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusagi%2Fwonderland.storage/lists"}