約 3,947,362 件
https://w.atwiki.jp/norioyamamoto/pages/284.html
Template Twitter お知らせ お知らせ(常に表示) やまもとwikiについて やまもとブログ更新情報 動画 携帯 次の配信予定 流れるお知らせ 流れる飾り 流れる飾り2 現行スレ 配信の流れ
https://w.atwiki.jp/rpd123/pages/17.html
wikiの基本的な使い方と紹介のテンプレート wikiの使い方 テンプレート 1. wikiの編集の方法は上のメニューの[編集]>[このページの編集]から行います。 2. 基本的に編集の欄に文字を打てばそのまま表示され、改行はEnterを押せばできます。 文字の装飾をしたいときはlink_anchor plugin error 画像もしくは文字列を必ずどちらかを入力してください。 font(){}を使います。 また、画像を使いたいときには、はじめに画像アップのページに画像をアップロードしたあと、 ref()のコマンドを使ってください。 最後に、基本的にはスペースを入れても、表示されるときには自動で詰められてしまうのですが、 space()を用いると、半角スペースを使うことがで可能です。 3. 表を使うことも可能です。 | (Shift押しながら¥マークででます)で文章を囲って表を作ります。 4. 誰でも一度ではうまく行かないものなので、プレビューを見ながら何度も修正して仕上げていって下さい。 また左メニューにある練習ページは好きに編集してもらって構いません。 各コマンドの使い方 font(){} = font(ここにコマンド){装飾したい文字} パラメーター 説明 i 斜体表示 b 強調表示 o 上線 u 下線 l 取り消し線 色コード 文字色を変更します。2つ指定すると2つ目は背景色となります フォントサイズ フォントのサイズを指定します。単位(、px、pt、em) 解説:このコマンド1つでいろいろな文字の装飾ができます。2つ以上の装飾を同時にしたい場合は()内に,で区切って入力。 ※色の変更は#cc3300のようなコードを使いますが、blue,red,green,pinkなど一部の色はアルファベット入力でもでるようです。 例: font(20px){文字の大きさの変更}=文字の大きさの変更 font(b,blue){太さと色の変更}=太さと色の変更 #ref() = #ref(ファイルの名前,ファイルのある場所) パラメーター 説明 center 画像を中央寄せ left 画像を左寄せ right 画像を右寄せ title=(文字列) カーソルを合わしたときにポップアップされる文字列 解説 ここで使うときは、(拡張子を含めたファイル名,アップロード用,3つ目よりあとに追加コマンド)で使うことになります。 画像のファイル名はアップロード前に、あらかじめ分かりやすい名前にしておくと編集が楽です。 また表の中に画像を表示させたいときには、 ref()を使います。 例 ref(ni_s.jpg,アップロード用,title=カーソル合わせるとここの文字) = #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (ni_s.jpg) space()= space() space(入れたいスペースの数(半角数字)) 解説;カッコのなかを空欄にすると1個だけのスペースに。 例 ★★ ★★ : あいだにスペースを入れていても… ★★ ★★ ★★ space(6)★★ = ★★ ★★ 表 = | | 解説:表は文章の最初からしか作ることは出来ません。さらに表の後ろ側に文章を打つことも不可。 例:|1|2|3| 1 2 3 |1|2|3| |4|5|6| 1 2 3 4 5 6 これらの機能で大体の文章を書くことができます。 他にも編集ウィンドウの下にでる簡単な機能解説や、他のwikiページで使われているものを見たり、コピーして応用したり、 @wikiのご利用ガイドの、特に[編集モード・構文一覧]や[プラグイン一覧]を参考にしてください。 なお、基本的に# ref()などのコマンドはすべて半角で入力です。 ※[編集] [このページを編集]を押してもログインしてくださいと出て止まってしまう場合、編集が許可されていないページです。 どうやって書いたか知りたい場合は、上メニューの[表示>[このページの編集履歴(バックアップ)]を選択して、 一覧にある[ソース]から確認してください。 テンプレート ここから下を上のメニューの[表示] [このページの編集履歴(バックアップ)] [ソース]で開くと、コピーペーストに使えます キャラクター紹介のページを開き、上のメニュー[編集] [このページを編集]で、編集モードに入り、 下にある編集のウィンドウウィンドウ欄の中、自分のキャラ名を目印に、自分の欄を探し、----と----の間、 # ref(~jpg,アップロード用)の下に貼り付けてください 発光後の予定: (ここの部分を更新してください) 一言メッセージ: (ここの部分を更新してください) もともとあった発光予定~一言メッセージ:を消して、ページ保存をすれば完了です 画像は、画像アップ用ページに画像をアップロードしてもらえれば、こっちで変えておきます。
https://w.atwiki.jp/squirrel_code/pages/20.html
template × mix-in last update 2010/12/28 (Tue) さて,この記事のテーマとは template と mix-in でどちらが攻○でどちらが受○か,ではない! なんてタイトルをつけやがる….期待させて申し訳ないが(絶対違う)Mix-in とは,継承を用いて既存のクラスに機能を後付けしたいときに使う.簡単なコードは以下の通り. // mixin.h #include list // for std list #include algorithm // for std find // コンテナに格納されるクラス class A { /* 省略 */ } // コンテナ機能を付加する Mix-in class MixIn { std list A as; public MixIn() {} virtual ~MixIn() {} void add(A* a); void remove(A* a); }; // Mix-in されるクラス class Container public MixIn { public Container() MixIn() {} ~Container() {} }; // mixin.cpp #include "mixin.h" // MixIn の実装 void MixIn add(A* a) { as.push_back(a); } void MixIn remove(A* a); { typedef std list A iterator iter; iter i = std find(as.begin(), as.end(), a); if (i != as.end()) as.erase(i++); } コンテナのデストラクタの実装はサボり^^.こんな感じで,Container クラスに後付けでクラス A のコンテナ機能を付加できる. Mix-in が便利なのは,複数の Mix-in を用意して,それをがんがん後付けしていけること.試しにクラス B のコンテナ機能も付加してみる. その1 // mixin.h #include list // for std list #include algorithm // for std find // コンテナに格納されるクラス class A { /* 省略 */ } class B { /* 省略 */ } // A のコンテナ機能を付加する Mix-in class MixInA { std list A as; public MixInA() {} virtual ~MixInA() {} void add(A* a); void remove(A* a); }; // B のコンテナ機能を付加する Mix-in class MixInB { std list B bs; public MixInB() {} virtual ~MixInB() {} void add(B* b); void remove(B* b); }; // Mix-in されるクラス class Container public MixInA, public MixInB { public Container() MixInA(), MixInB() {} ~Container() {} }; // mixin.cpp #include "mixin.h" // MixInA の実装 void MixInA add(A* a) { as.push_back(a); } void MixInA remove(A* a); { typedef std list A iterator iter; iter i = std find(as.begin(), as.end(), a); if (i != as.end()) as.erase(i++); } // MixInB の実装 void MixInB add(B* b) { bs.push_back(b); } void MixInB remove(B* b); { typedef std list B iterator iter; iter i = std find(bs.begin(), bs.end(), b); if (i != bs.end()) bs.erase(i++); } main 関数から Cointainer add を呼んでやって,これを gcc でコンパイルすると error request for member add is ambiguous と怒られる. MixInA から継承した add(A* a) と MixInB から継承した add(B* a) では引数の型が違うのにもかかわらず,自動ではオーバーロードされない.これは template を用いた mix-in でも同じで,最後に Mix-in したメソッド以外は名前修飾してやらないとメソッドが見つからないというエラーになる. pImpl × 継承 の(その2)でもメソッドのオーバーライドをしているが,やはり C++ で実装の再利用に public 継承を用いてはいけないのである(たぶん). C++ の教義に従えば,ここは Mix-in を private 継承し, Container 内でそれを呼ぶのがスマートである(ような気がする). その2 // mixin.h #include list // for std list #include algorithm // for std find // コンテナに格納されるクラス class A { /* 省略 */ } class B { /* 省略 */ } // A のコンテナ機能を付加する Mix-in class MixInA { std list A as; public MixInA() {} ~MixInA() {} void add(A* a); void remove(A* a); }; // B のコンテナ機能を付加する Mix-in class MixInB { std list B bs; public MixInB() {} ~MixInB() {} void add(B* b); void remove(B* b); }; // Mix-in されるクラス class Container private MixInA, private MixInB { public Container() MixInA(), MixInB() {} ~Container() {} // MixInA の呼び出し void add(A* a) { MixInA add(a); } void remove(A* a) { MixInA remove(a); } // MixInB の呼び出し void add(B* b) { MixInB add(b); } void remove(B* a) { MixInB remove(b); } }; // mixin.cpp #include "mixin.h" // MixInA の実装 void MixInA add(A* a) { as.push_back(a); } void MixInA remove(A* a); { typedef std list A iterator iter; iter i = std find(as.begin(), as.end(), a); if (i != as.end()) as.erase(i++); } // MixInB の実装 void MixInB add(B* b) { bs.push_back(b); } void MixInB remove(B* b); { typedef std list B iterator iter; iter i = std find(bs.begin(), bs.end(), b); if (i != bs.end()) bs.erase(i++); } Mix-in クラスはもはや public 継承されないので,デストラクタの virtual は外している. しかし面倒な.なんとかならんものか... trackback 参考 C++でMix-inもどき template で Mix-in コメント コメントの投稿テスト -- (tossy_squirrel) 2010-12-29 03 35 18 名前 コメント すべてのコメントを見る 関連ページ トップページ 続 template × mix-in 関連ブログ #blogsearch
https://w.atwiki.jp/vfantasy/pages/29.html
名称 テンプレート 種別 テンプレ 小分類 テンプレ 解説 公的情報 公式設定のテンプレート。 秘匿情報 無駄に気合が入っている。 関連項目 個別ページ:_Template ページの最後に、テンプレを簡単に埋められるツールを用意しました(vfbackground.zip) IE8で動作を確認 テンプレ生成ツールを利用した、イメージイラスト表示方法Wikiの [編集]→[このページにファイルをアップロード] を使って、該当のページにイメージイラストをアップロード テンプレ生成ツールの [アップロードファイル名] に、そのファイル名を入力 テンプレ生成ツールの [アップロードページID] に、アップロードしたページのID(http //~/pages/xxx.html の xxx の部分)を入力 テンプレ生成ツールの [画像サイズ] に、アップロードしたファイルの(ピクセル単位の)幅と高さを、半角スペースで区切って入力 テンプレを該当ページに貼り付ければ、イメージイラストつきの設定資料ができている
https://w.atwiki.jp/squirrel_code/pages/23.html
続続続 template × mix-in last update 2010/12/28 (Tue) さて, 前回 でテンプレートを用いた Mix-in についてはほぼカタがついたはずだ.なに?ソースが長い? Mix-in を定義するたびに IMix だの Mix だのを定義するのがめんどい? なんとかならんのか,だって? というわけで,なんとかしてみる^^. その6 まず, template を使ったテクニックではある程度長くなるのは仕方がない.というか,前回のコードでも裏で結構頑張って短くしているのだ.なので,これを越えるためにはいろいろと禁断の秘儀^^を用いる必要がある. こういう場面で C のプログラマが真っ先に思いつくのはプリプロセッサマクロだろう.私もそう思う.だが,今回のコードを展開するマクロを作るには,マクロが Mix-in するメソッド名のリスト(add と remove)を取り扱える必要がある. そこでまたまたいろいろ調べていたら, boost/preprocessor という秘法を見つけた(たぶんインドの奥地かどっかで) 書いてみる. // mixin.hpp #include list // for std list #include algorithm // for std find #include boost/mpl/list.hpp #include boost/mpl/iter_fold.hpp #include boost/mpl/deref.hpp #include boost/type.hpp #include boost/preprocessor/seq/for_each.hpp // === ここから汎用 Mix-in フレームワーク #define _DEF_DUMMYBASE_METHOD(r, data, elem) \ void elem(); #define _DEF_INTERFACE_USING(r, data, elem) \ using _BASE elem; using _MIXIN elem; #define MIXIN(ns, seq) \ namespace mixin { \ namespace ns { \ class idummy {}; \ template typename _BASE \ class ibase public _BASE \ { \ public \ BOOST_PP_SEQ_FOR_EACH(_DEF_DUMMYBASE_METHOD, _, seq) \ }; \ template typename _MITER, typename _BASE \ class _IMIX1 \ public _BASE, public boost mpl deref _MITER type \ { \ public \ typedef typename boost mpl deref _MITER type _MIXIN; \ BOOST_PP_SEQ_FOR_EACH(_DEF_INTERFACE_USING, _, seq) \ }; \ template typename _TLIST, typename _BASE = idummy \ class imix \ public boost mpl iter_fold \ _TLIST, ibase _BASE , \ _IMIX1 boost mpl _2, boost mpl _1 type \ {}; \ }} #define _DEF_CLASS_USING(r, data, elem) \ using _BASE elem; #define DEF_MIXIN_CALL_BEGIN(ns, tname, seq) \ namespace mixin { \ namespace ns { \ class dummy {}; \ template typename _BASE \ class base public _BASE \ { \ public \ BOOST_PP_SEQ_FOR_EACH(_DEF_DUMMYBASE_METHOD, _, seq) \ }; \ template typename _MITER, typename _BASE class _MIX1; \ template typename _TLIST, typename _BASE = dummy \ class mix \ public boost mpl iter_fold \ _TLIST, base _BASE , \ _MIX1 boost mpl _2, boost mpl _1 type \ {}; \ template typename _MITER, typename _BASE \ class mix1 \ public _BASE, private boost mpl deref _MITER type \ { \ public \ typedef typename boost mpl deref _MITER type tname; \ BOOST_PP_SEQ_FOR_EACH(_DEF_CLASS_USING, _, seq) #define DEF_MIXIN_CALL_END \ }; \ }} // === 汎用 Mix-in フレームワークここまで === class A { /* 省略 */ }; class B { /* 省略 */ }; /* Mix-in インターフェイスの定義. * 最初に MIXIN(名前空間名, メソッド名リスト) を宣言する. * 名前空間名は,同名メソッドを持つ Mix-in の系列に対し,一意に決める. */ MIXIN(c, (add) (remove)) template typename T class MI { public virtual ~MI() {} virtual void add(T* t) = 0; virtual void remove(T* t) = 0; }; /** Mix-in の実装の定義. * 最初に MIXIN_CALL_BEGIN(名前空間名, 型名, メソッド名リスト)を宣言 * 次に private 継承されている Mix-in のメソッドを * public スコープに輸出するコードを書く. * Mix-in した実装は型名で参照できる. * 輸出コードの終わりに MIXIN_CALL_END を宣言 */ DEF_MIXIN_CALL_BEGIN(c, mixin_t, (add) (remove)) void add(typename mixin_t t_type* t) { mixin_t add(t); } void remove(typename mixin_t t_type* t) { mixin_t remove(t); } DEF_MIXIN_CALL_END template typename T class MixIn { std list T* ts; public typedef T t_type; MixIn() {} ~MixIn() {} void add(T* t); void remove(T* t); }; template typename T void MixIn T add(T* t) { ts.push_back(t); } template typename T void MixIn T remove(T* t) { typedef typename std list T* iterator iterator; iterator iter = std find(ts.begin(), ts.end(), t); if (iter != ts.end()) ts.erase(iter++); } /** Mix-in フレームワークにより, * mixin 名前空間名 imix と mixin 名前空間名 mix が定義されている. * これに Mix-in の mpl list を渡して public 継承すればよい. */ using namespace mixin c; namespace mpl = boost mpl; class Interface public imix mpl list MI A , MI B { public virtual ~Interface() {} }; class Container public mix mpl list MixIn A , MixIn B , Interface { public Container() {} ~Container() {} }; // mixin.cpp #include "mixin.h" いきなりコードの変態度が上がってしまった^^.上のコードが何言ってるのかわからねーと思うが,俺も何書いてるのかわからねー.頭がどうかなりそうなんだが,使うだけなら「汎用 Mix-in フレームワーク」 としてあるところはそのままコピってヘッダファイルか何かに放り込んでしまえば良い.やるべきことは,それ以外の部分をがりがり書くだけ. BOOST.PP により,任意個数のメソッドを持つ Mix-in に対応している.インターフェイスが別のインターフェイスを継承する場合は,mixin c imix の第2引数に基底インターフェイスを指定すればよい. インターフェイスがいらなければ MIXIN の宣言もインターフェイスの定義も必要ない. mixin c mix の第2引数はデフォルトで mixin c dummy なので,単に第2引数を省略してやればよい. 注意点としては, mixin c 名前空間の中にクラス名 idummy, dummy, 及びクラステンプレート名 ibase, imix, base, mix が展開される.ここで名前の輸出コードは mixin c 中に展開されるので,この中で他で定義した idummy とかを使っているとおかしなことになる.問題になる場合はよそで定義したほうのクラスを名前空間に入れて,修飾名で指定してほしい. また引数を取らないメソッドには対応していない.mix の中で各 Mix-in の完全修飾名を typedef することも考えたんだが,ちょっとめんどそうなので,ダミーの引数を取るとかで回避してくれ. ついでに, Mix-in が protected なメソッドを提供する場合のフレームワークも提供しておこうか(あまり使わないと思うが). #define DEF_MIXIN_CALL_BEGIN_WITH_PROTECTED(ns, tname, seq, pseq) \ namespace mixin { \ namespace ns { \ class dummy {}; \ template typename _BASE \ class base public _BASE \ { \ public \ BOOST_PP_SEQ_FOR_EACH(_DEF_DUMMYBASE_METHOD, _, seq) \ protected \ BOOST_PP_SEQ_FOR_EACH(_DEF_DUMMYBASE_METHOD, _, pseq) \ }; \ template typename _MITER, typename _BASE class _MIX1; \ template typename _TLIST, typename _BASE = dummy \ class mix \ public boost mpl iter_fold \ _TLIST, base _BASE , \ _MIX1 boost mpl _2, boost mpl _1 type \ {}; \ template typename _MITER, typename _BASE \ class _MIX1 \ public _BASE, \ private boost mpl deref _MITER type \ { \ public \ typedef typename boost mpl deref _MITER type tname; \ protected \ BOOST_PP_SEQ_FOR_EACH(_DEF_CLASS_USING, _, pseq) \ public \ BOOST_PP_SEQ_FOR_EACH(_DEF_CLASS_USING, _, seq) メソッド void pmethod(T* t) が protected なメソッドとして,使い方は DEF_MIXIN_CALL_BEGIN_WITH_PROTECTED(c, mixin_t, (add) (remove), (pmethod)) void add(typename mixin_t t_type* t) { mixin_t add(t); } void remove(typename mixin_t t_type* t) { mixin_t remove(t); } protected void pmethod(typename mixin_t t_type* t) { mixin_t pmethod(t); } DEF_MIXIN_CALL_END だ. Container クラスで template typename T void method(T* t) { pmethod(t); } みたいに使ってくれ. もう問題は残ってない・・・よな? trackback 参考 C++でMix-inもどき template で Mix-in コメント コメントの投稿テスト -- (tossy_squirrel) 2010-12-29 03 35 18 名前 コメント すべてのコメントを見る 関連ページ トップページ 続続 template × mix-in 関連ブログ #blogsearch
https://w.atwiki.jp/toysd/pages/89.html
分類 依頼 土地 期限 要求 提供 -- 報酬 tags template
https://w.atwiki.jp/toysd/pages/104.html
分類 精密 入手 -- 買値 -- 売値 -- 重量 -- 装備 -- 材料 -- 設備 -- 制限 -- 用途 -- tags template
https://w.atwiki.jp/datedatabook/pages/14.html
tags (@wiki) 2010/11/29 15 48/ edit this_page @wiki/Template Contents SECTION TITLE page top/ edit this page SECTION TITLE page top/ edit this page tags (@wiki) 2010/11/29 15 48/ edit this_page © Web Mapping @Wiki
https://w.atwiki.jp/toysd/pages/48.html
分類 機械 入手 -- 買値 -- 売値 -- 重量 -- 装備 -- 材料 -- 設備 -- 制限 -- 用途 -- tags template
https://w.atwiki.jp/toysd/pages/77.html
分類 設備 入手 -- 買値 -- 重量 -- 材料 設備 制限 -- tags template