aboutsummaryrefslogtreecommitdiff
path: root/build2/test/script/script.ixx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-10-19 16:41:43 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-11-04 09:26:33 +0200
commita17e517e079c33bcb4d6dea94f6c441a5eb2e33a (patch)
tree52a529d7b54513aa88417e1f7a49e24a5893ecef /build2/test/script/script.ixx
parent43124ef418bd7fe909027b977bf5effc305b4740 (diff)
Generalize and move test printing code to script
Diffstat (limited to 'build2/test/script/script.ixx')
-rw-r--r--build2/test/script/script.ixx39
1 files changed, 39 insertions, 0 deletions
diff --git a/build2/test/script/script.ixx b/build2/test/script/script.ixx
new file mode 100644
index 0000000..2e215da
--- /dev/null
+++ b/build2/test/script/script.ixx
@@ -0,0 +1,39 @@
+// file : build2/test/script/script.ixx -*- C++ -*-
+// copyright : Copyright (c) 2014-2016 Code Synthesis Ltd
+// license : MIT; see accompanying LICENSE file
+
+namespace build2
+{
+ namespace test
+ {
+ namespace script
+ {
+ inline command_to_stream
+ operator&= (command_to_stream& x, command_to_stream y)
+ {
+ return x = static_cast<command_to_stream> (
+ static_cast<uint16_t> (x) & static_cast<uint16_t> (y));
+ }
+
+ inline command_to_stream
+ operator|= (command_to_stream& x, command_to_stream y)
+ {
+ return x = static_cast<command_to_stream> (
+ static_cast<uint16_t> (x) | static_cast<uint16_t> (y));
+ }
+
+ inline command_to_stream
+ operator& (command_to_stream x, command_to_stream y) {return x &= y;}
+
+ inline command_to_stream
+ operator| (command_to_stream x, command_to_stream y) {return x |= y;}
+
+ inline ostream&
+ operator<< (ostream& o, const command& c)
+ {
+ to_stream (o, c, command_to_stream::all);
+ return o;
+ }
+ }
+ }
+}