aboutsummaryrefslogtreecommitdiff
path: root/build/target-key
diff options
context:
space:
mode:
Diffstat (limited to 'build/target-key')
-rw-r--r--build/target-key55
1 files changed, 0 insertions, 55 deletions
diff --git a/build/target-key b/build/target-key
deleted file mode 100644
index 526a33a..0000000
--- a/build/target-key
+++ /dev/null
@@ -1,55 +0,0 @@
-// file : build/target-key -*- C++ -*-
-// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd
-// license : MIT; see accompanying LICENSE file
-
-#ifndef BUILD_TARGET_KEY
-#define BUILD_TARGET_KEY
-
-#include <map>
-#include <string>
-#include <ostream>
-#include <functional> // reference_wrapper
-
-#include <butl/utility> // compare_c_string
-
-#include <build/types>
-#include <build/target-type>
-
-namespace build
-{
- // Light-weight (by being shallow-pointing) target key.
- //
- class target_key
- {
- public:
- mutable const target_type* type;
- mutable const dir_path* dir;
- mutable const std::string* name;
- mutable const std::string* const* ext; // Note: only *ext can be NULL.
-
- friend bool
- operator< (const target_key& x, const target_key& y)
- {
- const target_type* xt (x.type);
- const target_type* yt (y.type);
-
- //@@ TODO: use compare() to compare once.
-
- // Unspecified and specified extension are assumed equal. The
- // extension strings are from the pool, so we can just compare
- // pointers.
- //
- return
- (xt < yt) ||
- (xt == yt && *x.name < *y.name) ||
- (xt == yt && *x.name == *y.name && *x.dir < *y.dir) ||
- (xt == yt && *x.name == *y.name && *x.dir == *y.dir &&
- *x.ext != nullptr && *y.ext != nullptr && **x.ext < **y.ext);
- }
- };
-
- std::ostream&
- operator<< (std::ostream&, const target_key&); // Defined in target.cxx
-}
-
-#endif // BUILD_TARGET_KEY