19 #ifndef UNITY_SCOPES_TESTING_SCOPEMETADATA_BUILDER_H
20 #define UNITY_SCOPES_TESTING_SCOPEMETADATA_BUILDER_H
22 #include <unity/scopes/ScopeMetadata.h>
35 class ScopeMetadataBuilder
42 inline Optional() =
default;
43 inline Optional(
const T& t) : value(new T{t})
47 inline operator bool()
const
49 return value.get() !=
nullptr;
52 inline Optional<T>& operator=(
const T& rhs)
57 value.reset(
new T{rhs});
62 inline Optional<T>& operator=(
const Optional<T>& rhs)
72 inline const T& operator*()
const
78 std::unique_ptr<T> value;
81 ScopeMetadataBuilder();
82 ~ScopeMetadataBuilder();
84 ScopeMetadataBuilder& scope_id(std::string
const& value);
85 ScopeMetadataBuilder& proxy(
ScopeProxy const& value);
86 ScopeMetadataBuilder& display_name(std::string
const& value);
87 ScopeMetadataBuilder& description(std::string
const& value);
88 ScopeMetadataBuilder& art(Optional<std::string>
const& value);
89 ScopeMetadataBuilder& icon(Optional<std::string>
const& value);
90 ScopeMetadataBuilder& search_hint(Optional<std::string>
const& value);
91 ScopeMetadataBuilder& hot_key(Optional<std::string>
const& value);
92 ScopeMetadataBuilder& invisible(Optional<bool> value);
94 ScopeMetadata operator()()
const;
98 std::unique_ptr<Private> p;
std::shared_ptr< Scope > ScopeProxy
Convenience type definition.
Definition: ScopeProxyFwd.h:35