From 6434d616da5d75577d142e20e0f9fa430bd625df Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 18 Jun 2015 11:41:46 +0200 Subject: Use optional from libbutl --- build/cxx/rule.cxx | 1 + build/utility | 29 ----------------------------- 2 files changed, 1 insertion(+), 29 deletions(-) (limited to 'build') diff --git a/build/cxx/rule.cxx b/build/cxx/rule.cxx index f05370d..095c98a 100644 --- a/build/cxx/rule.cxx +++ b/build/cxx/rule.cxx @@ -12,6 +12,7 @@ #include #include +#include #include #include diff --git a/build/utility b/build/utility index db8e94c..87a0e44 100644 --- a/build/utility +++ b/build/utility @@ -38,35 +38,6 @@ namespace build bool operator() (const P& x, const P& y) const {return *x < *y;} }; - // Simple optional class template while waiting for std::optional. - // - template - class optional - { - public: - typedef T value_type; - - optional (): null_ (true) {} - optional (const T& v): value_ (v), null_ (false) {} - optional& operator= (const T& v) {value_ = v; null_ = false; return *this;} - - T& value () {return value_;} - const T& value () const {return value_;} - - T* operator-> () {return &value_;} - const T* operator-> () const {return &value_;} - - T& operator* () {return value_;} - const T& operator* () const {return value_;} - - explicit operator bool () const {return !null_;} - - private: - T value_; - bool null_; - }; - - // Support for reverse iteration using range-based for-loop: // // for (... : reverse_iterate (x)) ... -- cgit v1.1