20 #ifndef COIL_PROPERTIES_H 21 #define COIL_PROPERTIES_H 127 Properties(
const char* key =
"",
const char* value =
"");
150 Properties(std::map<std::string, std::string>& defaults);
210 Properties(
const char* defaults[],
long num = LONG_MAX);
283 inline const char*
getName(
void)
const {
return name.c_str();}
302 inline const char*
getValue(
void)
const {
return value.c_str();}
340 inline const std::vector<Properties*>&
getLeaf(
void)
const {
return leaf;}
390 const std::string&
getProperty(
const std::string& key)
const;
420 const std::string&
getProperty(
const std::string& key,
421 const std::string& def)
const;
451 const std::string&
operator[](
const std::string& key)
const;
485 std::string&
operator[](
const std::string& key);
511 const std::string&
getDefault(
const std::string& key)
const;
541 std::string
setProperty(
const std::string& key,
const std::string& value);
566 std::string
setDefault(
const std::string& key,
const std::string& value);
595 void setDefaults(
const char* defaults[],
long num = LONG_MAX);
621 void list(std::ostream& out);
749 void load(std::istream& inStream);
776 void save(std::ostream& out,
const std::string& header);
860 void store(std::ostream& out,
const std::string& header);
909 int size(
void)
const;
1105 static void splitKeyValue(
const std::string& str, std::string& key,
1106 std::string& value);
1139 static bool split(
const std::string& str,
const char delim,
1140 std::vector<std::string>& value);
1175 std::vector<Properties*>::size_type index,
1200 std::string curr_name,
1224 static void _store(std::ostream& out, std::string curr_name,
1280 static std::string
indent(
int index);
1285 std::string default_value;
1287 std::vector<Properties*> leaf;
1288 const std::string m_empty;
1317 #endif // COIL_PROPERTIES_H const std::vector< Properties * > & getLeaf(void) const
子要素の取得
Definition: Properties.h:340
Properties & operator=(const Properties &prop)
代入演算子
const char * getName(void) const
Name の取得
Definition: Properties.h:283
static void splitKeyValue(const std::string &str, std::string &key, std::string &value)
文字列をキーと値のペアに分割する
const char * getDefaultValue(void) const
デフォルト値の取得
Definition: Properties.h:321
Properties(const char *key="", const char *value="")
コンストラクタ(rootノードのみ作成)
void clear(void)
子ノードを全て削除する
void store(std::ostream &out, const std::string &header)
プロパティリストを出力ストリームへ保存する
Properties * hasKey(const char *key) const
子ノードにkeyがあるかどうか
std::vector< std::string > propertyNames(void) const
プロパティのキーのリストを vector で返す
static void _store(std::ostream &out, std::string curr_name, Properties *curr)
プロパティの名称リストを保存する
const std::string & getProperty(const std::string &key) const
指定されたキーを持つプロパティを、プロパティリストから探す
void list(std::ostream &out)
指定された出力ストリームに、プロパティリストを出力する
Properties & getNode(const std::string &key)
ノードを取得する
Properties *const findNode(const std::string &key) const
ノードを取得する
void setDefaults(const char *defaults[], long num=LONG_MAX)
Properties にデフォルト値をまとめて登録する
static void _propertiyNames(std::vector< std::string > &names, std::string curr_name, const Properties *curr)
プロパティの名称リストを取得する
virtual ~Properties(void)
デストラクタ
Properties & operator<<(const Properties &prop)
Propertyをマージする
std::string setProperty(const std::string &key, const std::string &value)
Properties に value を key について登録する
bool createNode(const std::string &key)
新規ノードを生成する
void load(std::istream &inStream)
入力ストリームからキーと要素が対になったプロパティリストを読み込む
static bool split(const std::string &str, const char delim, std::vector< std::string > &value)
文字列を分割する
Properties * removeNode(const char *leaf_name)
ノードを削除する
const std::string & operator[](const std::string &key) const
指定されたキーを持つプロパティを、プロパティリストから探す
プロパティセットを表現するクラス
Definition: Properties.h:101
const char * getValue(void) const
値の取得
Definition: Properties.h:302
int size(void) const
プロパティの数を取得する
static Properties * _getNode(std::vector< std::string > &keys, std::vector< Properties * >::size_type index, const Properties *curr)
プロパティを取得する
static std::string indent(int index)
インデントを生成する
static std::ostream & _dump(std::ostream &out, const Properties &curr, int index)
プロパティの内容を保存する
void save(std::ostream &out, const std::string &header)
プロパティリストを指定されたストリームに保存する
const std::string & getDefault(const std::string &key) const
指定されたキーに対してデフォルト値を取得する
std::string setDefault(const std::string &key, const std::string &value)
デフォルト値を登録する
Common Object Interface Layer.
Definition: Affinity.h:28
const Properties * getRoot(void) const
ルート要素の取得
Definition: Properties.h:359