#include <string>
#include <stdint.h>
Go to the source code of this file.
|
| bool | interpretSeeds (const std::string &buffer, std::string &stream, uint32_t &seed1, uint32_t &seed2, short &luxury, uint32_t &offset) |
| bool | interpretSeeds (const std::string &buffer, std::string &stream, uint32_t &seed1, uint32_t &seed2, uint32_t &offset) |
| bool | interpretSeeds (const std::string &buffer, std::string &stream, uint32_t &seed1, uint32_t &seed2) |
| bool | interpretSeeds (const std::string &buffer, std::string &stream, std::vector< uint32_t > &seeds) |
◆ interpretSeeds() [1/4]
| bool interpretSeeds |
( |
const std::string & | buffer, |
|
|
std::string & | stream, |
|
|
std::vector< uint32_t > & | seeds ) |
Definition at line 69 of file interpretSeeds.cxx.
71{
72
73 std::vector<std::string>
tokens;
74 for (
auto&& range : std::string_view{
buffer} | std::views::split(
' '))
if (!
range.empty())
tokens.emplace_back(
range.begin(),
range.end());
75 int nToks =
static_cast<int>(
tokens.size());
76 bool status = (nToks == 31 || nToks == 33 || nToks == 771);
77 if (status) {
78 auto token =
tokens.begin();
80 --nToks;
81 if (nToks == 32) nToks=30;
82 for (
int i=0;
i<nToks;
i++) {
84 auto [
ptr, ec] = std::from_chars(token->data(), token->data() + token->size(), value);
85 if (ec != std::errc()) {
87 break;
88 }
89 seeds.push_back(value);
90 ++token;
91 }
92 }
94}
◆ interpretSeeds() [2/4]
| bool interpretSeeds |
( |
const std::string & | buffer, |
|
|
std::string & | stream, |
|
|
uint32_t & | seed1, |
|
|
uint32_t & | seed2 ) |
|
inline |
Definition at line 21 of file interpretSeeds.h.
22 {
23 short luxury(0);
25 return interpretSeeds(buffer, stream, seed1, seed2, luxury, offset);
26}
bool interpretSeeds(const std::string &buffer, std::string &stream, uint32_t &seed1, uint32_t &seed2, short &luxury, uint32_t &offset)
◆ interpretSeeds() [3/4]
| bool interpretSeeds |
( |
const std::string & | buffer, |
|
|
std::string & | stream, |
|
|
uint32_t & | seed1, |
|
|
uint32_t & | seed2, |
|
|
short & | luxury, |
|
|
uint32_t & | offset ) |
Definition at line 43 of file interpretSeeds.cxx.
45{
46
47 std::vector<std::string>
tokens;
48 for (
auto&& range : std::string_view{
buffer} | std::views::split(
' '))
if (!
range.empty())
tokens.emplace_back(
range.begin(),
range.end());
49 int nToks =
static_cast<int>(
tokens.size());
50 bool status = (nToks == 3 || nToks == 5 || nToks == 7);
51 if (status) {
52 auto token =
tokens.begin();
54
58 auto [ptr1, ec1] = std::from_chars(token->data(), token->data() + token->size(), seed1);
59 ++token;
60 auto [ptr2, ec2] = std::from_chars(token->data(), token->data() + token->size(), seed2);
61 ++token;
62 if (ec1 != std::errc() || ec2 != std::errc()) {
64 }
65 }
67}
void getLuxury(std::vector< std::string >::iterator &token, short &luxLevel)
void getOffset(std::vector< std::string >::iterator &token, uint32_t &offset)
◆ interpretSeeds() [4/4]
| bool interpretSeeds |
( |
const std::string & | buffer, |
|
|
std::string & | stream, |
|
|
uint32_t & | seed1, |
|
|
uint32_t & | seed2, |
|
|
uint32_t & | offset ) |
|
inline |