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
29namespace core
30{
31
38template <typename T>
39using Optional = boost::optional<T>;
40
41} // namespace core
Top-level namespace for core functionality.
Definition cache_codec.h:24
boost::optional< T > Optional
Convenience typedef for nullable values.
Definition optional.h:39