#pragma once #include #include #include namespace Targets { struct TargetPeripheralSignalDescriptor { public: std::string padName; std::optional index; TargetPeripheralSignalDescriptor( const std::string& padName, const std::optional& index ); TargetPeripheralSignalDescriptor(const TargetPeripheralSignalDescriptor& other) = delete; TargetPeripheralSignalDescriptor& operator = (const TargetPeripheralSignalDescriptor& other) = delete; TargetPeripheralSignalDescriptor(TargetPeripheralSignalDescriptor&& other) noexcept = default; TargetPeripheralSignalDescriptor& operator = (TargetPeripheralSignalDescriptor&& other) = default; [[nodiscard]] TargetPeripheralSignalDescriptor clone() const; }; }