Skip to content

Commit 60e6481

Browse files
committed
Add template <> to specializations
1 parent d8c0d61 commit 60e6481

File tree

4 files changed

+23
-3
lines changed

4 files changed

+23
-3
lines changed

samples/client/MutateClient.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ static const std::array<std::string_view, 4> s_namesTaskState = {
2626
"Unassigned"sv,
2727
};
2828

29+
template <>
2930
response::Value ModifiedVariable<TaskState>::serialize(TaskState&& value)
3031
{
3132
response::Value result { response::Type::EnumValue };
@@ -35,6 +36,7 @@ response::Value ModifiedVariable<TaskState>::serialize(TaskState&& value)
3536
return result;
3637
}
3738

39+
template <>
3840
response::Value ModifiedVariable<Variables::CompleteTaskInput>::serialize(Variables::CompleteTaskInput&& inputValue)
3941
{
4042
response::Value result { response::Type::Map };
@@ -47,6 +49,7 @@ response::Value ModifiedVariable<Variables::CompleteTaskInput>::serialize(Variab
4749
return result;
4850
}
4951

52+
template <>
5053
TaskState ModifiedResponse<TaskState>::parse(response::Value&& value)
5154
{
5255
if (!value.maybe_enum())
@@ -64,6 +67,7 @@ TaskState ModifiedResponse<TaskState>::parse(response::Value&& value)
6467
return static_cast<TaskState>(itr - s_namesTaskState.cbegin());
6568
}
6669

70+
template <>
6771
Response::completedTask_CompleteTaskPayload::completedTask_Task ModifiedResponse<Response::completedTask_CompleteTaskPayload::completedTask_Task>::parse(response::Value&& response)
6872
{
6973
Response::completedTask_CompleteTaskPayload::completedTask_Task result;
@@ -95,6 +99,7 @@ Response::completedTask_CompleteTaskPayload::completedTask_Task ModifiedResponse
9599
return result;
96100
}
97101

102+
template <>
98103
Response::completedTask_CompleteTaskPayload ModifiedResponse<Response::completedTask_CompleteTaskPayload>::parse(response::Value&& response)
99104
{
100105
Response::completedTask_CompleteTaskPayload result;

samples/client/QueryClient.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ static const std::array<std::string_view, 4> s_namesTaskState = {
2626
"Unassigned"sv,
2727
};
2828

29+
template <>
2930
TaskState ModifiedResponse<TaskState>::parse(response::Value&& value)
3031
{
3132
if (!value.maybe_enum())
@@ -43,6 +44,7 @@ TaskState ModifiedResponse<TaskState>::parse(response::Value&& value)
4344
return static_cast<TaskState>(itr - s_namesTaskState.cbegin());
4445
}
4546

47+
template <>
4648
Response::appointments_AppointmentConnection::edges_AppointmentEdge::node_Appointment ModifiedResponse<Response::appointments_AppointmentConnection::edges_AppointmentEdge::node_Appointment>::parse(response::Value&& response)
4749
{
4850
Response::appointments_AppointmentConnection::edges_AppointmentEdge::node_Appointment result;
@@ -84,6 +86,7 @@ Response::appointments_AppointmentConnection::edges_AppointmentEdge::node_Appoin
8486
return result;
8587
}
8688

89+
template <>
8790
Response::appointments_AppointmentConnection::edges_AppointmentEdge ModifiedResponse<Response::appointments_AppointmentConnection::edges_AppointmentEdge>::parse(response::Value&& response)
8891
{
8992
Response::appointments_AppointmentConnection::edges_AppointmentEdge result;
@@ -105,6 +108,7 @@ Response::appointments_AppointmentConnection::edges_AppointmentEdge ModifiedResp
105108
return result;
106109
}
107110

111+
template <>
108112
Response::appointments_AppointmentConnection ModifiedResponse<Response::appointments_AppointmentConnection>::parse(response::Value&& response)
109113
{
110114
Response::appointments_AppointmentConnection result;
@@ -126,6 +130,7 @@ Response::appointments_AppointmentConnection ModifiedResponse<Response::appointm
126130
return result;
127131
}
128132

133+
template <>
129134
Response::tasks_TaskConnection::edges_TaskEdge::node_Task ModifiedResponse<Response::tasks_TaskConnection::edges_TaskEdge::node_Task>::parse(response::Value&& response)
130135
{
131136
Response::tasks_TaskConnection::edges_TaskEdge::node_Task result;
@@ -162,6 +167,7 @@ Response::tasks_TaskConnection::edges_TaskEdge::node_Task ModifiedResponse<Respo
162167
return result;
163168
}
164169

170+
template <>
165171
Response::tasks_TaskConnection::edges_TaskEdge ModifiedResponse<Response::tasks_TaskConnection::edges_TaskEdge>::parse(response::Value&& response)
166172
{
167173
Response::tasks_TaskConnection::edges_TaskEdge result;
@@ -183,6 +189,7 @@ Response::tasks_TaskConnection::edges_TaskEdge ModifiedResponse<Response::tasks_
183189
return result;
184190
}
185191

192+
template <>
186193
Response::tasks_TaskConnection ModifiedResponse<Response::tasks_TaskConnection>::parse(response::Value&& response)
187194
{
188195
Response::tasks_TaskConnection result;
@@ -204,6 +211,7 @@ Response::tasks_TaskConnection ModifiedResponse<Response::tasks_TaskConnection>:
204211
return result;
205212
}
206213

214+
template <>
207215
Response::unreadCounts_FolderConnection::edges_FolderEdge::node_Folder ModifiedResponse<Response::unreadCounts_FolderConnection::edges_FolderEdge::node_Folder>::parse(response::Value&& response)
208216
{
209217
Response::unreadCounts_FolderConnection::edges_FolderEdge::node_Folder result;
@@ -240,6 +248,7 @@ Response::unreadCounts_FolderConnection::edges_FolderEdge::node_Folder ModifiedR
240248
return result;
241249
}
242250

251+
template <>
243252
Response::unreadCounts_FolderConnection::edges_FolderEdge ModifiedResponse<Response::unreadCounts_FolderConnection::edges_FolderEdge>::parse(response::Value&& response)
244253
{
245254
Response::unreadCounts_FolderConnection::edges_FolderEdge result;
@@ -261,6 +270,7 @@ Response::unreadCounts_FolderConnection::edges_FolderEdge ModifiedResponse<Respo
261270
return result;
262271
}
263272

273+
template <>
264274
Response::unreadCounts_FolderConnection ModifiedResponse<Response::unreadCounts_FolderConnection>::parse(response::Value&& response)
265275
{
266276
Response::unreadCounts_FolderConnection result;

samples/client/SubscribeClient.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ namespace graphql::client {
1919

2020
using namespace subscription::TestSubscription;
2121

22+
template <>
2223
Response::nextAppointment_Appointment ModifiedResponse<Response::nextAppointment_Appointment>::parse(response::Value&& response)
2324
{
2425
Response::nextAppointment_Appointment result;

src/ClientGenerator.cpp

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -551,7 +551,8 @@ using namespace )cpp"
551551

552552
if (!variables.empty())
553553
{
554-
sourceFile << R"cpp(response::Value ModifiedVariable<)cpp" << cppType
554+
sourceFile << R"cpp(template <>
555+
response::Value ModifiedVariable<)cpp" << cppType
555556
<< R"cpp(>::serialize()cpp" << cppType << R"cpp(&& value)
556557
{
557558
response::Value result { response::Type::EnumValue };
@@ -573,7 +574,8 @@ using namespace )cpp"
573574

574575
const auto cppType = _schemaLoader.getCppType(inputType->name());
575576

576-
sourceFile << R"cpp(response::Value ModifiedVariable<Variables::)cpp" << cppType
577+
sourceFile << R"cpp(template <>
578+
response::Value ModifiedVariable<Variables::)cpp" << cppType
577579
<< R"cpp(>::serialize(Variables::)cpp" << cppType << R"cpp(&& inputValue)
578580
{
579581
response::Value result { response::Type::Map };
@@ -607,7 +609,8 @@ using namespace )cpp"
607609

608610
const auto cppType = _schemaLoader.getCppType(enumType->name());
609611

610-
sourceFile << cppType << R"cpp( ModifiedResponse<)cpp" << cppType
612+
sourceFile << R"cpp(template <>
613+
)cpp" << cppType << R"cpp( ModifiedResponse<)cpp" << cppType
611614
<< R"cpp(>::parse(response::Value&& value)
612615
{
613616
if (!value.maybe_enum())
@@ -816,6 +819,7 @@ bool Generator::outputModifiedResponseImplementation(std::ostream& sourceFile,
816819

817820
// This is a complex type that requires a custom ModifiedResponse implementation.
818821
sourceFile << R"cpp(
822+
template <>
819823
)cpp" << cppType
820824
<< R"cpp( ModifiedResponse<)cpp" << cppType
821825
<< R"cpp(>::parse(response::Value&& response)

0 commit comments

Comments
 (0)