@@ -21,33 +21,27 @@ namespace Terminfo
21
21
class Capabilities
22
22
{
23
23
private:
24
- static const constexpr std::size_t m_booleans_size{37 };
25
- static const std::array<Capability , m_booleans_size> m_booleans;
26
- static const constexpr std::size_t m_intergers_size{33 };
27
- static const std::array<Capability , m_intergers_size> m_integers;
28
- static const constexpr std::size_t m_strings_size{405 };
29
- static const std::array<Capability , m_strings_size> m_strings;
24
+ static const constexpr std::size_t m_booleans_size{37 };
25
+ static const std::array<BooleanCapability , m_booleans_size> m_booleans;
26
+ static const constexpr std::size_t m_intergers_size{33 };
27
+ static const std::array<IntegerCapability , m_intergers_size> m_integers;
28
+ static const constexpr std::size_t m_strings_size{405 };
29
+ static const std::array<StringCapability , m_strings_size> m_strings;
30
30
31
31
public:
32
- using boolean_const_iterator = std::array<Capability, m_booleans_size>::const_iterator;
33
- using integer_const_iterator = std::array<Capability, m_intergers_size>::const_iterator;
34
- using string_const_iterator = std::array<Capability, m_strings_size>::const_iterator;
35
- Boolean getBoolean (const std::string& str);
36
- Integer getInteger (const std::string& str);
37
- String getString (const std::string& str);
38
- Capability get (const Boolean & boolean) const { return m_booleans[static_cast <std::size_t >(boolean)]; }
39
- Capability get (const Integer& integer) const { return m_integers[static_cast <std::size_t >(integer)]; }
40
- Capability get (const String& string) const { return m_strings[static_cast <std::size_t >(string)]; }
41
- inline bool know (const std::string& name) const noexcept { return std::find (m_booleans.begin (), m_booleans.end (), name) != m_booleans.end () || std::find (m_integers.begin (), m_integers.end (), name) != m_integers.end () || std::find (m_strings.begin (), m_strings.end (), name) != m_strings.end (); }
42
- inline Capability::Type type (const std::string& name)
43
- {
44
- if (std::find (m_booleans.begin (), m_booleans.end (), name) != m_booleans.end ()) return Capability::Type::boolean;
45
- else if (std::find (m_integers.begin (), m_integers.end (), name) != m_integers.end ())
46
- return Capability::Type::integer;
47
- else if (std::find (m_strings.begin (), m_strings.end (), name) != m_strings.end ())
48
- return Capability::Type::string;
49
- else
50
- return Capability::Type::not_yet;
51
- }
32
+ using boolean_const_iterator = std::array<BooleanCapability, m_booleans_size>::const_iterator;
33
+ using integer_const_iterator = std::array<IntegerCapability, m_intergers_size>::const_iterator;
34
+ using string_const_iterator = std::array<StringCapability, m_strings_size>::const_iterator;
35
+ bool isBoolean (const std::string& name) const noexcept { return std::find (m_booleans.begin (), m_booleans.end (), name) != m_booleans.end (); }
36
+ bool isInteger (const std::string& name) const noexcept { return std::find (m_integers.begin (), m_integers.end (), name) != m_integers.end (); }
37
+ bool isString (const std::string& name) const noexcept { return std::find (m_strings.begin (), m_strings.end (), name) != m_strings.end (); }
38
+ Boolean getBoolean (const std::string& str);
39
+ Integer getInteger (const std::string& str);
40
+ String getString (const std::string& str);
41
+ BooleanCapability get (const Boolean & boolean) const { return m_booleans[static_cast <std::size_t >(boolean)]; }
42
+ IntegerCapability get (const Integer& integer) const { return m_integers[static_cast <std::size_t >(integer)]; }
43
+ StringCapability get (const String& string) const { return m_strings[static_cast <std::size_t >(string)]; }
44
+ inline bool know (const std::string& name) const noexcept { return isBoolean (name) || isInteger (name) || isString (name); }
52
45
};
46
+
53
47
} // namespace Terminfo
0 commit comments