Apollo
10.0
自动驾驶开放平台
util.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2018 The Apollo Authors. All Rights Reserved.
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*****************************************************************************/
16
17
#ifndef CYBER_COMMON_UTIL_H_
18
#define CYBER_COMMON_UTIL_H_
19
20
#include <string>
21
#include <type_traits>
22
23
namespace
apollo
{
24
namespace
cyber {
25
namespace
common {
26
27
inline
std::size_t
Hash
(
const
std::string& key) {
28
return
std::hash<std::string>{}(key);
29
}
30
31
template
<
typename
Enum>
32
auto
ToInt
(Enum
const
value) ->
typename
std::underlying_type<Enum>::type {
33
return
static_cast<
typename std::underlying_type<Enum>::type
>
(value);
34
}
35
36
}
// namespace common
37
}
// namespace cyber
38
}
// namespace apollo
39
40
#endif
// CYBER_COMMON_UTIL_H_
apollo::cyber::common::ToInt
auto ToInt(Enum const value) -> typename std::underlying_type< Enum >::type
Definition
util.h:32
apollo::cyber::common::Hash
std::size_t Hash(const std::string &key)
Definition
util.h:27
apollo
class register implement
Definition
arena_queue.h:37
cyber
common
util.h