https://github.com/bemanproject/elide

P3288 - std::elide

https://github.com/bemanproject/elide

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

P3288 - std::elide

Basic Info
  • Host: GitHub
  • Owner: bemanproject
  • License: other
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 34.2 KB
Statistics
  • Stars: 5
  • Watchers: 11
  • Forks: 2
  • Open Issues: 2
  • Releases: 0
Created about 1 year ago · Last pushed 7 months ago
Metadata Files
Readme License Codeowners

README.md

beman.elide: Implementation of Proposed std::elide

Implements: std::elide proposed in std::elide (P3288R3).

Status: Under development and not yet ready for production use.

Usage

std::elide is an object which:

  • Wraps an invocable alongside the arguments thereto (by reference), and
  • Implicitly converts to whatever that invocable yields

When combined with emplacement APIs this allows for the creation of instances of immovable types within storage managed by std::optional, std::list, et cetera.

Building beman.elide

Dependencies

This project has no C or C++ dependencies, however, it requires C++20 or above to compile.

Build-time dependencies:

  • cmake
  • ninja, make, or another CMake-supported build system
    • CMake defaults to "Unix Makefiles" on POSIX systems

How to build beman.elide

shell cmake --workflow --preset gcc-debug cmake --workflow --preset gcc-release cmake --install build/gcc-release --prefix /opt/beman.elide

Integrate beman.elide into your project

Use beman.elide directly from C++ If you want to use `beman.elide` from your project, you can include `beman/elide/*.hpp` files from your C++ source files ```cpp #include ``` ```shell # Assume /opt/beman.elide staging directory. $ c++ -o identity_usage examples/identity_usage.cpp \ -I /opt/beman.elide/include/ ```
Use beman.elide directly from CMake For CMake based projects, you will need to use the `beman.elide` CMake module to define the `beman::elide` CMake target: ```cmake find_package(beman.elide REQUIRED) ``` You will also need to add `beman::elide` to the link libraries of any libraries or executables that include `beman/elide/*.hpp` in their source or header file. ```cmake target_link_libraries(yourlib PUBLIC beman::elide) ```
Use beman.elide from other build systems Build systems that support `pkg-config` by providing a `beman.elide.pc` file. Build systems that support interoperation via `pkg-config` should be able to detect `beman.elide` for you automatically.

Contributing

Issues and pull requests are appreciated.

Owner

  • Name: The Beman Project
  • Login: bemanproject
  • Kind: organization

Supporting the efficient design and adoption of the highest quality C++ standard libraries

GitHub Events

Total
  • Issues event: 4
  • Watch event: 6
  • Delete event: 2
  • Issue comment event: 26
  • Member event: 1
  • Push event: 4
  • Pull request review event: 3
  • Pull request event: 9
  • Fork event: 3
  • Create event: 5
Last Year
  • Issues event: 4
  • Watch event: 6
  • Delete event: 2
  • Issue comment event: 26
  • Member event: 1
  • Push event: 4
  • Pull request review event: 3
  • Pull request event: 9
  • Fork event: 3
  • Create event: 5

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 3
  • Total pull requests: 6
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 24 hours
  • Total issue authors: 2
  • Total pull request authors: 4
  • Average comments per issue: 8.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 2
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 6
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 24 hours
  • Issue authors: 2
  • Pull request authors: 4
  • Average comments per issue: 8.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 2
  • Bot pull requests: 0
Top Authors
Issue Authors
  • github-actions[bot] (2)
  • neatudarius (1)
Pull Request Authors
  • neatudarius (3)
  • ednolan (1)
  • RobertLeahy (1)
  • wusatosi (1)
Top Labels
Issue Labels
Pull Request Labels