Apache Log4cxx  Version 1.3.0
Loading...
Searching...
No Matches
hexdump.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef LOG4CXX_HEXDUMP_H
19#define LOG4CXX_HEXDUMP_H
20
21#include <log4cxx/logstring.h>
22#include <stdint.h>
23
24namespace LOG4CXX_NS
25{
26
27enum class HexdumpFlags : uint32_t{
28 None,
29 AddStartingNewline = (0x01 << 0),
30 AddEndingNewline = (0x01 << 1),
32};
33
35 return !!(static_cast<uint32_t>(a) & static_cast<uint32_t>(b));
36}
37
39 return static_cast<HexdumpFlags>(static_cast<uint32_t>(a) | static_cast<uint32_t>(b));
40}
41
54LogString hexdump(const void* bytes, uint32_t len, HexdumpFlags flags = HexdumpFlags::None);
55
56}
57#endif // LOG4CXX_HEXDUMP_H
#define LOG4CXX_EXPORT
Definition: log4cxx.h:101
#define LOG4CXX_NS
Definition: log4cxx.h:104
HexdumpFlags
Definition: hexdump.h:27
LOG4CXX_EXPORT LogString hexdump(const void *bytes, uint32_t len, HexdumpFlags flags=HexdumpFlags::None)
Hexdump the given bytes and return a LogString with the dumped bytes.
HexdumpFlags operator|(HexdumpFlags a, HexdumpFlags b)
Definition: hexdump.h:38
std::basic_string< logchar > LogString
Definition: logstring.h:60
bool operator&(HexdumpFlags a, HexdumpFlags b)
Definition: hexdump.h:34