singleton.hpp

来自「CGAL is a collaborative effort of severa」· HPP 代码 · 共 60 行

HPP
60
字号
// Copyright (C) 2001-2003// Mac Murrett//// Distributed under the Boost Software License, Version 1.0. (See// accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt)//// See http://www.boost.org for most recent version including documentation.#ifndef BOOST_SINGLETON_MJM012402_HPP#define BOOST_SINGLETON_MJM012402_HPP#include <boost/thread/detail/config.hpp>namespace boost {namespace detail {namespace thread {// class singleton has the same goal as all singletons: create one instance of// a class on demand, then dish it out as requested.template <class T>class singleton : private T{private:    singleton();    ~singleton();public:    static T &instance();};template <class T>inline singleton<T>::singleton(){    /* no-op */}template <class T>inline singleton<T>::~singleton(){    /* no-op */}template <class T>/*static*/ T &singleton<T>::instance(){    // function-local static to force this to work correctly at static    // initialization time.    static singleton<T> s_oT;    return(s_oT);}} // namespace thread} // namespace detail} // namespace boost#endif // BOOST_SINGLETON_MJM012402_HPP

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?