5#include "../forms_export.hpp"
6#include <xtd/iequatable>
60 explicit emoticon(std::initializer_list<char32> codepoints);
64 explicit emoticon(
const std::vector<char32>& codepoints);
72 template<
typename type_t>
76 for (
auto codepoint : codepoints)
77 codepoints_().push_back(static_cast<
char32>(codepoint));
80 template<
typename type_t>
84 for (
auto codepoint : codepoints)
85 codepoints_().push_back(static_cast<
char32>(codepoint));
88 template<
typename type_t>
89 emoticon(
const xtd::string& name, type_t codepoint) {
92 codepoints_({
static_cast<char32>(codepoint)});
95 template<
typename type_t>
96 explicit emoticon(std::initializer_list<type_t> codepoints) {
98 for (
auto codepoint : codepoints)
99 codepoints_().push_back(static_cast<
char32>(codepoint));
102 template<
typename type_t>
103 explicit emoticon(
const std::vector<type_t>& codepoints) {
105 for (
auto codepoint : codepoints)
106 codepoints_().push_back(static_cast<
char32>(codepoint));
109 template<
typename type_t>
110 explicit emoticon(type_t codepoint) {
112 codepoints_({
static_cast<char32>(codepoint)});
116 emoticon(
const emoticon& other);
117 emoticon& operator =(
const emoticon& other);
129 const std::vector<
char32>& codepoints() const noexcept;
135 using
object::equals;
136 bool equals(const
emoticon& value) const noexcept override;
140 xtd::
string to_string() const noexcept override;
145 void name_(const
string& name);
146 std::vector<
char32>& codepoints_();
147 void codepoints_(std::vector<
char32>&& codepoints);
156 return value_a.to_string() + value_b.to_string();
Represents text as a sequence of character units.
Definition basic_string.hpp:79
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:22
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:42
#define forms_export_
Define shared library export.
Definition forms_export.hpp:13
xtd::basic_string< char > string
Represents text as a sequence of UTF-8 code units.
Definition __string_definitions.hpp:43
char32_t char32
Represents a 32-bit unicode character.
Definition char32.hpp:26
std::shared_ptr< type_t > sptr
The xtd::sptr object is a shared pointer.
Definition sptr.hpp:25
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10