aboutsummaryrefslogtreecommitdiff
path: root/build2/variable.txx
AgeCommit message (Collapse)AuthorFilesLines
2017-05-01Add hxx extension for headersKaren Arutyunov1-1/+1
2017-04-19Fix typification bug in variable_cacheBoris Kolpackov1-2/+8
2017-03-17Implement create meta-operationBoris Kolpackov1-1/+1
2017-02-13Use variable_cache for target type/pattern-specific prepend/appendBoris Kolpackov1-24/+34
2017-02-13Add MT-safe variable_cache, use for variable overridesBoris Kolpackov1-0/+69
2017-01-05Update copyright yearBoris Kolpackov1-1/+1
2016-12-06Work around wrong static initialization order in VCBoris Kolpackov1-9/+24
2016-12-05Add comma, ternary, logical operators support in eval contextBoris Kolpackov1-0/+14
2016-11-30Add support for typed/untyped concatenated expansionBoris Kolpackov1-7/+33
2016-11-26Add support for VC15Karen Arutyunov1-2/+2
2016-11-22Use diagnostics facility from libbutlBoris Kolpackov1-27/+15
2016-11-18Add function machinery, implement path.normalize()Boris Kolpackov1-0/+29
Note that multi-argument functions are not yet "callable" since there is no support for value packs.
2016-08-23Reverse empty simple values as an empty names sequence rather than empty nameBoris Kolpackov1-1/+15
This way we get: config.import.foo = Rather than: config.import.foo = {}
2016-07-20Switch to dynamic empty() implementation in variable valueBoris Kolpackov1-34/+43
The current model fell apart when we modified values directly.
2016-07-16Add support for prepend/append in target type/pattern-specific varsBoris Kolpackov1-15/+21
Semantically, these are similar to variable overrides and are essentially treated as "templates" that are applied on lookup to the "stem" value that is specific to the target type/name. For example: x = [string] a file{f*}: x =+ b sub/: { file{*}: x += c print $(file{foo}:x) # abc print $(file{bar}:x) # ac }
2016-07-01Port to MSVCKaren Arutyunov1-2/+2
2016-06-28Work around static initialization order issueBoris Kolpackov1-3/+3
value_traits<T>::value_type initialization is not constexpr in VC because of pointers to function template instantiations (which apparently are not constexpr).
2016-04-18Add support for using value attributes in eval contextBoris Kolpackov1-30/+77
For example: if ($x == [null]) Or: if ([uint64] 01 == [uint64] 1)
2016-04-11Add basic support for variable value inheritanceBoris Kolpackov1-0/+2
Currently, only abs_dir_path inherits from dir_path.
2016-04-05Make name::pair char againBoris Kolpackov1-2/+19
The plan is to represent scope/target-qualified variables as ':'-style pairs.
2016-03-28New variable architectureBoris Kolpackov1-98/+303
2016-03-28Add support for pair representation reversibilityBoris Kolpackov1-5/+22
2016-03-28Enable @-delimited pairs mode everywhereBoris Kolpackov1-2/+2
2016-02-12<types>/<utility> scheme cleanupBoris Kolpackov1-11/+9
2016-01-09Update copyright yearBoris Kolpackov1-1/+1
2016-01-05Rename build directory/namespace to build2Boris Kolpackov1-0/+168