diff options
author | Gabriel Dos Reis <gdr@axiomatics.org> | 2017-12-27 04:38:07 -0800 |
---|---|---|
committer | Gabriel Dos Reis <gdr@axiomatics.org> | 2017-12-27 04:38:07 -0800 |
commit | 83ff2c1707b3c1e304feb2127503d9878b05fa9d (patch) | |
tree | 06cadddd637ba9474bfacc2b14c18d1ebafe0def /src/include/open-axiom/token | |
parent | d16f9a090321f1ec1e8b20f1fb30859bf93cea46 (diff) | |
download | open-axiom-83ff2c1707b3c1e304feb2127503d9878b05fa9d.tar.gz |
Remove antiquated check for alignas
C++14 required, alignas and alignof are now well supported as C++11
features.
Diffstat (limited to 'src/include/open-axiom/token')
-rw-r--r-- | src/include/open-axiom/token | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/include/open-axiom/token b/src/include/open-axiom/token index 943d01cc..1d17f5de 100644 --- a/src/include/open-axiom/token +++ b/src/include/open-axiom/token @@ -72,6 +72,17 @@ namespace OpenAxiom { std::ostream& operator<<(std::ostream&, TokenValue); + + enum class TokenIndex : uint32_t { }; + + constexpr TokenValue value(TokenIndex t) { + return TokenValue((uint32_t(t) & 0xFF000000) >> 24); + } + + constexpr uint32_t index(TokenIndex t) { + return uint32_t(t) & 0x00FFFFFF; + } + // Program text region, with a fragment. struct Region { FragmentCursor start; |