Skip to content

Egliss/CppReflection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CppReflection

これは何?

VisualStudioの拡張機能を利用してVisualC++で静的/動的なリフレクションを実現するためのサンプルコードです。

動作環境

共通

  • Windows10
  • VisualStudio2019
    • VisualStudio for Macでは動作しません。

ランタイム

  • C++17

拡張機能

  • C# 7.x

ざっくり解説

VisualStudioSDKにはC++リフレクション結果を取得するAPIがあるのでそれをうまく使ってC++の世界にリフレクションをもたらします。

ランタイムはUnityのGameObject/Componentを雑に実装しており、GetComponent<T>やAddComponent(const std::string& typeName)等にリフレクションを使用しています。

CppReflectionプロジェクトを実行して立ち上がってきたVisualStudioのツールタブからCppReflectionを選択することでC++コードを生成します。

拡張機能から生成されるソースはStaticType.hppDynamicType.cppの2つです。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published