From 67b36b32e19e17db9b1e5c72deb8db7202a0f41b Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 9 Aug 2018 09:36:23 +0200 Subject: Add support for returning optional from (buildfile) function implementations --- build2/function.hxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'build2/function.hxx') diff --git a/build2/function.hxx b/build2/function.hxx index 139f1fa..5b84a69 100644 --- a/build2/function.hxx +++ b/build2/function.hxx @@ -46,12 +46,16 @@ namespace build2 // are conceptually "moved" and can be reused by the implementation. // // A function can also optionally receive the current scope by having the - // first argument of the const scope* type. It may be NULL is the function + // first argument of the const scope* type. It may be NULL if the function // is called out of any scope (e.g., command line). // // Note also that we don't pass the location to the function instead // printing the info message pointing to the call site. // + // A function can return value or anything that can be converted to value. + // In particular, if a function returns optional, then the result will be + // either NULL or value of type T. + // // Normally functions come in families that share a common qualification // (e.g., string. or path.). The function_family class is a "registrar" // that simplifies handling of function families. For example: -- cgit v1.1