5#define __XTD_CORE_INTERNAL__
8#undef __XTD_CORE_INTERNAL__
27#define __XTD_ARRAY_INTERNAL__
30#undef __XTD_ARRAY_INTERNAL__
62 template<
class type_t, xtd::size rank_,
class allocator_t>
63 class array :
public basic_array<type_t, allocator_t> {
81 array(
const array<xtd::size, 1>& lengths) :
xtd::basic_array<type_t, allocator_t>(lengths) {}
86 array(array&& array) =
default;
103 friend class array<>;
108#define __XTD_ARRAY_INTERNAL__
114#undef __XTD_ARRAY_INTERNAL__
115#define __XTD_CORE_INTERNAL__
117#undef __XTD_CORE_INTERNAL__
120template<
class source_t>
123 auto chunks = __opaque_xtd_linq_enumerable_collection__<xtd::array<source_t>> {};
124 chunks = __opaque_xtd_linq_enumerable_collection__<xtd::array<source_t>> {};
125 auto chunk = std::vector<source_t> {};
126 for (
auto index =
size_t {0};
const auto& item : source) {
127 chunk.push_back(item);
128 if (++index %
size == 0) {
129 chunks.items.push_back(
chunk);
130 chunk = std::vector<source_t> {};
133 if (
chunk.size() != 0) chunks.items.push_back(
chunk);
Contains xtd::array definitions.
Contains xtd_raw_array_data class.
Contains xtd::abstract_object class.
Contains xtd::array <type_t, 1> class.
Contains xtd::array <type_t, 2> class.
Contains xtd::array <type_t, 3> class.
Contains xtd::array class.
Contains xtd::array_abstract_object class.
Contains xtd::array <> class.
Contains xtd::basic_array class.
Provides methods for creating, manipulating, searching, and sorting arrays, thereby serving as the ba...
Definition array.hpp:63
array(const array< xtd::size, 1 > &lengths)
Initializes a new instance of the array class with lengths for each rank specified.
Definition array.hpp:81
xtd::size rank() const noexcept override
Gets the rank (number of dimensions) of the array.
Definition array.hpp:92
array()=default
Initializes a new instance of the array class that is empty.
Base object that represent array.
Definition basic_array.hpp:27
static void throws(xtd::helpers::exception_case exception_case, const source_location &location=source_location::current())
Throws an exption with specified exception case.
static auto chunk(const ienumerable< source_t > &source, xtd::size size)
Splits the elements of a sequence into chunks of size at most size.
Contains core_export_ keyword.
Contains xtd::collections::generic::helpers::equator struct.
Contains xtd::collections::generic::comparer <type_t> class.
Contains xtd::collections::generic::enumerator <type_t> class.
Contains xtd::collections::generic::icomparer <type_t> interface.
Contains xtd::collections::generic::ilist <type_t> interface.
@ argument_out_of_range
The argument is out of range.
Definition exception_case.hpp:35
size_t size
Represents a size of any object in bytes.
Definition size.hpp:23
Contains xtd::iequatable interface.
Contains xtd::int64 type.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition abstract_object.hpp:8
Contains xtd::new_ptr method.
Contains xtd::null pointer valiue.
Contains xtd::object class.
Contains xtd::static_object class.
Contains xtd::helpers::exception_case enum class.