?????????? ????????? - ??????????????? - /home/agenciai/public_html/cd38d8/csbl.zip
???????
PK �!\=.��� � memory/unique_ptr.hppnu �[��� // Copyright (C) 2013-2014 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation using interprocess::unique_ptr. // 2014/09 Vicente J. Botet Escriba // Adaptation to movelib::unique_ptr #ifndef BOOST_CSBL_MEMORY_UNIQUE_PTR_HPP #define BOOST_CSBL_MEMORY_UNIQUE_PTR_HPP #include <boost/thread/csbl/memory/config.hpp> #include <boost/move/unique_ptr.hpp> #include <boost/move/make_unique.hpp> namespace boost { namespace csbl { using ::boost::movelib::unique_ptr; using ::boost::movelib::make_unique; } } #endif // header PK �!\��F� � memory/config.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_MEMORY_CONFIG_HPP #define BOOST_CSBL_MEMORY_CONFIG_HPP #include <boost/config.hpp> #include <memory> #endif // header PK �!\�R"|8 8 memory/default_delete.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_MEMORY_DEFAULT_DELETE_HPP #define BOOST_CSBL_MEMORY_DEFAULT_DELETE_HPP #include <boost/thread/csbl/memory/config.hpp> // 20.8.1 class template unique_ptr: // default_delete #if defined BOOST_NO_CXX11_SMART_PTR #include <boost/move/unique_ptr.hpp> namespace boost { namespace csbl { using ::boost::movelib::default_delete; } } #else namespace boost { namespace csbl { using ::std::default_delete; } } #endif // defined BOOST_NO_CXX11_SMART_PTR namespace boost { using ::boost::csbl::default_delete; } #endif // header PK �!\�t�v� � memory/pointer_traits.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_MEMORY_POINTER_TRAITS_HPP #define BOOST_CSBL_MEMORY_POINTER_TRAITS_HPP #include <boost/thread/csbl/memory/config.hpp> // 20.7.3, pointer traits #if defined BOOST_NO_CXX11_ALLOCATOR #include <boost/intrusive/pointer_traits.hpp> namespace boost { namespace csbl { using ::boost::intrusive::pointer_traits; } } #else namespace boost { namespace csbl { using ::std::pointer_traits; } } #endif // BOOST_NO_CXX11_ALLOCATOR #endif // header PK �!\xx��� � memory/allocator_arg.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_MEMORY_ALLOCATOR_ARG_HPP #define BOOST_CSBL_MEMORY_ALLOCATOR_ARG_HPP #include <boost/thread/csbl/memory/config.hpp> // 20.7.6, allocator argument tag #if defined BOOST_NO_CXX11_ALLOCATOR #include <boost/container/scoped_allocator.hpp> namespace boost { namespace csbl { using ::boost::container::allocator_arg_t; using ::boost::container::allocator_arg; } } #else namespace boost { namespace csbl { using ::std::allocator_arg_t; using ::std::allocator_arg; } } #endif // BOOST_NO_CXX11_ALLOCATOR namespace boost { using ::boost::csbl::allocator_arg_t; using ::boost::csbl::allocator_arg; } #endif // header PK �!\|˹� � memory/allocator_traits.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_MEMORY_ALLOCATOR_TRAITS_HPP #define BOOST_CSBL_MEMORY_ALLOCATOR_TRAITS_HPP #include <boost/thread/csbl/memory/config.hpp> // 20.7.8, allocator traits #if defined BOOST_NO_CXX11_ALLOCATOR #include <boost/container/allocator_traits.hpp> namespace boost { namespace csbl { using ::boost::container::allocator_traits; } } #else namespace boost { namespace csbl { using ::std::allocator_traits; } } #endif // BOOST_NO_CXX11_POINTER_TRAITS #endif // header PK �!\�x�� � memory/scoped_allocator.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_MEMORY_SCOPED_ALLOCATOR_HPP #define BOOST_CSBL_MEMORY_SCOPED_ALLOCATOR_HPP #include <boost/thread/csbl/memory/config.hpp> // 20.7.7, uses_allocator #if defined BOOST_NO_CXX11_ALLOCATOR #include <boost/container/scoped_allocator.hpp> namespace boost { namespace csbl { using ::boost::container::uses_allocator; } } #else namespace boost { namespace csbl { using ::std::uses_allocator; } } #endif // BOOST_NO_CXX11_POINTER_TRAITS #endif // header PK �!\�քT memory/shared_ptr.hppnu �[��� // Copyright (C) 2014 Vicente J. Botet Escriba // // 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) // // 2014/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_MEMORY_SHARED_PTR_HPP #define BOOST_CSBL_MEMORY_SHARED_PTR_HPP #include <boost/thread/csbl/memory/config.hpp> #if defined BOOST_NO_CXX11_SMART_PTR #include <boost/smart_ptr/shared_ptr.hpp> #include <boost/smart_ptr/make_shared.hpp> namespace boost { namespace csbl { using ::boost::shared_ptr; using ::boost::make_shared; } } #else #include <boost/shared_ptr.hpp> namespace boost { namespace csbl { using std::shared_ptr; using std::make_shared; } } #endif #endif // header PK �!\I�o�( ( functional.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_FUNCTIONAL_HPP #define BOOST_CSBL_FUNCTIONAL_HPP #include <boost/config.hpp> #include <functional> #if defined BOOST_THREAD_USES_BOOST_FUNCTIONAL || defined BOOST_NO_CXX11_HDR_FUNCTIONAL || defined BOOST_NO_CXX11_RVALUE_REFERENCES #ifndef BOOST_THREAD_USES_BOOST_FUNCTIONAL #define BOOST_THREAD_USES_BOOST_FUNCTIONAL #endif #include <boost/function.hpp> #endif namespace boost { namespace csbl { #if defined BOOST_THREAD_USES_BOOST_FUNCTIONAL using ::boost::function; #else // D.8.1, base (deprecated): // 20.9.3, reference_wrapper: // 20.9.4, arithmetic operations: // 20.9.5, comparisons: // 20.9.6, logical operations: // 20.9.7, bitwise operations: // 20.9.8, negators: // 20.9.9, bind: // D.9, binders (deprecated): // D.8.2.1, adaptors (deprecated): // D.8.2.2, adaptors (deprecated): // 20.9.10, member function adaptors: // 20.9.11 polymorphic function wrappers: using ::std::function; // 20.9.12, hash function primary template: #endif } } #endif // header PK �!\:Q�9 9 deque.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_DEQUE_HPP #define BOOST_CSBL_DEQUE_HPP #include <boost/config.hpp> // MSVC has some trouble instantiating a non_copyable type //C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\xmemory0(606) : error C2248: 'non_copyable::non_copyable' : cannot access private member declared in class 'non_copyable' // ..\libs\thread\test\sync\mutual_exclusion\queue_views\single_thread_pass.cpp(24) : see declaration of 'non_copyable::non_copyable' // ..\libs\thread\test\sync\mutual_exclusion\queue_views\single_thread_pass.cpp(23) : see declaration of 'non_copyable' // C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\xmemory0(605) : while compiling class template member function 'void std::allocator<_Ty>::construct(_Ty *,const _Ty &)' // with // [ // _Ty=non_copyable // ] #if defined BOOST_THREAD_USES_BOOST_DEQUE || defined BOOST_NO_CXX11_RVALUE_REFERENCES || (defined _MSC_VER && _MSC_FULL_VER < 180020827) #ifndef BOOST_THREAD_USES_BOOST_DEQUE #define BOOST_THREAD_USES_BOOST_DEQUE #endif #include <boost/container/deque.hpp> #else #include <deque> #endif namespace boost { namespace csbl { #if defined BOOST_THREAD_USES_BOOST_DEQUE using ::boost::container::deque; #else using ::std::deque; #endif } } #endif // header PK �!\�N�� � list.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_LIST_HPP #define BOOST_CSBL_LIST_HPP #include <boost/config.hpp> #if defined BOOST_THREAD_USES_BOOST_LIST || defined BOOST_NO_CXX11_RVALUE_REFERENCES #ifndef BOOST_THREAD_USES_BOOST_LIST #define BOOST_THREAD_USES_BOOST_LIST #endif #include <boost/container/list.hpp> #else #include <list> #endif namespace boost { namespace csbl { #if defined BOOST_THREAD_USES_BOOST_LIST using ::boost::container::list; #else using ::std::list; #endif } } #endif // header PK �!\b�}�M M devector.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_DEVECTOR_HPP #define BOOST_CSBL_DEVECTOR_HPP #include <boost/config.hpp> #include <boost/thread/csbl/vector.hpp> #include <boost/move/detail/move_helpers.hpp> namespace boost { namespace csbl { template <class T> class devector { typedef csbl::vector<T> vector_type; vector_type data_; std::size_t front_index_; BOOST_COPYABLE_AND_MOVABLE(devector) template <class U> void priv_push_back(BOOST_FWD_REF(U) x) { data_.push_back(boost::forward<U>(x)); } public: typedef typename vector_type::size_type size_type; typedef typename vector_type::reference reference; typedef typename vector_type::const_reference const_reference; devector() : front_index_(0) {} devector(devector const& x) BOOST_NOEXCEPT : data_(x.data_), front_index_(x.front_index_) {} devector(BOOST_RV_REF(devector) x) BOOST_NOEXCEPT : data_(boost::move(x.data_)), front_index_(x.front_index_) {} devector& operator=(BOOST_COPY_ASSIGN_REF(devector) x) { if (&x != this) { data_ = x.data_; front_index_ = x.front_index_; } return *this; } devector& operator=(BOOST_RV_REF(devector) x) #if defined BOOST_THREAD_USES_BOOST_VECTOR BOOST_NOEXCEPT_IF(vector_type::allocator_traits_type::propagate_on_container_move_assignment::value) #endif { data_ = boost::move(x.data_); front_index_ = x.front_index_; return *this; } bool empty() const BOOST_NOEXCEPT { return data_.size() == front_index_; } size_type size() const BOOST_NOEXCEPT { return data_.size() - front_index_; } reference front() BOOST_NOEXCEPT { return data_[front_index_]; } const_reference front() const BOOST_NOEXCEPT { return data_[front_index_]; } reference back() BOOST_NOEXCEPT { return data_.back(); } const_reference back() const BOOST_NOEXCEPT { return data_.back(); } BOOST_MOVE_CONVERSION_AWARE_CATCH(push_back, T, void, priv_push_back) void pop_front() { ++front_index_; if (empty()) { data_.clear(); front_index_=0; } } }; } } #endif // header PK �!\$�� vector.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_VECTOR_HPP #define BOOST_CSBL_VECTOR_HPP #include <boost/config.hpp> #if defined BOOST_THREAD_USES_BOOST_VECTOR || defined BOOST_NO_CXX11_RVALUE_REFERENCES || defined BOOST_MSVC #ifndef BOOST_THREAD_USES_BOOST_VECTOR #define BOOST_THREAD_USES_BOOST_VECTOR #endif #include <boost/container/vector.hpp> #else #include <vector> #endif namespace boost { namespace csbl { #if defined BOOST_THREAD_USES_BOOST_VECTOR using ::boost::container::vector; #else using ::std::vector; #endif } } #endif // header PK �!\'��&E E queue.hppnu �[��� // Copyright (C) 2015 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #if 0 #ifndef BOOST_CSBL_QUEUE_HPP #define BOOST_CSBL_QUEUE_HPP #include <boost/config.hpp> // MSVC has some trouble instantiating a non_copyable type //C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\xmemory0(606) : error C2248: 'non_copyable::non_copyable' : cannot access private member declared in class 'non_copyable' // ..\libs\thread\test\sync\mutual_exclusion\queue_views\single_thread_pass.cpp(24) : see declaration of 'non_copyable::non_copyable' // ..\libs\thread\test\sync\mutual_exclusion\queue_views\single_thread_pass.cpp(23) : see declaration of 'non_copyable' // C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\xmemory0(605) : while compiling class template member function 'void std::allocator<_Ty>::construct(_Ty *,const _Ty &)' // with // [ // _Ty=non_copyable // ] #if defined BOOST_THREAD_USES_BOOST_QUEUE || defined BOOST_NO_CXX11_RVALUE_REFERENCES || (defined _MSC_VER && _MSC_FULL_VER < 180020827) #ifndef BOOST_THREAD_USES_BOOST_QUEUE #define BOOST_THREAD_USES_BOOST_QUEUE #endif #include <boost/container/queue.hpp> #else #include <queue> #endif namespace boost { namespace csbl { #if defined BOOST_THREAD_USES_BOOST_QUEUE using ::boost::container::queue; #else using ::std::queue; #endif } } #endif // header #endif PK �!\�W��� � tuple.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_TUPLE_HPP #define BOOST_CSBL_TUPLE_HPP #include <boost/config.hpp> #if defined BOOST_THREAD_USES_BOOST_TUPLE || defined BOOST_NO_CXX11_HDR_TUPLE || defined BOOST_NO_CXX11_RVALUE_REFERENCES #include <boost/tuple/tuple.hpp> #ifndef BOOST_THREAD_USES_BOOST_TUPLE #define BOOST_THREAD_USES_BOOST_TUPLE #endif #else #include <tuple> #endif namespace boost { namespace csbl { #if defined BOOST_THREAD_USES_BOOST_TUPLE using ::boost::tuple; using ::boost::get; using ::boost::make_tuple; //using ::boost::tuple_size; #else // 20.4.2, class template tuple: using ::std::tuple; using ::std::get; using ::std::make_tuple; using ::std::tuple_size; // 20.4.2.4, tuple creation functions: // 20.4.2.5, tuple helper classes: // 20.4.2.6, element access: // 20.4.2.7, relational operators: // 20.4.2.8, allocator-related traits // 20.4.2.9, specialized algorithms: #endif } } #endif // header PK �!\ 7� � memory.hppnu �[��� // Copyright (C) 2013 Vicente J. Botet Escriba // // 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) // // 2013/10 Vicente J. Botet Escriba // Creation. #ifndef BOOST_CSBL_MEMORY_HPP #define BOOST_CSBL_MEMORY_HPP // 20.7.2 Header <memory> synopsis // 20.7.3, pointer traits #include <boost/thread/csbl/memory/pointer_traits.hpp> // 20.7.4, pointer safety // 20.7.5, pointer alignment function // 20.7.6, allocator argument tag #include <boost/thread/csbl/memory/allocator_arg.hpp> // 20.7.8, allocator traits #include <boost/thread/csbl/memory/allocator_traits.hpp> // 20.7.7, uses_allocator #include <boost/thread/csbl/memory/scoped_allocator.hpp> // 20.7.9, the default allocator: namespace boost { namespace csbl { using ::std::allocator; } } // 20.7.10, raw storage iterator: // 20.7.11, temporary buffers: // 20.7.12, specialized algorithms: // 20.8.1 class template unique_ptr: // default_delete #include <boost/thread/csbl/memory/default_delete.hpp> #include <boost/thread/csbl/memory/unique_ptr.hpp> // 20.8.2.1, class bad_weak_ptr: // 20.8.2.2, class template shared_ptr: // 20.8.2.2.6, shared_ptr creation // 20.8.2.2.7, shared_ptr comparisons: // 20.8.2.2.8, shared_ptr specialized algorithms: // 20.8.2.2.9, shared_ptr casts: // 20.8.2.2.10, shared_ptr get_deleter: // 20.8.2.2.11, shared_ptr I/O: // 20.8.2.3, class template weak_ptr: // 20.8.2.3.6, weak_ptr specialized algorithms: // 20.8.2.3.7, class template owner_less: // 20.8.2.4, class template enable_shared_from_this: // 20.8.2.5, shared_ptr atomic access: // 20.8.2.6 hash support #endif // header PK �!\=.��� � memory/unique_ptr.hppnu �[��� PK �!\��F� � memory/config.hppnu �[��� PK �!\�R"|8 8 � memory/default_delete.hppnu �[��� PK �!\�t�v� � i memory/pointer_traits.hppnu �[��� PK �!\xx��� � � memory/allocator_arg.hppnu �[��� PK �!\|˹� � t memory/allocator_traits.hppnu �[��� PK �!\�x�� � � memory/scoped_allocator.hppnu �[��� PK �!\�քT � memory/shared_ptr.hppnu �[��� PK �!\I�o�( ( B functional.hppnu �[��� PK �!\:Q�9 9 � deque.hppnu �[��� PK �!\�N�� � % list.hppnu �[��� PK �!\b�}�M M D( devector.hppnu �[��� PK �!\$�� �2 vector.hppnu �[��� PK �!\'��&E E #6 queue.hppnu �[��� PK �!\�W��� � �<