Stroika Library 3.0d16
 
Loading...
Searching...
No Matches
BadFormatException.h
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
4#ifndef _Stroika_Foundation_DataExchange_BadFormatException_h_
5#define _Stroika_Foundation_DataExchange_BadFormatException_h_ 1
6
7#include "Stroika/Foundation/StroikaPreComp.h"
8
9#include <optional>
10
11#include "Stroika/Foundation/Execution/Exceptions.h"
12
14
15 /**
16 * Use when reading from a structured stream the data is ill-formed
17 */
19 private:
21
22 public:
23 /**
24 */
27 BadFormatException (const Characters::String& details, const optional<unsigned int>& lineNumber,
28 const optional<unsigned int>& columnNumber, const optional<uint64_t>& fileOffset);
29
30 public:
31 /**
32 */
33 nonvirtual Characters::String GetDetails () const;
34
35 public:
36 /**
37 */
38 nonvirtual void GetPositionInfo (optional<unsigned int>* lineNum, optional<unsigned int>* colNumber, optional<uint64_t>* fileOffset) const;
39
40 public:
41 /**
42 */
43 static const BadFormatException kThe;
44
45 private:
46 optional<unsigned int> fLineNumber_;
47 optional<unsigned int> fColumnNumber_;
48 optional<uint64_t> fFileOffset_;
49
50 private:
51 Characters::String fDetails_;
52 };
53 inline const BadFormatException BadFormatException::kThe;
54
55}
56
57/*
58 ********************************************************************************
59 ***************************** Implementation Details ***************************
60 ********************************************************************************
61 */
62#include "BadFormatException.inl"
63
64#endif /*_Stroika_Foundation_DataExchange_BadFormatException_h_*/
String is like std::u32string, except it is much easier to use, often much more space efficient,...
Definition String.h:201