From 8e761289a2446367267c6c0d9a26e734f0f78306 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 16 Dec 2020 20:29:05 +0300 Subject: Get rid of legacy build systems and rename cutl/ to libcutl/ --- cutl/container/any.hxx | 154 ------------------------------------------------- 1 file changed, 154 deletions(-) delete mode 100644 cutl/container/any.hxx (limited to 'cutl/container/any.hxx') diff --git a/cutl/container/any.hxx b/cutl/container/any.hxx deleted file mode 100644 index 13e6a69..0000000 --- a/cutl/container/any.hxx +++ /dev/null @@ -1,154 +0,0 @@ -// file : cutl/container/any.hxx -// license : MIT; see accompanying LICENSE file - -#ifndef CUTL_CONTAINER_ANY_HXX -#define CUTL_CONTAINER_ANY_HXX - -#include // std::unique_ptr/auto_ptr -#include // std::type_info - -#include -#include // LIBCUTL_CXX11 - -namespace cutl -{ - namespace container - { - class any - { - public: - struct typing: exception {}; - - public: - any () - { - } - - template - any (X const& x) - : holder_ (new holder_impl (x)) - { - } - - any (any const& x) - : holder_ (x.holder_->clone ()) - { - } - - template - any& - operator= (X const& x) - { - holder_.reset (new holder_impl (x)); - return *this; - } - - any& - operator= (any const& x) - { - holder_.reset (x.holder_->clone ()); - return *this; - } - - public: - template - X& - value () - { - if (holder_impl* p = dynamic_cast*> (holder_.get ())) - return p->value (); - else - throw typing (); - } - - template - X const& - value () const - { - if (holder_impl* p = dynamic_cast*> (holder_.get ())) - return p->value (); - else - throw typing (); - } - - std::type_info const& - type_info () const - { - return holder_->type_info (); - } - - public: - bool - empty () const - { - return holder_.get () == 0; - } - - void - reset () - { - return holder_.reset (); - } - - private: - class LIBCUTL_EXPORT holder - { - public: - virtual - ~holder () {} - - virtual holder* - clone () const = 0; - - virtual std::type_info const& - type_info () const = 0; - }; - - template - class holder_impl: public holder - { - public: - holder_impl (X const& x) - : x_ (x) - { - } - - virtual holder_impl* - clone () const - { - return new holder_impl (x_); - } - - virtual std::type_info const& - type_info () const - { - return typeid (x_); - } - - X const& - value () const - { - return x_; - } - - X& - value () - { - return x_; - } - - private: - X x_; - }; - - private: -#ifdef LIBCUTL_CXX11 - std::unique_ptr holder_; -#else - std::auto_ptr holder_; -#endif - }; - } -} - -#endif // CUTL_CONTAINER_ANY_HXX -- cgit v1.1