diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-10-06 08:45:41 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-10-06 08:45:41 +0200 |
commit | 76bcf09fde0b981879ebb76dce0514e03ff88ad4 (patch) | |
tree | fb59d0104dfd873a6ecc12766350a4e050b8f3b7 /bpkg/manifest.cxx | |
parent | 9dd19e0fffd832e3b218e8ac4dfef4cc8bad7910 (diff) |
Rename dependency condition to constraint, add more operator<<
Diffstat (limited to 'bpkg/manifest.cxx')
-rw-r--r-- | bpkg/manifest.cxx | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/bpkg/manifest.cxx b/bpkg/manifest.cxx index cc0065b..771cfaa 100644 --- a/bpkg/manifest.cxx +++ b/bpkg/manifest.cxx @@ -384,13 +384,35 @@ namespace bpkg else throw invalid_argument ("invalid comparion operator '" + s + "'"); } + inline ostream& + operator<< (ostream& o, const dependency_constraint& c) + { + return o << c.operation << ' ' << c.version; + } + ostream& operator<< (ostream& o, const dependency& d) { o << d.name; - if (d.condition) - o << " " << d.condition->operation << " " << d.condition->version; + if (d.constraint) + o << ' ' << *d.constraint; + + return o; + } + + ostream& + operator<< (ostream& o, const dependency_alternatives& as) + { + if (as.conditional) + o << "? "; + + bool f (true); + for (const dependency& a: as) + o << (f ? (f = false, "") : " | ") << a; + + if (!as.comment.empty ()) + o << "; " << as.comment; return o; } @@ -726,7 +748,7 @@ namespace bpkg } dependency d {move (nm), - dependency_condition {operation, move (v)}}; + dependency_constraint {operation, move (v)}}; da.push_back (move (d)); } } |