Re: Rangeの種類について

投稿ツリー


このトピックの投稿一覧へ

なし Re: Rangeの種類について

msg# 1.2.1
depth:
2
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010/5/31 23:04
SHOO  管理人   投稿数: 658
Rangeのインターフェース((キーワードのinterfaceではなく))について、次のようなことがわかってきました。
基本的には、#1.2のInputRangeをはじめとする5つのRangeですが、その他、以下の機能をつけることが可能です。

- isInfinite((無限入力/無限出力/emptyが定数))
- hasSlicing((スライスを取得できる/opSlice(int,int)を定義している))
- hasSwappableElements((レンジの要素をswap可能/frontがref関数等))
- hasAssignableElements((先頭要素に代入が可能/frontがref関数))
- hasLength((.lengthプロパティを持っている))

以上機能をつけることで、一部関数ではより効率的なアルゴリズムを選択することが可能になります。
また、Andreiが他に提案しているものとして

- save((状態を保存することのできるプロパティ))
- swapFront, swapBack, swapAt((指定箇所の要素を交換する))
- sameFront((先頭要素が同一のものかチェックする))

があります。
以上の機能は、Rangeに対応しているものならば、可能な限りつけるべき属性となります。
投票数:34 平均点:5.00
返信する

この投稿に返信する

題名
ゲスト名
投稿本文

  条件検索へ


メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu