Kiwano Engine v1.3.x
kiwano::ConfigIni类 参考

ini格式文件 更多...

#include <ConfigIni.h>

类 kiwano::ConfigIni 继承关系图:
kiwano::ObjectBase kiwano::RefObject kiwano::Serializable kiwano::Noncopyable

Public 类型

typedef UnorderedMap< String, String > ValueMap
 键值字典
 
typedef UnorderedMap< String, ValueMapSectionMap
 Section字典
 

Public 成员函数

 ConfigIni (StringView file_path)
 加载 ini 文件 更多...
 
bool Load (StringView file_path)
 加载 ini 文件 更多...
 
bool Load (std::istream &is)
 加载 ini 文件 更多...
 
bool LoadFromString (StringView content)
 加载 ini 格式字符串 更多...
 
bool Save (StringView file_path)
 保存至 ini 文件 更多...
 
bool Save (std::ostream &os)
 保存至 ini 文件 更多...
 
bool SaveToString (String &content)
 保存至字符串 更多...
 
bool HasSection (StringView section) const
 是否存在section 更多...
 
bool HasKey (StringView section, StringView key) const
 是否存在值 更多...
 
SectionMap GetSectionMap () const
 获取所有section
 
ValueMap GetSection (StringView section) const
 获取section 更多...
 
String GetString (StringView section, StringView key, StringView default_value=String()) const
 获取值 更多...
 
float GetFloat (StringView section, StringView key, float default_value=0.0f) const
 获取值 更多...
 
double GetDouble (StringView section, StringView key, double default_value=0.0) const
 获取值 更多...
 
int GetInt (StringView section, StringView key, int default_value=0) const
 获取值 更多...
 
bool GetBool (StringView section, StringView key, bool default_value=false) const
 获取值 更多...
 
void SetSectionMap (const SectionMap &sections)
 设置所有section 更多...
 
void SetSection (StringView section, const ValueMap &values)
 设置section 更多...
 
void SetString (StringView section, StringView key, StringView value)
 设置值 更多...
 
void SetFloat (StringView section, StringView key, float value)
 设置值 更多...
 
void SetDouble (StringView section, StringView key, double value)
 设置值 更多...
 
void SetInt (StringView section, StringView key, int value)
 设置值 更多...
 
void SetBool (StringView section, StringView key, bool value)
 设置值 更多...
 
void DeleteSection (StringView section)
 删除section 更多...
 
void DeleteKey (StringView section, StringView key)
 删除值 更多...
 
ValueMapoperator[] (StringView section)
 
const ValueMapoperator[] (StringView section) const
 
- Public 成员函数 继承自 kiwano::ObjectBase
 ObjectBase ()
 构造基础对象
 
void SetName (StringView name)
 设置对象名
 
StringView GetName () const
 获取对象名
 
bool IsName (StringView name) const
 判断对象的名称是否相同 更多...
 
void * GetUserData () const
 获取用户数据
 
void SetUserData (void *data)
 设置用户数据 更多...
 
void Hold (RefPtr< ObjectBase > other)
 持有一个对象并管理其生命周期 更多...
 
void Unhold (RefPtr< ObjectBase > other)
 放弃持有的对象 更多...
 
uint64_t GetObjectID () const
 获取对象ID
 
void DoSerialize (Serializer *serializer) const override
 序列化 更多...
 
void DoDeserialize (Deserializer *deserializer) override
 反序列化 更多...
 
virtual bool IsValid () const
 判断对象是否有效 更多...
 
ObjectStatusGetStatus () const
 获取对象状态
 
void SetStatus (const ObjectStatus &status)
 设置对象状态
 
void Fail (StringView msg, int code=ObjectStatus::fail)
 将对象标记为失败状态
 
void ClearStatus ()
 清除对象状态
 
- Public 成员函数 继承自 kiwano::RefObject
void Retain ()
 增加引用计数
 
void Release ()
 减少引用计数
 
uint32_t GetRefCount () const
 获取引用计数
 
- Public 成员函数 继承自 kiwano::Serializable
Vector< uint8_t > Serialize () const
 序列化为字节串
 
void Deserialize (const Vector< uint8_t > &data)
 从字节串反序列化
 
virtual void DoSerialize (Serializer *serializer) const =0
 执行序列化 更多...
 
virtual void DoDeserialize (Deserializer *deserializer)=0
 执行反序列化 更多...
 

额外继承的成员函数

- 静态 Public 成员函数 继承自 kiwano::ObjectBase
static void SetObjectPolicy (const ObjectPolicyFunc &policy)
 设置对象处理策略
 
static bool IsTracingLeaks ()
 是否启用了内存泄漏追踪
 
static void StartTracingLeaks ()
 开始追踪内存泄漏
 
static void StopTracingLeaks ()
 停止追踪内存泄漏
 
