Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
1#include <string>
2
3namespace NV {
4    namespace Metric {
5        namespace Parser {
6            inline bool ParseMetricNameString(const std::string& metricName, std::string* reqName, bool* isolated, bool* keepInstances)
7            {
8                std::string& name = *reqName;
9                name = metricName;
10                if (name.empty())
11                {
12                    return false;
13                }
14
15                // boost program_options sometimes inserts a \n between the metric name and a '&' at the end
16                size_t pos = name.find('\n');
17                if (pos != std::string::npos)
18                {
19                    name.erase(pos, 1);
20                }
21
22                // trim whitespace
23                while (name.back() == ' ')
24                {
25                    name.pop_back();
26                    if (name.empty())
27                    {
28                        return false;
29                    }
30                }
31
32                *keepInstances = false;
33                if (name.back() == '+')
34                {
35                    *keepInstances = true;
36                    name.pop_back();
37                    if (name.empty())
38                    {
39                        return false;
40                    }
41                }
42
43                *isolated = true;
44                if (name.back() == '$')
45                {
46                    name.pop_back();
47                    if (name.empty())
48                    {
49                        return false;
50                    }
51                }
52                else if (name.back() == '&')
53                {
54                    *isolated = false;
55                    name.pop_back();
56                    if (name.empty())
57                    {
58                        return false;
59                    }
60                }
61
62                return true;
63            }
64        }
65    }
66}
codekingpro/portable-devtools · Team Ai