前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFXProperty
キーと値からなるペア要素の集合(プロパティ)を管理するためのクラスです。
#include <SFXProperty.h.hpp>
class SFXProperty;
SFMTYPEDEFCLASS(SFXProperty)

解説

SFXProperty クラスは、 キーと値からなるペア要素の集合(プロパティ)を追加順に管理するためのクラスです。

SFXArray クラスと SFXHashmap クラスと似ていますが、 要素を構成するキーとその値が共に SFXAnsiString クラスの文字列である点、 および複数の要素が同一のキーを持てる点が異なります。

例 838. インスタンス変数の定義

SFXProperty property;

例 839. 要素の設定

property.Set("unix", "??");
property.Append("macos", "CR");
property.Insert(1, "windows", "CRLF");
property.Set("unix", "LF");
property.Append("macos", "LF");

例 840. 要素の取得

SFXAnsiString value = property.Get("unix");
SFXAnsiString key   = property.GetKey(2);
SFXAnsiString value = property.GetValue(2);

例 841. 要素数の取得

SInt32 n = property.GetSize();

例 842. 要素の削除

property.Remove(2);
property.Clear("macos");
property.Clear();

参照

SFXArray | SFXHashmap | SFXAnsiString

メンバ

コンストラクタ/デストラクタ
SFXProperty( Void )
SFXProperty クラスのコンストラクタです。
~SFXProperty( Void )
SFXProperty クラスのデストラクタです。
パブリック関数
SFCError Append( SFXAnsiStringConstRef key , SFXAnsiStringConstRef value )
指定されたキーと値からなるペア要素を追加します。
Void Clear( SFXAnsiStringConstRef key , Bool sensitive = true )
要素を削除します。
Void Clear( Void )
要素を削除します。
Bool Contains( SFXAnsiStringConstRef key , Bool sensitive = true )
指定されたキーを持つペア要素が存在するか判定します。
static
SFXPropertyConstRef
EmptyInstance( Void )
空のプロパティを取得します。
SInt32 FirstIndexOf( SFXAnsiStringConstRef key , SInt32 index = SINT32_MINIMUM , Bool sensitive = true )
先頭から検索して、指定されたキーと一致する最初の要素のインデックスを取得します。
SFXAnsiStringConstRef Get( SFXAnsiStringConstRef key , Bool sensitive = true )
指定されたキーを持つペア要素の値を取得します。
SFXAnsiStringConstRef GetKey( SInt32 index )
指定された位置にあるペア要素のキーを取得します。
SInt32 GetSize( Void )
ペア要素の数を取得します。
SFXAnsiStringConstRef GetValue( SInt32 index )
指定された位置にあるペア要素の値を取得します。
SFCError Insert( SInt32 index , SFXAnsiStringConstRef key , SFXAnsiStringConstRef value )
指定された位置に指定したキーと値からなるペア要素を挿入します。
Bool IsEmpty( Void )
空であるか判定します。
SInt32 LastIndexOf( SFXAnsiStringConstRef key , SInt32 index = SINT32_MAXIMUM , Bool sensitive = true )
末尾から検索して、指定されたキーと一致する最後の要素のインデックスを取得します。
Void Remove( SInt32 begin , SInt32 end )
指定されたインデックス、またはインデックスの範囲のペア要素を削除します。
Void Remove( SInt32 index )
指定されたインデックス、またはインデックスの範囲のペア要素を削除します。
SFCError Set( SFXAnsiStringConstRef key , SFXAnsiStringConstRef value , Bool sensitive = true )
指定されたキーと値からなるペア要素を設定します。
SFCError SetKey( SInt32 index , SFXAnsiStringConstRef key )
指定された位置にあるペア要素のキーを設定します。
SFCError SetValue( SInt32 index , SFXAnsiStringConstRef value )
指定された位置にあるペア要素の値を設定します。

SFXProperty::SFXProperty
SFXProperty クラスのコンストラクタです。
[ public, explicit ]
SFXProperty(Void);

解説

このコンストラクタは、何も行いません。


SFXProperty::~SFXProperty
SFXProperty クラスのデストラクタです。
[ public ]
~SFXProperty(Void);

解説

このデストラクタは、内部的に SFXProperty::Clear 関数を呼び出してこのプロパティのすべてのペア要素を削除します。

参照

SFXProperty::Clear


