namespace std {
int timespec_getres(struct timespec* ts, int base);
}
概要
指定したベース時間の分解能を取得する。
C23で<time.h>に追加された関数であり、C++26で<ctime>に取り込まれた。
効果
パラメータbaseで指定されたベース時間について、timespec_get()が提供する時間の分解能をtsに書き込む。
戻り値
分解能の取得に成功した場合、非ゼロの値としてbaseを返す。失敗した場合はゼロを返す。
例
#include <iostream>
#include <ctime>
int main()
{
// UTCベース時間の分解能を取得する
std::timespec ts;
if (std::timespec_getres(&ts, TIME_UTC) == 0) {
std::cerr << "分解能の取得に失敗した" << std::endl;
return 1;
}
std::cout << "tv_sec:" << ts.tv_sec
<< " tv_nsec:" << ts.tv_nsec
<< std::endl;
}
出力例
tv_sec:0 tv_nsec:1
バージョン
言語
- C++26
処理系
- Clang: 22 ❌
- GCC: 16.1 ❌
- Visual C++: 2026 Update 2 ❌
関連項目
timespec_get(): 指定したベース時間に基づいた、経過秒と経過ナノ秒を取得するtimespec: 経過秒と経過ナノ秒を保持する型
参照
- P3348R4 C++26 should refer to C23 not C17
- C++26がC23を参照するようになり、この関数が
<ctime>に追加された
- C++26がC23を参照するようになり、この関数が