OSDN Git Service

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