Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Gray::cIniSection Class Reference

#include <cIniSection.h>

Inheritance diagram for Gray::cIniSection:
Gray::cIniSectionData Gray::IIniBaseEnumerator Gray::IIniBaseGetter Gray::IIniBaseSetter Gray::cIniReader Gray::cIniSectionEntry GrayLib::cScriptSection

Public Member Functions

 cIniSection (bool bStripComments=false) noexcept
 
 cIniSection (cStringI sSectionTitle, bool bStripComments=false)
 
 cIniSection (const cIniSection &rSectionCopy)
 
const cStringIget_SectionTitle () const noexcept
 
cString get_Name () const noexcept
 
HRESULT WriteSection (cStreamOutput &file)
 
bool IsSectionType (const IniChar_t *pszSectionType) const noexcept
 
- Public Member Functions inherited from Gray::cIniSectionData
 cIniSectionData (bool bStripComments=false) noexcept
 
virtual ~cIniSectionData ()
 
void DisposeThis ()
 
bool isStripped () const noexcept
 
StrLen_t get_BufferUsed () const noexcept
 
StrLen_t get_BufferSize () const noexcept
 
ITERATE_t get_LineQty () const noexcept
 
IniChar_tGetLineEnum (ITERATE_t iLine=0) const noexcept
 
ITERATE_t FindTriggerName (const IniChar_t *pszTrigName) const
 
virtual HRESULT PropEnum (IPROPIDX_t ePropIdx, OUT cStringI &rsValue, cStringI *psKey=nullptr) const override
 
void ClearLineQty ()
 
ITERATE_t FindKeyLine (const IniChar_t *pszKeyName, bool bPrefixOnly=false) const
 Find a key in the section (key=args) More...
 
const IniChar_tFindKeyLinePtr (const IniChar_t *pszKey) const
 
const IniChar_tFindArgForKey (const IniChar_t *pszKey, const IniChar_t *pszDefault=nullptr) const
 
int FindIntForKey (const IniChar_t *pszKey, int iDefault=0) const
 
virtual HRESULT PropGet (const IniChar_t *pszPropTag, OUT cStringI &rsValue) const override
 
bool IsValidLines () const
 
void SetLinesCopy (const cIniSectionData &section)
 
ITERATE_t AddLine (const IniChar_t *pszLine)
 
bool SetLine (ITERATE_t iLine, const IniChar_t *pszLine=nullptr)
 
bool RemoveLine (ITERATE_t iLine)
 
ITERATE_t AddKeyArg (const IniChar_t *pszKey, const IniChar_t *pszArg)
 
ITERATE_t AddKeyInt (const IniChar_t *pszKey, int iArg)
 
ITERATE_t SetKeyArg (const IniChar_t *pszKey, const IniChar_t *pszArg)
 
ITERATE_t SetKeyInt (const IniChar_t *pszKey, int iArg)
 
void AllocComplete ()
 
virtual HRESULT PropSet (const IniChar_t *pszPropTag, const IniChar_t *pszValue) override
 
StrLen_t SetLinesParse (const IniChar_t *pszData, StrLen_t iLen=k_StrLen_UNK, const IniChar_t *pszSep=nullptr, STRP_MASK_t uFlags=(STRP_START_WHITE|STRP_MERGE_CRNL|STRP_END_WHITE|STRP_EMPTY_STOP))
 
cStringA GetStringAll (const IniChar_t *pszSep=nullptr) const
 
HRESULT ReadSectionData (cStringA &rsSectionNext, cStreamInput &stream, bool bStripComments)
 
HRESULT WriteSectionData (cStreamOutput &file)
 

Static Public Member Functions

static cStringI __stdcall GetSectionTitleParse (cStringI sSectionTitle, cStringI *psPropTag)
 
static bool __stdcall IsSectionTypeRoot (const IniChar_t *pszSection) noexcept
 
static bool __stdcall IsSectionTypeMatch (const IniChar_t *pszSection1, const IniChar_t *pszSection2) noexcept
 
- Static Public Member Functions inherited from Gray::cIniSectionData
static StrLen_t __stdcall IsLineTrigger (const IniChar_t *pszLine)
 
