{"id":18368658,"url":"https://github.com/openbmc/stdplus","last_synced_at":"2025-09-05T11:32:47.284Z","repository":{"id":45507447,"uuid":"153646995","full_name":"openbmc/stdplus","owner":"openbmc","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-07T15:56:57.000Z","size":1407,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-22T04:02:03.395Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openbmc.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":"2018-10-18T15:31:43.000Z","updated_at":"2025-01-07T22:47:15.000Z","dependencies_parsed_at":"2023-12-09T01:23:20.031Z","dependency_job_id":"b93501e4-a966-432a-b8ce-44e88fa3649b","html_url":"https://github.com/openbmc/stdplus","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/openbmc%2Fstdplus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbmc%2Fstdplus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbmc%2Fstdplus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openbmc%2Fstdplus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openbmc","download_url":"https://codeload.github.com/openbmc/stdplus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247522390,"owners_count":20952540,"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-05T23:26:54.983Z","updated_at":"2025-04-06T17:31:46.870Z","avatar_url":"https://github.com/openbmc.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# stdplus\n\nstdplus is a c++ project containing commonly used classes and functions for the\nLinux platform. Note the goals of this project are to implement only the minimum\nset of features needed by the OpenBMC project and other users. You may find the\nincluded set of functions currently quite sparse.\n\nThis project provides the following primitives:\n\n- A [movable](src/stdplus/handle/managed.hpp) and\n  [copyable](src/stdplus/handle/copyable.hpp) RAII helper wrapper which is used\n  for wrapping c-native types that have custom destruction or copy reference\n  logic.\n- [Functions](src/stdplus/signal.hpp) for trivially configuring signals without\n  having to do the normal signal set operations from libc\n- [C-Style Error Handler](src/stdplus/util/cexec.hpp) that wrap c-style\n  functions which return errnos and negative error values into functions that\n  throw c++ exceptions.\n- [String Utilities](src/stdplus/util/string.hpp) that focus on providing\n  helpful wrappers like efficient string append and concatenation.\n\n## Dependencies\n\nTest cases require google{test,mock}, valgrind, and lcov. It also requires the\nMeson Build System which can be installed following the instructions at\n[mesonbuild.com](https://mesonbuild.com/Getting-meson.html).\n\n## Building\n\nFor a standard release build, you want something like:\n\n```sh\nmeson setup -Dexamples=false -Dtests=disabled builddir\nninja -C builddir\nninja -C builddir install\n```\n\nFor a test / debug build, a typical configuration is\n\n```sh\nmeson setup -Dtests=enabled builddir\nmeson test -C builddir\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbmc%2Fstdplus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenbmc%2Fstdplus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenbmc%2Fstdplus/lists"}