Skip to content

Commit 062da83

Browse files
committed
aligned includes in hgl, replaced directional-specific list/matrix classes with common template classes parametrized with a directional tag
1 parent 3a8f0bc commit 062da83

9 files changed

Lines changed: 47 additions & 36 deletions

include/hgl/directional_tags.hpp

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

55
#pragma once
66

7-
#include "types/type_traits.hpp"
7+
#include "hgl/types/type_traits.hpp"
88

99
namespace hgl {
1010

include/hgl/hypergraph.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
#pragma once
66

7-
#include "constants.hpp"
8-
#include "hypergraph_traits.hpp"
9-
#include "util.hpp"
7+
#include "hgl/constants.hpp"
8+
#include "hgl/hypergraph_traits.hpp"
9+
#include "hgl/util.hpp"
1010

1111
#include <memory>
1212
#include <set>

include/hgl/hypergraph_elements.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
#pragma once
66

7-
#include "constants.hpp"
87
#include "gl/vertex_descriptor.hpp"
9-
#include "types/type_traits.hpp"
10-
#include "types/types.hpp"
8+
#include "hgl/constants.hpp"
9+
#include "hgl/types/type_traits.hpp"
10+
#include "hgl/types/types.hpp"
1111

1212
namespace hgl {
1313

include/hgl/hypergraph_traits.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
#pragma once
66

7-
#include "directional_tags.hpp"
8-
#include "hypergraph_elements.hpp"
9-
#include "impl/impl_tags.hpp"
10-
#include "impl/layout_tags.hpp"
7+
#include "hgl/directional_tags.hpp"
8+
#include "hgl/hypergraph_elements.hpp"
9+
#include "hgl/impl/impl_tags.hpp"
10+
#include "hgl/impl/layout_tags.hpp"
1111

1212
namespace hgl {
1313

include/hgl/impl/impl_tags.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44

55
#pragma once
66

7+
#include "hgl/directional_tags.hpp"
8+
#include "hgl/impl/layout_tags.hpp"
79
#include "hgl/types/type_traits.hpp"
810
#include "hgl/types/types.hpp"
9-
#include "layout_tags.hpp"
1011

1112
namespace hgl {
1213

include/hgl/impl/incidence_list.hpp

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44

55
#pragma once
66

7+
#include "hgl/directional_tags.hpp"
8+
#include "hgl/impl/layout_tags.hpp"
79
#include "hgl/types/types.hpp"
8-
#include "layout_tags.hpp"
910

1011
#include <algorithm>
1112
#include <ranges>
@@ -19,23 +20,28 @@ struct test_incidence_list;
1920

2021
namespace hgl::impl {
2122

23+
template <
24+
type_traits::c_hypergraph_directional_tag DirectionalTag,
25+
type_traits::c_hypergraph_layout_tag LayoutTag>
26+
class incidence_list;
27+
2228
template <type_traits::c_hypergraph_layout_tag LayoutTag>
23-
class undirected_incidence_list final {
29+
class incidence_list<hgl::undirected_t, LayoutTag> final {
2430
public:
2531
using layout_tag = LayoutTag;
2632

27-
undirected_incidence_list(const undirected_incidence_list&) = delete;
28-
undirected_incidence_list& operator=(const undirected_incidence_list&) = delete;
33+
incidence_list(const incidence_list&) = delete;
34+
incidence_list& operator=(const incidence_list&) = delete;
2935

30-
undirected_incidence_list() = default;
36+
incidence_list() = default;
3137

32-
undirected_incidence_list(const types::size_type n_vertices, const types::size_type n_hyperedges)
38+
incidence_list(const types::size_type n_vertices, const types::size_type n_hyperedges)
3339
: _major_storage{layout_tag::major(n_vertices, n_hyperedges)} {}
3440

35-
undirected_incidence_list(undirected_incidence_list&&) = default;
36-
undirected_incidence_list& operator=(undirected_incidence_list&&) = default;
41+
incidence_list(incidence_list&&) = default;
42+
incidence_list& operator=(incidence_list&&) = default;
3743

38-
~undirected_incidence_list() = default;
44+
~incidence_list() = default;
3945

4046
// --- vertex methods ---
4147

include/hgl/impl/incidence_matrix.hpp

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44

55
#pragma once
66

7+
#include "hgl/directional_tags.hpp"
8+
#include "hgl/impl/layout_tags.hpp"
79
#include "hgl/types/types.hpp"
8-
#include "layout_tags.hpp"
910

1011
#include <algorithm>
1112
#include <ranges>
@@ -19,28 +20,31 @@ struct test_incidence_matrix;
1920

2021
namespace hgl::impl {
2122

23+
template <
24+
type_traits::c_hypergraph_directional_tag DirectionalTag,
25+
type_traits::c_hypergraph_layout_tag LayoutTag>
26+
class incidence_matrix;
27+
2228
template <type_traits::c_hypergraph_layout_tag LayoutTag>
23-
class undirected_incidence_matrix final {
29+
class incidence_matrix<hgl::undirected_t, LayoutTag> final {
2430
public:
2531
using layout_tag = LayoutTag;
2632

27-
undirected_incidence_matrix(const undirected_incidence_matrix&) = delete;
28-
undirected_incidence_matrix& operator=(const undirected_incidence_matrix&) = delete;
33+
incidence_matrix(const incidence_matrix&) = delete;
34+
incidence_matrix& operator=(const incidence_matrix&) = delete;
2935

30-
undirected_incidence_matrix() = default;
36+
incidence_matrix() = default;
3137

32-
undirected_incidence_matrix(
33-
const types::size_type n_vertices, const types::size_type n_hyperedges
34-
)
38+
incidence_matrix(const types::size_type n_vertices, const types::size_type n_hyperedges)
3539
: _matrix_row_size{layout_tag::minor(n_vertices, n_hyperedges)},
3640
_matrix(
3741
layout_tag::major(n_vertices, n_hyperedges), matrix_row_type(_matrix_row_size, false)
3842
) {}
3943

40-
undirected_incidence_matrix(undirected_incidence_matrix&&) = default;
41-
undirected_incidence_matrix& operator=(undirected_incidence_matrix&&) = default;
44+
incidence_matrix(incidence_matrix&&) = default;
45+
incidence_matrix& operator=(incidence_matrix&&) = default;
4246

43-
~undirected_incidence_matrix() = default;
47+
~incidence_matrix() = default;
4448

4549
// --- vertex methods ---
4650

tests/source/hgl/test_incidence_list.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ struct test_incidence_list {
1818
};
1919

2020
struct test_undirected_vertex_major_incidence_list : public test_incidence_list {
21-
using sut_type = hgl::impl::undirected_incidence_list<hgl::impl::vertex_major_t>;
21+
using sut_type = hgl::impl::incidence_list<hgl::undirected_t, hgl::impl::vertex_major_t>;
2222
};
2323

2424
TEST_CASE_FIXTURE(
@@ -250,7 +250,7 @@ TEST_CASE_FIXTURE(test_undirected_vertex_major_incidence_list, "add_hyperedges s
250250
}
251251

252252
struct test_undirected_hyperedge_major_incidence_list : public test_incidence_list {
253-
using sut_type = hgl::impl::undirected_incidence_list<hgl::impl::hyperedge_major_t>;
253+
using sut_type = hgl::impl::incidence_list<hgl::undirected_t, hgl::impl::hyperedge_major_t>;
254254
};
255255

256256
TEST_CASE_FIXTURE(

tests/source/hgl/test_incidence_matrix.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ struct test_incidence_matrix {
1919
};
2020

2121
struct test_undirected_vertex_major_incidence_matrix : public test_incidence_matrix {
22-
using sut_type = hgl::impl::undirected_incidence_matrix<hgl::impl::vertex_major_t>;
22+
using sut_type = hgl::impl::incidence_matrix<hgl::undirected_t, hgl::impl::vertex_major_t>;
2323
};
2424

2525
TEST_CASE_FIXTURE(
@@ -296,7 +296,7 @@ TEST_CASE_FIXTURE(
296296
}
297297

298298
struct test_undirected_hyperedge_major_incidence_matrix : public test_incidence_matrix {
299-
using sut_type = hgl::impl::undirected_incidence_matrix<hgl::impl::hyperedge_major_t>;
299+
using sut_type = hgl::impl::incidence_matrix<hgl::undirected_t, hgl::impl::hyperedge_major_t>;
300300
};
301301

302302
TEST_CASE_FIXTURE(

0 commit comments

Comments
 (0)