asio::ip::address_v6
bytes_type
基本的boost::array
にネットワークバイトオーダーのパラメータにaを取ります。
変数にRAWIPv6アドレスがありvoid *
ます。void *
をに変える最も簡単な方法は何asio::ip::address_v6
ですか?できればコンストラクターを使用してください。
asio::ip::address_v6
bytes_type
基本的boost::array
にネットワークバイトオーダーのパラメータにaを取ります。
変数にRAWIPv6アドレスがありvoid *
ます。void *
をに変える最も簡単な方法は何asio::ip::address_v6
ですか?できればコンストラクターを使用してください。
を初期化するよりもうまくいくことはできませんasio::ip::address_v6::bytes_type
。これは実際にはastd::array
またはboost::array
:である可能性があります。
// We need an unsigned char* pointer to the IP address
unsigned char *youraddr = reinterpret_cast<unsigned char*>(your_void_ptr);
asio::ip::address_v6::bytes_type myaddr;
// Copy the address into our array
std::copy(youraddr, youraddr + myaddr.size(), myaddr.data());
// Finally, initialize.
asio::ip::address_v6 ipv6(myaddr);
明らかに、その構造を変更できる場合は、bytes_type
その代わりに直接格納する方がよいことに注意してください。void*