|
||||
File indexing completed on 2025-01-18 09:43:19
0001 // Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal. 0002 // Copyright (C) 2016 Andrzej Krzemienski. 0003 // 0004 // Use, modification, and distribution is subject to the Boost Software 0005 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 0006 // http://www.boost.org/LICENSE_1_0.txt) 0007 // 0008 // See http://www.boost.org/libs/optional for documentation. 0009 // 0010 // You are welcome to contact the author at: 0011 // fernando_cacciola@hotmail.com 0012 // akrzemi1@gmail.com 0013 0014 #ifndef BOOST_OPTIONAL_OPTIONAL_DETAIL_OPTIONAL_FACTORY_SUPPORT_AJK_12FEB2016_HPP 0015 #define BOOST_OPTIONAL_OPTIONAL_DETAIL_OPTIONAL_FACTORY_SUPPORT_AJK_12FEB2016_HPP 0016 0017 // Daniel Wallin discovered that bind/apply.hpp badly interacts with the apply<> 0018 // member template of a factory as used in the optional<> implementation. 0019 // He proposed this simple fix which is to move the call to apply<> outside 0020 // namespace boost. 0021 namespace boost_optional_detail 0022 { 0023 template <class T, class Factory> 0024 inline void construct(Factory const& factory, void* address) 0025 { 0026 factory.BOOST_NESTED_TEMPLATE apply<T>(address); 0027 } 0028 } 0029 0030 namespace boost 0031 { 0032 class in_place_factory_base ; 0033 class typed_in_place_factory_base ; 0034 } 0035 0036 #endif // header guard
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |