NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
utilities_impl.hpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014, Peter Thorson. All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
* * Redistributions of source code must retain the above copyright
7
* notice, this list of conditions and the following disclaimer.
8
* * Redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution.
11
* * Neither the name of the WebSocket++ Project nor the
12
* names of its contributors may be used to endorse or promote products
13
* derived from this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY
19
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
*
26
*/
27
28
#ifndef WEBSOCKETPP_UTILITIES_IMPL_HPP
29
#define WEBSOCKETPP_UTILITIES_IMPL_HPP
30
31
#include <algorithm>
32
#include <string>
33
34
namespace
websocketpp
{
35
namespace
utility {
36
37
inline
std::string
to_lower
(std::string
const
& in) {
38
std::string out = in;
39
std::transform(out.begin(),out.end(),out.begin(),::tolower);
40
return
out;
41
}
42
43
inline
std::string
to_hex
(std::string
const
& input) {
44
std::string output;
45
std::string hex =
"0123456789ABCDEF"
;
46
47
for
(
size_t
i = 0; i < input.size(); i++) {
48
output += hex[(input[i] & 0xF0) >> 4];
49
output += hex[input[i] & 0x0F];
50
output +=
" "
;
51
}
52
53
return
output;
54
}
55
56
inline
std::string
to_hex
(uint8_t
const
* input,
size_t
length) {
57
std::string output;
58
std::string hex =
"0123456789ABCDEF"
;
59
60
for
(
size_t
i = 0; i < length; i++) {
61
output += hex[(input[i] & 0xF0) >> 4];
62
output += hex[input[i] & 0x0F];
63
output +=
" "
;
64
}
65
66
return
output;
67
}
68
69
inline
std::string
to_hex
(
const
char
* input,
size_t
length) {
70
return
to_hex
(reinterpret_cast<const uint8_t*>(input),length);
71
}
72
73
inline
std::string
string_replace_all
(std::string subject, std::string
const
&
74
search, std::string
const
& replace)
75
{
76
size_t
pos = 0;
77
while
((pos = subject.find(search, pos)) != std::string::npos) {
78
subject.replace(pos, search.length(), replace);
79
pos += replace.length();
80
}
81
return
subject;
82
}
83
84
}
// namespace utility
85
}
// namespace websocketpp
86
87
#endif // WEBSOCKETPP_UTILITIES_IMPL_HPP
websocketpp::utility::string_replace_all
std::string string_replace_all(std::string subject, std::string const &search, std::string const &replace)
Replace all occurrances of a substring with another.
Definition:
utilities_impl.hpp:73
websocketpp::utility::to_hex
std::string to_hex(std::string const &input)
Convert std::string to ascii printed string of hex digits.
Definition:
utilities_impl.hpp:43
websocketpp
Namespace for the WebSocket++ project.
Definition:
base64.hpp:41
websocketpp::utility::to_lower
std::string to_lower(std::string const &in)
Convert a string to lowercase.
Definition:
utilities_impl.hpp:37
ndnSIM
NFD
websocketpp
websocketpp
impl
utilities_impl.hpp
Generated on Fri May 6 2022 12:34:15 for ndnSIM by
1.8.13