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_data_in_bf.
clone();
49 m_data_in_bf = data_in_bf.
clone();
54 return m_enable_bf.
clone();
59 m_enable_bf = enable_bf.
clone();
64 return m_async_reset_bf.
clone();
69 m_async_reset_bf = async_reset_bf.
clone();
74 return m_async_set_bf.
clone();
79 m_async_set_bf = async_set_bf.
clone();
84 return m_async_set_reset_behavior;
89 m_async_set_reset_behavior = std::make_pair(behav_state, behav_neg_state);
BooleanFunction clone() const
virtual ComponentType get_type() const =0
BooleanFunction get_async_reset_function() const
void set_async_reset_function(const BooleanFunction &async_reset_bf)
void set_async_set_reset_behavior(AsyncSetResetBehavior behav_state, AsyncSetResetBehavior behav_neg_state)
ComponentType get_type() const override
std::vector< GateTypeComponent * > get_components(const std::function< bool(const GateTypeComponent *)> &filter=nullptr) const override
static bool is_class_of(const GateTypeComponent *component)
LatchComponent(std::unique_ptr< GateTypeComponent > component)
const std::pair< AsyncSetResetBehavior, AsyncSetResetBehavior > & get_async_set_reset_behavior() const
void set_enable_function(const BooleanFunction &enable_bf)
void set_async_set_function(const BooleanFunction &async_set_bf)
BooleanFunction get_async_set_function() const
BooleanFunction get_enable_function() const
BooleanFunction get_data_in_function() const
void set_data_in_function(const BooleanFunction &data_in_bf)