rt-vamp-plugin-sdk  0.3.1
Real-time Vamp plugin SDK for C++20
PluginKey.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 #include <string_view>
5 
6 namespace rtvamp::hostsdk {
7 
17 class PluginKey {
18 public:
19  PluginKey(const char* key);
20  PluginKey(std::string key);
21  PluginKey(std::string_view key);
22  PluginKey(std::string_view library, std::string_view identifier);
23 
24  std::string_view get() const noexcept { return key_; }
25  std::string_view getLibrary() const noexcept;
26  std::string_view getIdentifier() const noexcept;
27 
28  auto operator<=>(const PluginKey&) const = default;
29 
30 private:
31  std::string key_;
32  size_t pos_;
33 };
34 
35 } // namespace rtvamp::hostsdk
rtvamp::hostsdk::PluginKey::operator
auto operator(const PluginKey &) const =default
rtvamp::hostsdk::PluginKey::getIdentifier
std::string_view getIdentifier() const noexcept
rtvamp::hostsdk::PluginKey::getLibrary
std::string_view getLibrary() const noexcept
rtvamp::hostsdk::PluginKey::get
std::string_view get() const noexcept
Definition: PluginKey.hpp:24
rtvamp::hostsdk
Definition: Plugin.hpp:12
rtvamp::hostsdk::PluginKey::PluginKey
PluginKey(const char *key)
rtvamp::hostsdk::PluginKey
Identifier for a plugin uniquely within the scope of the current system.
Definition: PluginKey.hpp:17