Skip to content

Commit 35438cb

Browse files
committed
Move tv::none into its own module
1 parent 71acd46 commit 35438cb

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ target_sources(tv PUBLIC
179179
source/tv/indexed_value.cpp
180180
source/tv/insert.cpp
181181
source/tv/is_valid_index.cpp
182+
source/tv/none.cpp
182183
source/tv/nth_type.cpp
183184
source/tv/optional.cpp
184185
source/tv/overload.cpp

source/tv/none.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Copyright David Stone 2023.
2+
// Distributed under the Boost Software License, Version 1.0.
3+
// (See accompanying file LICENSE_1_0.txt or copy at
4+
// http://www.boost.org/LICENSE_1_0.txt)
5+
6+
export module tv.none;
7+
8+
namespace tv {
9+
10+
// none_t cannot be default constructible or we get an ambiguity in op = {};
11+
export struct none_t {
12+
constexpr explicit none_t(int) {}
13+
};
14+
export constexpr auto none = none_t(0);
15+
16+
} // namespace tv

source/tv/optional.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ module;
1616
export module tv.optional;
1717

1818
import tv.insert;
19+
import tv.none;
1920
import tv.variant;
2021

2122
import bounded;
@@ -27,12 +28,6 @@ using namespace bounded::literal;
2728

2829
namespace tv {
2930

30-
// none_t cannot be default constructible or we get an ambiguity in op = {};
31-
export struct none_t {
32-
constexpr explicit none_t(int) {}
33-
};
34-
export constexpr auto none = none_t(0);
35-
3631
template<typename T>
3732
struct optional_storage {
3833
constexpr optional_storage():

source/tv/tv.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export module tv;
77

88
export import tv.indexed_value;
99
export import tv.insert;
10+
export import tv.none;
1011
export import tv.optional;
1112
export import tv.overload;
1213
export import tv.single_element_storage;

0 commit comments

Comments
 (0)