libwordring
公開型 | 公開メンバ関数 | 静的公開変数類 | フレンド | 全メンバ一覧
wordring::serialize_iterator< InputIterator > クラステンプレート

任意型の整数列に対するイテレータをバイトを返すイテレータへ変換する [詳解]

#include <wordring/serialize/serialize_iterator.hpp>

公開型

using iterator_type = InputIterator
 
using unsigned_type = std::make_unsigned_t< typename std::iterator_traits< iterator_type >::value_type >
 
using difference_type = std::ptrdiff_t
 
using value_type = std::uint8_t
 
using pointer = value_type *
 
using reference = value_type &
 
using iterator_category = std::input_iterator_tag
 

公開メンバ関数

 serialize_iterator ()
 空のイテレータを構築する
 
 serialize_iterator (iterator_type base)
 元となるイテレータから直列化イテレータを構築する [詳解]
 
iterator_type base () const
 元となるイテレータを返す
 
value_type operator* () const
 
serialize_iteratoroperator++ ()
 
serialize_iterator operator++ (int)
 

静的公開変数類

static constexpr std::uint32_t coefficient = sizeof(unsigned_type)
 

フレンド

template<typename InputIterator1 >
bool operator== (serialize_iterator< InputIterator1 > const &, serialize_iterator< InputIterator1 > const &)
 
template<typename InputIterator1 >
bool operator!= (serialize_iterator< InputIterator1 > const &, serialize_iterator< InputIterator1 > const &)
 

詳解

template<typename InputIterator>
class wordring::serialize_iterator< InputIterator >

任意型の整数列に対するイテレータをバイトを返すイテレータへ変換する

テンプレート引数
InputIterator整数列に対する入力イテレータ
std::vector<std::uint32_t> v{ 0x1234567u, 0x89ABCDEFu };
auto it1 = serialize_iterator(v.begin());
auto it2 = serialize_iterator(v.end());
std::cout << std::hex;
while (it1 != it2) std::cout << static_cast<int>(*it1++) << std::endl;
出力
1
23
45
67
89
ab
cd
ef
参照
wordring::deserialize_iterator

構築子と解体子

◆ serialize_iterator()

template<typename InputIterator >
wordring::serialize_iterator< InputIterator >::serialize_iterator ( iterator_type  base)
inline

元となるイテレータから直列化イテレータを構築する

引数
base元となるイテレータ

このクラス詳解は次のファイルから抽出されました:
wordring::serialize_iterator::serialize_iterator
serialize_iterator()
空のイテレータを構築する
Definition: serialize_iterator.hpp:75