@@ -57,16 +57,16 @@ class DFA
5757 }
5858
5959 // ! Retrieves the alphabet of this finite automaton.
60- Alphabet alphabet () const ;
60+ [[nodiscard]] Alphabet alphabet () const ;
6161
6262 // ! Retrieves the initial state.
63- StateId initialState () const { return initialState_; }
63+ [[nodiscard]] StateId initialState () const { return initialState_; }
6464
6565 // ! Retrieves the list of available states.
66- const StateVec& states () const { return states_; }
67- StateVec& states () { return states_; }
66+ [[nodiscard]] const StateVec& states () const { return states_; }
67+ [[nodiscard]] StateVec& states () { return states_; }
6868
69- StateIdVec stateIds () const
69+ [[nodiscard]] StateIdVec stateIds () const
7070 {
7171 StateIdVec v;
7272 v.reserve (states_.size ());
@@ -76,7 +76,7 @@ class DFA
7676 }
7777
7878 // ! Retrieves the list of accepting states.
79- std::vector<StateId> acceptStates () const ;
79+ [[nodiscard]] std::vector<StateId> acceptStates () const ;
8080
8181 /* *
8282 * Traverses all states and edges in this NFA and calls @p visitor for each state & edge.
@@ -89,39 +89,39 @@ class DFA
8989
9090 void setInitialState (StateId state);
9191
92- const TransitionMap& stateTransitions (StateId id) const
92+ [[nodiscard]] const TransitionMap& stateTransitions (StateId id) const
9393 {
9494 return states_[static_cast <size_t >(id)].transitions ;
9595 }
9696
9797 // {{{ backtracking (for lookahead)
9898 void setBacktrack (StateId from, StateId to) { backtrackStates_[from] = to; }
9999
100- std::optional<StateId> backtrack (StateId acceptState) const
100+ [[nodiscard]] std::optional<StateId> backtrack (StateId acceptState) const
101101 {
102102 if (auto i = backtrackStates_.find (acceptState); i != backtrackStates_.end ())
103103 return i->second ;
104104
105105 return std::nullopt ;
106106 }
107107
108- const BacktrackingMap& backtracking () const noexcept { return backtrackStates_; }
108+ [[nodiscard]] const BacktrackingMap& backtracking () const noexcept { return backtrackStates_; }
109109 // }}}
110110
111111 // ! Flags given state as accepting-state with given Tag @p acceptTag.
112112 void setAccept (StateId state, Tag acceptTag) { acceptTags_[state] = acceptTag; }
113113
114- bool isAccepting (StateId s) const { return acceptTags_.find (s) != acceptTags_.end (); }
114+ [[nodiscard]] bool isAccepting (StateId s) const { return acceptTags_.find (s) != acceptTags_.end (); }
115115
116- std::optional<Tag> acceptTag (StateId s) const
116+ [[nodiscard]] std::optional<Tag> acceptTag (StateId s) const
117117 {
118118 if (auto i = acceptTags_.find (s); i != acceptTags_.end ())
119119 return i->second ;
120120
121121 return std::nullopt ;
122122 }
123123
124- std::optional<StateId> delta (StateId state, Symbol symbol) const
124+ [[nodiscard]] std::optional<StateId> delta (StateId state, Symbol symbol) const
125125 {
126126 const auto & T = states_[state].transitions ;
127127 if (auto i = T.find (symbol); i != T.end ())
@@ -133,7 +133,7 @@ class DFA
133133 void setTransition (StateId from, Symbol symbol, StateId to);
134134 void removeTransition (StateId from, Symbol symbol);
135135
136- StateIdVec nonAcceptStates () const
136+ [[nodiscard]] StateIdVec nonAcceptStates () const
137137 {
138138 StateIdVec result;
139139 result.reserve (
@@ -146,9 +146,9 @@ class DFA
146146 return result;
147147 }
148148
149- bool isAcceptor (Tag t) const
149+ [[nodiscard]] bool isAcceptor (Tag t) const
150150 {
151- for (const std::pair<StateId, Tag>& p: acceptTags_)
151+ for (std::pair<StateId, Tag> p: acceptTags_)
152152 if (p.second == t)
153153 return true ;
154154
0 commit comments