Documentation of CSL
evaluation.h
Go to the documentation of this file.
1 // This file is part of MARTY.
2 //
3 // MARTY is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, either version 3 of the License, or
6 // (at your option) any later version.
7 //
8 // MARTY is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License
14 // along with MARTY. If not, see <https://www.gnu.org/licenses/>.
15 
21 #ifndef EVALUATION_H_INCLUDED
22 #define EVALUATION_H_INCLUDED
23 
24 #include <bitset>
25 
26 namespace csl {
27 
28  namespace eval {
29 
30  typedef std::bitset<6> mode;
31 
32  constexpr static mode base (0);
33  const static mode literal (mode(1) | base);
34  const static mode numerical (mode(2) | base);
35  const static mode indicial (mode(4) | base);
36  const static mode abbreviation (mode(8) | base);
37  const static mode all (base
38  | literal
39  | numerical
40  | indicial
41  | abbreviation);
42 
46  bool isContained(mode const& user_mode,
47  mode const& defined_mode);
48  }
49 
50 } // End of namespace csl
51 
52 #endif
bool isContained(mode const &user_mode, mode const &defined_mode)
Tells if the defined mode is contained in the user_mode.
Definition: evaluation.cpp:21
Namespace for csl library.
Definition: abreviation.h:34