#pragma once #include #include #include #include #include #include "TargetRegisterGroupDescriptor.hpp" namespace Targets { struct TargetPeripheralDescriptor { public: std::string key; std::string name; std::map> registerGroupDescriptorsByKey; TargetPeripheralDescriptor( const std::string& key, const std::string& name, const std::map>& registerGroupDescriptorsByKey ); std::optional> tryGetRegisterGroupDescriptor( std::string_view keyStr ) const; const TargetRegisterGroupDescriptor& getRegisterGroupDescriptor(std::string_view key) const; }; }