Skip to content

Commit c675291

Browse files
committed
🆕 [module] ut.cppm
1 parent 7792c96 commit c675291

File tree

2 files changed

+109
-1
lines changed

2 files changed

+109
-1
lines changed

ut

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
### Features
4040

41-
- Single header (https://raw.githubusercontent.com/qlibs/ut/main/ut)
41+
- Single header (https://raw.githubusercontent.com/qlibs/ut/main/ut) / C++20 module (https://raw.githubusercontent.com/qlibs/ut/main/ut.cppm)
4242
- Compile-time first (executes tests at compile-time and/or run-time)
4343
- Detects memory leaks and UBs at compile-time*
4444
- Explicit by design (no implicit conversions, narrowing, epsilon-less floating point comparisions, ...)

ut.cppm

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
// <!--
2+
// The MIT License (MIT)
3+
//
4+
// Copyright (c) 2024 Kris Jusiak <[email protected]>
5+
//
6+
// Permission is hereby granted, free of charge, to any person obtaining a copy
7+
// of this software and associated documentation files (the "Software"), to deal
8+
// in the Software without restriction, including without limitation the rights
9+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
// copies of the Software, and to permit persons to whom the Software is
11+
// furnished to do so, subject to the following conditions:
12+
//
13+
// The above copyright notice and this permission notice shall be included in all
14+
// copies or substantial portions of the Software.
15+
//
16+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22+
// SOFTWARE.
23+
//
24+
module;
25+
#include "ut"
26+
export module ut;
27+
28+
export namespace ut {
29+
using ut::cfg;
30+
using ut::override;
31+
32+
using ut::constant;
33+
using ut::mut;
34+
35+
using ut::suite;
36+
using ut::operator""_test;
37+
38+
using ut::expect;
39+
using ut::eq;
40+
using ut::neq;
41+
using ut::gt;
42+
using ut::ge;
43+
using ut::lt;
44+
using ut::le;
45+
using ut::nt;
46+
47+
inline namespace dsl {
48+
using ut::operator==;
49+
using ut::operator!=;
50+
using ut::operator>;
51+
using ut::operator>=;
52+
using ut::operator<;
53+
using ut::operator<=;
54+
using ut::operator!;
55+
} // namespace dsl
56+
57+
using ut::_b;
58+
using ut::_c;
59+
using ut::_sc;
60+
using ut::_s;
61+
using ut::_i;
62+
using ut::_l;
63+
using ut::_ll;
64+
using ut::_u;
65+
using ut::_uc;
66+
using ut::_us;
67+
using ut::_ul;
68+
using ut::_ull;
69+
using ut::_f;
70+
using ut::_d;
71+
using ut::_ld;
72+
using ut::_i8;
73+
using ut::_i16;
74+
using ut::_i32;
75+
using ut::_i64;
76+
using ut::_u8;
77+
using ut::_u16;
78+
using ut::_u32;
79+
using ut::_u64;
80+
using ut::_string;
81+
82+
using ut::operator""_s;
83+
using ut::operator""_i;
84+
using ut::operator""_s;
85+
using ut::operator""_c;
86+
using ut::operator""_sc;
87+
using ut::operator""_l;
88+
using ut::operator""_ll;
89+
using ut::operator""_u;
90+
using ut::operator""_uc;
91+
using ut::operator""_us;
92+
using ut::operator""_ul;
93+
using ut::operator""_ull;
94+
using ut::operator""_f;
95+
using ut::operator""_d;
96+
using ut::operator""_ld;
97+
using ut::operator""_i8;
98+
using ut::operator""_i16;
99+
using ut::operator""_i32;
100+
using ut::operator""_i64;
101+
using ut::operator""_u8;
102+
using ut::operator""_u16;
103+
using ut::operator""_u32;
104+
using ut::operator""_u64;
105+
} // namespace ut
106+
107+
// -*- mode: c++; -*-
108+
// vim: set filetype=cpp:

0 commit comments

Comments
 (0)