?????????? ????????? - ??????????????? - /home/agenciai/public_html/cd38d8/core.zip
???????
PK B\�[���L� � lightweight_test_trait.hppnu �[��� #ifndef BOOST_CORE_LIGHTWEIGHT_TEST_TRAIT_HPP #define BOOST_CORE_LIGHTWEIGHT_TEST_TRAIT_HPP // MS compatible compilers support #pragma once #if defined(_MSC_VER) # pragma once #endif // boost/core/lightweight_test_trait.hpp // // BOOST_TEST_TRAIT_TRUE, BOOST_TEST_TRAIT_FALSE, BOOST_TEST_TRAIT_SAME // // Copyright 2014 Peter Dimov // // Copyright 2019 Glen Joseph Fernandes // (glenjofe@gmail.com) // // 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 #include <boost/core/lightweight_test.hpp> #include <boost/core/typeinfo.hpp> #include <boost/core/is_same.hpp> #include <boost/config.hpp> namespace boost { namespace detail { template<class, int = 0> struct test_print { }; template<class T> inline std::ostream& operator<<(std::ostream& o, test_print<T, 2>) { return o << boost::core::demangled_name(BOOST_CORE_TYPEID(T)); } template<class T> inline std::ostream& operator<<(std::ostream& o, test_print<T, 1>) { return o << test_print<T, 2>(); } template<class T> inline std::ostream& operator<<(std::ostream& o, test_print<const T, 1>) { return o << test_print<T, 2>() << " const"; } template<class T> inline std::ostream& operator<<(std::ostream& o, test_print<volatile T, 1>) { return o << test_print<T, 2>() << " volatile"; } template<class T> inline std::ostream& operator<<(std::ostream& o, test_print<const volatile T, 1>) { return o << test_print<T, 2>() << " const volatile"; } template<class T> inline std::ostream& operator<<(std::ostream& o, test_print<T>) { return o << test_print<T, 1>(); } template<class T> inline std::ostream& operator<<(std::ostream& o, test_print<T&>) { return o << test_print<T, 1>() << " &"; } #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template<class T> inline std::ostream& operator<<(std::ostream& o, test_print<T&&>) { return o << test_print<T, 1>() << " &&"; } #endif template< class T > inline void test_trait_impl( char const * trait, void (*)( T ), bool expected, char const * file, int line, char const * function ) { if( T::value == expected ) { test_results(); } else { BOOST_LIGHTWEIGHT_TEST_OSTREAM << file << "(" << line << "): predicate '" << trait << "' [" << boost::core::demangled_name( BOOST_CORE_TYPEID(T) ) << "]" << " test failed in function '" << function << "' (should have been " << ( expected? "true": "false" ) << ")" << std::endl; ++test_results().errors(); } } template<class T> inline bool test_trait_same_impl_( T ) { return T::value; } template<class T1, class T2> inline void test_trait_same_impl( char const * types, boost::core::is_same<T1, T2> same, char const * file, int line, char const * function ) { if( test_trait_same_impl_( same ) ) { test_results(); } else { BOOST_LIGHTWEIGHT_TEST_OSTREAM << file << "(" << line << "): test 'is_same<" << types << ">'" << " failed in function '" << function << "' ('" << test_print<T1>() << "' != '" << test_print<T2>() << "')" << std::endl; ++test_results().errors(); } } } // namespace detail } // namespace boost #define BOOST_TEST_TRAIT_TRUE(type) ( ::boost::detail::test_trait_impl(#type, (void(*)type)0, true, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) ) #define BOOST_TEST_TRAIT_FALSE(type) ( ::boost::detail::test_trait_impl(#type, (void(*)type)0, false, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) ) #if defined(__GNUC__) // ignoring -Wvariadic-macros with #pragma doesn't work under GCC # pragma GCC system_header #endif #define BOOST_TEST_TRAIT_SAME(...) ( ::boost::detail::test_trait_same_impl(#__VA_ARGS__, ::boost::core::is_same<__VA_ARGS__>(), __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) ) #endif // #ifndef BOOST_CORE_LIGHTWEIGHT_TEST_TRAIT_HPP PK B\�[w��O O typeinfo.hppnu �[��� #ifndef BOOST_CORE_TYPEINFO_HPP_INCLUDED #define BOOST_CORE_TYPEINFO_HPP_INCLUDED // MS compatible compilers support #pragma once #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif // core::typeinfo, BOOST_CORE_TYPEID // // Copyright 2007, 2014 Peter Dimov // // 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) #include <boost/config.hpp> #if defined( BOOST_NO_TYPEID ) #include <boost/current_function.hpp> #include <functional> #include <cstring> namespace boost { namespace core { class typeinfo { private: typeinfo( typeinfo const& ); typeinfo& operator=( typeinfo const& ); char const * name_; void (*lib_id_)(); public: typeinfo( char const * name, void (*lib_id)() ): name_( name ), lib_id_( lib_id ) { } bool operator==( typeinfo const& rhs ) const { #if ( defined(_WIN32) || defined(__CYGWIN__) ) && ( defined(__GNUC__) || defined(__clang__) ) && !defined(BOOST_DISABLE_CURRENT_FUNCTION) return lib_id_ == rhs.lib_id_? this == &rhs: std::strcmp( name_, rhs.name_ ) == 0; #else return this == &rhs; #endif } bool operator!=( typeinfo const& rhs ) const { return !( *this == rhs ); } bool before( typeinfo const& rhs ) const { #if ( defined(_WIN32) || defined(__CYGWIN__) ) && ( defined(__GNUC__) || defined(__clang__) ) && !defined(BOOST_DISABLE_CURRENT_FUNCTION) return lib_id_ == rhs.lib_id_? std::less< typeinfo const* >()( this, &rhs ): std::strcmp( name_, rhs.name_ ) < 0; #else return std::less< typeinfo const* >()( this, &rhs ); #endif } char const* name() const { return name_; } }; inline char const * demangled_name( core::typeinfo const & ti ) { return ti.name(); } } // namespace core namespace detail { template<class T> struct BOOST_SYMBOL_VISIBLE core_typeid_ { static boost::core::typeinfo ti_; static char const * name() { return BOOST_CURRENT_FUNCTION; } }; BOOST_SYMBOL_VISIBLE inline void core_typeid_lib_id() { } template<class T> boost::core::typeinfo core_typeid_< T >::ti_( core_typeid_< T >::name(), &core_typeid_lib_id ); template<class T> struct core_typeid_< T & >: core_typeid_< T > { }; template<class T> struct core_typeid_< T const >: core_typeid_< T > { }; template<class T> struct core_typeid_< T volatile >: core_typeid_< T > { }; template<class T> struct core_typeid_< T const volatile >: core_typeid_< T > { }; } // namespace detail } // namespace boost #define BOOST_CORE_TYPEID(T) (boost::detail::core_typeid_<T>::ti_) #else #include <boost/core/demangle.hpp> #include <typeinfo> namespace boost { namespace core { #if defined( BOOST_NO_STD_TYPEINFO ) typedef ::type_info typeinfo; #else typedef std::type_info typeinfo; #endif inline std::string demangled_name( core::typeinfo const & ti ) { return core::demangle( ti.name() ); } } // namespace core } // namespace boost #define BOOST_CORE_TYPEID(T) typeid(T) #endif #endif // #ifndef BOOST_CORE_TYPEINFO_HPP_INCLUDED PK B\�[� I�w w noncopyable.hppnu �[��� // Boost noncopyable.hpp header file --------------------------------------// // (C) Copyright Beman Dawes 1999-2003. 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/libs/utility for documentation. #ifndef BOOST_CORE_NONCOPYABLE_HPP #define BOOST_CORE_NONCOPYABLE_HPP #include <boost/config.hpp> namespace boost { // Private copy constructor and copy assignment ensure classes derived from // class noncopyable cannot be copied. // Contributed by Dave Abrahams namespace noncopyable_ // protection from unintended ADL { #ifndef BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED #define BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED // noncopyable derives from base_token to enable Type Traits to detect // whether a type derives from noncopyable without needing the definition // of noncopyable itself. // // The definition of base_token is macro-guarded so that Type Trais can // define it locally without including this header, to avoid a dependency // on Core. struct base_token {}; #endif // #ifndef BOOST_NONCOPYABLE_BASE_TOKEN_DEFINED class noncopyable: base_token { protected: #if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) BOOST_CONSTEXPR noncopyable() = default; ~noncopyable() = default; #else noncopyable() {} ~noncopyable() {} #endif #if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) noncopyable( const noncopyable& ) = delete; noncopyable& operator=( const noncopyable& ) = delete; #else private: // emphasize the following members are private noncopyable( const noncopyable& ); noncopyable& operator=( const noncopyable& ); #endif }; } typedef noncopyable_::noncopyable noncopyable; } // namespace boost #endif // BOOST_CORE_NONCOPYABLE_HPP PK B\�[I2�%� � nvp.hppnu �[��� /* Copyright 2019 Glen Joseph Fernandes (glenjofe@gmail.com) Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #ifndef BOOST_CORE_NVP_HPP #define BOOST_CORE_NVP_HPP #include <boost/core/addressof.hpp> #include <boost/config.hpp> namespace boost { namespace serialization { template<class T> class nvp { public: nvp(const char* n, T& v) BOOST_NOEXCEPT : n_(n) , v_(boost::addressof(v)) { } const char* name() const BOOST_NOEXCEPT { return n_; } T& value() const BOOST_NOEXCEPT { return *v_; } const T& const_value() const BOOST_NOEXCEPT { return *v_; } private: const char* n_; T* v_; }; template<class T> inline const nvp<T> make_nvp(const char* n, T& v) BOOST_NOEXCEPT { return nvp<T>(n, v); } } /* serialization */ using serialization::nvp; using serialization::make_nvp; } /* boost */ #define BOOST_NVP(v) boost::make_nvp(BOOST_STRINGIZE(v), v) #endif PK B\�[���gH>