aboutsummaryrefslogtreecommitdiff
path: root/build2/variable
diff options
context:
space:
mode:
Diffstat (limited to 'build2/variable')
-rw-r--r--build2/variable22
1 files changed, 22 insertions, 0 deletions
diff --git a/build2/variable b/build2/variable
index d6be976..1248bd3 100644
--- a/build2/variable
+++ b/build2/variable
@@ -589,6 +589,28 @@ namespace build2
static const build2::value_type value_type;
};
+ // process_path
+ //
+ // Note that instances that we store always have non-empty recall and
+ // initial is its shallow copy.
+ //
+ template <>
+ struct value_traits<process_path>
+ {
+ static_assert (sizeof (process_path) <= value::size_, "insufficient space");
+
+ // This one is represented as a @-pair of names. As a result it cannot
+ // be stored in a container.
+ //
+ static process_path convert (name&&, name*);
+ static void assign (value&, process_path&&);
+ static int compare (const process_path&, const process_path&);
+ static bool empty (const process_path& x) {return x.empty ();}
+
+ static const char* const type_name;
+ static const build2::value_type value_type;
+ };
+
// vector<T>
//
template <typename T>