進め、自分。

ゲームプログラマがC++のことなどを。

TypeInfo改良

最近ちょいちょい趣味プログラムを書いている。
VisualStudioを2017から2019に更新して、
Clangも更新して、
とりあえずC++17が使える環境に。

コードは色々触ってるけど、最近は自前TypeInfo関連の改良を。
このブログで最初に投稿してたやつ。
dinks.hateblo.jp

このTypeInfoを使って実装している
「何かのポインタを格納できて、取り出すところで意図した型なら取り出せる」
っていうクラスについて、
本当に格納している型でしか取り出せなくて、
その基底クラスでは取り出せなかったのでなんとか対応してみた。

ただ、以下の制約があるのでなにか良い方法を思いついたら改善したい。

  • とあるクラスの基底クラス情報を、使う側が設定しないといけない。
  • 基底クラス情報は1つしか設定できない。

※type_traitsに、基底クラスを列挙してくれる base_of みたいなのが追加されたらなぁ…

tofu/AnyPtr_test.cpp at develop · fsawa/tofu · GitHub
tofu/AnyPtr.hpp at develop · fsawa/tofu · GitHub

このクラスは基本的にスマートポインタとして使いたいわけではないところで作ったけど、
次はこの辺に対応してみようかなと思っている。