pdcomm::GemFormattedProgramStoreSnapshot
클래스
장비의 정형 프로그램 저장소를 복사한 변경 불가능한 사본입니다.
class GemFormattedProgramStoreSnapshot스냅숏은 모든 프로그램의 전체 사본을 소유합니다. 이후 저장소가 바뀌어도, 끝점이 소멸된 뒤에도 유효합니다. formattedProgramStoreSnapshot()으로 얻습니다.
const auto snapshot = pdcomm::formattedProgramStoreSnapshot(equipment);
for (size_t entry = 0; entry < snapshot.info().entryCount; ++entry) {
auto id = snapshot.id(entry);
std::cout << snapshot.model(entry) << ' ' << snapshot.entryInfo(entry).commandCount << '\n';
}참고
- 이동 전용(move-only) RAII 래퍼입니다. getter는 동시에 실행할 수 있지만 소멸과 경합해서는 안 됩니다. 빈 스냅숏의 getter는
PDCOMM_INVALID_ARGUMENT와 함께 pdcomm::Error를 던집니다.
멤버
GemFormattedProgramStoreSnapshot
생성자
네이티브 핸들을 소유하지 않는 빈 스냅숏을 만듭니다.
GemFormattedProgramStoreSnapshot() noexcept = defaultGemFormattedProgramStoreSnapshot
생성자
other가 소유한 네이티브 핸들의 소유권을 가져옵니다.
GemFormattedProgramStoreSnapshot(GemFormattedProgramStoreSnapshot &&other) noexcept매개변수
| 이름 | 설명 |
|---|---|
other | 원본 래퍼입니다. 호출 후 비게 됩니다. |
GemFormattedProgramStoreSnapshot
생성자
복사할 수 없습니다. 래퍼가 네이티브 핸들을 단독으로 소유합니다.
GemFormattedProgramStoreSnapshot(const GemFormattedProgramStoreSnapshot &) = deletecommandCode
메서드
저장된 프로그램 하나의 명령 하나에서 CCODE를 반환합니다.
SecsItem commandCode(size_t entryIndex, size_t commandIndex) const매개변수
| 이름 | 설명 |
|---|---|
entryIndex | 0부터 시작하는 프로그램 위치입니다. |
commandIndex | 0부터 시작하는 명령 위치입니다. |
반환값
독립적으로 소유되는 아이템입니다.
참고
- 예외
pdcomm::Error: 인덱스가 잘못되면PDCOMM_OUT_OF_RANGE입니다.
commandInfo
메서드
저장된 프로그램 하나의 명령 하나를 설명합니다.
GemFormattedProgramStoreCommandInfo commandInfo(size_t entryIndex, size_t commandIndex) const매개변수
| 이름 | 설명 |
|---|---|
entryIndex | 0부터 시작하는 프로그램 위치입니다. |
commandIndex | 0부터 시작하는 명령 위치입니다. |
반환값
파라미터 수와 CCODE 형식입니다.
참고
- 예외
pdcomm::Error: 인덱스가 잘못되면PDCOMM_OUT_OF_RANGE입니다.
entryInfo
메서드
저장된 프로그램 하나를 설명합니다.
GemFormattedProgramStoreEntryInfo entryInfo(size_t entryIndex) const매개변수
| 이름 | 설명 |
|---|---|
entryIndex | 0부터 시작하는 프로그램 위치입니다. GemFormattedProgramStoreInfo::entryCount보다 작아야 합니다. |
반환값
명령 수와 PPID 형식입니다.
참고
- 예외
pdcomm::Error: 인덱스가 잘못되면PDCOMM_OUT_OF_RANGE입니다.
id
메서드
저장된 프로그램 하나의 PPID를 반환합니다.
SecsItem id(size_t entryIndex) const매개변수
| 이름 | 설명 |
|---|---|
entryIndex | 0부터 시작하는 프로그램 위치입니다. |
반환값
독립적으로 소유되는 ASCII 또는 Binary 아이템입니다.
참고
- 예외
pdcomm::Error: 인덱스가 잘못되면PDCOMM_OUT_OF_RANGE입니다.
info
메서드
스냅숏에 담긴 카운터와 한도를 반환합니다.
GemFormattedProgramStoreInfo info() const반환값
리비전, 개수, 크기와 한도입니다.
참고
- 예외
pdcomm::Error: 빈 스냅숏이면PDCOMM_INVALID_ARGUMENT입니다.
model
메서드
저장된 프로그램 하나의 MDLN을 복사합니다.
std::string model(size_t entryIndex) const매개변수
| 이름 | 설명 |
|---|---|
entryIndex | 0부터 시작하는 프로그램 위치입니다. |
반환값
모델 텍스트입니다.
참고
- 예외
pdcomm::Error: 인덱스가 잘못되면PDCOMM_OUT_OF_RANGE입니다.
operator bool
메서드
래퍼가 네이티브 스냅숏을 소유하는지 알려 줍니다.
explicit operator bool() const noexcept반환값
스냅숏을 소유하면 true입니다.
operator=
메서드
현재 핸들을 해제한 다음 other가 소유한 핸들의 소유권을 가져옵니다.
GemFormattedProgramStoreSnapshot &operator=(GemFormattedProgramStoreSnapshot &&other) noexcept매개변수
| 이름 | 설명 |
|---|---|
other | 원본 래퍼입니다. 호출 후 비게 됩니다. |
반환값
이 래퍼입니다.
operator=
메서드
복사 대입할 수 없습니다. 래퍼가 네이티브 핸들을 단독으로 소유합니다.
GemFormattedProgramStoreSnapshot &operator=(const GemFormattedProgramStoreSnapshot &) = deleteparameter
메서드
저장된 프로그램 하나의 명령 하나에서 PPARM 하나를 반환합니다.
SecsItem parameter(size_t entryIndex, size_t commandIndex, size_t parameterIndex) const매개변수
| 이름 | 설명 |
|---|---|
entryIndex | 0부터 시작하는 프로그램 위치입니다. |
commandIndex | 0부터 시작하는 명령 위치입니다. |
parameterIndex | 0부터 시작하는 파라미터 위치입니다. |
반환값
독립적으로 소유되는 아이템입니다.
참고
- 예외
pdcomm::Error: 인덱스가 잘못되면PDCOMM_OUT_OF_RANGE입니다.
softwareRevision
메서드
저장된 프로그램 하나의 SOFTREV를 복사합니다.
std::string softwareRevision(size_t entryIndex) const매개변수
| 이름 | 설명 |
|---|---|
entryIndex | 0부터 시작하는 프로그램 위치입니다. |
반환값
소프트웨어 리비전 텍스트입니다.
참고
- 예외
pdcomm::Error: 인덱스가 잘못되면PDCOMM_OUT_OF_RANGE입니다.
~GemFormattedProgramStoreSnapshot
메서드
pdcomm_gem_formatted_program_store_snapshot_destroy()로 네이티브 핸들을 해제합니다.
~GemFormattedProgramStoreSnapshot()빈 스냅숏은 아무것도 해제하지 않습니다.