persistent-cache-cpp
optional.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 Canonical Ltd.
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License version 3 as
6  * published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Lesser General Public License for more details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * Authored by: Michi Henning <michi.henning@canonical.com>
17  */
18 
19 #pragma once
20 
21 #include <boost/optional.hpp>
22 // std::optional doesn't support operator<< so core::Optional users shouldn't
23 // expect it to be available. However, consumers (e.g. GoogleTest) can
24 // auto-detect this operator using "ADL", so without including
25 // boost/optional/optional_io.hpp they will detect the non-working one which
26 // breaks the build.
27 #include <boost/optional/optional_io.hpp>
28 
29 namespace core
30 {
31 
38 template <typename T>
39 using Optional = boost::optional<T>;
40 
41 } // namespace core
core::Optional
boost::optional< T > Optional
Convenience typedef for nullable values.
Definition: optional.h:39
core
Top-level namespace for core functionality.
Definition: cache_codec.h:23