機能の概要とは? わかりやすく解説

機能の概要

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/09/08 09:19 UTC 版)

コンセプト (C++)」の記事における「機能の概要」の解説

コンセプト記載され最後規格書ドラフトである N2914 の記述基づいて説明するコンセプトは、名前付きの構造であり、型が提供しなければならない機能指定する。この点は、オブジェクト指向プログラミングで、型の行えることの制限の定義を基底クラスにより行うのに似ている。しかしオブジェクト指向プログラミングとは違いコンセプトの定義自体にはテンプレート渡される型が明示的に関連付けられず、テンプレート定義の側で結びつけられる: templateconst T& min(const T &x, const T &y){ return x < y ? x : y;} テンプレート型引数classtypename使い任意の型と指定するではなく前方定義されコンセプトであるLessThanComparableを使用している。テンプレート関数min渡された型がコンセプトLessThanComparableを満たさない場合コンパイルエラーとなり、テンプレート実体化使われた型がLessThanComparableコンセプト適合しなかったことが報告される。 より一般的なコンセプト使用の記法は、以下のようになる: template requires LessThanComparableconst T& min(const T &x, const T &y){ return x < y ? x : y;} requiresキーワードの後には、コンセプト宣言リストが続く。これにより、複数の型を使うコンセプト使用できるまた、requires !LessThanComparableのように用いることも出来、あるコンセプト合致する型の使用禁止することが出来る。これらの機能は、テンプレート特殊化同様の方法使用できる一般的なテンプレート少な機能し使わないものとして定義し、さらに多機能コンセプト用いた特殊化用意することで、その機能用いて高いパフォーマンス高機能性を実現できるコンセプトは以下のように定義される: auto concept LessThanComparable{ bool operator<(T, T);} この例に含まれているキーワードautoは、コンセプト記述され操作提供するあらゆる型がコンセプト満たすこととするということを示すものであるautoキーワードが無い場合コンセプト満たす型を宣言するのにコンセプトマップを使う必要がある。 このコンセプトは、「自身と同じ型の引数二つ取りbool返す演算子 < を持つあらゆる型はLessThanComparableである」ということ示している。演算子は大域関数ではなく、型Tのメンバ関数なくてはならないコンセプトは、複数の型を含むことも出来る。例えば、二つの型をとり、片方がもう片方の型へと変換できるということを表すコンセプトは: auto concept Convertible{ operator U(const T&);} これをテンプレートで使うためには、コンセプト一般的使用の記法を使う必要がある: template requires ConvertibleU convert(const T& t){ return t;} コンセプト複合できる。例えば、Regularというコンセプト与えられている場合: concept InputIterator{ require Regular; Value operator*(const Iter&); Iter& operator++(Iter&); Iter operator++(Iter&, int);} InputIteratorコンセプト渡されテンプレート引数一つ目は、Regularコンセプト満たすことが確認される継承を行うように、コンセプトも他のコンセプトから派生できる。そして、クラス継承のように、派生コンセプト基底コンセプト要件満たす派生コンセプトは、クラス派生のように定義される: concept ForwardIterator : InputIterator{ //ここに他の要件追記する。} コンセプト型名 (typename)を結び付けるともできる。これにより、型名使用可能であることをコンセプト要件として表現できる: concept InputIterator{ typename value_type; typename reference; typename pointer; typename difference_type; require Regular; require Convertible; reference operator*(const Iter&); // デリファレンス Iter& operator++(Iter&); // 前置インクリメント Iter operator++(Iter&, int); // 後置インクリメント // ...}

※この「機能の概要」の解説は、「コンセプト (C++)」の解説の一部です。
「機能の概要」を含む「コンセプト (C++)」の記事については、「コンセプト (C++)」の概要を参照ください。


機能の概要

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/10/03 22:12 UTC 版)

Mission Control」の記事における「機能の概要」の解説

Exposéには3つの整列モードがある。この3つのモードは、デフォルト設定ではファンクションキー割り当てられているが、設定変更することでカーソル画面角に持っていくことで発動させるようにしたり、マウスボタンによって動作するようにできる。 全ウィンドウ整列動作中の全てのウィンドウ画面上に並べられるデフォルトではF9キーに対応。実行中にtabキーを押すと、「アプリケーションウィンドウ整列」に切り替わる。 アプリケーションウィンドウ整列前面アプリケーション管理するウィンドウが、画面上に並べられる(他のアプリケーションウィンドウ薄暗く表示される)。デフォルトではF10キーに対応。 デスクトップ表示全てのウィンドウ画面外に退避してデスクトップ全面表示になる。デフォルトではF11キーに対応。 全ウィンドウ整列とアプリケーションウィンドウ整列では、ウィンドウ適当な大きさ縮小されて、画面内に全てが収まるように調整される(この時ウィンドウ縮小表示されることになるが、Mac OS X v10.5までは元のウィンドウ同士大きさ比率損なわないようになっているMac OS X v10.6以降は元のウィンドウ同士大きさ比率無視されタイル状に整列され表示される)。配置は、重心位置などから自然な配置計算されるその後特定のウィンドウクリックするとそれが前面出現しウィンドウが元の位置戻される。 非常に派手な機能であるにも関わらず動作極めて高速で、Quartz Extreme対象外G3マシンでも快適に機能する。これはMac OS Xのウィンドウサーバの構造が、個々ウィンドウ描画内容独立計算した後、結果集計画面上に合成するという構造取っているがゆえに、等倍表示であれ縮小表示であれ、負荷大きな違いがないためである。 Mac OS X v10.4(Tiger)では、Dashboard搭載されている。これはExposé応用して設計されたものである

※この「機能の概要」の解説は、「Mission Control」の解説の一部です。
「機能の概要」を含む「Mission Control」の記事については、「Mission Control」の概要を参照ください。

ウィキペディア小見出し辞書の「機能の概要」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「機能の概要」の関連用語

機能の概要のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



機能の概要のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのコンセプト (C++) (改訂履歴)、Mission Control (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS