LIEF: Library to Instrument Executable Formats Version 1.0.0
Loading...
Searching...
No Matches
mpl.h
Go to the documentation of this file.
1/*
2 * Frozen
3 * Copyright 2022 Giel van Schijndel
4 *
5 * Licensed to the Apache Software Foundation (ASF) under one
6 * or more contributor license agreements. See the NOTICE file
7 * distributed with this work for additional information
8 * regarding copyright ownership. The ASF licenses this file
9 * to you under the Apache License, Version 2.0 (the
10 * "License"); you may not use this file except in compliance
11 * with the License. You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing,
16 * software distributed under the License is distributed on an
17 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18 * KIND, either express or implied. See the License for the
19 * specific language governing permissions and limitations
20 * under the License.
21 */
22
23#ifndef FROZEN_LETITGO_BITS_MPL_H
24#define FROZEN_LETITGO_BITS_MPL_H
25
26#include <utility>
27
28namespace frozen {
29
30namespace bits {
31
32// Forward declarations
33template <class, std::size_t>
34class carray;
35
36template <typename T>
37struct remove_cv : std::remove_cv<T> {};
38
39template <typename... T>
40struct remove_cv<std::pair<T...>> {
41 using type = std::pair<typename remove_cv<T>::type...>;
42};
43
44template <typename T, std::size_t N>
48
49template <typename T>
51
52} // namespace bits
53
54} // namespace frozen
55
56#endif
Definition basic_types.h:90
Definition algorithms.h:33
typename remove_cv< T >::type remove_cv_t
Definition mpl.h:50
Definition algorithm.h:30
Definition string.h:155
carray< typename remove_cv< T >::type, N > type
Definition mpl.h:46
std::pair< typename remove_cv< T >::type... > type
Definition mpl.h:41
Definition mpl.h:37