8#ifndef HPP_ALIB_ENUMS_RECORDPARSER
9#define HPP_ALIB_ENUMS_RECORDPARSER 1
11#if !defined(HPP_ALIB) && !defined(ALIB_DOX)
19#if ALIB_STRINGS && !defined(HPP_ALIB_STRINGS_SUBSTRING)
23namespace alib {
namespace enums {
118 if( input.
IsNull () )
error(
"Input string is nulled" );
218 template<
typename TIntegral>
220 void Get( TIntegral& result,
bool isLastField=
false );
222 template<
typename TIntegral>
225 Get( TIntegral& result,
bool isLastField=
false )
228 if( bigInt == (std::numeric_limits<integer>::max)() ) result= (std::numeric_limits<TIntegral>::max)();
229 else if( bigInt == (std::numeric_limits<integer>::min)() ) result= (std::numeric_limits<TIntegral>::min)();
230 else result=
static_cast<TIntegral
>( bigInt );
249 template<
typename TEnum>
251 void Get( TEnum& result,
bool isLastField=
false );
253 template<
typename TEnum>
256 Get( TEnum& result,
bool isLastField=
false )
258 typename std::underlying_type<TEnum>::type resultIntegral;
260 result= TEnum( resultIntegral );
273 ALIB_API static void Get(
double& result,
bool isLastField=
false );
constexpr bool IsNull() const
constexpr bool IsEmpty() const
constexpr const TChar * Buffer() const
#define ALIB_ASSERT_MODULE(modulename)
#define ATMP_VOID_IF(Cond)
characters::character character
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.
static ALIB_API void Get(String &result, bool isLastField=false)
static ALIB_API void Get(character &result, bool isLastField=false)
static void Get(TIntegral &result, bool isLastField=false)
static ALIB_API void assertNoUnnecessary(character specificChar, const NCString &where)
static ALIB_API NString ResourceCategory
static ALIB_API integer getInteger(bool isLastField)
static ALIB_API void Delim()
static ALIB_API void Get(double &result, bool isLastField=false)
static ALIB_API void assertEndOfInput()
static ALIB_API void OuterDelim()
static ALIB_API void assertChar(character specificChar, const NCString &where)
static ALIB_API void assertNoWhitespaces(const NCString &where)
static ALIB_API Substring Input
static ALIB_API String OriginalInput
static ALIB_API void assertEndOfRecord()
static ALIB_API void Initialize(const String &input, character innerDelim, character outerDelim, const NString &resourceCategory, const NString &resourceName)
static ALIB_API character InnerDelimChar
static ALIB_API NString ResourceName
static ALIB_API void assertNoTrailingWhitespaces(String &token)
static ALIB_API character OuterDelimChar
static ALIB_API void error(const NCString &what)
static void Get(TEnum &result, bool isLastField=false)