Namespaces | |
detail | |
Classes | |
class | Error |
Enumerations | |
enum | IoEncoding { NO_ENCODING, BASE64, HEX } |
Indicates how a file or stream of bytes is encoded. More... | |
Functions | |
shared_ptr< Buffer > | loadBuffer (std::istream &is, IoEncoding encoding=BASE64) |
Reads bytes from a stream until EOF. More... | |
optional< Block > | loadBlock (std::istream &is, IoEncoding encoding=BASE64) |
Reads a TLV block from a stream. More... | |
void | saveBuffer (const uint8_t *buf, size_t size, std::ostream &os, IoEncoding encoding=BASE64) |
Writes a byte buffer to a stream. More... | |
void | saveBlock (const Block &block, std::ostream &os, IoEncoding encoding=BASE64) |
Writes a TLV block to a stream. More... | |
template<typename T > | |
shared_ptr< T > | load (std::istream &is, IoEncoding encoding=BASE64) |
Reads a TLV element from a stream. More... | |
template<typename T > | |
shared_ptr< T > | load (const std::string &filename, IoEncoding encoding=BASE64) |
Reads a TLV element from a file. More... | |
template<typename T > | |
void | save (const T &obj, std::ostream &os, IoEncoding encoding=BASE64) |
Writes a TLV element to a stream. More... | |
template<typename T > | |
void | save (const T &obj, const std::string &filename, IoEncoding encoding=BASE64) |
Writes a TLV element to a file. More... | |
enum ndn::io::IoEncoding |
Indicates how a file or stream of bytes is encoded.
Enumerator | |
---|---|
NO_ENCODING | Raw binary, without encoding. |
BASE64 | Base64 encoding.
|
HEX | Hexadecimal encoding.
|
shared_ptr< Buffer > ndn::io::loadBuffer | ( | std::istream & | is, |
IoEncoding | encoding = BASE64 |
||
) |
Reads bytes from a stream until EOF.
Error | error during loading |
std::invalid_argument | the specified encoding is not supported |
Definition at line 37 of file io.cpp.
References BASE64, ndn::security::transform::base64Decode(), ndn::OBufferStream::buf(), HEX, ndn::security::transform::hexDecode(), NDN_THROW, NDN_THROW_NESTED, NO_ENCODING, ndn::security::transform::streamSink(), ndn::security::transform::stripSpace(), and ndn::to_string().
Referenced by loadBlock().
optional< Block > ndn::io::loadBlock | ( | std::istream & | is, |
IoEncoding | encoding = BASE64 |
||
) |
Reads a TLV block from a stream.
Definition at line 63 of file io.cpp.
References loadBuffer(), and nonstd::optional_lite::nullopt.
Referenced by load().
void ndn::io::saveBuffer | ( | const uint8_t * | buf, |
size_t | size, | ||
std::ostream & | os, | ||
IoEncoding | encoding = BASE64 |
||
) |
Writes a byte buffer to a stream.
Error | error during saving |
std::invalid_argument | the specified encoding is not supported |
Definition at line 77 of file io.cpp.
References BASE64, ndn::security::transform::base64Encode(), buf, HEX, ndn::security::transform::hexEncode(), NDN_THROW, NDN_THROW_NESTED, NO_ENCODING, ndn::security::transform::streamSink(), and ndn::to_string().
Referenced by saveBlock().
void ndn::io::saveBlock | ( | const Block & | block, |
std::ostream & | os, | ||
IoEncoding | encoding = BASE64 |
||
) |
Writes a TLV block to a stream.
Error | error during saving |
std::invalid_argument | the specified encoding is not supported |
Definition at line 102 of file io.cpp.
References saveBuffer(), ndn::Block::size(), and ndn::Block::wire().
Referenced by save().
shared_ptr<T> ndn::io::load | ( | std::istream & | is, |
IoEncoding | encoding = BASE64 |
||
) |
Reads a TLV element from a stream.
T | type of TLV element; T must be WireDecodable and the nested type T::Error , if defined, must be a subclass of ndn::tlv::Error |
Definition at line 100 of file io.hpp.
References loadBlock().
shared_ptr<T> ndn::io::load | ( | const std::string & | filename, |
IoEncoding | encoding = BASE64 |
||
) |
Reads a TLV element from a file.
T | type of TLV element; T must be WireDecodable and the nested type T::Error , if defined, must be a subclass of ndn::tlv::Error |
void ndn::io::save | ( | const T & | obj, |
std::ostream & | os, | ||
IoEncoding | encoding = BASE64 |
||
) |
Writes a TLV element to a stream.
T | type of TLV element; T must be WireEncodable and the nested type T::Error , if defined, must be a subclass of ndn::tlv::Error |
Error | error during encoding or saving |
std::invalid_argument | the specified encoding is not supported |
Definition at line 153 of file io.hpp.
References NDN_THROW_NESTED, and saveBlock().
Referenced by save().
void ndn::io::save | ( | const T & | obj, |
const std::string & | filename, | ||
IoEncoding | encoding = BASE64 |
||
) |
Writes a TLV element to a file.
T | type of TLV element; T must be WireEncodable and the nested type T::Error , if defined, must be a subclass of ndn::tlv::Error |
Error | error during encoding or saving |
std::invalid_argument | the specified encoding is not supported |
Definition at line 177 of file io.hpp.
References save().