aboutsummaryrefslogtreecommitdiff
path: root/libcutl/compiler/cxx-indenter.ixx
diff options
context:
space:
mode:
Diffstat (limited to 'libcutl/compiler/cxx-indenter.ixx')
-rw-r--r--libcutl/compiler/cxx-indenter.ixx68
1 files changed, 68 insertions, 0 deletions
diff --git a/libcutl/compiler/cxx-indenter.ixx b/libcutl/compiler/cxx-indenter.ixx
new file mode 100644
index 0000000..5f59fd0
--- /dev/null
+++ b/libcutl/compiler/cxx-indenter.ixx
@@ -0,0 +1,68 @@
+// file : libcutl/compiler/cxx-indenter.ixx
+// license : MIT; see accompanying LICENSE file
+
+namespace cutl
+{
+ namespace compiler
+ {
+ template <typename C>
+ inline typename cxx_indenter<C>::char_class_type cxx_indenter<C>::
+ char_class (C c)
+ {
+ switch (c)
+ {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ return cc_digit;
+
+ case '!':
+ case '%':
+ case '^':
+ case '&':
+ case '*':
+ case '(':
+ case ')':
+ case '-':
+ case '+':
+ case '=':
+ case '{':
+ case '}':
+ case '|':
+ case '~':
+ case '[':
+ case ']':
+ case '\\':
+ case ';':
+ case '\'':
+ case ':':
+ case '"':
+ case '<':
+ case '>':
+ case '?':
+ case ',':
+ case '.':
+ case '/':
+ return cc_op_punc;
+
+ case ' ':
+ case '\n':
+ case '\t':
+ case '\f':
+ case '\r':
+ case '\v':
+ return cc_space;
+
+ default:
+ return cc_alpha;
+ }
+ }
+ }
+}