blob: c3862a778b0629e4cc586209d318e0fb0a59abc8 [file] [log] [blame]
Wyatt Hepler0412a7d2020-01-28 16:27:32 -08001// Copyright 2020 The Pigweed Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License"); you may not
4// use this file except in compliance with the License. You may obtain a copy of
5// the License at
6//
7// https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12// License for the specific language governing permissions and limitations under
13// the License.
14#pragma once
15
Armando Montanez481a7ff2020-02-13 17:02:39 -080016#include <type_traits>
17
Wyatt Hepler023f35b2020-07-01 09:40:50 -070018#include "pw_polyfill/standard_library/namespace.h"
19
20_PW_POLYFILL_BEGIN_NAMESPACE_STD
Wyatt Hepler0412a7d2020-01-28 16:27:32 -080021
Wyatt Heplerde276742020-02-03 10:09:18 -080022template <typename T>
23constexpr remove_reference_t<T>&& move(T&& object) {
24 return (remove_reference_t<T> &&) object;
25}
26
Wyatt Hepler0412a7d2020-01-28 16:27:32 -080027// Forward declare these classes, which are specialized in other headers.
28template <decltype(sizeof(0)), typename>
29struct tuple_element;
30
31template <typename>
32struct tuple_size;
33
Wyatt Hepler023f35b2020-07-01 09:40:50 -070034_PW_POLYFILL_END_NAMESPACE_STD