Initial Release
This commit is contained in:
commit
5a00e06cb9
81 changed files with 12670 additions and 0 deletions
28
include/cbor/cbor_in.hpp
Normal file
28
include/cbor/cbor_in.hpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
#pragma once
|
||||
|
||||
#include "cbor.hpp"
|
||||
|
||||
#include <cstring>
|
||||
#include <netinet/in.h>
|
||||
|
||||
namespace cbor {
|
||||
|
||||
template <> inline auto buffer::push<in6_addr>(const in6_addr &a) -> buffer & {
|
||||
push(std::string_view(reinterpret_cast<const char *>(&a), // NOLINT
|
||||
sizeof(a)));
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline auto extract(in6_addr &a) -> cbor::buffer::extractor {
|
||||
return [&a](auto &b, const auto &e) {
|
||||
std::string_view s;
|
||||
auto ret = cbor::extract(s)(b, e);
|
||||
if (ret && s.size() == sizeof(in6_addr)) {
|
||||
std::memcpy(&a, s.data(), sizeof(in6_addr));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
} // namespace cbor
|
Loading…
Add table
Add a link
Reference in a new issue