SimpleIni
Public Member Functions | List of all members
SI_ConvertA< SI_CHAR > Class Template Reference

#include <SimpleIni.h>

Public Member Functions

 SI_ConvertA (bool a_bStoreIsUtf8)
 
 SI_ConvertA (const SI_ConvertA &rhs)
 
SI_ConvertAoperator= (const SI_ConvertA &rhs)
 
size_t SizeFromStore (const char *a_pInputData, size_t a_uInputDataLen)
 
bool ConvertFromStore (const char *a_pInputData, size_t a_uInputDataLen, SI_CHAR *a_pOutputData, size_t a_uOutputDataSize)
 
size_t SizeToStore (const SI_CHAR *a_pInputData)
 
bool ConvertToStore (const SI_CHAR *a_pInputData, char *a_pOutputData, size_t a_uOutputDataSize)
 

Detailed Description

template<class SI_CHAR>
class SI_ConvertA< SI_CHAR >

Null conversion class for MBCS/UTF-8 to char (or equivalent).

Member Function Documentation

◆ ConvertFromStore()

template<class SI_CHAR >
bool SI_ConvertA< SI_CHAR >::ConvertFromStore ( const char *  a_pInputData,
size_t  a_uInputDataLen,
SI_CHAR *  a_pOutputData,
size_t  a_uOutputDataSize 
)
inline

Convert the input string from the storage format to SI_CHAR. The storage format is always UTF-8 or MBCS.

Parameters
a_pInputDataData in storage format to be converted to SI_CHAR.
a_uInputDataLenLength of storage format data in bytes. This must be the actual length of the data, including NULL byte if NULL terminated string is required.
a_pOutputDataPointer to the output buffer to received the converted data.
a_uOutputDataSizeSize of the output buffer in SI_CHAR.
Returns
true if all of the input data was successfully converted.

◆ ConvertToStore()

template<class SI_CHAR >
bool SI_ConvertA< SI_CHAR >::ConvertToStore ( const SI_CHAR *  a_pInputData,
char *  a_pOutputData,
size_t  a_uOutputDataSize 
)
inline

Convert the input string to the storage format of this data. The storage format is always UTF-8 or MBCS.

Parameters
a_pInputDataNULL terminated source string to convert. All of the data will be converted including the terminating NULL character.
a_pOutputDataPointer to the buffer to receive the converted string.
a_uOutputDataSizeSize of the output buffer in char.
Returns
true if all of the input data, including the terminating NULL character was successfully converted.

◆ SizeFromStore()

template<class SI_CHAR >
size_t SI_ConvertA< SI_CHAR >::SizeFromStore ( const char *  a_pInputData,
size_t  a_uInputDataLen 
)
inline

Calculate the number of SI_CHAR required for converting the input from the storage format. The storage format is always UTF-8 or MBCS.

Parameters
a_pInputDataData in storage format to be converted to SI_CHAR.
a_uInputDataLenLength of storage format data in bytes. This must be the actual length of the data, including NULL byte if NULL terminated string is required.
Returns
Number of SI_CHAR required by the string when converted. If there are embedded NULL bytes in the input data, only the string up and not including the NULL byte will be converted.
-1 cast to size_t on a conversion error.

◆ SizeToStore()

template<class SI_CHAR >
size_t SI_ConvertA< SI_CHAR >::SizeToStore ( const SI_CHAR *  a_pInputData)
inline

Calculate the number of char required by the storage format of this data. The storage format is always UTF-8 or MBCS.

Parameters
a_pInputDataNULL terminated string to calculate the number of bytes required to be converted to storage format.
Returns
Number of bytes required by the string when converted to storage format. This size always includes space for the terminating NULL character.
-1 cast to size_t on a conversion error.

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