COMMS
Template library intended to help with implementation of communication protocols.
|
Contains functions for raw data access / (de)serialization. More...
#include <cstddef>
#include <cstdint>
#include <type_traits>
#include <limits>
#include <iterator>
#include "comms/CompileControl.h"
#include "comms/util/type_traits.h"
#include "comms/details/tag.h"
Go to the source code of this file.
Classes | |
struct | comms::util::traits::endian::Big |
Empty class used in traits to indicate Big Endian. More... | |
struct | comms::util::traits::endian::Little |
Empty class used in traits to indicate Little Endian. More... | |
Namespaces | |
namespace | comms |
Main namespace for all classes / functions of COMMS library. | |
namespace | comms::util |
Namespace for various utility classes and/or functions used by COMMS library. | |
namespace | comms::util::traits |
Namespace for various utilities related trait classes. | |
namespace | comms::util::traits::endian |
Namespace for utilities related endian definition trait classes. | |
Functions | |
template<typename T , std::size_t TSize, typename TIter > | |
T | comms::util::readBig (TIter &iter) |
Read part of integral value from the input area using big endian notation. | |
template<typename T , typename TIter > | |
T | comms::util::readBig (TIter &iter) |
Read integral value from the input area using big endian notation. | |
template<typename T , typename TIter > | |
T | comms::util::readBig (TIter &iter, std::size_t size) |
Read integral value from the input area using big endian notation. | |
template<typename T , typename TIter > | |
T | comms::util::readData (TIter &iter, const traits::endian::Big &endian) |
Same as readBig<T, TIter>() | |
template<typename T , std::size_t TSize, typename TIter > | |
T | comms::util::readData (TIter &iter, const traits::endian::Big &endian) |
Same as readBig<T, TSize, TIter>() | |
template<typename T , typename TIter > | |
T | comms::util::readData (TIter &iter, const traits::endian::Little &endian) |
Same as readLittle<T, TIter>() | |
template<typename T , std::size_t TSize, typename TIter > | |
T | comms::util::readData (TIter &iter, const traits::endian::Little &endian) |
Same as readData<T, TSize, TIter>() | |
template<typename T , typename TIter > | |
T | comms::util::readData (TIter &iter, std::size_t size, const traits::endian::Big &endian) |
Same as readBig<T, TIter>() | |
template<typename T , typename TIter > | |
T | comms::util::readData (TIter &iter, std::size_t size, const traits::endian::Little &endian) |
Same as readBig<T, TIter>() | |
template<typename T , std::size_t TSize, typename TIter > | |
T | comms::util::readLittle (TIter &iter) |
Read part of integral value from the input area using little endian notation. | |
template<typename T , typename TIter > | |
T | comms::util::readLittle (TIter &iter) |
Read integral value from the input area using little endian notation. | |
template<typename T , typename TIter > | |
T | comms::util::readLittle (TIter &iter, std::size_t size) |
Read integral value from the input area using little endian notation. | |
template<typename T , typename TIter > | |
void | comms::util::writeBig (T value, std::size_t size, TIter &iter) |
Write part of integral value into the output area using big endian notation. | |
template<std::size_t TSize, typename T , typename TIter > | |
void | comms::util::writeBig (T value, TIter &iter) |
Write part of integral value into the output area using big endian notation. | |
template<typename T , typename TIter > | |
void | comms::util::writeBig (T value, TIter &iter) |
Write integral value into the output area using big endian notation. | |
template<typename T , typename TIter > | |
void | comms::util::writeData (T value, std::size_t size, TIter &iter, const traits::endian::Big &endian) |
Same as writeBig<T, TIter>() | |
template<typename T , typename TIter > | |
void | comms::util::writeData (T value, std::size_t size, TIter &iter, const traits::endian::Little &endian) |
Same as writeLittle<T, TIter>() | |
template<typename T , typename TIter > | |
void | comms::util::writeData (T value, TIter &iter, const traits::endian::Big &endian) |
Same as writeBig<T, TIter>() | |
template<std::size_t TSize, typename T , typename TIter > | |
void | comms::util::writeData (T value, TIter &iter, const traits::endian::Big &endian) |
Same as writeBig<TSize, T, TIter>() | |
template<typename T , typename TIter > | |
void | comms::util::writeData (T value, TIter &iter, const traits::endian::Little &endian) |
Same as writeLittle<T, TIter>() | |
template<std::size_t TSize, typename T , typename TIter > | |
void | comms::util::writeData (T value, TIter &iter, const traits::endian::Little &endian) |
Same as writeLittle<TSize, T, TIter>() | |
template<typename T , typename TIter > | |
void | comms::util::writeLittle (T value, std::size_t size, TIter &iter) |
Write part of integral value into the output area using little endian notation. | |
template<std::size_t TSize, typename T , typename TIter > | |
void | comms::util::writeLittle (T value, TIter &iter) |
Write part of integral value into the output area using little endian notation. | |
template<typename T , typename TIter > | |
void | comms::util::writeLittle (T value, TIter &iter) |
Write integral value into the output area using big endian notation. | |
Contains functions for raw data access / (de)serialization.