NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ndnSIM
ndnSIM documentation
All Attributes
All GlobalValues
All LogComponents
All TraceSources
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
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 Thu Nov 2 2017 03:30:30 for ndnSIM by
1.8.11