diff options
Diffstat (limited to 'c++')
-rw-r--r-- | c++/collision.hpp | 24 | ||||
-rw-r--r-- | c++/component.hpp | 21 |
2 files changed, 45 insertions, 0 deletions
diff --git a/c++/collision.hpp b/c++/collision.hpp new file mode 100644 index 0000000..4e16832 --- /dev/null +++ b/c++/collision.hpp @@ -0,0 +1,24 @@ +#pragma once + +#include "component.hpp" +#include "equilibrium.hpp" + +namespace kel { +namespace lbm { +namespace cmpt { +struct BGK {}; +} + +template<typename T> +class component<T, cmpt::BGK> { +public: + using access = cmpt::access_tuple< + cmpt::access<"dfs", 0, true, true> + >; + + static constexpr saw::string_literal name = "collision"; + static constexpr saw::string_literal after = ""; + static constexpr saw::string_literal before = "streaming"; +}; +} +} diff --git a/c++/component.hpp b/c++/component.hpp index 08be2f5..14f908a 100644 --- a/c++/component.hpp +++ b/c++/component.hpp @@ -1,8 +1,29 @@ #pragma once +#include "descriptor.hpp" + namespace kel { namespace lbm { +namespace cmpt { +template<saw::string_literal Name, uint64_t Dist, bool Read, bool Write> +class access { +public: + static constexpr saw::string_literal name = Name; + static constexpr uint64_t distance = Dist; + static constexpr bool read = Read; + static constexpr bool write = Write; +}; + +template<typename... Acc> +class access_tuple { +public: +}; +} + +/** + * Compponent class which forms the basis of the + */ template<typename T> class component {}; } |