TwiceAsNice  2019-02-18
Classes | Macros | Typedefs | Enumerations
SimpleIni.h File Reference
#include <string>
#include <map>
#include <list>
#include <algorithm>
#include <stdio.h>
#include <wchar.h>
#include "ConvertUTF.h"
Include dependency graph for SimpleIni.h:
This graph shows which files directly or indirectly include this file:

Classes

class  CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >
 Simple INI file reader. More...
 
struct  CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >::Entry
 key entry More...
 
struct  CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >::Entry::KeyOrder
 Strict less ordering by name of key only. More...
 
struct  CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >::Entry::LoadOrder
 Strict less ordering by order, and then name of key. More...
 
class  CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >::OutputWriter
 interface definition for the OutputWriter object to pass to Save() in order to output the INI file data. More...
 
class  CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >::FileWriter
 OutputWriter class to write the INI data to a file. More...
 
class  CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >::StringWriter
 OutputWriter class to write the INI data to a string. More...
 
class  CSimpleIniTempl< SI_CHAR, SI_STRLESS, SI_CONVERTER >::Converter
 Characterset conversion utility class to convert strings to the same format as is used for the storage. More...
 
struct  SI_GenericCase< SI_CHAR >
 Generic case-sensitive less than comparison. More...
 
struct  SI_GenericNoCase< SI_CHAR >
 Generic ASCII case-insensitive less than comparison. More...
 
class  SI_ConvertA< SI_CHAR >
 Null conversion class for MBCS/UTF-8 to char (or equivalent). More...
 
class  SI_ConvertW< SI_CHAR >
 Converts UTF-8 to a wchar_t (or equivalent) using the Unicode reference library functions. More...
 

Macros

#define SI_ASSERT(x)
 
#define SI_UTF8_SIGNATURE   "\xEF\xBB\xBF"
 
#define SI_NEWLINE_A   "\n"
 
#define SI_NEWLINE_W   L"\n"
 
#define SI_CONVERT_GENERIC
 
#define SI_Case   SI_GenericCase
 
#define SI_NoCase   SI_GenericNoCase
 
#define CSimpleIni   CSimpleIniA
 
#define CSimpleIniCase   CSimpleIniCaseA
 
#define SI_NEWLINE   SI_NEWLINE_A
 

Typedefs

typedef CSimpleIniTempl< char, SI_NoCase< char >, SI_ConvertA< char > > CSimpleIniA
 
typedef CSimpleIniTempl< char, SI_Case< char >, SI_ConvertA< char > > CSimpleIniCaseA
 
typedef CSimpleIniTempl< wchar_t, SI_NoCase< wchar_t >, SI_ConvertW< wchar_t > > CSimpleIniW
 
typedef CSimpleIniTempl< wchar_t, SI_Case< wchar_t >, SI_ConvertW< wchar_t > > CSimpleIniCaseW
 

Enumerations

enum  SI_Error {
  SI_OK = 0, SI_UPDATED = 1, SI_INSERTED = 2, SI_FAIL = -1,
  SI_NOMEM = -2, SI_FILE = -3
}
 

Macro Definition Documentation

◆ CSimpleIni

#define CSimpleIni   CSimpleIniA

◆ CSimpleIniCase

#define CSimpleIniCase   CSimpleIniCaseA

◆ SI_ASSERT

#define SI_ASSERT (   x)

◆ SI_Case

#define SI_Case   SI_GenericCase

◆ SI_CONVERT_GENERIC

#define SI_CONVERT_GENERIC

◆ SI_NEWLINE

#define SI_NEWLINE   SI_NEWLINE_A

◆ SI_NEWLINE_A

#define SI_NEWLINE_A   "\n"

◆ SI_NEWLINE_W

#define SI_NEWLINE_W   L"\n"

◆ SI_NoCase

#define SI_NoCase   SI_GenericNoCase

◆ SI_UTF8_SIGNATURE

#define SI_UTF8_SIGNATURE   "\xEF\xBB\xBF"

Typedef Documentation

◆ CSimpleIniA

typedef CSimpleIniTempl<char, SI_NoCase<char>,SI_ConvertA<char> > CSimpleIniA

◆ CSimpleIniCaseA

typedef CSimpleIniTempl<char, SI_Case<char>,SI_ConvertA<char> > CSimpleIniCaseA

◆ CSimpleIniCaseW

typedef CSimpleIniTempl<wchar_t, SI_Case<wchar_t>,SI_ConvertW<wchar_t> > CSimpleIniCaseW

◆ CSimpleIniW

typedef CSimpleIniTempl<wchar_t, SI_NoCase<wchar_t>,SI_ConvertW<wchar_t> > CSimpleIniW

Enumeration Type Documentation

◆ SI_Error

enum SI_Error
Enumerator
SI_OK 

No error.

SI_UPDATED 

An existing value was updated.

SI_INSERTED 

A new value was inserted.

SI_FAIL 

Generic failure.

SI_NOMEM 

Out of memory error.

SI_FILE 

File error (see errno for detail error)