mimic++ v9.2.1
Loading...
Searching...
No Matches
SequenceReport.hpp
Go to the documentation of this file.
1// Copyright Dominic (DNKpp) Koepke 2024 - 2025.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at
4// https://www.boost.org/LICENSE_1_0.txt)
5
6#ifndef MIMICPP_REPORTING_SEQUENCE_REPORT_HPP
7#define MIMICPP_REPORTING_SEQUENCE_REPORT_HPP
8
9#pragma once
10
11#include "mimic++/Fwd.hpp"
14
16{
22
24 {
25 public:
28 std::optional<util::SourceLocation> headFrom{};
29
30 [[nodiscard]]
31 friend bool operator==(SequenceReport const&, SequenceReport const&) = default;
32 };
33
34 template <typename Id, auto priorityStrategy>
35 [[nodiscard]]
36 constexpr SequenceReport make_sequence_report(sequence::detail::BasicSequence<Id, priorityStrategy> const& seq)
37 {
38 return SequenceReport{seq.tag(), seq.from(), seq.head_from()};
39 }
40
41 template <typename Id, auto priorityStrategy>
42 [[nodiscard]]
43 constexpr SequenceReport make_sequence_report(sequence::detail::BasicSequenceInterface<Id, priorityStrategy> const& seq)
44 {
45 return SequenceReport{seq.tag(), seq.from(), seq.head_from()};
46 }
47
51}
52
53#endif
#define MIMICPP_DETAIL_MODULE_EXPORT
Definition Config.hpp:19
Definition SequenceReport.hpp:24
sequence::Tag tag
Definition SequenceReport.hpp:26
std::optional< util::SourceLocation > headFrom
Definition SequenceReport.hpp:28
util::SourceLocation from
Definition SequenceReport.hpp:27
friend bool operator==(SequenceReport const &, SequenceReport const &)=default
A thin wrapper around general source-location info.
Definition SourceLocation.hpp:38
constexpr SequenceReport make_sequence_report(sequence::detail::BasicSequence< Id, priorityStrategy > const &seq)
Definition SequenceReport.hpp:36
Definition BasicReporter.hpp:27
Tag
Definition Fwd.hpp:402