- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

データ構造 | 関数
エンディアンに関する情報の取得及び変換

## データ構造
union | mist::byte_array< T >
| バイト配列と値のペアを表現するクラス [詳細]

## 関数
bool | mist::_is_little_endian_ ()
| 現在のマシンのエンディアンがリトルエンディアンかどうかを調べる
bool | mist::_is_big_endian_ ()
| 現在のマシンのエンディアンがビッグエンディアンかどうかを調べる
template<class T >
void | mist::swap_bytes (byte_array< T > &bytes)
| byte_array内のバイトスワップをする
template<class T >
byte_array< T > | mist::to_current_endian (const byte_array< T > &bytes, bool from_little_endian)
| byte_array内のデータを現在の計算機のエンディアンに合わせる
template<class T >
byte_array< T > | mist::from_current_endian (const byte_array< T > &bytes, bool to_little_endian)
| byte_array内のデータを現在の計算機のエンディアンから目的のエンディアンに合わせる

## 説明

次のヘッダをインクルードする
#include <mist/config/endian.h>

## 関数

bool mist::_is_big_endian_ | ( |  | ) |
| inline

現在のマシンのエンディアンがビッグエンディアンかどうかを調べる

詳細な説明や関数の使用例を書く

戻り値

  true | … ビッグエンディアン
  false | … リトルエンディアン

bool mist::_is_little_endian_ | ( |  | ) |
| inline

現在のマシンのエンディアンがリトルエンディアンかどうかを調べる

戻り値

  true | … リトルエンディアン
  false | … ビッグエンディアン

参照元 mist::from_current_endian(), mist::dicom::process_dicom_tag(), mist::to_current_endian(), と mist::dicom::write_dicom_tag_explicit_vr().

template<class T >

byte_array< T > mist::from_current_endian | ( | const byte_array< T > & | bytes,
|  | bool | to_little_endian
| ) |  |
| inline

byte_array内のデータを現在の計算機のエンディアンから目的のエンディアンに合わせる

- リトルエンディアンの計算機で，to_little_endian = false とすると，変換後のデータはビッグエンディアンとなる
- ビッグエンディアンの計算機で，to_little_endian = true とすると，変換後のデータはリトルエンディアンとなる
- それ以外の場合は，それぞれの計算機のエンディアンのままで何も変換されない

引数

  [in] | bytes | … 変換されるデータ
  [in] | to_little_endian | … 変換後のエンディアンタイプ

戻り値
  変換後のデータ

参照先 mist::_is_little_endian_(), と mist::swap_bytes().

参照元 mist::read_dicom(), mist::dicom::write_dicom_tag_explicit_vr(), と mist::dicom::write_dicom_tag_implicit_vr().

template<class T >

void mist::swap_bytes | ( | byte_array< T > & | bytes | ) |
| inline

byte_array内のバイトスワップをする

引数

  [in,out] | bytes | … バイトスワップされるデータ

参照元 mist::from_current_endian(), と mist::to_current_endian().

template<class T >

byte_array< T > mist::to_current_endian | ( | const byte_array< T > & | bytes,
|  | bool | from_little_endian
| ) |  |
| inline

byte_array内のデータを現在の計算機のエンディアンに合わせる

- リトルエンディアンの計算機で，ビッグエンディアンのデータを入力し，from_little_endian = false とすると，変換後のデータはリトルエンディアンとなる
- ビッグエンディアンの計算機で，リトルエンディアンのデータを入力し，from_little_endian = true とすると，変換後のデータはビッグエンディアンとなる
- それ以外の場合は何も変換されない

引数

  [in] | bytes | … 変換されるデータ
  [in] | from_little_endian | … 変換前のエンディアンタイプ

戻り値
  変換後のデータ

参照先 mist::_is_little_endian_(), と mist::swap_bytes().

参照元 mist::dicom::decode(), mist::dicom::decode_RLE(), mist::dicom::process_dicom_tag(), と mist::dicom::read_dicom_tag().