1 // Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal. 2 // Copyright (C) 2016 Andrzej Krzemienski 3 // 4 // Use, modification, and distribution is subject to the Boost Software 5 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 6 // http://www.boost.org/LICENSE_1_0.txt) 7 // 8 // See http://www.boost.org/libs/optional for documentation. 9 // 10 // You are welcome to contact the author at: 11 // fernando_cacciola@hotmail.com 12 // 13 // Revisions: 14 // 10 May 2008 (added swap related forward declaration) Niels Dekker 15 // 16 #ifndef BOOST_OPTIONAL_OPTIONAL_FWD_FLC_19NOV2002_HPP 17 #define BOOST_OPTIONAL_OPTIONAL_FWD_FLC_19NOV2002_HPP 18 19 #include <boost/config.hpp> 20 21 namespace boost { 22 23 template<class T> class optional ; 24 25 // This forward is needed to refer to namespace scope swap from the member swap 26 template<class T> void swap ( optional<T>& , optional<T>& ) ; 27 28 template<class T> struct optional_swap_should_use_default_constructor ; 29 30 #ifndef BOOST_OPTIONAL_CONFIG_DONT_SPECIALIZE_OPTIONAL_REFS 31 32 template<class T> class optional<T&> ; 33 34 template<class T> void swap ( optional<T&>& , optional<T&>& ) BOOST_NOEXCEPT; 35 36 #endif 37 38 } // namespace boost 39 40 #endif 41 42