Skip to content

Commit cdff9e0

Browse files
committed
.
1 parent 91548b1 commit cdff9e0

File tree

11 files changed

+55
-48
lines changed

11 files changed

+55
-48
lines changed

cpp.fp/balanced.parentheses/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
cmake_minimum_required (VERSION 3.28)
1+
cmake_minimum_required (VERSION 3.30)
22

33
project (main)
44

5-
set (CMAKE_CXX_STANDARD 23)
5+
set (CMAKE_CXX_STANDARD 26)
66
set (CMAKE_EXPORT_COMPILE_COMMANDS ON)
77

88
set (SOURCES
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
cmake_minimum_required (VERSION 3.28)
1+
cmake_minimum_required (VERSION 3.30)
22

33
project (chunk.scan)
44

5-
set (CMAKE_CXX_STANDARD 20)
6-
set (CMAKE_CXX_COMPILER g++)
5+
set (CMAKE_CXX_STANDARD 26)
6+
set (CMAKE_CXX_COMPILER g++-14)
77
set (CMAKE_EXPORT_COMPILE_COMMANDS ON)
88

99
set (SOURCES
@@ -24,3 +24,4 @@ link_directories (
2424
add_executable (chunk.scan
2525
${SOURCES}
2626
)
27+
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,17 @@ using namespace std;
99

1010
auto chunk_scan(vector<int> arr, int n, auto f) -> vector<int>
1111
{
12+
using v::chunk, v::transform, v::join, v::partial_sum, g::to;
13+
1214
auto const scan = [&](auto&& r) {
13-
return v::partial_sum(r, f);
15+
return partial_sum(r, f);
1416
};
1517

1618
return arr
17-
| v::chunk(n)
18-
| v::transform(scan)
19-
| v::join
20-
| g::to<vector>;
19+
| chunk(n)
20+
| transform(scan)
21+
| join
22+
| to<vector>;
2123
}
2224

2325
int main(int argc, char* argv[])

cpp.fp/m.persistance/main.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
#include <vector>
33
#include <range/v3/all.hpp>
44

5-
namespace rv = ranges::views;
6-
namespace rg = ranges;
5+
namespace v = ranges::views;
6+
namespace g = ranges;
7+
78
using namespace std;
89

910
// NOTICE
@@ -14,28 +15,29 @@ auto int_to_range(int n) -> vector<int>
1415
auto s = to_string(n);
1516

1617
return s
17-
| rv::transform([](char c) { return c - '0'; })
18-
| rg::to<vector>;
18+
| v::transform([](char c) { return c - '0'; })
19+
| g::to<vector>;
1920
}
2021

2122
auto product(int n) -> int
2223
{
23-
return rg::accumulate(int_to_range(n), 1, multiplies{});
24+
return g::accumulate(int_to_range(n), 1, multiplies{});
2425
}
2526

26-
int main(int argc, char* argv[])
27+
int main(int agc, char* agv[])
2728
{
28-
auto rng = rv::generate([n=948]() mutable {
29+
using v::generate, v::take_while, g::distance;
30+
31+
auto rng = generate([n=948]() mutable {
2932
auto prev = n;
3033
n = product(prev);
3134
return prev;
3235
});
3336

3437
auto r = rng
35-
| rv::take_while([](int n) { return n > 9; })
36-
;
38+
| take_while([](int n) { return n > 9; }) ;
3739

38-
assert(rg::distance(r) == 4);
40+
assert(distance(r) == 4);
3941

4042
return 0;
4143
}

cpp.fp/molecular.weight/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
cmake_minimum_required(VERSION 3.28)
1+
cmake_minimum_required(VERSION 3.30)
22

33
project(main)
44

5-
set (CMAKE_CXX_STANDARD 23)
5+
set (CMAKE_CXX_STANDARD 26)
66
set (CMAKE_EXPORT_COMPILE_COMMANDS ON)
77

88
set (SOURCES

cpp.fp/rail.fense.cipher/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
cmake_minimum_required(VERSION 3.28)
1+
cmake_minimum_required(VERSION 3.30)
22

33
project(big.secret)
44

5-
set (CMAKE_CXX_STANDARD 23)
5+
set (CMAKE_CXX_STANDARD 26)
66
set (CMAKE_EXPORT_COMPILE_COMMANDS ON)
77

88
set (SOURCES

cpp.fp/rail.fense.cipher/big.secret.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,33 @@
33
#include <format>
44
#include <range/v3/all.hpp>
55

6-
namespace rv = ranges::views;
7-
namespace rg = ranges;
6+
namespace v = ranges::views;
7+
namespace g = ranges;
88

99
using namespace std;
1010

11-
int main(int argc, char* argv[])
11+
int main(int agc, char* agv[])
1212
{
1313
auto k = 4;
1414

15-
auto const target = string{"IHAVEABIGSECRET"};
16-
auto init = rv::iota(0, k-1);
17-
auto reversed = rv::iota(1, k) | rv::reverse;
18-
auto combined = rv::concat(init, reversed);
19-
auto repeat = combined | rv::cycle;
15+
auto const taget = string{"IHAVEABIGSECRET"};
16+
auto init = v::iota(0, k-1);
17+
auto reversed = v::iota(1, k) | v::reverse;
18+
auto combined = v::concat(init, reversed);
19+
auto repeat = combined | v::cycle;
2020
// NOTICE
2121
// the power of zip (with free type!)
22-
auto pair_with_target
23-
= rv::zip(repeat, target)
24-
| rg::to<vector<pair<int, char>>>;
22+
auto pair_with_taget
23+
= v::zip(repeat, taget)
24+
| g::to<vector<pair<int, char>>>;
2525

26-
rg::stable_sort(pair_with_target,
26+
g::stable_sort(pair_with_taget,
2727
[](auto const& p1, auto const& p2) {
2828
return p1.first < p2.first;
2929
});
3030

31-
auto message = pair_with_target | rv::values;
32-
cout << rv::all(message) << endl;
31+
auto message = pair_with_taget | v::values;
32+
cout << v::all(message) << endl;
3333

3434
return 0;
3535
}

cpp.fp/recursive.lambda/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
cmake_minimum_required(VERSION 3.28)
1+
cmake_minimum_required(VERSION 3.30)
22

33
project(recursive.lambda)
44

5-
set (CMAKE_CXX_STANDARD 23)
5+
set (CMAKE_CXX_STANDARD 26)
66
set (CMAKE_EXPORT_COMPILE_COMMANDS ON)
77

88
set (SOURCES

cpp.fp/squarions/main.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,17 @@ auto is_sqrt_int(int i)
1818

1919
int main(int argc, char* argv[])
2020
{
21-
auto rng = v::for_each(v::iota(1), [](int i) {
22-
return v::for_each(v::iota(1, i), [i](int j) {
23-
return g::yield_if(is_sqrt_int(i+j) && is_sqrt_int(i-j),
21+
using v::for_each, v::iota, v::take, g::yield_if;
22+
23+
auto rng = for_each(iota(1), [](int i) {
24+
return for_each(iota(1, i), [i](int j) {
25+
return yield_if(is_sqrt_int(i + j) && is_sqrt_int(i - j),
2426
make_pair(i, j));
2527
});
2628
});
2729

2830

29-
for (auto const& [e1, e2] : rng | v::take(5))
31+
for (auto const& [e1, e2] : rng | take(5))
3032
cout << format("({}:{})", e1, e2) << " ";
3133

3234
return 0;

cpp.fp/writer.monad/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
cmake_minimum_required (VERSION 3.28)
1+
cmake_minimum_required (VERSION 3.30)
22

33
project (main)
44

5-
set (CMAKE_CXX_STANDARD 23)
5+
set (CMAKE_CXX_STANDARD 26)
66
set (CMAKE_CXX_COMPILER g++-14)
77
set (CMAKE_EXPORT_COMPILE_COMMANDS ON)
88

0 commit comments

Comments
 (0)