| {# |
| Copyright (c) 2021 Arm Limited. All rights reserved. |
| SPDX-License-Identifier: Apache-2.0 |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| #} |
| {{common_template_header}} |
| |
| #include "BufAttributes.hpp" |
| |
| #include <vector> |
| #include <string> |
| |
| {% for namespace in namespaces %} |
| namespace {{namespace}} { |
| {% endfor %} |
| |
| static const char * labelsVec[] LABELS_ATTRIBUTE = { |
| {% for label in labels %} |
| "{{label}}", |
| {% endfor %} |
| }; |
| |
| bool GetLabelsVector(std::vector<std::string>& labels) |
| { |
| constexpr size_t labelsSz = {{labelsSize}}; |
| labels.clear(); |
| |
| if (!labelsSz) { |
| return false; |
| } |
| |
| labels.reserve(labelsSz); |
| |
| for (size_t i = 0; i < labelsSz; ++i) { |
| labels.emplace_back(labelsVec[i]); |
| } |
| |
| return true; |
| } |
| |
| {% for namespace in namespaces %} |
| } /* namespace {{name_space}} */ |
| {% endfor %} |