OSDN Git Service

Copied remotely
[nyartoolkit-and/nyartoolkit-and.git] / branches / 1.2.0-last / src / jp / nyatla / util / ShortPointer.java
1 package jp.nyatla.util;\r
2 \r
3 public class ShortPointer {\r
4         private short[] array_ref;              //配列\r
5         private int array_offset;               //配列に対する基準値\r
6         private int position;                   //array_offsetに対する現在位置\r
7         public static ShortPointer wrap(short[] i_array_ref,int i_offset)\r
8         {\r
9                 return new ShortPointer(i_array_ref,i_offset);\r
10         }\r
11         public static ShortPointer wrap(ShortPointer i_inst,int i_offset)\r
12         {\r
13                 return new ShortPointer(i_inst.array_ref,i_inst.array_offset+i_inst.position+i_offset);\r
14         }\r
15         public void set(short i_value)\r
16         {\r
17                 array_ref[array_offset+position]=i_value;               \r
18         }\r
19         public void set(int i_rel_positon,short i_value)\r
20         {\r
21                 array_ref[array_offset+position+i_rel_positon]=i_value;\r
22         }\r
23         /**\r
24          * カレント位置の値を取得する\r
25          * @return\r
26          */\r
27         public short get()\r
28         {\r
29                 return array_ref[array_offset+position];\r
30         }\r
31         /**\r
32          * カレント位置から+i_slideの位置にある値を取得する。\r
33          * @param i_step\r
34          * @return\r
35          */\r
36         public short get(int i_slide)\r
37         {\r
38                 return array_ref[array_offset+position+i_slide];\r
39         }\r
40         public void incPtr()\r
41         {\r
42                 position++;\r
43         }\r
44         public void addPtr(int v)\r
45         {\r
46                 position+=v;\r
47         }\r
48         private ShortPointer(short[] i_array_ref,int i_base_point)\r
49         {\r
50                 array_offset    =i_base_point;\r
51                 array_ref               =i_array_ref;\r
52                 position                =0;\r
53         }\r
54 //      public BytePointer()\r
55 //      {\r
56 //              array_offset    =0;\r
57 //              array_ref               =new int[1];\r
58 //              position                =0;\r
59 //      }\r
60 }\r