brintos

brintos / llvm-project-archived public Read only

0
0
Text · 917 B · 80a5f0a Raw
43 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8//9// UNSUPPORTED: no-threads10// UNSUPPORTED: c++0311 12// <future>13 14// class promise<R>15 16// promise();17 18#include <future>19#include <cassert>20 21#include "test_macros.h"22 23int main(int, char**)24{25    {26        std::promise<int> p;27        std::future<int> f = p.get_future();28        assert(f.valid());29    }30    {31        std::promise<int&> p;32        std::future<int&> f = p.get_future();33        assert(f.valid());34    }35    {36        std::promise<void> p;37        std::future<void> f = p.get_future();38        assert(f.valid());39    }40 41  return 0;42}43