OSDN Git Service

初期インポート。
[nyartoolkit-and/nyartoolkit-android-0.9.git] / src / jp / nyatla / util / ShortPointer.java
diff --git a/src/jp/nyatla/util/ShortPointer.java b/src/jp/nyatla/util/ShortPointer.java
new file mode 100644 (file)
index 0000000..7c75a1a
--- /dev/null
@@ -0,0 +1,60 @@
+package jp.nyatla.util;\r
+\r
+public class ShortPointer {\r
+       private short[] array_ref;              //配列\r
+       private int array_offset;               //配列に対する基準値\r
+       private int position;                   //array_offsetに対する現在位置\r
+       public static ShortPointer wrap(short[] i_array_ref,int i_offset)\r
+       {\r
+               return new ShortPointer(i_array_ref,i_offset);\r
+       }\r
+       public static ShortPointer wrap(ShortPointer i_inst,int i_offset)\r
+       {\r
+               return new ShortPointer(i_inst.array_ref,i_inst.array_offset+i_inst.position+i_offset);\r
+       }\r
+       public void set(short i_value)\r
+       {\r
+               array_ref[array_offset+position]=i_value;               \r
+       }\r
+       public void set(int i_rel_positon,short i_value)\r
+       {\r
+               array_ref[array_offset+position+i_rel_positon]=i_value;\r
+       }\r
+       /**\r
+        * カレント位置の値を取得する\r
+        * @return\r
+        */\r
+       public short get()\r
+       {\r
+               return array_ref[array_offset+position];\r
+       }\r
+       /**\r
+        * カレント位置から+i_slideの位置にある値を取得する。\r
+        * @param i_step\r
+        * @return\r
+        */\r
+       public short get(int i_slide)\r
+       {\r
+               return array_ref[array_offset+position+i_slide];\r
+       }\r
+       public void incPtr()\r
+       {\r
+               position++;\r
+       }\r
+       public void addPtr(int v)\r
+       {\r
+               position+=v;\r
+       }\r
+       private ShortPointer(short[] i_array_ref,int i_base_point)\r
+       {\r
+               array_offset    =i_base_point;\r
+               array_ref               =i_array_ref;\r
+               position                =0;\r
+       }\r
+//     public BytePointer()\r
+//     {\r
+//             array_offset    =0;\r
+//             array_ref               =new int[1];\r
+//             position                =0;\r
+//     }\r
+}\r