6#include <OpenSim/Common/Component.h>
38 std::string_view name_,
39 std::string_view description_) :
42 m_Description{description_}
45 template<
typename... Args>
49 return m_Entries.emplace_back(std::forward<Args>(args)...);
54 std::string m_Description;
55 std::vector<ComponentRegistryEntryBase> m_Entries;
64 for (
size_t i = 0; i < registry.
size(); ++i) {
65 const OpenSim::Component& prototype = registry[i].prototype();
66 if (
typeid(prototype) ==
typeid(T)) {
Definition component_registry_base.h:20
ComponentRegistryBase(std::string_view name_, std::string_view description_)
Definition component_registry_base.h:37
const_iterator begin() const
Definition component_registry_base.h:31
size_t size_type
Definition component_registry_base.h:26
const_iterator end() const
Definition component_registry_base.h:32
osc::CStringView description() const
Definition component_registry_base.h:29
osc::CStringView name() const
Definition component_registry_base.h:28
reference emplace_back_erased(Args &&... args)
Definition component_registry_base.h:47
const_reference operator[](size_type pos) const
Definition component_registry_base.h:34
size_type size() const
Definition component_registry_base.h:33
Definition component_registry_entry_base.h:12
Definition c_string_view.h:12
Definition component_registry.h:14
std::optional< size_t > IndexOf(const ComponentRegistryBase &, std::string_view componentClassName)