Skip to content

Commit

Permalink
Merge pull request #1 from njlr/KubaO/valuable
Browse files Browse the repository at this point in the history
Kuba o/valuable
  • Loading branch information
KubaO committed Jun 2, 2017
2 parents d86f0d7 + 6c70729 commit 9a21c3b
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
# valuable 💎
[![Language](https://img.shields.io/badge/language-C++-blue.svg)](https://isocpp.org/)
[![Standard](https://img.shields.io/badge/c%2B%2B-14-blue.svg)](https://en.wikipedia.org/wiki/C%2B%2B#Standardization)
[![Build Status](https://travis-ci.org/KubaO/valuable.svg?branch=master)](https://travis-ci.org/KubaO/valuable)
[![Build Status](https://travis-ci.org/LoopPerfect/valuable.svg?branch=master)](https://travis-ci.org/LoopPerfect/valuable)

A C++ library implementing `value_ptr` - a smart-pointer with value-semantics.

Value types are simple and intuitive. Unfortunately sometimes an implementation detail requires us to use pointers.
The standard library demonstrates how handy smart-pointers can be for encoding ownership and lifetime semantics, but none of the smart-pointers implement value-semantics.

This is why `valuable::value_ptr` was made.
This is why `valuable::value_ptr` was made.

Read [value_ptr — The Missing C++ Smart-pointer](https://hackernoon.com/value-ptr-the-missing-c-smart-pointer-1f515664153e) on Hackernoon

## Example

```c++

#include <string>
#include <valuable/value_ptr.hpp>

Expand Down Expand Up @@ -55,6 +54,8 @@ int main() {
This library requires a C++ 14 compiler.
## Buckaroo
Install with [Buckaroo](https://www.buckaroo.pm):
```
Expand All @@ -63,23 +64,27 @@ buckaroo install loopperfect/valuable
The [Buck](https://buckbuild.com/) target is `:valuable`
## Manual
Alternatively, you can copy & paste the headers into your include path:
```
cp valuable/include/*.hpp $InstallPath/include/valuable
```
You can also use Qt Creator for development. There's no need to build Google Test as it is built along with the test project. In the Build Steps, add the googletest git checkout path to the additional qmake arguments:
## QtCreator
You can also use Qt Creator for development. There's no need to build Google Test as it is built along with the test project. In the Build Steps, add the Google Test Git checkout path to the additional qmake arguments:
```
GOOGLETEST_PATH=d:/path/to/googletest
```
# Contributing
We are accepting contributions!
We are accepting contributions!
Before you submit a PR, please run the tests:
Before you submit a PR, please run the tests:
```
buck test
Expand Down

0 comments on commit 9a21c3b

Please sign in to comment.