static StrLen_t __stdcall MakeLine (IniChar_t *pszTmp, StrLen_t iSizeMax, const IniChar_t *pszKey, const IniChar_t *pszArg, IniChar_t chSep='=')
 
- Static Public Member Functions inherited from Gray::cIniReader
static bool __stdcall IsSectionHeader (const IniChar_t *pszLine)
 
static bool __stdcall IsLineComment (const IniChar_t *pszLine)
 
static IniChar_t *__stdcall FindLineArg (const IniChar_t *pszLine, bool bAllowSpace=false)
 
static StrLen_t __stdcall FindScriptLineEnd (const IniChar_t *pLineStr)
 
static cStringI __stdcall GetLineParse2 (const IniChar_t *pszLine, IniChar_t **ppszArgs=nullptr)
 
static cStringI __stdcall GetLineParse3 (const IniChar_t *pszLine, OUT cStringI &rsArgs)
 

Protected Attributes

cStringI m_sSectionTitle
 "SECTIONTYPE SECTIONNAME" = everything that was inside [] without the [] More...
 
- Protected Attributes inherited from Gray::cIniSectionData
bool m_bStripComments
 has been stripped of blank lines, comments, leading and trailing line spaces. More...
 

Friends

class cIniSectionTests
 

Additional Inherited Members

- Static Public Attributes inherited from Gray::cIniSectionData
static const StrLen_t k_SECTION_SIZE_MAX = (256 * 1024)
 (chars) max size for whole section. (Windows Me/98/95 = 32K for INI) More...
 
static const ITERATE_t k_LINE_QTY_MAX = (8 * 1024)
 max number of lines i support. (per section) More...
 
static const StrLen_t k_LINE_LEN_MAX = (4 * 1024)
 max size for a single line (in chars). More...
 
static const StrLen_t k_LINE_LEN_DEF = (1024)
 suggested/guessed/average size for lines (in chars). for alloc guessing. More...
 
- Protected Member Functions inherited from Gray::cIniSectionData
IniChar_tAllocBuffer (StrLen_t nSizeChars)
 For raw access to the m_Buffer. More...
 
void AllocLines (ITERATE_t iLinesAlloc)
 
IniChar_tAllocBeginMin (StrLen_t nSizeChars)
 

Detailed Description

cIniSectionData + section title info

Constructor & Destructor Documentation

◆ cIniSection() [1/3]

Gray::cIniSection::cIniSection ( bool  bStripComments = false)
inlinenoexcept

◆ cIniSection() [2/3]

Gray::cIniSection::cIniSection ( cStringI  sSectionTitle,
bool  bStripComments = false 
)
inline

◆ cIniSection() [3/3]

Gray::cIniSection::cIniSection ( const cIniSection rSectionCopy)

copy constructor.

Member Function Documentation

◆ get_Name()

cString Gray::cIniSection::get_Name ( ) const
inlinenoexcept

◆ get_SectionTitle()

const cStringI& Gray::cIniSection::get_SectionTitle ( ) const
inlinenoexcept
Returns
everything that was inside [] without the []. Not parsed.

◆ GetSectionTitleParse()

cStringI GRAYCALL Gray::cIniSection::GetSectionTitleParse ( cStringI  sSectionTitle,
cStringI psPropTag 
)
static

Parse [SectionTitle]. similar to GetLineParse2()

◆ IsSectionType()

bool Gray::cIniSection::IsSectionType ( const IniChar_t pszSectionType) const
inlinenoexcept

◆ IsSectionTypeMatch()

bool GRAYCALL Gray::cIniSection::IsSectionTypeMatch ( const IniChar_t pszSection1,
const IniChar_t pszSection2 
)
staticnoexcept

◆ IsSectionTypeRoot()

static bool __stdcall Gray::cIniSection::IsSectionTypeRoot ( const IniChar_t pszSection)
inlinestaticnoexcept

stuff at the top of the file with no [section] header.

◆ WriteSection()

HRESULT Gray::cIniSection::WriteSection ( cStreamOutput file)

Friends And Related Function Documentation

◆ cIniSectionTests

friend class cIniSectionTests
friend

Member Data Documentation

◆ m_sSectionTitle

cStringI Gray::cIniSection::m_sSectionTitle
protected

"SECTIONTYPE SECTIONNAME" = everything that was inside [] without the []


The documentation for this class was generated from the following files: