diff --git a/include/grenade/common/graph.h b/include/grenade/common/graph.h index 1cdd8a32a12a33ba83c49bf3e77689656f0a2c8e..516bd037d9158057fe2ad8e7865b42967c4967bc 100644 --- a/include/grenade/common/graph.h +++ b/include/grenade/common/graph.h @@ -1,10 +1,10 @@ #pragma once #include "grenade/common/detail/constructor_transform.h" #include "grenade/common/detail/graph.h" -#include "grenade/common/detail/property_holder.h" #include "grenade/common/edge_on_graph.h" #include "grenade/common/genpybind.h" #include "grenade/common/property.h" +#include "grenade/common/property_holder.h" #include "grenade/common/vertex_on_graph.h" #include "hate/visibility.h" #include <memory> @@ -360,8 +360,8 @@ struct SYMBOL_VISIBLE GENPYBIND(visible) Graph private: Backend m_graph; - std::unordered_map<VertexDescriptor, detail::PropertyHolder<Vertex, Holder>> m_vertices; - std::unordered_map<EdgeDescriptor, detail::PropertyHolder<Edge, Holder>> m_edges; + std::unordered_map<VertexDescriptor, PropertyHolder<Vertex, Holder>> m_vertices; + std::unordered_map<EdgeDescriptor, PropertyHolder<Edge, Holder>> m_edges; void check_contains(VertexDescriptor const& descriptor, char const* description) const; void check_contains(EdgeDescriptor const& descriptor, char const* description) const; diff --git a/include/grenade/common/detail/property_holder.h b/include/grenade/common/property_holder.h similarity index 95% rename from include/grenade/common/detail/property_holder.h rename to include/grenade/common/property_holder.h index d4c419a3666ef6a8944e66b76f38d47085dd6369..237128d7ef911d7ed1d46a1a5f474791813bc23e 100644 --- a/include/grenade/common/detail/property_holder.h +++ b/include/grenade/common/property_holder.h @@ -4,7 +4,7 @@ #include <memory> #include <type_traits> -namespace grenade::common::detail { +namespace grenade::common { /** * Holder type for polymorphic property. @@ -108,6 +108,6 @@ private: template <typename T, template <typename...> typename Backend> std::ostream& operator<<(std::ostream& os, PropertyHolder<T, Backend> const& value); -} // namespace grenade::common::detail +} // namespace grenade::common -#include "grenade/common/detail/property_holder.tcc" +#include "grenade/common/property_holder.tcc" diff --git a/include/grenade/common/detail/property_holder.tcc b/include/grenade/common/property_holder.tcc similarity index 95% rename from include/grenade/common/detail/property_holder.tcc rename to include/grenade/common/property_holder.tcc index e92d14c497615abd4cd4a8fa1b7d13ea4e6695c6..d527c6ed14392db03cf7e37b52f4fc2ce0b14c65 100644 --- a/include/grenade/common/detail/property_holder.tcc +++ b/include/grenade/common/property_holder.tcc @@ -1,9 +1,9 @@ #pragma once -#include "grenade/common/detail/property_holder.h" +#include "grenade/common/property_holder.h" #include <ostream> #include <stdexcept> -namespace grenade::common::detail { +namespace grenade::common { template <typename T, template <typename...> typename Backend> PropertyHolder<T, Backend>::PropertyHolder(T const& value) : m_backend(value.copy()) @@ -86,4 +86,4 @@ std::ostream& operator<<(std::ostream& os, PropertyHolder<T, Backend> const& val return os << *value; } -} // namespace grenade::common::detail +} // namespace grenade::common diff --git a/include/grenade/vx/network/abstract/multicompartment_compartment.h b/include/grenade/vx/network/abstract/multicompartment_compartment.h index 68871fd66b947784b78c8f175e149c04bca09c8c..1bdcd25e3ef70dedf24adbfd79fe00edfb705d57 100644 --- a/include/grenade/vx/network/abstract/multicompartment_compartment.h +++ b/include/grenade/vx/network/abstract/multicompartment_compartment.h @@ -1,9 +1,9 @@ #pragma once #include "grenade/common/detail/graph.h" -#include "grenade/common/detail/property_holder.h" #include "grenade/common/graph.h" #include "grenade/common/property.h" +#include "grenade/common/property_holder.h" #include "grenade/vx/genpybind.h" #include "grenade/vx/network/abstract/multicompartment_hardware_resource_with_constraint.h" #include "grenade/vx/network/abstract/multicompartment_mechanism.h" @@ -42,7 +42,7 @@ protected: private: size_t m_mechanism_key_counter = 0; // Map over all Mechanisms on a Compartment - std::map<MechanismOnCompartment, common::detail::PropertyHolder<Mechanism>> m_mechanisms; + std::map<MechanismOnCompartment, common::PropertyHolder<Mechanism>> m_mechanisms; }; } // namespace abstract diff --git a/include/grenade/vx/network/abstract/multicompartment_environment.h b/include/grenade/vx/network/abstract/multicompartment_environment.h index b90781089ca0c378db9c167fb54e1becf1cab37d..e782408b5dc2d680facc18bec81f1882e244b3c3 100644 --- a/include/grenade/vx/network/abstract/multicompartment_environment.h +++ b/include/grenade/vx/network/abstract/multicompartment_environment.h @@ -1,6 +1,6 @@ #pragma once -#include "grenade/common/detail/property_holder.h" +#include "grenade/common/property_holder.h" #include "grenade/vx/network/abstract/multicompartment_compartment_on_neuron.h" #include "grenade/vx/network/abstract/multicompartment_synaptic_input_environment.h" #include <map> @@ -10,9 +10,7 @@ namespace abstract GENPYBIND_TAG_GRENADE_VX_NETWORK { struct GENPYBIND(visible) SYMBOL_VISIBLE Environment { - std::map< - CompartmentOnNeuron, - std::vector<common::detail::PropertyHolder<SynapticInputEnvironment>>> + std::map<CompartmentOnNeuron, std::vector<common::PropertyHolder<SynapticInputEnvironment>>> synaptic_connections; }; diff --git a/include/grenade/vx/network/abstract/multicompartment_hardware_constraint.h b/include/grenade/vx/network/abstract/multicompartment_hardware_constraint.h index b74a3bf912162e62d898ed116178535c524fe714..7accb89d38f00ba0d9b4be22efcffaa66a62311c 100644 --- a/include/grenade/vx/network/abstract/multicompartment_hardware_constraint.h +++ b/include/grenade/vx/network/abstract/multicompartment_hardware_constraint.h @@ -10,7 +10,7 @@ namespace grenade::vx::network::abstract { struct SYMBOL_VISIBLE HardwareConstraint : common::Property<HardwareConstraint> { NumberTopBottom numbers; - common::detail::PropertyHolder<HardwareResource> resource; + common::PropertyHolder<HardwareResource> resource; // Property Methods std::unique_ptr<HardwareConstraint> copy() const; diff --git a/include/grenade/vx/network/abstract/multicompartment_hardware_resource.h b/include/grenade/vx/network/abstract/multicompartment_hardware_resource.h index a98bdd0febe3e7c745314659456728a3ef7f7510..86a2da98e1400b8ea4a0c7f0ec9c15a332c8f10a 100644 --- a/include/grenade/vx/network/abstract/multicompartment_hardware_resource.h +++ b/include/grenade/vx/network/abstract/multicompartment_hardware_resource.h @@ -1,8 +1,8 @@ #pragma once -#include "grenade/common/detail/property_holder.h" #include "grenade/common/empty_property.h" #include "grenade/common/property.h" +#include "grenade/common/property_holder.h" namespace grenade::vx::network::abstract { diff --git a/include/grenade/vx/network/abstract/multicompartment_hardware_resource_with_constraint.h b/include/grenade/vx/network/abstract/multicompartment_hardware_resource_with_constraint.h index a477e8b3a9a843532881b704fe62357759c45c38..9dbfb1b6c66f0a3e43ae3cff5ae2d861f5a2901f 100644 --- a/include/grenade/vx/network/abstract/multicompartment_hardware_resource_with_constraint.h +++ b/include/grenade/vx/network/abstract/multicompartment_hardware_resource_with_constraint.h @@ -1,6 +1,6 @@ #pragma once -#include "grenade/common/detail/property_holder.h" +#include "grenade/common/property_holder.h" #include "grenade/vx/network/abstract/multicompartment_hardware_constraint.h" #include "grenade/vx/network/abstract/multicompartment_hardware_resource.h" #include <vector> @@ -9,8 +9,8 @@ namespace grenade::vx::network::abstract { struct SYMBOL_VISIBLE HardwareResourcesWithConstraints { - std::vector<common::detail::PropertyHolder<HardwareResource>> resources; - std::vector<common::detail::PropertyHolder<HardwareConstraint>> constraints; + std::vector<common::PropertyHolder<HardwareResource>> resources; + std::vector<common::PropertyHolder<HardwareConstraint>> constraints; }; diff --git a/include/grenade/vx/network/abstract/multicompartment_resource_manager.h b/include/grenade/vx/network/abstract/multicompartment_resource_manager.h index 19f1d7b79925915217ce88e7960409260931b154..394035802a180147956f0413cc9854d184e6df94 100644 --- a/include/grenade/vx/network/abstract/multicompartment_resource_manager.h +++ b/include/grenade/vx/network/abstract/multicompartment_resource_manager.h @@ -1,6 +1,6 @@ #pragma once -#include "grenade/common/detail/property_holder.h" +#include "grenade/common/property_holder.h" #include "grenade/vx/network/abstract/multicompartment_compartment_on_neuron.h" #include "grenade/vx/network/abstract/multicompartment_environment.h" #include "grenade/vx/network/abstract/multicompartment_hardware_resource/capacitance.h" @@ -24,7 +24,7 @@ struct GENPYBIND(visible) SYMBOL_VISIBLE ResourceManager NumberTopBottom const& get_config(CompartmentOnNeuron const& compartment) const; private: - std::map<CompartmentOnNeuron, common::detail::PropertyHolder<NumberTopBottom>> resource_map; + std::map<CompartmentOnNeuron, common::PropertyHolder<NumberTopBottom>> resource_map; }; diff --git a/src/grenade/vx/network/abstract/multicompartment_mechanism/capacitance.cpp b/src/grenade/vx/network/abstract/multicompartment_mechanism/capacitance.cpp index f3bc8ffa3b1fdde88aa61e84822a9447aadb91dc..7bad4995aa0bf4a3ddf7d72a6e93d15ccc86a1d8 100644 --- a/src/grenade/vx/network/abstract/multicompartment_mechanism/capacitance.cpp +++ b/src/grenade/vx/network/abstract/multicompartment_mechanism/capacitance.cpp @@ -25,7 +25,7 @@ HardwareResourcesWithConstraints MechanismCapacitance::get_hardware( { double capacity_convert = 5; // TO-DO HardwareResourcesWithConstraints resources_with_constraints; - std::vector<common::detail::PropertyHolder<HardwareResource>> resource_list; + std::vector<common::PropertyHolder<HardwareResource>> resource_list; double capacitance_model = parameter_space.capacitance_interval.get_upper(); int num_of_hardware_resources; diff --git a/src/grenade/vx/network/abstract/multicompartment_mechanism/synaptic_conductance.cpp b/src/grenade/vx/network/abstract/multicompartment_mechanism/synaptic_conductance.cpp index 06999dc790720669a1f17dad4ff0132ee9a33259..69d956e938ac864b6c4f3a50d8c3ee06ba7bf97f 100644 --- a/src/grenade/vx/network/abstract/multicompartment_mechanism/synaptic_conductance.cpp +++ b/src/grenade/vx/network/abstract/multicompartment_mechanism/synaptic_conductance.cpp @@ -38,13 +38,13 @@ HardwareResourcesWithConstraints MechanismSynapticInputConductance::get_hardware { // Return Object and Input HardwareResourcesWithConstraints resources_with_constraints; - std::vector<common::detail::PropertyHolder<HardwareResource>> resource_list; - std::vector<common::detail::PropertyHolder<HardwareConstraint>> constraint_list; + std::vector<common::PropertyHolder<HardwareResource>> resource_list; + std::vector<common::PropertyHolder<HardwareConstraint>> constraint_list; if (environment.synaptic_connections.find(compartment) == environment.synaptic_connections.end()) { throw std::invalid_argument(" No information about this compartment in environment"); } - std::vector<common::detail::PropertyHolder<SynapticInputEnvironment>> synaptic_inputs = + std::vector<common::PropertyHolder<SynapticInputEnvironment>> synaptic_inputs = environment.synaptic_connections.at(compartment); // Loop over all Synaptic Inputs of Compartment diff --git a/src/grenade/vx/network/abstract/multicompartment_mechanism/synaptic_current.cpp b/src/grenade/vx/network/abstract/multicompartment_mechanism/synaptic_current.cpp index 1df1e2b04166cc8735814b36eff38514726a05ce..e7b9f180a196444df8dc40231718abb2133d9548 100644 --- a/src/grenade/vx/network/abstract/multicompartment_mechanism/synaptic_current.cpp +++ b/src/grenade/vx/network/abstract/multicompartment_mechanism/synaptic_current.cpp @@ -36,13 +36,13 @@ HardwareResourcesWithConstraints MechanismSynapticInputCurrent::get_hardware( { // Return Object and Input HardwareResourcesWithConstraints resources_with_constraints; - std::vector<common::detail::PropertyHolder<HardwareResource>> resource_list; - std::vector<common::detail::PropertyHolder<HardwareConstraint>> constraint_list; + std::vector<common::PropertyHolder<HardwareResource>> resource_list; + std::vector<common::PropertyHolder<HardwareConstraint>> constraint_list; if (environment.synaptic_connections.find(compartment) == environment.synaptic_connections.end()) { throw std::invalid_argument(" No information about this compartment in environment"); } - std::vector<common::detail::PropertyHolder<SynapticInputEnvironment>> synaptic_inputs = + std::vector<common::PropertyHolder<SynapticInputEnvironment>> synaptic_inputs = environment.synaptic_connections.at(compartment); // Loop over all Synaptic Inputs of Compartment diff --git a/src/grenade/vx/network/abstract/multicompartment_resource_manager_.cpp b/src/grenade/vx/network/abstract/multicompartment_resource_manager_.cpp index d143acb902998d21fec2356ebb13b7b387e3f0ea..47be7cc8c122f7bd569c30c75bdc226fe54fa910 100644 --- a/src/grenade/vx/network/abstract/multicompartment_resource_manager_.cpp +++ b/src/grenade/vx/network/abstract/multicompartment_resource_manager_.cpp @@ -15,10 +15,9 @@ CompartmentOnNeuron ResourceManager::add_config( NumberTopBottom neuron_circuit_config; // Two Vectors to count Requestes Resources to find maximum later (Vectors instead of map since // PropertyHolder is neither comparable nor hashable) - std::vector<common::detail::PropertyHolder<HardwareResource>> - resource_request_counter_hardware = { - HardwareResourceCapacity(), HardwareResourceSynapticInputExitatory(), - HardwareResourceSynapticInputInhibitory()}; + std::vector<common::PropertyHolder<HardwareResource>> resource_request_counter_hardware = { + HardwareResourceCapacity(), HardwareResourceSynapticInputExitatory(), + HardwareResourceSynapticInputInhibitory()}; std::vector<NumberTopBottom> resource_request_counter_numbers = { NumberTopBottom(0, 0, 0), NumberTopBottom(0, 0, 0), NumberTopBottom(0, 0, 0)}; diff --git a/tests/sw/grenade/common/test-property_holder.cpp b/tests/sw/grenade/common/test-property_holder.cpp index 4bd49c16a6eabb8a82d73b5db47ea6b3e6e2858e..4412eb14ee9efd5f5a7e7ee9a82ce2dbf5e9e8fe 100644 --- a/tests/sw/grenade/common/test-property_holder.cpp +++ b/tests/sw/grenade/common/test-property_holder.cpp @@ -1,4 +1,4 @@ -#include "grenade/common/detail/property_holder.h" +#include "grenade/common/property_holder.h" #include "grenade/common/empty_property.h" #include "grenade/common/property.h" @@ -42,7 +42,7 @@ protected: TEST(PropertyHolder, General) { DerivedDummyProperty derived_dummy_5{5}; - grenade::common::detail::PropertyHolder<DummyProperty> holder_5(derived_dummy_5); + grenade::common::PropertyHolder<DummyProperty> holder_5(derived_dummy_5); EXPECT_TRUE(holder_5); EXPECT_NO_THROW(*holder_5); @@ -63,7 +63,7 @@ TEST(PropertyHolder, General) EXPECT_EQ(holder_5, holder_5); DerivedDummyProperty derived_dummy_7{7}; - grenade::common::detail::PropertyHolder<DummyProperty> holder_7(std::move(derived_dummy_7)); + grenade::common::PropertyHolder<DummyProperty> holder_7(std::move(derived_dummy_7)); auto const holder_7_copy = holder_7; diff --git a/tests/sw/grenade/vx/network/abstract/test-multicompartment_resources.cpp b/tests/sw/grenade/vx/network/abstract/test-multicompartment_resources.cpp index 77e46890d5a65d69005582a0c9a863c87238bc23..cac585f9bf28f3396101fcc96db1f5b4e3b3900c 100644 --- a/tests/sw/grenade/vx/network/abstract/test-multicompartment_resources.cpp +++ b/tests/sw/grenade/vx/network/abstract/test-multicompartment_resources.cpp @@ -83,7 +83,7 @@ TEST(multicompartment_neuron, Resources) SynapticInputEnvironmentCurrent synaptic_input_current_a(true, 128); SynapticInputEnvironmentCurrent synaptic_input_current_b(false, 512); - std::vector<grenade::common::detail::PropertyHolder<SynapticInputEnvironment>> + std::vector<grenade::common::PropertyHolder<SynapticInputEnvironment>> synaptic_input_on_compartment_a = {synaptic_input_current_a, synaptic_input_current_b}; environment.synaptic_connections.emplace( compartment_a_on_neuron, synaptic_input_on_compartment_a); @@ -92,7 +92,7 @@ TEST(multicompartment_neuron, Resources) SynapticInputEnvironmentConductance synaptic_input_conductance_b( true, NumberTopBottom(200, 100, 0)); - std::vector<grenade::common::detail::PropertyHolder<SynapticInputEnvironment>> + std::vector<grenade::common::PropertyHolder<SynapticInputEnvironment>> synaptic_input_on_compartment_b = { synaptic_input_conductance_a, synaptic_input_conductance_b}; environment.synaptic_connections.emplace(