diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-11-09 17:06:35 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-11-09 17:06:35 +0200 |
commit | 323e774380995c04ae705e29ae0e51d62246333d (patch) | |
tree | 83c18773c1efbfcdb7d3eef77d837880df21dc10 /build2/types.hxx | |
parent | 3b0df49b8828921edfb7b764b0628fb164dab852 (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.hxx | 8 |
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; |