1 // Copyright (C) 2003, 2008 Fernando Luis Cacciola Carballal.
2 // Copyright (C) 2016 Andrzej Krzemienski
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)
8 // See http://www.boost.org/libs/optional for documentation.
10 // You are welcome to contact the author at:
11 // fernando_cacciola@hotmail.com
14 // 10 May 2008 (added swap related forward declaration) Niels Dekker
16 #ifndef BOOST_OPTIONAL_OPTIONAL_FWD_FLC_19NOV2002_HPP
17 #define BOOST_OPTIONAL_OPTIONAL_FWD_FLC_19NOV2002_HPP
19 #include <boost/config.hpp>
23 template<class T> class optional ;
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>& ) ;
28 template<class T> struct optional_swap_should_use_default_constructor ;
30 #ifndef BOOST_OPTIONAL_CONFIG_DONT_SPECIALIZE_OPTIONAL_REFS
32 template<class T> class optional<T&> ;
34 template<class T> void swap ( optional<T&>& , optional<T&>& ) BOOST_NOEXCEPT;