[374] | 1 | TECS::Int8Pointer TECS::UInt8Pointer
|
---|
| 2 | TECS::Int16Pointer TECS::UInt16Pointer
|
---|
| 3 | TECS::Int32Pointer TECS::UInt32Pointer
|
---|
| 4 | TECS::Int64Pointer TECS::UInt64Pointer
|
---|
| 5 | TECS::CharPointer TECS::SCharPointer TECS::UCharPointer
|
---|
| 6 | TECS::IntPointer TECS::UIntPointer
|
---|
| 7 | TECS::ShortPointer TECS::UShortPointer
|
---|
| 8 | TECS::LongPointer TECS::ULongPointer
|
---|
| 9 | TECS::BoolPointer
|
---|
| 10 | TECS::Float32Pointer
|
---|
| 11 | TECS::Double64Pointer
|
---|
| 12 |
|
---|
| 13 | TECS のポインタ型の整数データ、浮動小数点データ、文字データを扱うため
|
---|
| 14 | の記憶域を扱います。これらのクラスは、シグニチャで使用されているものを
|
---|
| 15 | MrubyBridgePlugin プラグインが自動判別して生成します。
|
---|
| 16 |
|
---|
| 17 | ポインタ値そのものを渡すには intptr_t 型として渡すのが妥当です。
|
---|
| 18 |
|
---|
| 19 | C 言語の型とは、以下のように対応します。
|
---|
| 20 |
|
---|
| 21 | int8_t TECS::Int8Pointer
|
---|
| 22 | int16_t TECS::Int16Pointer
|
---|
| 23 | int32_t TECS::Int32Pointer
|
---|
| 24 | int64_t TECS::Int64Pointer
|
---|
| 25 | char_t TECS::CharPointer
|
---|
| 26 | schar_t TECS::SCharPointer
|
---|
| 27 | uchar_t TECS::UCharPointer
|
---|
| 28 | uint8_t TECS::UInt8Pointer
|
---|
| 29 | uint16_t TECS::UInt16Pointer
|
---|
| 30 | uint32_t TECS::UInt32Pointer
|
---|
| 31 | uint64_t TECS::UInt64Pointer
|
---|
| 32 | bool_t TECS::BoolPointer
|
---|
| 33 | float32_t TECS::Float32Pointer
|
---|
| 34 | double64_t TECS::Double64Pointer
|
---|
| 35 |
|
---|
| 36 | 非推奨の型
|
---|
| 37 | char TECS::CharPointer
|
---|
| 38 | int TECS::IntPointer
|
---|
| 39 | short TECS::ShortPointer
|
---|
| 40 | long TECS::LongPointer
|
---|
| 41 | signed char TECS::SCharPointer
|
---|
| 42 | unsigned char TECS::UCharPointer
|
---|
| 43 | unsigned int TECS::UIntPointer
|
---|
| 44 | unsigned short TECS::UShortPointer
|
---|
| 45 | unsigned long TECS::ULongPointer
|
---|
| 46 | float TECS::Float32Pointer
|
---|
| 47 | double TECS::Double64Pointer
|
---|
| 48 |
|
---|
| 49 | char, signed char, unsgined char は char_t, schar_t, uchar_t と見なされます。
|
---|
| 50 |
|
---|
| 51 | 【備考】
|
---|
| 52 | ターゲット環境において char, singed char, unsigned char のサイズが 1 バイトでは無い場合には、相違が生じる。
|
---|
| 53 |
|
---|
| 54 | == スーパークラス ==
|
---|
| 55 |
|
---|
| 56 | Object
|
---|
| 57 |
|
---|
| 58 | == クラスメソッド ==
|
---|
| 59 |
|
---|
| 60 | new( size )
|
---|
| 61 |
|
---|
| 62 | size の大きさを持つ記憶域を指すポインタを生成して返します。
|
---|
| 63 | size の単位は、要素の個数です。
|
---|
| 64 |
|
---|
| 65 | == メソッド ==
|
---|
| 66 |
|
---|
| 67 | self[ nth ]
|
---|
| 68 |
|
---|
| 69 | nth 番目の要素を返します。nth は 0..(length-1) の整数です。
|
---|
| 70 | '=' の左辺では、nth 番目の要素を右辺の値に置き換えます。
|
---|
| 71 |
|
---|
| 72 | nth に整数または浮動小数以外を渡した場合、例外が発生します。
|
---|
| 73 |
|
---|
| 74 | self[ nth ] = val
|
---|
| 75 |
|
---|
| 76 | 整数型のポインタの場合、値の範囲がチェックされます。
|
---|
| 77 | val の値が範囲を超える場合、例外が発生します。
|
---|
| 78 |
|
---|
| 79 | value
|
---|
| 80 |
|
---|
| 81 | ポインタの指す先の値を取り出します。
|
---|
| 82 | self[0] と同じです。
|
---|
| 83 |
|
---|
| 84 | value = val
|
---|
| 85 |
|
---|
| 86 | ポインタの指す先に値を設定します。
|
---|
| 87 | self[0] = val と同じです。
|
---|
| 88 |
|
---|
| 89 | length
|
---|
| 90 | size
|
---|
| 91 |
|
---|
| 92 | ポインタが指す要素の個数を返します。
|
---|
| 93 |
|
---|
| 94 | to_s
|
---|
| 95 |
|
---|
| 96 | CharPointer クラスでのみ使用できます。
|
---|
| 97 | mruby の String クラスのインスタンスに変換して返します。
|
---|
| 98 |
|
---|
| 99 | from_s
|
---|
| 100 |
|
---|
| 101 | CharPointer クラスでのみ使用できます。
|
---|
| 102 | mruby の文字列から CharPointer の指す記憶域に文字列をコピーします。
|
---|
| 103 |
|
---|
| 104 | new の際に確保された記憶域が用いられます。記憶域の大きさが文字列よりも短い場合には、記憶域の大きさに収まるようにコピーされます。
|
---|
| 105 | 記憶域よりも文字列が長い場合、記憶域の末尾に終端文字 '\0' は置かれません。
|
---|
| 106 |
|
---|