Skip to content

Commit 4d1a0f3

Browse files
committed
cast std::count_if to size_t since it returns a signed value
1 parent ce0c0c2 commit 4d1a0f3

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/main/java/com/amazonaws/util/awsclientsmithygenerator/generators/waiters/jmespath/FilterOperandEmitter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ private String emitItemCountIf(FilterProjectionExpression filterExpr) {
9898

9999
String predicate = filterExpr.getComparison().accept(
100100
new FilterPredicateEmitter("inner", model, innerElementShape, smithyServiceName));
101-
return "std::count_if(" + collection + ".begin(), " + collection + ".end(), "
102-
+ "[](const " + innerElementType + "& inner) { return " + predicate + "; })";
101+
return "static_cast<std::size_t>(std::count_if(" + collection + ".begin(), " + collection + ".end(), "
102+
+ "[](const " + innerElementType + "& inner) { return " + predicate + "; }))";
103103
}
104104

105105
private String resolveInnerElementType(JmespathExpression collectionExpr) {

tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/main/java/com/amazonaws/util/awsclientsmithygenerator/generators/waiters/jmespath/ScalarEmitter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ private String emitCountIf(FilterProjectionExpression filterExpr) {
6565

6666
String predicate = filterExpr.getComparison().accept(
6767
new FilterPredicateEmitter("item", model, elementShape, smithyServiceName));
68-
return "std::count_if(" + collection + ".begin(), " + collection + ".end(), "
69-
+ "[](const " + elementType + "& item) { return " + predicate + "; })";
68+
return "static_cast<std::size_t>(std::count_if(" + collection + ".begin(), " + collection + ".end(), "
69+
+ "[](const " + elementType + "& item) { return " + predicate + "; }))";
7070
}
7171

7272
private String resolveFilterElementType(FilterProjectionExpression filterExpr) {

tools/code-generation/smithy/cpp-codegen/smithy-cpp-codegen/src/test/java/com/amazonaws/util/awsclientsmithygenerator/generators/waiters/WaiterJmesPathCppCodeGeneratorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@ void andExpression_bracesBalanced() {
543543
void filterProjectionComparison_withoutAnd() {
544544
String expr = "length(Items[?Status == 'DISABLED' || Status == 'FAILED']) == length(Items)";
545545
String code = gen(expr, PathComparator.BOOLEAN_EQUALS);
546-
assertContains(code, "std::count_if");
546+
assertContains(code, "static_cast<std::size_t>(std::count_if");
547547
assertContains(code, "item.GetStatus() == \"DISABLED\"");
548548
assertContains(code, "item.GetStatus() == \"FAILED\"");
549549
assertContains(code, "result.GetItems().size()");

0 commit comments

Comments
 (0)