Skip to content

Instantly share code, notes, and snippets.

@meki
meki / List2D.cs
Created Nov 12, 2015
2次元の List (foreach, LINQ 使用可) ref: http://qiita.com/_meki/items/306cf7c99c04b65431f7
View List2D.cs
using System.Linq;
namespace System.Collections.Generic
{
public class List2D<T> : IEnumerable<List2dIndexer<T>> where T : new()
{
public List2D(int w, int h)
{
mWidth = w;
mHeight = h;
@meki
meki / file0.cpp
Created Oct 9, 2015
文字列を指定した区切り文字列で分割する関数 ref: http://qiita.com/_meki/items/4328c98964ea33b0db0d
View file0.cpp
#include <string>
template <typename List>
void split(const std::string& s, const std::string& delim, List& result)
{
result.clear();
using string = std::string;
string::size_type pos = 0;
View Main.cpp
#include <iostream>
#include "immutable.hpp"
#include <vector>
#include <list>
#include <string>
#include <cassert>
using namespace std;
int main(void){
@meki
meki / InvertedSphere.cs
Created Jun 6, 2015
Cube や Sphere の内壁で衝突判定したい ref: http://qiita.com/_meki/items/b5c12eeee125d868e92d
View InvertedSphere.cs
using UnityEngine;
using UnityEditor;
public class InvertedSphere : EditorWindow {
private string st = "1.0";
[MenuItem("GameObject/Create Other/Inverted Sphere...")]
public static void ShowWindow() {
EditorWindow.GetWindow(typeof(InvertedSphere));
}
@meki
meki / Image2D.h
Created May 6, 2015
Scala で pgm 形式画像を作って保存する ref: http://qiita.com/_meki/items/e718082651fa275b9857
View Image2D.h
#include <sstream>
#include <vector>
#include <random>
#include <cstdio>
// 2次元画像クラス
class Image2D {
public:
// Int に Pixel という別名をつける
@meki
meki / Converter.h
Last active Aug 29, 2015
Byte <--> Ushort, Short Converter
View Converter.h
struct Converter
{
static unsigned short UShort(unsigned char b1, unsigned char b2)
{
return (unsigned short)( (0xff00 & (b2 << 8)) | (0x00ff & (b1 << 0)) );
}
static short Short(unsigned char b1, unsigned char b2)
{
@meki
meki / FixedQueue.h
Last active Aug 29, 2015
固定長キュークラス
View FixedQueue.h
#include <deque>
/**
* 固定長キュークラス
*/
template <typename T>
class FixedQueue
{
public:
@meki
meki / CurryImpl.h
Created Mar 28, 2015
C++ でカリー化関数を書いてみる(2変数限定) ref: http://qiita.com/_meki/items/742ce9788f03cee51070
View CurryImpl.h
/** A -> (B -> C) 型の関数オブジェクト */
template <typename A, typename B, typename C>
struct CurryImpl {
// コンストラクタでオリジナルの関数をキャプチャ
CurryImpl(function<C(A, B)>& f) : mFunc(f) {}
/** B -> C 型の関数オブジェクトをリターンする */
function< C(B) > operator () (A& a) {
return CurryImpl2(mFunc, a);
@meki
meki / file0.cs
Created Jan 3, 2015
C# プログラムからワード文書を作成編集する方法 ref: http://qiita.com/_meki/items/ef064d8861bda4363562
View file0.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Office.Interop.Word;
using Word = Microsoft.Office.Interop.Word;
namespace WordSample
{
@meki
meki / file0.java
Created Dec 3, 2014
Canvas を使ってタイル画像を敷き詰める ref: http://qiita.com/_meki/items/a9a465d1d03c0340ad25
View file0.java
/**
* タイル画像をキャンバス上に敷き詰める.
* @param canvas 描画用キャンバス.
* @param resource リソースオブジェクト.
* @param resourceId タイル画像のリソースID.
*/
public static void fillByTile(@NonNull Canvas canvas,
@NonNull Resources resource,
@DrawableRes int resourceId)
{