OSDN Git Service

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