aboutsummaryrefslogtreecommitdiff
path: root/build2/types.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-11-09 17:06:35 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-11-09 17:06:35 +0200
commit323e774380995c04ae705e29ae0e51d62246333d (patch)
tree83c18773c1efbfcdb7d3eef77d837880df21dc10 /build2/types.hxx
parent3b0df49b8828921edfb7b764b0628fb164dab852 (diff)
Add support for for-loop
The semantics is similar to the C++11 range-based for: list = 1 2 3 for i: $list print $i Note that there is no scoping of any kind for the loop variable ('i' in the above example). See tests/loop/for.test for some examples/ideas. In the future the plan is to also support more general while-loop as well as break and continue.
Diffstat (limited to 'build2/types.hxx')
-rw-r--r--build2/types.hxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/build2/types.hxx b/build2/types.hxx
index f65d054..cf95a9d 100644
--- a/build2/types.hxx
+++ b/build2/types.hxx
@@ -55,6 +55,8 @@ namespace build2
using std::uint64_t;
using std::uintptr_t;
+ using uint64s = std::vector<uint64_t>;
+
using std::size_t;
using std::nullptr_t;
@@ -64,6 +66,9 @@ namespace build2
using std::function;
using std::reference_wrapper;
+ using strings = std::vector<string>;
+ using cstrings = std::vector<const char*>;
+
using std::hash;
using std::initializer_list;
@@ -77,9 +82,6 @@ namespace build2
using butl::vector_view; // <libbutl/vector-view.mxx>
using butl::small_vector; // <libbutl/small-vector.mxx>
- using strings = vector<string>;
- using cstrings = vector<const char*>;
-
using std::istream;
using std::ostream;