Skip to content

Commit 4239558

Browse files
committed
Refactor Concepts to core/template path
1 parent d8276ba commit 4239558

22 files changed

+31
-32
lines changed

src/openvic-simulation/utility/Concepts.hpp renamed to src/openvic-simulation/core/template/Concepts.hpp

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#pragma once
22

33
#include <concepts>
4+
#include <cstddef>
45
#include <memory>
56
#include <string_view>
67
#include <type_traits>
@@ -81,8 +82,8 @@ namespace OpenVic {
8182
// This adds to capacity rather than size so that it can be used multiple times in a row.
8283
// If it added to size, it would only reserve enough for max(arguments...)
8384
template<typename T>
84-
concept reservable = requires(T& t, size_t size) {
85-
{ t.capacity() } -> std::same_as<size_t>;
85+
concept reservable = requires(T& t, std::size_t size) {
86+
{ t.capacity() } -> std::same_as<std::size_t>;
8687
t.reserve(size);
8788
};
8889

@@ -108,20 +109,18 @@ namespace OpenVic {
108109
};
109110

110111
template<typename T>
111-
concept has_index = requires { typename T::index_t; }
112-
&& derived_from_specialization_of<typename T::index_t, type_safe::strong_typedef>
113-
&& requires {
114-
static_cast<std::size_t>(
115-
static_cast<type_safe::underlying_type<decltype(std::declval<T>().index)>>(std::declval<T>().index)
116-
);
117-
};
112+
concept has_index = requires { typename T::index_t; } &&
113+
derived_from_specialization_of<typename T::index_t, type_safe::strong_typedef> && requires {
114+
static_cast<std::size_t>(
115+
static_cast<type_safe::underlying_type<decltype(std::declval<T>().index)>>(std::declval<T>().index)
116+
);
117+
};
118118

119-
//helper to avoid error 'index_t': is not a member of T
119+
// helper to avoid error 'index_t': is not a member of T
120120
template<typename T, typename = void>
121121
struct get_index_t {
122122
using type = std::size_t;
123123
};
124-
125124
template<has_index T>
126125
struct get_index_t<T, std::void_t<typename T::index_t>> {
127126
using type = typename T::index_t;

src/openvic-simulation/dataloader/Dataloader.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#include "openvic-simulation/utility/Logger.hpp"
2020
#include "openvic-simulation/utility/StringUtils.hpp"
2121
#include "openvic-simulation/utility/Containers.hpp"
22-
#include "openvic-simulation/utility/Concepts.hpp"
22+
#include "openvic-simulation/core/template/Concepts.hpp"
2323

2424
using namespace OpenVic;
2525
using namespace OpenVic::NodeTools;

src/openvic-simulation/dataloader/Dataloader.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include "openvic-simulation/dataloader/NodeTools.hpp"
1010
#include "openvic-simulation/dataloader/ModManager.hpp"
1111
#include "openvic-simulation/utility/Containers.hpp"
12-
#include "openvic-simulation/utility/Concepts.hpp"
12+
#include "openvic-simulation/core/template/Concepts.hpp"
1313

1414
#include <function2/function2.hpp>
1515

src/openvic-simulation/dataloader/NodeTools.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
#include "openvic-simulation/utility/Getters.hpp"
2727
#include "openvic-simulation/utility/TslHelper.hpp"
2828
#include "openvic-simulation/utility/Containers.hpp"
29-
#include "openvic-simulation/utility/Concepts.hpp"
29+
#include "openvic-simulation/core/template/Concepts.hpp"
3030

3131
#include <function2/function2.hpp>
3232

src/openvic-simulation/dataloader/Vic2PathSearch_Windows.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#include <Windows.h>
1111

1212
#include "openvic-simulation/utility/Containers.hpp"
13-
#include "openvic-simulation/utility/Concepts.hpp"
13+
#include "openvic-simulation/core/template/Concepts.hpp"
1414

1515
namespace OpenVic::Windows {
1616
inline memory::wstring convert(std::string_view as) {

src/openvic-simulation/modifier/ModifierSum.cpp

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

55
#include "openvic-simulation/country/CountryInstance.hpp"
66
#include "openvic-simulation/map/ProvinceInstance.hpp"
7-
#include "openvic-simulation/utility/Concepts.hpp"
7+
#include "openvic-simulation/core/template/Concepts.hpp"
88

99
using namespace OpenVic;
1010

src/openvic-simulation/types/Colour.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
#include <range/v3/algorithm/rotate.hpp>
2727

2828
#include "openvic-simulation/types/StackString.hpp"
29-
#include "openvic-simulation/utility/Concepts.hpp"
29+
#include "openvic-simulation/core/template/Concepts.hpp"
3030
#include "openvic-simulation/utility/StringUtils.hpp"
3131
#include "openvic-simulation/utility/Typedefs.hpp"
3232

src/openvic-simulation/types/CowPtr.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#include <type_traits>
88
#include <utility>
99

10-
#include "openvic-simulation/utility/Concepts.hpp"
10+
#include "openvic-simulation/core/template/Concepts.hpp"
1111
#include "openvic-simulation/utility/Typedefs.hpp"
1212

1313
namespace OpenVic {

src/openvic-simulation/types/CowVector.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#include "openvic-simulation/types/BasicIterator.hpp"
1515
#include "openvic-simulation/utility/Allocator.hpp"
1616
#include "openvic-simulation/utility/Compare.hpp"
17-
#include "openvic-simulation/utility/Concepts.hpp"
17+
#include "openvic-simulation/core/template/Concepts.hpp"
1818
#include "openvic-simulation/utility/Typedefs.hpp"
1919

2020
namespace OpenVic {

src/openvic-simulation/types/FixedVector.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include <memory>
66
#include <utility>
77

8-
#include "openvic-simulation/utility/Concepts.hpp"
8+
#include "openvic-simulation/core/template/Concepts.hpp"
99
#include "openvic-simulation/utility/Typedefs.hpp"
1010

1111
namespace OpenVic::_detail {

0 commit comments

Comments
 (0)