static void DumpTracingObjects ()
 打印所有追踪中的对象信息
 
static Vector< ObjectBase * > & GetTracingObjects ()
 获取所有追踪中的对象
 
- 静态 Public 成员函数 继承自 kiwano::RefObject
static void * operator new (size_t size)
 
static void operator delete (void *ptr)
 
static void * operator new (size_t size, std::nothrow_t const &) noexcept
 
static void operator delete (void *ptr, std::nothrow_t const &) noexcept
 
static void * operator new (size_t size, void *ptr) noexcept
 
static void operator delete (void *ptr, void *place) noexcept
 

详细描述

ini格式文件

构造及析构函数说明

◆ ConfigIni()

kiwano::ConfigIni::ConfigIni ( StringView  file_path)

加载 ini 文件

参数
file_path文件路径

成员函数说明

◆ DeleteKey()

void kiwano::ConfigIni::DeleteKey ( StringView  section,
StringView  key 
)

删除值

参数
sectionsection的名称
keykey的名称

◆ DeleteSection()

void kiwano::ConfigIni::DeleteSection ( StringView  section)

删除section

参数
sectionsection的名称

◆ GetBool()

bool kiwano::ConfigIni::GetBool ( StringView  section,
StringView  key,
bool  default_value = false 
) const

获取值

参数
sectionsection的名称
keykey的名称
default_value不存在时的默认值

◆ GetDouble()

double kiwano::ConfigIni::GetDouble ( StringView  section,
StringView  key,
double  default_value = 0.0 
) const

获取值

参数
sectionsection的名称
keykey的名称
default_value不存在时的默认值

◆ GetFloat()

float kiwano::ConfigIni::GetFloat ( StringView  section,
StringView  key,
float  default_value = 0.0f 
) const

获取值

参数
sectionsection的名称
keykey的名称
default_value不存在时的默认值

◆ GetInt()

int kiwano::ConfigIni::GetInt ( StringView  section,
StringView  key,
int  default_value = 0 
) const

获取值

参数
sectionsection的名称
keykey的名称
default_value不存在时的默认值

◆ GetSection()

ConfigIni::ValueMap kiwano::ConfigIni::GetSection ( StringView  section) const

获取section

参数
sectionsection的名称

◆ GetString()

String kiwano::ConfigIni::GetString ( StringView  section,
StringView  key,
StringView  default_value = String() 
) const

获取值

参数
sectionsection的名称
keykey的名称

◆ HasKey()

bool kiwano::ConfigIni::HasKey ( StringView  section,
StringView  key 
) const

是否存在值

参数
sectionsection的名称
keykey的名称

◆ HasSection()

bool kiwano::ConfigIni::HasSection ( StringView  section) const

是否存在section

参数
sectionsection的名称

◆ Load() [1/2]

bool kiwano::ConfigIni::Load ( std::istream &  is)

加载 ini 文件

参数
is输入流

◆ Load() [2/2]

bool kiwano::ConfigIni::Load ( StringView  file_path)

加载 ini 文件

参数
file_path文件路径

◆ LoadFromString()

bool kiwano::ConfigIni::LoadFromString ( StringView  content)

加载 ini 格式字符串

参数
content输入内容

◆ Save() [1/2]

bool kiwano::ConfigIni::Save ( std::ostream &  os)

保存至 ini 文件

参数
os输出流

◆ Save() [2/2]

bool kiwano::ConfigIni::Save ( StringView  file_path)

保存至 ini 文件

参数
file_path文件路径

◆ SaveToString()

bool kiwano::ConfigIni::SaveToString ( String &  content)

保存至字符串

参数
content输出内容

◆ SetBool()

void kiwano::ConfigIni::SetBool ( StringView  section,
StringView  key,
bool  value 
)

设置值

参数
sectionsection的名称
keykey的名称
value

◆ SetDouble()

void kiwano::ConfigIni::SetDouble ( StringView  section,
StringView  key,
double  value 
)

设置值

参数
sectionsection的名称
keykey的名称
value

◆ SetFloat()

void kiwano::ConfigIni::SetFloat ( StringView  section,
StringView  key,
float  value 
)

设置值

参数
sectionsection的名称
keykey的名称
value

◆ SetInt()

void kiwano::ConfigIni::SetInt ( StringView  section,
StringView  key,
int  value 
)

设置值

参数
sectionsection的名称
keykey的名称
value

◆ SetSection()

void kiwano::ConfigIni::SetSection ( StringView  section,
const ValueMap values 
)

设置section

参数
sectionsection的名称
values键值字典

◆ SetSectionMap()

void kiwano::ConfigIni::SetSectionMap ( const SectionMap sections)

设置所有section

参数
sectionssection字典

◆ SetString()

void kiwano::ConfigIni::SetString ( StringView  section,
StringView  key,
StringView  value 
)

设置值

参数
sectionsection的名称
keykey的名称
value