mFrame
載入中...
搜尋中...
無符合項目
PArray.h
1
7#ifndef MFRAME_0E2A0367_7E28_4A65_A6DE_C5C912A9EE71
8#define MFRAME_0E2A0367_7E28_4A65_A6DE_C5C912A9EE71
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15
16//----------------------------------------------------------------------------------------
17#include "./../lang/Memory.h"
18#include "./../util/Array.h"
19
20/* ***************************************************************************************
21 * Namespace
22 */
23namespace ufm::util {
24 class PArray;
25} // namespace ufm::util
26
27/* ***************************************************************************************
28 * Class/Interface/Struct/Enum
29 */
30
330 /* *************************************************************************************
331 * Variable
332 */
333 public:
335 int const vLength;
337 int const vElementSize;
338
339 /* *************************************************************************************
340 * Abstract Method
341 */
342
343 /* *************************************************************************************
344 * Construct Method
345 */
346 public:
353 PArray(ufm::lang::Memory memory, int elementSize) noexcept;
354
363 inline PArray(int length, int elementSize)
365 return;
366 }
367
375 PArray(PArray&& other) noexcept = default;
376
384 PArray(PArray& other) noexcept = default;
385
391 virtual ~PArray(void) override;
392
393 /* *************************************************************************************
394 * Operator Method
395 */
396 public:
403 template <typename E>
404 inline operator const Array<E>&(void) const {
405 const Array<>* src = this;
406 return *reinterpret_cast<const Array<E>*>(src);
407 }
408
415 template <typename E>
416 inline operator Array<E>&(void) {
417 Array<>* src = this;
418 return *reinterpret_cast<Array<E>*>(src);
419 }
420
421 /* *************************************************************************************
422 * Override Method - ufm::util::Array<void*>
423 */
424 public:
425 virtual int length(void) const override;
426
427 virtual int indexOf(void*& element) const override;
428
429 virtual void*& get(int index) const override;
430
431 virtual bool set(void* const& e, int index) override;
432
433 virtual int elementSize(void) const override;
434
435 /* *************************************************************************************
436 * Public Method
437 */
438
439 /* *************************************************************************************
440 * Protected Method
441 */
442
443 /* *************************************************************************************
444 * Protected Method
445 */
446
447 /* *************************************************************************************
448 * Private Method
449 */
450
451 /* *************************************************************************************
452 * Static Variable
453 */
454
455 /* *************************************************************************************
456 * Static Method
457 */
458};
459
460/* ***************************************************************************************
461 * End of file
462 */
463
464#endif /* MFRAME_0E2A0367_7E28_4A65_A6DE_C5C912A9EE71 */
動態記憶體管理類別
Definition Memory.h:38
Memory(const Data &data)
以 Data 物件初始化 Memory
指標陣列類別,實作動態大小的指標容器。
Definition PArray.h:329
int const vLength
陣列的長度(元素數量)
Definition PArray.h:335
PArray(PArray &other) noexcept=default
淺層複製構造函數
PArray(PArray &&other) noexcept=default
移動構造函數
virtual int length(void) const override
取得陣列長度
virtual int indexOf(void *&element) const override
搜尋元素位置
virtual bool set(void *const &e, int index) override
設置指定索引的元素值
virtual void *& get(int index) const override
取得指定索引的元素
PArray(int length, int elementSize)
構造指定長度和元素大小的指標陣列
Definition PArray.h:363
PArray(ufm::lang::Memory memory, int elementSize) noexcept
使用現有內存構造指標陣列
virtual int elementSize(void) const override
取得元素大小
virtual ~PArray(void) override
解構函數
int const vElementSize
每個元素的大小(位元組數)
Definition PArray.h:337
Definition Iterable.h:28
通用陣列介面,提供基本的陣列操作功能。
Definition Array.h:114