mirror of
https://github.com/simonbrunel/qtpromise.git
synced 2024-12-04 09:01:32 +08:00
Compare commits
4 Commits
627e55a2af
...
b7cb05a3f7
Author | SHA1 | Date | |
---|---|---|---|
|
b7cb05a3f7 | ||
|
1a905cbd4f | ||
|
14031392ac | ||
|
9bb107d7f4 |
43
.github/workflows/ci.yaml
vendored
Normal file
43
.github/workflows/ci.yaml
vendored
Normal file
@ -0,0 +1,43 @@
|
||||
# https://docs.github.com/actions/reference/workflow-syntax-for-github-actions
|
||||
# https://doc.qt.io/qt-6/supported-platforms.html
|
||||
# https://ddalcino.github.io/aqt-list-server/
|
||||
|
||||
name: CI
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
qt:
|
||||
- 5.9.9
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
version: ${{ matrix.qt }}
|
||||
archives: qtbase icu
|
||||
tools: tools_cmake
|
||||
arch: gcc_64
|
||||
host: linux
|
||||
- run: |
|
||||
qmake --version
|
||||
cmake --version
|
||||
gcc --version
|
||||
g++ --version
|
||||
- run: |
|
||||
cmake -G "Unix Makefiles"
|
||||
cmake --build . -- -j12
|
||||
cmake --build . --target test
|
||||
- run: |
|
||||
sudo apt-get install lcov > /dev/null
|
||||
lcov --version
|
||||
lcov --capture --directory . -o coverage.info
|
||||
lcov -e coverage.info '**/src/**/*' -o coverage.info
|
||||
- uses: codecov/codecov-action@v3
|
||||
env:
|
||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
||||
with:
|
||||
files: coverage.info
|
38
.travis.yml
38
.travis.yml
@ -1,38 +0,0 @@
|
||||
sudo: required
|
||||
dist: xenial
|
||||
language: cpp
|
||||
compiler: gcc
|
||||
|
||||
before_install:
|
||||
- sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||||
- sudo add-apt-repository -y ppa:beineri/opt-qt563-xenial
|
||||
- sudo apt-get update -qq
|
||||
|
||||
install:
|
||||
- sudo apt-get install -qq gcc-4.9 g++-4.9
|
||||
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 90
|
||||
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 90
|
||||
- sudo update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-4.9 90
|
||||
- sudo apt-get install -qq qt56base
|
||||
- source /opt/qt56/bin/qt56-env.sh
|
||||
- wget http://archive.ubuntu.com/ubuntu/pool/universe/l/lcov/lcov_1.13.orig.tar.gz
|
||||
- tar xf lcov_1.13.orig.tar.gz
|
||||
- cd lcov-1.13/
|
||||
- sudo make install
|
||||
- cd ..
|
||||
|
||||
before_script:
|
||||
- cmake --version
|
||||
- qmake --version
|
||||
- gcc --version && g++ --version
|
||||
- lcov --version && gcov --version
|
||||
|
||||
script:
|
||||
- cmake -G "Unix Makefiles"
|
||||
- cmake --build . -- -j12
|
||||
- cmake --build . --target test
|
||||
- lcov -capture --directory . --o coverage.info
|
||||
- lcov -e coverage.info '**/src/**/*' -o coverage.info
|
||||
|
||||
after_success:
|
||||
- bash <(curl -s https://codecov.io/bash) -f coverage.info
|
30
conanfile.py
Normal file
30
conanfile.py
Normal file
@ -0,0 +1,30 @@
|
||||
import os
|
||||
|
||||
from conans import ConanFile
|
||||
|
||||
|
||||
class QtPromiseConfig(ConanFile):
|
||||
name = "QtPromise"
|
||||
version = "master"
|
||||
license = "QtPromise is available under the MIT license."
|
||||
author = "simonbrunel"
|
||||
url = "https://github.com/simonbrunel/qtpromise"
|
||||
description = "Promises/A+ implementation for Qt/C++"
|
||||
settings = "os", "compiler", "build_type", "arch"
|
||||
|
||||
def package_id(self):
|
||||
self.info.header_only()
|
||||
|
||||
def source(self):
|
||||
self.run("git clone git@github.com:simonbrunel/qtpromise.git")
|
||||
|
||||
def package(self):
|
||||
self.copy("*", dst="include", src="./qtpromise/include")
|
||||
self.copy("*", dst="src", src="./qtpromise/src")
|
||||
|
||||
def package_info(self):
|
||||
self.cpp_info.libs = self.collect_libs()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
os.system("conan create .")
|
@ -20,6 +20,8 @@
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtCore/QVector>
|
||||
|
||||
#include <memory>
|
||||
|
||||
namespace QtPromise {
|
||||
|
||||
template<typename T>
|
||||
@ -92,13 +94,13 @@ class PromiseValue
|
||||
{
|
||||
public:
|
||||
PromiseValue() { }
|
||||
PromiseValue(const T& data) : m_data(QSharedPointer<T>::create(data)) { }
|
||||
PromiseValue(T&& data) : m_data(QSharedPointer<T>::create(std::forward<T>(data))) { }
|
||||
bool isNull() const { return m_data.isNull(); }
|
||||
PromiseValue(const T& data) : m_data(std::make_shared<T>(data)) { }
|
||||
PromiseValue(T&& data) : m_data(std::make_shared<T>(std::forward<T>(data))) { }
|
||||
bool isNull() const { return m_data == nullptr; }
|
||||
const T& data() const { return *m_data; }
|
||||
|
||||
private:
|
||||
QSharedPointer<T> m_data;
|
||||
std::shared_ptr<T> m_data;
|
||||
};
|
||||
|
||||
class PromiseError
|
||||
|
Loading…
Reference in New Issue
Block a user