C++20 Calender and timezone library

  • 2018/03/27 01:50
  • C++

本エントリは, 元々 P0355R5 を参考にまとめを行った記事であるが, その後 P0355R7

  • sunといった曜日を表すリテラルが全てSunday, mayといった月を表すリテラルが全てMayといった形式に変更され, またこれらとstd::chrono::last_spec型のlast1std::literals::chrono_literals名前空間下からstd::chrono名前空間下に移動された.
  • system_clock::to_time_tsystem_clock::from_time_tを Deprecated としていたが, Deprecated でなくなった.

といった他に, 細かい文面の改修や, constexprがつけられるなどの変更が加えられたため, 本エントリにおいても, それに従い該当箇所を改変している (差分を示すことも考えたが, ただ見難くなるように感じたため, そのようなことはしなかった). これらの変更には対応したつもりだが, 細かい厳密な記述に関しては, やはり P0355 の最新リビジョンを追って確かめてほしい(そして, 間違った箇所があれば指摘くださると嬉しい).

要旨

先週, 米国フロリダ州ジャクソンビルで ISO C++ 委員会によって, C++技術仕様(TS, 実験的機能ブランチ) と次の国際標準(IS) C++20 に関する作業が行われた. 同会議で Reddit で紹介されているように, C++20 にいくつかの機能が追加された. そのうちの 1 つである, Calender and timezone library に関する新機能, 概要のメモ.

  • 全機能の網羅性を主軸としたエントリではない(が, 独断と偏見により重要に感じた内容は結果的に網羅してしまっている部分もある)ため注意
  • 以下, 特に断らない限り, 全てのコード片においてusing namespace std::chrono;, using namespace std::chrono_literals;がされているとする.
  • 以下, 特に断らない限り, 各コードブロック以外で言及される内容といった記述については, 名前空間 std::chronoを省略する.

ハローワールド

  • 2018/03/23 01:50

この記事は, 旧ブログに依存した文脈を含んでいます. すなわち, 旧ブログへの移転時に書かれた記事であり, 本ブログへの移転に関する記事ではありません. これは記録として残されています.

ブログを移転した

これまでは約二年ほど はてブロに, メモや学習ログなどを投稿し, 利用させて頂いていたが, LaTeX\LaTeX の記述においてはてブロ固有の独特な記法を必要とされることがあり, これらの点で 少し不便に感じていたので, 新たにブログを立ち上げこちらに移転することとした. このブログは github pages でホスティングされており, Pelican という Static site generator によって成り立っている. またテーマは, nikhil-themeフォークして利用させて頂いている.