nl::Weave::Encoding::BigEndian

이 네임스페이스는 다음을 위한 함수를 제공합니다.

요약

  • 16비트, 32비트, 64비트 유형의 Big Endian 바이트 순서 값 값에 따라 호스트 시스템에 상대적인 바이트 재정렬 수행
  • 포인터 관리 유무에 관계없이 바이트 순서 변경 유무와 관계없이 8비트, 16비트, 32비트, 64비트 빅 엔디언 바이트 순서 지정 수량까지 잠재적으로 정렬되지 않은 메모리 위치에 대한 단순하고 효율적인 메모리 매핑 액세스를 안전하게 실행합니다.

Big Endian 호스트 시스템에서는 실제 바이트 순서 변경이 발생하지 않습니다. 다른 시스템에서는 바이트 재정렬이 적절히 실행됩니다.

함수

Get16(const uint8_t *p)
uint16_t
지정된 포인터 주소로부터 순서가 지정된 빅 엔디언 바이트의 잠재적으로 정렬되지 않은 메모리 읽기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 대상 시스템 바이트 순서에 배치하도록 합니다.
Get32(const uint8_t *p)
uint32_t
지정된 포인터 주소로부터 순서가 지정된 빅 엔디언 바이트의 잠재적으로 정렬되지 않은 메모리 읽기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 대상 시스템 바이트 순서에 배치하도록 합니다.
Get64(const uint8_t *p)
uint64_t
지정된 포인터 주소로부터 순서가 지정된 빅 엔디언 바이트의 잠재적으로 정렬되지 않은 메모리 읽기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 대상 시스템 바이트 순서에 배치하도록 합니다.
HostSwap16(uint16_t v)
uint16_t
이는 대상 시스템에 필요에 따라 대상 시스템에 대한 Big Endian 바이트 순서 지정으로 가정되는 지정된 16비트 값의 값으로 바이트 순서 스왑을 조건부로 수행합니다 (즉,
HostSwap32(uint32_t v)
uint32_t
이는 대상 시스템에 필요에 따라 대상 시스템에 대한 Big Endian 바이트 순서 지정으로 가정되는 지정된 32비트 값의 값으로 바이트 순서 스왑을 조건부로 수행합니다(
HostSwap64(uint64_t v)
uint64_t
이는 대상 시스템에 필요한 경우 대상 시스템에 대한 빅 엔디언 바이트 정렬로 추정되는 지정된 64비트 값의 값으로 바이트 순서 스왑을 조건부로 수행합니다 (즉,
Put16(uint8_t *p, uint16_t v)
void
지정된 포인터 주소에 16비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 빅 엔디언 바이트 순서에 배치하도록 합니다.
Put32(uint8_t *p, uint32_t v)
void
지정된 포인터 주소에 32비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 빅 엔디언 바이트 순서에 배치하도록 합니다.
Put64(uint8_t *p, uint64_t v)
void
지정된 포인터 주소에 64비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 빅 엔디언 바이트 순서에 배치하도록 합니다.
Read16(uint8_t *& p)
uint16_t
지정된 포인터 주소로부터 순서가 지정된 16비트 값에 대해 정렬되지 않은 빅 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 16비트 (2바이트)씩 증분합니다.
Read16(const uint8_t *& p)
uint16_t
지정된 포인터 주소로부터 순서가 지정된 16비트 값에 대해 정렬되지 않은 빅 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 16비트 (2바이트)씩 증분합니다.
Read32(uint8_t *& p)
uint32_t
지정된 포인터 주소로부터 순서가 지정된 빅 엔디언 바이트의 잠재적으로 정렬되지 않은 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 32비트 (4바이트)씩 증분합니다.
Read32(const uint8_t *& p)
uint32_t
지정된 포인터 주소로부터 순서가 지정된 빅 엔디언 바이트의 잠재적으로 정렬되지 않은 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 32비트 (4바이트)씩 증분합니다.
Read64(uint8_t *& p)
uint64_t
지정된 포인터 주소로부터 순서가 지정된 64비트 값에 대해 정렬되지 않은 빅 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 64비트 (8바이트)씩 증분합니다.
Read64(const uint8_t *& p)
uint64_t
지정된 포인터 주소로부터 순서가 지정된 64비트 값에 대해 정렬되지 않은 빅 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 64비트 (8바이트)씩 증분합니다.
Write16(uint8_t *& p, uint16_t v)
void
지정된 포인터 주소에 16비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 빅 엔디언 바이트 순서에 배치하도록 합니다.
Write32(uint8_t *& p, uint32_t v)
void
지정된 포인터 주소에 32비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 빅 엔디언 바이트 순서에 배치하도록 합니다.
Write64(uint8_t *& p, uint64_t v)
void
지정된 포인터 주소에 64비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 빅 엔디언 바이트 순서에 배치하도록 합니다.

함수

Get16

uint16_t Get16(
  const uint8_t *p
)

지정된 포인터 주소로부터 순서가 지정된 빅 엔디언 바이트의 잠재적으로 정렬되지 않은 메모리 읽기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 대상 시스템 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
16비트 빅 엔디언 바이트 순서 값을 읽을 수 있는 포인터 주소(정렬되지 않을 수 있음)
반환
지정된 포인터 주소의 16비트 값입니다(필요한 경우 순서 변경된 바이트).

Get32

uint32_t Get32(
  const uint8_t *p
)

지정된 포인터 주소로부터 순서가 지정된 빅 엔디언 바이트의 잠재적으로 정렬되지 않은 메모리 읽기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 대상 시스템 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
32비트 빅 엔디언 바이트 순서 값을 읽을 수 있는 포인터 주소(정렬되지 않을 수 있음)
반환
지정된 포인터 주소의 32비트 값으로, 필요한 경우 재정렬된 바이트입니다.

Get64

uint64_t Get64(
  const uint8_t *p
)

지정된 포인터 주소로부터 순서가 지정된 빅 엔디언 바이트의 잠재적으로 정렬되지 않은 메모리 읽기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 대상 시스템 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
64비트 빅 엔디언 바이트 순서 값을 읽을 수 있는 포인터 주소이며 정렬되지 않을 수 있습니다.
반환
지정된 포인터 주소의 64비트 값입니다(필요한 경우 재정렬된 바이트).

HostSwap16

uint16_t HostSwap16(
  uint16_t v
)

이는 대상 시스템에 필요에 따라 대상 시스템에 대한 Big Endian 바이트 순서 지정으로 가정되는 지정된 16비트 값의 값으로 바이트 순서 스왑을 조건부로 수행합니다 (즉,

바이트 정렬입니다.

결과적으로 비트 엔디언 대상 시스템에서는 노옵스(no-ops)이고 big endian 대상 시스템에서는 순서 변경을 수행합니다.

세부정보
매개변수
[in] v
바이트 순서 교체될 16비트 값입니다.
반환
필요한 경우 교체된 바이트 순서의 입력 값입니다.

HostSwap32

uint32_t HostSwap32(
  uint32_t v
)

이는 대상 시스템에 필요에 따라 대상 시스템에 대한 Big Endian 바이트 순서 지정으로 가정되는 지정된 32비트 값의 값으로 바이트 순서 스왑을 조건부로 수행합니다(

바이트 정렬입니다.

결과적으로 비트 엔디언 대상 시스템에서는 노옵스(no-ops)이고 big endian 대상 시스템에서는 순서 변경을 수행합니다.

세부정보
매개변수
[in] v
바이트 순서 교체될 32비트 값입니다.
반환
필요한 경우 교체된 바이트 순서의 입력 값입니다.

HostSwap64

uint64_t HostSwap64(
  uint64_t v
)

이는 대상 시스템에 필요한 경우 대상 시스템에 대한 빅 엔디언 바이트 정렬로 추정되는 지정된 64비트 값의 값으로 바이트 순서 스왑을 조건부로 수행합니다 (즉,

바이트 정렬입니다.

결과적으로 비트 엔디언 대상 시스템에서는 노옵스(no-ops)이고 big endian 대상 시스템에서는 순서 변경을 수행합니다.

세부정보
매개변수
[in] v
바이트 순서 교체될 64비트 값입니다.
반환
필요한 경우 교체된 바이트 순서의 입력 값입니다.

Put16

void Put16(
  uint8_t *p,
  uint16_t v
)

지정된 포인터 주소에 16비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 빅 엔디언 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
16비트 순서의 대상 시스템 바이트 값을 Big Endian 바이트 순서로 쓰기 위한 잠재적으로 정렬되지 않은 포인터 주소입니다.
[in] v
필요한 경우 쓸 16비트 값(바이트 순서가 전환됨)입니다.

Put32

void Put32(
  uint8_t *p,
  uint32_t v
)

지정된 포인터 주소에 32비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 빅 엔디언 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
32비트 순서의 대상 시스템 바이트 값을 Big Endian 바이트 순서로 쓰기 위한 잠재적으로 정렬되지 않은 포인터 주소입니다.
[in] v
필요한 경우 쓸 32비트 값(바이트 순서가 교체됨)입니다.

Put64

void Put64(
  uint8_t *p,
  uint64_t v
)

지정된 포인터 주소에 64비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 빅 엔디언 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
64비트 순서의 대상 시스템 바이트 값을 Big Endian 바이트 순서로 쓰기 위한 잠재적으로 정렬되지 않은 포인터 주소입니다.
[in] v
필요한 경우 쓸 64비트 값(바이트 순서가 교체됨)입니다.

Read16

uint16_t Read16(
  uint8_t *& p
)

지정된 포인터 주소로부터 순서가 지정된 16비트 값에 대해 정렬되지 않은 빅 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 16비트 (2바이트)씩 증분합니다.

세부정보
매개변수
[in,out] p
16비트 빅 엔디언 바이트 순서 값을 읽은 다음 16비트 (2바이트)씩 증분하기 위한 정렬되지 않을 수 있는 포인터 주소에 대한 참조입니다.
반환
지정된 포인터 주소의 16비트 값입니다(필요한 경우 교체된 바이트 순서).

Read16

uint16_t Read16(
  const uint8_t *& p
)

지정된 포인터 주소로부터 순서가 지정된 16비트 값에 대해 정렬되지 않은 빅 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 16비트 (2바이트)씩 증분합니다.

세부정보
매개변수
[in,out] p
정렬되지 않을 수 있는 상수 포인터 주소에 대한 참조로, 16비트 빅 엔디언 바이트 순서 값을 읽은 후 16비트 (2바이트)씩 증분합니다.
반환
지정된 포인터 주소의 16비트 값입니다(필요한 경우 교체된 바이트 순서).

Read32

uint32_t Read32(
  uint8_t *& p
)

지정된 포인터 주소로부터 순서가 지정된 빅 엔디언 바이트의 잠재적으로 정렬되지 않은 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 32비트 (4바이트)씩 증분합니다.

세부정보
매개변수
[in,out] p
정렬되지 않은 포인터 주소에 대한 참조로, 32비트 big endian 바이트 순서 값을 읽은 다음 32비트 (4바이트)씩 증분합니다.
반환
지정된 포인터 주소의 32비트 값입니다(필요한 경우 교체된 바이트 순서).

Read32

uint32_t Read32(
  const uint8_t *& p
)

지정된 포인터 주소로부터 순서가 지정된 빅 엔디언 바이트의 잠재적으로 정렬되지 않은 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 32비트 (4바이트)씩 증분합니다.

세부정보
매개변수
[in,out] p
정렬되지 않을 가능성이 있는 상수 포인터 주소에 대한 참조로, 32비트 빅 엔디언 바이트 순서 값을 읽은 후 32비트 (4바이트)씩 증분합니다.
반환
지정된 포인터 주소의 32비트 값입니다(필요한 경우 교체된 바이트 순서).

Read64

uint64_t Read64(
  uint8_t *& p
)

지정된 포인터 주소로부터 순서가 지정된 64비트 값에 대해 정렬되지 않은 빅 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 64비트 (8바이트)씩 증분합니다.

세부정보
매개변수
[in,out] p
정렬되지 않을 수 있는 포인터 주소에 대한 참조로, 64비트 빅 엔디언 바이트 순서 값을 읽은 다음 64비트 (8바이트)씩 증분합니다.
반환
지정된 포인터 주소의 64비트 값입니다(필요한 경우 교체된 바이트 순서).

Read64

uint64_t Read64(
  const uint8_t *& p
)

지정된 포인터 주소로부터 순서가 지정된 64비트 값에 대해 정렬되지 않은 빅 엔디언 바이트의 메모리 읽기를 실행하고, 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 대상 시스템 바이트 순서에 값을 배치하고 포인터를 64비트 (8바이트)씩 증분합니다.

세부정보
매개변수
[in,out] p
정렬되지 않을 가능성이 있는 상수 포인터 주소에 대한 참조로, 64비트 빅 엔디언 바이트 순서 값을 읽은 후 64비트 (8바이트)씩 증분합니다.
반환
지정된 포인터 주소의 64비트 값입니다(필요한 경우 교체된 바이트 순서).

Write16

void Write16(
  uint8_t *& p,
  uint16_t v
)

지정된 포인터 주소에 16비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 빅 엔디언 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
정렬되지 않을 가능성이 있는 포인터 주소에 대한 참조로, 대상 시스템 바이트의 순서가 지정된 16비트 값을 Big Endian 바이트 순서로 작성한 다음 16비트 (2바이트)씩 증분합니다.
[in] v
필요한 경우 쓸 16비트 값(바이트 순서가 전환됨)입니다.

Write32

void Write32(
  uint8_t *& p,
  uint32_t v
)

지정된 포인터 주소에 32비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 빅 엔디언 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
정렬되지 않을 수 있는 포인터 주소에 대한 참조로, 대상 시스템 바이트의 순서가 지정된 32비트 값을 Big Endian 바이트 순서로 작성한 다음 32비트 (4바이트)씩 증분합니다.
[in] v
필요한 경우 쓸 32비트 값(바이트 순서가 교체됨)입니다.

Write64

void Write64(
  uint8_t *& p,
  uint64_t v
)

지정된 포인터 주소에 64비트 값이 지정된 대상 시스템 바이트의 정렬되지 않은 메모리 쓰기를 실행하고 필요에 따라 바이트 재정렬을 실행하여 대상 시스템이 값을 빅 엔디언 바이트 순서에 배치하도록 합니다.

세부정보
매개변수
[in] p
정렬되지 않을 수 있는 포인터 주소에 대한 참조로, 대상 시스템 바이트의 순서가 지정된 64비트 값을 Big Endian 바이트 순서로 작성한 다음 64비트 (8바이트)씩 증분합니다.
[in] v
필요한 경우 쓸 64비트 값(바이트 순서가 교체됨)입니다.