operators
parent
6c14bbc941
commit
c330b268a5
2
libs/BLT
2
libs/BLT
|
@ -1 +1 @@
|
|||
Subproject commit 0b6b6aed9b1fa2428bd665a72149f21f9e0e5d0d
|
||||
Subproject commit 392c32751da3f23644990581fda9fe59ec603de2
|
|
@ -135,21 +135,29 @@ namespace fb
|
|||
};
|
||||
|
||||
|
||||
|
||||
class flat_tree
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
struct node_container
|
||||
template<typename ARG_TYPE>
|
||||
struct operator_t
|
||||
{
|
||||
[[nodiscard]] constexpr arg_count_t argCount() const
|
||||
{ return 0; }
|
||||
private:
|
||||
arg_count_t argc;
|
||||
std::function<ARG_TYPE(blt::span<ARG_TYPE>)> func;
|
||||
blt::vector<operator_t<ARG_TYPE>> allowed_inputs;
|
||||
public:
|
||||
operator_t(arg_count_t argc, std::function<ARG_TYPE(blt::span<ARG_TYPE>)> func): argc(argc), func(std::move(func))
|
||||
{}
|
||||
|
||||
[[nodiscard]] constexpr arg_count_t argCount() const
|
||||
{ return argc; }
|
||||
|
||||
[[nodiscard]] constexpr std::function<ARG_TYPE(blt::span<ARG_TYPE>)> function() const
|
||||
{ return func; }
|
||||
|
||||
|
||||
[[nodiscard]] static inline constexpr arg_count_t determine_max_argc()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
};
|
||||
|
||||
template<typename NODE_CONTAINER, typename ALLOC>
|
||||
|
|
Loading…
Reference in New Issue