SFXProperty::Append
指定されたキーと値からなるペア要素を追加します。
[ public ]
SFCError Append(
    SFXAnsiStringConstRef key     // キー
    SFXAnsiStringConstRef value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY

解説

この関数は、key 引数と value 引数に指定されたキーと値からなるペア要素をこのプロパティに追加します。

このオブジェクト内でキーは重複しても構いません。

[Note] 注意

ペア要素のキーと値は、SFXAnsiString クラスの文字列です。

参照

SFXProperty::Insert | SFXProperty::Set | SFXProperty::Remove | SFXAnsiString


SFXProperty::Clear
要素を削除します。
[ public ]
Void Clear(
    SFXAnsiStringConstRef key   // 文字列のキー
    Bool sensitive = true       // キーの大小文字を区別するか
);
[ public ]
Void Clear(Void);

解説

この関数は、このプロパティのペア要素を削除します。

引数にキーを指定した場合、そのキーを持つペア要素をすべて削除します。

引数を指定しない場合、すべてのペア要素を削除します。

[Note] 注意

この関数は、SFXProperty::~SFXProperty デストラクタから呼び出されます。

参照

SFXProperty::~SFXProperty


SFXProperty::Contains
指定されたキーを持つペア要素が存在するか判定します。
[ public, const ]
Bool Contains(
    SFXAnsiStringConstRef key   // キー
    Bool sensitive = true       // キーの大小文字を区別するか
);

戻り値

  • 存在するとき: true
  • そうでないとき: false

解説

この関数は、引数に指定したキーを持つペア要素がこのプロパティに存在するか判定します。

sensitive 引数に false を指定すると、キーの大文字・小文字を区別しません。 デフォルト値は true です。

[Note] 注意

ペア要素のキーは、SFXAnsiString クラスの文字列です。

参照

SFXAnsiString


SFXProperty::EmptyInstance
空のプロパティを取得します。
[ public, static ]
SFXPropertyConstRef EmptyInstance(Void);

解説

この関数は、空のプロパティを表すインスタンスを取得します。

参照

SFXProperty::Clear


SFXProperty::FirstIndexOf
先頭から検索して、指定されたキーと一致する最初の要素のインデックスを取得します。
[ public, const ]
SInt32 FirstIndexOf(
    SFXAnsiStringConstRef key       // 文字列のキー
    SInt32 index = SINT32_MINIMUM   // 検索開始位置
    Bool sensitive = true           // キーの大小文字を区別するか
);

戻り値

見つかった位置のインデックス(見つからなかった場合は -1 )

解説

この関数は、 このプロパティ内で key 引数に指定されたキーを持つペア要素を先頭から末尾に向かって検索し、 最初に見つかった位置のインデックスを取得します。

index 引数に検索開始位置を指定することで、 先頭以外の位置から検索できます。 デフォルト値は SINT32_MINIMUM です(この場合、先頭から検索を開始します)。

sensitive 引数に false を指定すると、キーの大文字・小文字を区別しません。 デフォルト値は true です。

見つからなかった場合は、-1 が返ります。

参照

SFXProperty::LastIndexOf


SFXProperty::Get
指定されたキーを持つペア要素の値を取得します。
[ public, const ]
SFXAnsiStringConstRef Get(
    SFXAnsiStringConstRef key   // 文字列のキー
    Bool sensitive = true       // キーの大小文字を区別するか
);

戻り値

指定されたキーを持つペア要素の値(該当するペア要素が存在しない場合は、空文字列)

解説

この関数は、 key 引数に指定されたキーを持つ、 このプロパティ内のペア要素の値を取得します。

同じキーを持つペア要素が複数存在する場合は、 インデックスが最も大きなペア要素の値が返ります。

ペア要素が存在しない場合は、 空文字列(SFXAnsiString::EmptyInstance)が返ります。

sensitive 引数に false を指定すると、キーの大文字・小文字を区別しません。 デフォルト値は true です。

[Note] 注意

ペア要素のキーと値は、SFXAnsiString クラスの文字列です。

参照

SFXProperty::Set | SFXAnsiString::EmptyInstance | SFXAnsiString


SFXProperty::GetKey
指定された位置にあるペア要素のキーを取得します。
[ public, const ]
SFXAnsiStringConstRef GetKey(
    SInt32 index   // 位置
);

戻り値

指定された位置にあるペア要素のキー(該当するペア要素が存在しない場合は、空文字列)

解説

この関数は、 このプロパティ内の index 引数に指定された位置にあるペア要素のキーを取得します。

ペア要素が存在しない場合は、 空文字列(SFXAnsiString::EmptyInstance)が返ります。

[Note] 注意

ペア要素のキーは、SFXAnsiString クラスの文字列です。

参照

SFXProperty::SetKey | SFXAnsiString::EmptyInstance | SFXAnsiString


SFXProperty::GetSize
ペア要素の数を取得します。
[ public, const ]
SInt32 GetSize(Void);

戻り値

ペア要素の数

解説

この関数は、このプロパティのペア要素の数を取得します。


SFXProperty::GetValue
指定された位置にあるペア要素の値を取得します。
[ public, const ]
SFXAnsiStringConstRef GetValue(
    SInt32 index   // 位置
);

戻り値

指定された位置にあるペア要素の値(該当するペア要素が存在しない場合は、空文字列)

解説

この関数は、 このプロパティ内の index 引数に指定された位置にあるペア要素の値を取得します。

ペア要素が存在しない場合は、 空文字列(SFXAnsiString::EmptyInstance)が返ります。

[Note] 注意

ペア要素の値は、SFXAnsiString クラスの文字列です。

参照

SFXProperty::SetValue | SFXAnsiString::EmptyInstance | SFXAnsiString


SFXProperty::Insert
指定された位置に指定したキーと値からなるペア要素を挿入します。
[ public ]
SFCError Insert(
    SInt32 index                  // 挿入位置
    SFXAnsiStringConstRef key     // キー
    SFXAnsiStringConstRef value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY

解説

この関数は、index 引数に指定された位置に key 引数と value 引数に指定されたキーと値からなるペア要素をこのプロパティに追加します。

このオブジェクト内でキーは重複しても構いません。

[Note] 注意

ペア要素のキーと値は、SFXAnsiString クラスの文字列です。

参照

SFXProperty::Append | SFXProperty::Set | SFXProperty::Remove | SFXAnsiString


SFXProperty::IsEmpty
空であるか判定します。
[ public, const ]
Bool IsEmpty(Void);

戻り値

  • 空のとき: true
  • そうでないとき: false

解説

この関数は、このプロパティが空であるか判定します。


SFXProperty::LastIndexOf
末尾から検索して、指定されたキーと一致する最後の要素のインデックスを取得します。
[ public, const ]
SInt32 LastIndexOf(
    SFXAnsiStringConstRef key       // 文字列のキー
    SInt32 index = SINT32_MAXIMUM   // 検索開始位置
    Bool sensitive = true           // キーの大小文字を区別するか
);

戻り値

見つかった位置のインデックス(見つからなかった場合は -1 )

解説

この関数は、 このプロパティ内で key 引数に指定されたキーを持つペア要素を末尾から先頭に向かって検索し、 最初に見つかった位置のインデックスを取得します。

index 引数に検索開始位置を指定することで、 末尾以外の位置から検索できます。 デフォルト値は SINT32_MAXIMUM です(この場合、末尾から検索を開始します)。

sensitive 引数に false を指定すると、キーの大文字・小文字を区別しません。 デフォルト値は true です。

見つからなかった場合は、-1 が返ります。

参照

SFXProperty::FirstIndexOf


SFXProperty::Remove
指定されたインデックス、またはインデックスの範囲のペア要素を削除します。
[ public ]
Void Remove(
    SInt32 begin   // 削除開始位置 (この位置を含む)
    SInt32 end     // 削除終了位置(この位置を含まない)
);
[ public ]
Void Remove(
    SInt32 index   // 削除する文字列のキーの位置
);

解説

この関数は、このプロパティから index 引数に指定されたインデックスのペア要素、 またはbegin 引数と end 引数に指定されたインデックスの範囲内にあるペア要素を削除します。

[Note] 注意

begin 引数で指定した値は削除するインデックスの範囲に含まれますが、 end 引数で指定した値は含まれません。

参照

SFXProperty::Insert | SFXProperty::Append | SFXProperty::Set


SFXProperty::Set
指定されたキーと値からなるペア要素を設定します。
[ public ]
SFCError Set(
    SFXAnsiStringConstRef key     // キー
    SFXAnsiStringConstRef value   // 値
    Bool sensitive = true         // キーの大小文字を区別するか
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY

解説

この関数は、 key 引数と value 引数に指定されたキーと値からなるペア要素をこのプロパティに設定します。

指定されたキーを持つペア要素が既に存在する場合は、 その値が上書きされます。 また、同じキーを持つペア要素が複数存在する場合は、 インデックスが最も大きなペア要素の値が上書きされます。

指定されたキーを持つペア要素が存在しない場合は、ペア要素は追加されます。

sensitive 引数に false を指定すると、キーの大文字・小文字を区別しません。 デフォルト値は true です。

[Note] 注意

ペア要素のキーと値は、SFXAnsiString クラスの文字列です。

参照

SFXProperty::Append | SFXProperty::Insert | SFXProperty::Remove | SFXAnsiString


SFXProperty::SetKey
指定された位置にあるペア要素のキーを設定します。
[ public ]
SFCError SetKey(
    SInt32 index                // 位置
    SFXAnsiStringConstRef key   // キー
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY
  • ペア要素が存在しないとき: SFERR_INVALID_PARAM

解説

この関数は、index 引数に指定された位置にある、 このプロパティのペア要素のキーを key 引数に指定された値に設定します。

index 引数に指定された位置にペア要素が存在しない場合は、SFERR_INVALID_PARAM を返します。

[Note] 注意

ペア要素のキーは、SFXAnsiString クラスの文字列です。

参照

SFXProperty::GetKey | SFXAnsiString


SFXProperty::SetValue
指定された位置にあるペア要素の値を設定します。
[ public ]
SFCError SetValue(
    SInt32 index                  // 位置
    SFXAnsiStringConstRef value   // 値
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • メモリ不足のとき: SFERR_NO_MEMOERY
  • ペア要素が存在しないとき: SFERR_INVALID_PARAM

解説

この関数は、index 引数に指定された位置にある、 このプロパティのペア要素の値を value 引数に指定された値に設定します。

index 引数に指定された位置にペア要素が存在しない場合は、SFERR_INVALID_PARAM を返します。

[Note] 注意

ペア要素の値は、SFXAnsiString クラスの文字列です。

参照

SFXProperty::GetValue | SFXAnsiString