Skip to content

Commit e91aca0

Browse files
committed
Add stubs
1 parent 478a024 commit e91aca0

File tree

26 files changed

+308
-0
lines changed

26 files changed

+308
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#include <any.h>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#ifndef _GHLIBCPP_ANY
2+
#define _GHLIBCPP_ANY
3+
namespace std {
4+
5+
class any {
6+
public:
7+
any();
8+
any(const any &);
9+
any(any &&);
10+
template <typename T> any(T &&);
11+
};
12+
13+
} // namespace std
14+
15+
#endif // _GHLIBCPP_ANY
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#include <bitset.h>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// stubs/bitset
2+
3+
#ifndef _GHLIBCPP_BITSET
4+
#define _GHLIBCPP_BITSET
5+
6+
#include <cstddef>
7+
8+
namespace std {
9+
10+
template <std::size_t N> class bitset {
11+
public:
12+
bitset();
13+
bitset(unsigned long long);
14+
};
15+
16+
} // namespace std
17+
18+
#endif // _GHLIBCPP_BITSET
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#include <filesystem.h>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#ifndef _GHLIBCPP_FILESYSTEM
2+
#define _GHLIBCPP_FILESYSTEM
3+
4+
namespace std {
5+
namespace filesystem {
6+
7+
class path {
8+
public:
9+
path();
10+
path(const path&);
11+
path(path&&);
12+
path(const char*);
13+
14+
path operator/(const path&) const;
15+
};
16+
17+
} // namespace filesystem
18+
} // namespace std
19+
20+
#endif // _GHLIBCPP_FILESYSTEM
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#include <forward_list.h>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#ifndef _GHLIBCPP_FORWARD_LIST
2+
#define _GHLIBCPP_FORWARD_LIST
3+
4+
#include <initializer_list>
5+
6+
namespace std {
7+
8+
template<typename T>
9+
class forward_list {
10+
public:
11+
forward_list();
12+
forward_list(const forward_list&);
13+
forward_list(forward_list&&);
14+
forward_list(std::initializer_list<T>);
15+
};
16+
17+
} // namespace std
18+
19+
#endif // _GHLIBCPP_FORWARD_LIST
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#include <future.h>
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#ifndef _GHLIBCPP_FUTURE
2+
#define _GHLIBCPP_FUTURE
3+
4+
namespace std {
5+
6+
enum class launch {
7+
async,
8+
deferred
9+
};
10+
11+
template<typename T>
12+
class future {
13+
public:
14+
future();
15+
future(const future&);
16+
future(future&&);
17+
};
18+
19+
template<typename T>
20+
class shared_future {
21+
public:
22+
shared_future();
23+
shared_future(const shared_future&);
24+
shared_future(shared_future&&);
25+
shared_future(future<T>&&);
26+
};
27+
28+
template<typename T>
29+
class promise {
30+
public:
31+
promise();
32+
promise(const promise&);
33+
promise(promise&&);
34+
future<T> get_future();
35+
};
36+
37+
template<typename Signature>
38+
class packaged_task;
39+
40+
template<typename R, typename... Args>
41+
class packaged_task<R(Args...)> {
42+
public:
43+
packaged_task();
44+
packaged_task(const packaged_task&);
45+
packaged_task(packaged_task&&);
46+
template<typename F> packaged_task(F&&);
47+
};
48+
49+
template<typename F, typename... Args>
50+
auto async(F&&, Args&&...) -> future<decltype(declval<F>()(declval<Args>()...))>;
51+
52+
template<typename F, typename... Args>
53+
auto async(launch, F&&, Args&&...) -> future<decltype(declval<F>()(declval<Args>()...))>;
54+
55+
} // namespace std
56+
57+
#endif // _GHLIBCPP_FUTURE

0 commit comments

Comments
 (0)