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/utility | 29 ----------------------------- 1 file changed, 29 deletions(-) (limited to 'build/utility') 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