File tree Expand file tree Collapse file tree 2 files changed +94
-0
lines changed Expand file tree Collapse file tree 2 files changed +94
-0
lines changed Original file line number Diff line number Diff line change
1
+ /* *****************************************************************************
2
+ *
3
+ * Copyright 2021 Nikolay Shaplov (Postgres Professional)
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
10000
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ *
17
+ ******************************************************************************/
18
+
19
+ #include " stamp_enumerator.h"
20
+
21
+ #include " galley.h"
22
+ #include " stamp.h"
23
+ #include " blob.h"
24
+
25
+
26
+
27
+ std::string StampStrEnumerator::ExtractStr (Blob &blob)
28
+ {
29
+ std::vector<std::string> data = ExtractStrVector (blob);
30
+ std::string res = " " ;
31
+
32
+ for (std::string s : data)
33
+ {
34
+ if (!res.empty ())
35
+ {
36
+ res+= separator;
37
+ }
38
+ res+= s;
39
+ }
40
+ res = left_bracket + res + right_bracket;
41
+ return res;
42
+ }
Original file line number Diff line number Diff line change
1
+ /* *****************************************************************************
2
+ *
3
+ * Copyright 2021 Nikolay Shaplov (Postgres Professional)
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ *
17
+ ******************************************************************************/
18
+
19
+ #ifndef STAMP_ENUMERATOR_H
20
+ #define STAMP_ENUMERATOR_H
21
+
22
+ #include " galley.h"
23
+ #include " stamp.h"
24
+ #include " blob.h"
25
+
26
+ #include < string>
27
+
28
+ class StampStrEnumerator : public GalleyVectorStr , public StampBaseStr
29
+ {
30
+ protected:
31
+ StampBaseStr & stamp_str;
32
+ const std::string separator;
33
+ const std::string left_bracket;
34
+ const std::string right_bracket;
35
+ public:
36
+ StampStrEnumerator (StampBaseStr &arg_stamp,
37
+ const std::string arg_sep,
38
+ const std::string arg_l,
39
+ const std::string arg_r
40
+ ):
41
+ stamp_str (arg_stamp),
42
+ separator (arg_sep),
43
+ left_bracket (arg_l),
44
+ right_bracket (arg_r),
45
+ GalleyVectorStr (arg_stamp) {};
46
+
47
+ virtual std::string ExtractStr (Blob &blob) override ;
48
+
49
+ };
50
+
51
+
52
+ #endif // STAMP_ENUMERATOR_H
You can’t perform that action at this time.
0 commit comments