7 RAMComponent::RAMComponent(std::unique_ptr<GateTypeComponent> component,
const u32 bit_size, std::vector<std::string> init_identifiers)
8 : m_component(
std::move(component)), m_bit_size(bit_size), m_init_identifiers(
std::move(init_identifiers))
12 std::unique_ptr<RAMComponent> RAMComponent::create(std::unique_ptr<GateTypeComponent> component,
const u32 bit_size,
const std::vector<std::string>& init_identifiers)
14 return std::unique_ptr<RAMComponent>(
new RAMComponent(std::move(component), bit_size, init_identifiers));
24 return component->
get_type() == m_type;
27 std::vector<GateTypeComponent*> RAMComponent::get_components(
const std::function<
bool(
const GateTypeComponent*)>& filter)
const
29 if (m_component !=
nullptr)
31 std::vector<GateTypeComponent*> res = m_component->get_components(filter);
34 if (filter(m_component.get()))
36 res.push_back(m_component.get());
41 res.push_back(m_component.get());
50 u32 RAMComponent::get_bit_size()
const
55 void RAMComponent::set_bit_size(
const u32 bit_size)
57 m_bit_size = bit_size;
60 const std::vector<std::string>& RAMComponent::get_init_identifiers()
const
62 return m_init_identifiers;
65 void RAMComponent::set_init_identifiers(
const std::vector<std::string>& init_identifiers)
67 m_init_identifiers = init_identifiers;
virtual ComponentType get_type() const =0