Xbyak::CastTo is removed
diff --git a/sample/bf.cpp b/sample/bf.cpp
index 6968920..20a0fd9 100644
--- a/sample/bf.cpp
+++ b/sample/bf.cpp
@@ -198,7 +198,7 @@
 		Brainfuck bf(ifs);
 		if (mode == 0) {
 			static int stack[128 * 1024];
-			bf.getCode<void (*)(void*, void*, int *)>()(Xbyak::CastTo<void*>(putchar), Xbyak::CastTo<void*>(getchar), stack);
+			bf.getCode<void (*)(const void*, const void*, int *)>()(reinterpret_cast<const void*>(putchar), reinterpret_cast<const void*>(getchar), stack);
 		} else {
 			dump(bf.getCode(), bf.getSize());
 		}
diff --git a/sample/static_buf.cpp b/sample/static_buf.cpp
index 7cf8038..0a8ff57 100644
--- a/sample/static_buf.cpp
+++ b/sample/static_buf.cpp
@@ -32,7 +32,7 @@
 
 inline int add(int a, int b)
 {
-	return Xbyak::CastTo<int (*)(int,int)>(buf)(a, b);
+	return reinterpret_cast<int (*)(int, int)>(buf)(a, b);
 }
 
 int main()
diff --git a/sample/test0.cpp b/sample/test0.cpp
index cd19e48..5a4d91b 100644
--- a/sample/test0.cpp
+++ b/sample/test0.cpp
@@ -77,7 +77,7 @@
 #ifdef XBYAK_VARIADIC_TEMPLATE
 		call(atoi);
 #else
-		call(Xbyak::CastTo<void*>(atoi));
+		call(reinterpret_cast<const void*>(atoi));
 #endif
 		add(esp, 4);
 #endif
@@ -96,7 +96,7 @@
 		mov(rax, (size_t)atoi);
 		jmp(rax);
 #else
-		jmp(Xbyak::CastTo<void*>(atoi));
+		jmp(reinterpret_cast<const void*>(atoi));
 #endif
 	}
 	int (*get() const)(const char *) { return getCode<int (*)(const char *)>(); }
@@ -171,8 +171,9 @@
 				return 1;
 			}
 			int (*func)(int) = s.getCode<int (*)(int)>();
-			if (Xbyak::CastTo<uint8*>(func) != p) {
-				fprintf(stderr, "internal error %p %p\n", p, Xbyak::CastTo<uint8*>(func));
+			const uint8 *funcp = reinterpret_cast<const uint8*>(func);
+			if (funcp != p) {
+				fprintf(stderr, "internal error %p %p\n", p, funcp);
 				return 1;
 			}
 			printf("0 + ... + %d = %d\n", 100, func(100));
diff --git a/sample/toyvm.cpp b/sample/toyvm.cpp
index 4dedad4..cd869ea 100644
--- a/sample/toyvm.cpp
+++ b/sample/toyvm.cpp
@@ -204,7 +204,7 @@
 					push(reg[r]);
 					push('A' + r);
 					push((int)str);
-					call(Xbyak::CastTo<void*>(printf));
+					call(reinterpret_cast<const void*>(printf));
 					add(esp, 4 * 4);
 					pop(ecx);
 					pop(edx);
diff --git a/test/sf_test.cpp b/test/sf_test.cpp
index 8988bb0..286ecd1 100644
--- a/test/sf_test.cpp
+++ b/test/sf_test.cpp
@@ -222,19 +222,19 @@
 {
 	switch (pNum) {
 	case 0:
-		check(1, Xbyak::CastTo<int (*)()>(f)());
+		check(1, reinterpret_cast<int (*)()>(f)());
 		return;
 	case 1:
-		check(11, Xbyak::CastTo<int (*)(int)>(f)(10));
+		check(11, reinterpret_cast<int (*)(int)>(f)(10));
 		return;
 	case 2:
-		check(111, Xbyak::CastTo<int (*)(int, int)>(f)(10, 100));
+		check(111, reinterpret_cast<int (*)(int, int)>(f)(10, 100));
 		return;
 	case 3:
-		check(1111, Xbyak::CastTo<int (*)(int, int, int)>(f)(10, 100, 1000));
+		check(1111, reinterpret_cast<int (*)(int, int, int)>(f)(10, 100, 1000));
 		return;
 	case 4:
-		check(11111, Xbyak::CastTo<int (*)(int, int, int, int)>(f)(10, 100, 1000, 10000));
+		check(11111, reinterpret_cast<int (*)(int, int, int, int)>(f)(10, 100, 1000, 10000));
 		return;
 	default:
 		printf("ERR pNum=%d\n", pNum);
diff --git a/xbyak/xbyak.h b/xbyak/xbyak.h
index 47494ef..679d24b 100644
--- a/xbyak/xbyak.h
+++ b/xbyak/xbyak.h
@@ -275,11 +275,6 @@
 #endif
 }
 
-template<class To, class From>
-inline const To CastTo(From p) throw()
-{
-	return (const To)(size_t)(p);
-}
 namespace inner {
 
 static const size_t ALIGN_PAGE_SIZE = 4096;
@@ -925,10 +920,10 @@
 	void dq(uint64 code) { db(code, 8); }
 	const uint8 *getCode() const { return top_; }
 	template<class F>
-	const F getCode() const { return CastTo<F>(top_); }
+	const F getCode() const { return reinterpret_cast<F>(top_); }
 	const uint8 *getCurr() const { return &top_[size_]; }
 	template<class F>
-	const F getCurr() const { return CastTo<F>(&top_[size_]); }
+	const F getCurr() const { return reinterpret_cast<F>(&top_[size_]); }
 	size_t getSize() const { return size_; }
 	void setSize(size_t size)
 	{
@@ -2200,7 +2195,7 @@
 	// call(function pointer)
 #ifdef XBYAK_VARIADIC_TEMPLATE
 	template<class Ret, class... Params>
-	void call(Ret(*func)(Params...)) { call(CastTo<const void*>(func)); }
+	void call(Ret(*func)(Params...)) { call(reinterpret_cast<const void*>(func)); }
 #endif
 	void call(const void *addr) { opJmpAbs(addr, T_NEAR, 0, 0xE8); }