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
21namespace boost {
22
23template<class T> class optional ;
24
25// This forward is needed to refer to namespace scope swap from the member swap
26template<class T> void swap ( optional<T>& , optional<T>& ) ;
27
28template<class T> struct optional_swap_should_use_default_constructor ;
29
30#ifndef BOOST_OPTIONAL_CONFIG_DONT_SPECIALIZE_OPTIONAL_REFS
31
32template<class T> class optional<T&> ;
33
34template<class T> void swap ( optional<T&>& , optional<T&>& ) BOOST_NOEXCEPT;
35
36#endif
37
38} // namespace boost
39
40#endif
41
42