-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
422 additions
and
257 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,183 @@ | ||
<!DOCTYPE html> | ||
<html lang="en" prefix="og: http://ogp.me/ns#"> | ||
<head> | ||
<meta charset="UTF-8" /> | ||
<title>Coffee'n Jam and... 0.2! | CUBOS.</title> | ||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" /> | ||
<link rel="stylesheet" href="https://gamedevtecnico.github.io/cubos/static/m-dark.compiled.css" /> | ||
<link rel="canonical" href="https://gamedevtecnico.github.io/cubos/coffeen-jam-and-02.html" /> | ||
<link href="https://gamedevtecnico.github.io/cubos/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="CUBOS." /> | ||
<link href="https://gamedevtecnico.github.io/cubos/feeds/meta.atom.xml" type="application/atom+xml" rel="alternate" title="CUBOS. | Meta" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
<meta name="theme-color" content="#22272e" /> | ||
<meta property="og:site_name" content="CUBOS." /> | ||
<meta property="og:title" content="Coffee'n Jam and... 0.2!" /> | ||
<meta name="twitter:title" content="Coffee'n Jam and... 0.2!" /> | ||
<meta property="og:url" content="https://gamedevtecnico.github.io/cubos/coffeen-jam-and-02.html" /> | ||
<meta property="og:description" content="CUBOS. 0.2 Release and Coffee'n Jam!" /> | ||
<meta name="twitter:description" content="CUBOS. 0.2 Release and Coffee'n Jam!" /> | ||
<meta name="twitter:card" content="summary" /> | ||
<meta property="og:type" content="article" /> | ||
</head> | ||
<body> | ||
<header><nav id="navigation"> | ||
<div class="m-container"> | ||
<div class="m-row"> | ||
<a href="./" id="m-navbar-brand" class="m-col-t-9 m-col-m-none m-left-m">CUBOS.</a> | ||
<a id="m-navbar-show" href="#navigation" title="Show navigation" class="m-col-t-3 m-hide-m m-text-right"></a> | ||
<a id="m-navbar-hide" href="#" title="Hide navigation" class="m-col-t-3 m-hide-m m-text-right"></a> | ||
<div id="m-navbar-collapse" class="m-col-t-12 m-show-m m-col-m-none m-right-m"> | ||
<div class="m-row"> | ||
<ol class="m-col-t-12 m-col-m-none"> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/docs">Docs</a></li> | ||
</ol> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</nav></header> | ||
<main> | ||
<div class="m-container"> | ||
<div class="m-row"> | ||
<article class="m-col-m-10 m-nopadb"> | ||
<header> | ||
<h1><a href="https://gamedevtecnico.github.io/cubos/coffeen-jam-and-02.html" rel="bookmark" title="Permalink to Coffee'n Jam and... 0.2!"> | ||
<time class="m-date" datetime="2024-05-07T19:00:00+01:00"> | ||
May <span class="m-date-day">07</span> 2024 | ||
</time> | ||
Coffee'n Jam and... 0.2! | ||
</a></h1> | ||
<p>CUBOS. 0.2 Release and Coffee'n Jam!</p> | ||
</header> | ||
<div class="m-clearfix-l"></div> | ||
<!-- content --> | ||
<section id="coffee-n-jam"> | ||
<h2>Coffee'n Jam</h2> | ||
<p>insert very interesting text here, problems occurred, final result, etc,</p> | ||
</section> | ||
<section id="new-0-2-features"> | ||
<h2>New 0.2 features</h2> | ||
<section id="introducing-inheritance-in-reflection"> | ||
<h3>Introducing Inheritance in Reflection</h3> | ||
<p>> Trait for representing inheritance relationships under reflection. (#693, @roby2014).</p> | ||
<p><code>CUBOS.</code> has a powerful reflection system to examine and interact with a structures and types at runtime.</p> | ||
<p><code>InheritsTrait</code> is a new feature in <code>CUBOS.</code> that allows you to represent and query inheritance relationships | ||
in a reflective context. With this trait, you can define which types inherit from others and then check those relationships at runtime.</p> | ||
<p>You can define inheritance as the following:</p> | ||
<pre class="m-code"><span class="cp">#include</span><span class="w"> </span><span class="cpf"><cubos/core/reflection/traits/inherits.hpp></span> | ||
|
||
<span class="k">using</span><span class="w"> </span><span class="n">cubos</span><span class="o">::</span><span class="n">core</span><span class="o">::</span><span class="n">reflection</span><span class="o">::</span><span class="n">InheritsTrait</span><span class="p">;</span> | ||
<span class="k">using</span><span class="w"> </span><span class="n">cubos</span><span class="o">::</span><span class="n">core</span><span class="o">::</span><span class="n">reflection</span><span class="o">::</span><span class="n">Type</span><span class="p">;</span> | ||
|
||
<span class="k">struct</span><span class="w"> </span><span class="nc">GrandParent</span> | ||
<span class="p">{</span> | ||
<span class="w"> </span><span class="n">CUBOS_REFLECT</span><span class="p">;</span> | ||
<span class="p">};</span> | ||
|
||
<span class="k">struct</span><span class="w"> </span><span class="nc">Parent</span> | ||
<span class="p">{</span> | ||
<span class="w"> </span><span class="n">CUBOS_REFLECT</span><span class="p">;</span> | ||
<span class="p">};</span> | ||
|
||
<span class="k">struct</span><span class="w"> </span><span class="nc">Son</span> | ||
<span class="p">{</span> | ||
<span class="w"> </span><span class="n">CUBOS_REFLECT</span><span class="p">;</span> | ||
<span class="p">};</span> | ||
|
||
<span class="n">CUBOS_REFLECT_IMPL</span><span class="p">(</span><span class="n">GrandParent</span><span class="p">)</span> | ||
<span class="p">{</span> | ||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">Type</span><span class="o">::</span><span class="n">create</span><span class="p">(</span><span class="s">"GrandParent"</span><span class="p">);</span> | ||
<span class="p">}</span> | ||
|
||
<span class="n">CUBOS_REFLECT_IMPL</span><span class="p">(</span><span class="n">Parent</span><span class="p">)</span> | ||
<span class="p">{</span><span class="n">r</span> | ||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">Type</span><span class="o">::</span><span class="n">create</span><span class="p">(</span><span class="s">"Parent"</span><span class="p">).</span><span class="n">with</span><span class="p">(</span><span class="n">InheritsTrait</span><span class="o">::</span><span class="n">from</span><span class="o"><</span><span class="n">GrandParent</span><span class="o">></span><span class="p">());</span> | ||
<span class="p">}</span> | ||
|
||
<span class="n">CUBOS_REFLECT_IMPL</span><span class="p">(</span><span class="n">Son</span><span class="p">)</span> | ||
<span class="p">{</span> | ||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">Type</span><span class="o">::</span><span class="n">create</span><span class="p">(</span><span class="s">"Son"</span><span class="p">).</span><span class="n">with</span><span class="p">(</span><span class="n">InheritsTrait</span><span class="o">::</span><span class="n">from</span><span class="o"><</span><span class="n">Parent</span><span class="o">></span><span class="p">());</span> | ||
<span class="p">}</span></pre> | ||
<p>or you can also check inheritance:</p> | ||
<pre class="m-code"><span class="kt">void</span><span class="w"> </span><span class="nf">reflectType</span><span class="p">()</span> | ||
<span class="p">{</span> | ||
<span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="o">&</span><span class="w"> </span><span class="n">type</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">reflect</span><span class="o"><</span><span class="n">Son</span><span class="o">></span><span class="p">();</span> | ||
<span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">type</span><span class="p">.</span><span class="n">has</span><span class="o"><</span><span class="n">InheritsTrait</span><span class="o">></span><span class="p">()</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">type</span><span class="p">.</span><span class="n">get</span><span class="o"><</span><span class="n">InheritsTrait</span><span class="o">></span><span class="p">().</span><span class="n">inherits</span><span class="o"><</span><span class="n">Parent</span><span class="o">></span><span class="p">())</span> | ||
<span class="w"> </span><span class="p">{</span> | ||
<span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">type</span><span class="p">.</span><span class="n">name</span><span class="p">()</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">" inherits from Parent</span><span class="se">\n</span><span class="s">"</span><span class="p">;</span> | ||
<span class="w"> </span><span class="p">}</span> | ||
<span class="p">}</span></pre> | ||
<p>you can check more information on the documentation page: <a class="m-link-wrap" href="https://gamedevtecnico.github.io/cubos/docs/examples-core-reflection-traits-inherits.html">https://gamedevtecnico.github.io/cubos/docs/examples-core-reflection-traits-inherits.html</a>.</p> | ||
<p>insert feature text here</p> | ||
</section> | ||
</section> | ||
<section id="next-steps"> | ||
<h2>Next steps</h2> | ||
</section> | ||
<!-- /content --> | ||
<footer> | ||
<p>Posted by <a href="https://gamedevtecnico.github.io/cubos/author/cubos-team.html">CUBOS. Team</a> on <time datetime="2024-05-07T19:00:00+01:00">Tue 07 May 2024</time> in <a href="https://gamedevtecnico.github.io/cubos/category/meta.html">Meta</a>.</p> | ||
</footer> | ||
</article> | ||
<nav class="m-navpanel m-col-m-2"> | ||
<h3>Categories</h3> | ||
<ol class="m-block-bar-m"> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/category/features.html">Features</a></li> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/category/meta.html">Meta</a></li> | ||
</ol> | ||
<h3>Tag cloud</h3> | ||
<ul class="m-tagcloud"> | ||
<li class="m-tag-5"><a href="https://gamedevtecnico.github.io/cubos/tag/core.html">Core</a></li> | ||
<li class="m-tag-5"><a href="https://gamedevtecnico.github.io/cubos/tag/ecs.html">ECS</a></li> | ||
</ul> | ||
</nav> | ||
</div> | ||
</div> | ||
</main> | ||
<footer><nav> | ||
<div class="m-container"> | ||
<div class="m-row"> | ||
<div class="m-col-s-3 m-col-t-6"> | ||
<h3><a href="https://gamedevtecnico.github.io/cubos/">Cubos</a></h3> | ||
<ul> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/docs/getting-started.html">Getting Started</a></li> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/docs/features.html">Feature Guide</a></li> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/docs/examples.html">Examples</a></li> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/docs/contribution.html">Contribution Guidelines</a></li> | ||
</ul> | ||
</div> | ||
<div class="m-col-s-3 m-col-t-6"> | ||
<h3><a href="https://gamedevtecnico.github.io/cubos/docs">Docs</a></h3> | ||
<ul> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/docs/pages.html">Pages</a></li> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/docs/modules.html">Modules</a></li> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/docs/annotated.html">Classes</a></li> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/docs/files.html">Files</a></li> | ||
</ul> | ||
</div> | ||
<div class="m-clearfix-t"></div> | ||
<div class="m-col-s-3 m-col-t-6"> | ||
<h3><a href="mailto:[email protected]">Contact Us</a></h3> | ||
<ul> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/feeds/all.atom.xml">Blog Feed</a></li> | ||
<li><a href="https://github.com/GameDevTecnico/cubos">GitHub</a></li> | ||
<li><a href="mailto:[email protected]">E-mail</a></li> | ||
</ul> | ||
</div> | ||
<div class="m-col-s-3 m-col-t-6"> | ||
<h3><a href="https://gamedevtecnico.github.io/cubos/">Blog</a></h3> | ||
<ul> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/category/features.html">Features</a></li> | ||
<li><a href="https://gamedevtecnico.github.io/cubos/category/meta.html">Meta</a></li> | ||
</ul> | ||
</div> | ||
</div> | ||
<div class="m-row"> | ||
<div class="m-col-l-10 m-push-l-1"> | ||
<p>CUBOS.. Powered by <a href="https://getpelican.com">Pelican</a> and <a href="https://mcss.mosra.cz">m.css</a>.</p> | ||
</div> | ||
</div> | ||
</div> | ||
</nav></footer> | ||
</body> | ||
</html> |
Oops, something went wrong.