groonga/grnxx

データ型の中身は raw(), raw_*() で取り出すようにする

Closed this issue · 6 comments

概要

各種データ型(Bool, Int, etc.)の生データ(uint8_t, int64_t, etc.)は raw(), raw_*() というメンバ関数で取り出せるように統一します.
現在は value()latitude() などになっています.

追加

true_value()na_value() はそれぞれ raw_true()raw_na() にします.
raw を前方と後方のどちらに配置すべきかは raw の解釈によって変わると思うのですが,とりあえず raw は前方に配置ということで統一してみます.
どうしても駄目なケースがあれば再考します.

Text

size() はそのまま残して raw_size() を追加しました.
size() は Int を返すのに対し, raw_size()size_t を返します.

data() については悩み中です.

operator[](size_t) は危険なので,ひとまず取り除きました.

GeoPoint

latitude()longitude()raw_latitude()raw_longitude() にしました.
別の選択肢として, raw()latitude/longitude をメンバとする構造体を返すという案もあります.

Bool, Int, Float

当初の案にしたがい, value()raw() に変更しました.

Text, Vector

data()raw_data() に変更しました.
size()raw_size() に変更しました.

これにて終了とします.