6#include <xtd/collections/generic/list>
7#include <xtd/icomparable>
8#include <xtd/iequatable>
74 template<
typename type_t>
79 codepoints_().add(
static_cast<char32>(codepoint));
82 template<
typename type_t>
86 for (
const auto& codepoint : codepoints)
87 codepoints_().add(
static_cast<char32>(codepoint));
90 template<
typename type_t>
91 emoticon(
const xtd::string& name, type_t codepoint) {
97 template<
typename type_t>
98 explicit emoticon(std::initializer_list<type_t> codepoints) {
100 for (
auto codepoint : codepoints)
101 codepoints_().add(
static_cast<xtd::char32>(codepoint));
104 template<
typename type_t>
105 explicit emoticon(
const xtd::array<type_t>& codepoints) {
107 for (
auto codepoint : codepoints)
108 codepoints_().add(
static_cast<xtd::char32>(codepoint));
111 template<
typename type_t>
112 explicit emoticon(type_t codepoint) {
114 codepoints_({
static_cast<xtd::char32>(codepoint)});
118 emoticon(
const emoticon& other);
119 auto operator =(
const emoticon& other) -> emoticon&;
127 [[nodiscard]]
auto name() const noexcept -> const
xtd::
string&;
152 [[nodiscard]] auto
equals(const
xtd::
object& obj) const noexcept ->
bool override;
156 [[nodiscard]] auto
equals(const
emoticon& other) const noexcept ->
bool override;
168 auto create_data() ->
void;
169 auto name_(const
xtd::
string&
name) ->
void;
179 return value_a.to_string() + value_b.to_string();
183 return value_a.to_string() + value_b;
187 return value_a.to_string() + value_b;
191 return value_a + value_b.to_string();
194 inline auto operator +(
const char* value_a,
const xtd::forms::emoticon& value_b) ->
xtd::string {
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:64
auto to_string() const noexcept -> basic_string< char > override
Converts the value of this instance to a xtd::basic_string <char>.
Definition basic_string.hpp:915
Defines a generalized comparison method that a value type or class implements to create a type-specif...
Definition icomparable.hpp:22
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:23
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:45
#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
xtd::shared_ptr_object< type_t > sptr
The xtd::sptr object is a shared pointer.
Definition sptr.hpp:25
std::int32_t int32
Represents a 32-bit signed integer.
Definition int32.hpp:25
std::size_t usize
Represents an unsigned size of any object in bytes.
Definition usize.hpp:22
char32_t char32
Represents a 32-bit unicode character.
Definition char32.hpp:23
The xtd::collections namespace contains interfaces and classes that define various collections of obj...
Definition any_pair.hpp:10
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
constexpr auto data() const noexcept -> const_pointer
Gets direct access to the underlying contiguous storage.
Definition read_only_span.hpp:197