5 LUTComponent::LUTComponent(std::unique_ptr<GateTypeComponent> component,
bool init_ascending) : m_component(
std::move(component)), m_init_ascending(init_ascending)
16 return component->
get_type() == m_type;
21 if (m_component !=
nullptr)
23 std::vector<GateTypeComponent*> res = m_component->get_components(filter);
26 if (filter(m_component.get()))
28 res.push_back(m_component.get());
33 res.push_back(m_component.get());
44 return m_init_ascending;
virtual ComponentType get_type() const =0
ComponentType get_type() const override
void set_init_ascending(bool init_ascending=true)
std::vector< GateTypeComponent * > get_components(const std::function< bool(const GateTypeComponent *)> &filter=nullptr) const override
bool is_init_ascending() const
static bool is_class_of(const GateTypeComponent *component)
LUTComponent(std::unique_ptr< GateTypeComponent > component, bool init_ascending)