From d7bd3b10e2e0c7eca200aad2545da7334a1c564e Mon Sep 17 00:00:00 2001 From: Brat-vseznamus Date: Tue, 13 Aug 2024 14:19:44 +0300 Subject: [PATCH 01/38] and magic static --- internal/tlcodegen/test/codegen_test/cpp/Makefile | 8 ++++++-- .../__common_namespace/functions/boxedArray.hpp | 3 +++ .../schema_cpp/__common_namespace/functions/boxedInt.hpp | 3 +++ .../__common_namespace/functions/boxedString.hpp | 3 +++ .../__common_namespace/functions/boxedTuple.hpp | 3 +++ .../__common_namespace/functions/boxedTupleSlice1.hpp | 3 +++ .../__common_namespace/functions/boxedTupleSlice2.hpp | 3 +++ .../__common_namespace/functions/boxedTupleSlice3.hpp | 3 +++ .../__common_namespace/functions/boxedVector32.hpp | 3 +++ .../functions/boxedVector32BoxedElem.hpp | 3 +++ .../__common_namespace/functions/boxedVector64.hpp | 3 +++ .../schema_cpp/__common_namespace/functions/getDouble.hpp | 3 +++ .../schema_cpp/__common_namespace/functions/getFloat.hpp | 3 +++ .../__common_namespace/functions/getMaybeIface.hpp | 3 +++ .../__common_namespace/functions/getMyDictOfInt.hpp | 3 +++ .../__common_namespace/functions/getMyDouble.hpp | 3 +++ .../__common_namespace/functions/getMyValue.hpp | 3 +++ .../__common_namespace/functions/getNonOptNat.hpp | 3 +++ .../schema_cpp/__common_namespace/functions/getStats.hpp | 3 +++ .../__common_namespace/functions/get_arrays.hpp | 3 +++ .../schema_cpp/antispam/functions/antispam.getPattern.hpp | 3 +++ .../gen/schema_cpp/service1/functions/service1.add.hpp | 3 +++ .../schema_cpp/service1/functions/service1.addOrGet.hpp | 3 +++ .../schema_cpp/service1/functions/service1.addOrIncr.hpp | 3 +++ .../gen/schema_cpp/service1/functions/service1.append.hpp | 3 +++ .../gen/schema_cpp/service1/functions/service1.cas.hpp | 3 +++ .../gen/schema_cpp/service1/functions/service1.decr.hpp | 3 +++ .../gen/schema_cpp/service1/functions/service1.delete.hpp | 3 +++ .../service1/functions/service1.disableExpiration.hpp | 3 +++ .../service1/functions/service1.disableKeysStat.hpp | 3 +++ .../service1/functions/service1.enableExpiration.hpp | 3 +++ .../service1/functions/service1.enableKeysStat.hpp | 3 +++ .../gen/schema_cpp/service1/functions/service1.exists.hpp | 3 +++ .../gen/schema_cpp/service1/functions/service1.get.hpp | 3 +++ .../service1/functions/service1.getExpireTime.hpp | 3 +++ .../service1/functions/service1.getKeysStat.hpp | 3 +++ .../service1/functions/service1.getKeysStatPeriods.hpp | 3 +++ .../service1/functions/service1.getWildcard.hpp | 3 +++ .../service1/functions/service1.getWildcardDict.hpp | 3 +++ .../service1/functions/service1.getWildcardList.hpp | 3 +++ .../service1/functions/service1.getWildcardWithFlags.hpp | 3 +++ .../gen/schema_cpp/service1/functions/service1.incr.hpp | 3 +++ .../schema_cpp/service1/functions/service1.replace.hpp | 3 +++ .../service1/functions/service1.replaceOrIncr.hpp | 3 +++ .../gen/schema_cpp/service1/functions/service1.set.hpp | 3 +++ .../schema_cpp/service1/functions/service1.setOrIncr.hpp | 3 +++ .../gen/schema_cpp/service1/functions/service1.touch.hpp | 3 +++ .../service2/functions/service2.addOrIncrMany.hpp | 3 +++ .../gen/schema_cpp/service2/functions/service2.set.hpp | 3 +++ .../service2/functions/service2.setObjectTtl.hpp | 3 +++ .../service3/functions/service3.createProduct.hpp | 3 +++ .../service3/functions/service3.deleteAllProducts.hpp | 3 +++ .../service3/functions/service3.deleteGroupedProducts.hpp | 3 +++ .../service3/functions/service3.deleteProduct.hpp | 3 +++ .../service3/functions/service3.getLastVisitTimestamp.hpp | 3 +++ .../schema_cpp/service3/functions/service3.getLimits.hpp | 3 +++ .../service3/functions/service3.getProductStats.hpp | 3 +++ .../service3/functions/service3.getProducts.hpp | 3 +++ .../service3/functions/service3.getScheduledProducts.hpp | 3 +++ .../service3/functions/service3.restoreAllProducts.hpp | 3 +++ .../functions/service3.restoreGroupedProducts.hpp | 3 +++ .../service3/functions/service3.restoreProduct.hpp | 3 +++ .../service3/functions/service3.setLastVisitTimestamp.hpp | 3 +++ .../schema_cpp/service3/functions/service3.setLimits.hpp | 3 +++ .../gen/schema_cpp/service5/functions/service5.insert.hpp | 3 +++ .../service5/functions/service5.performQuery.hpp | 3 +++ .../gen/schema_cpp/service5/functions/service5.query.hpp | 3 +++ .../schema_cpp/service6/functions/service6.multiFind.hpp | 3 +++ .../service6/functions/service6.multiFindWithBounds.hpp | 3 +++ .../test/gen/schema_cpp/tasks/functions/tasks.addTask.hpp | 3 +++ .../gen/schema_cpp/tasks/functions/tasks.getAnyTask.hpp | 3 +++ .../gen/schema_cpp/tasks/functions/tasks.getQueueSize.hpp | 3 +++ .../schema_cpp/tasks/functions/tasks.getQueueTypes.hpp | 3 +++ .../schema_cpp/tasks/functions/tasks.getTaskFromQueue.hpp | 3 +++ .../test/gen/schema_cpp/unique/functions/unique.get.hpp | 3 +++ .../schema_cpp/unique/functions/unique.stringToInt.hpp | 3 +++ internal/tlcodegen/type_rw_struct_cpp.go | 3 +++ 77 files changed, 234 insertions(+), 2 deletions(-) diff --git a/internal/tlcodegen/test/codegen_test/cpp/Makefile b/internal/tlcodegen/test/codegen_test/cpp/Makefile index 6e47dba0..ccc374c2 100644 --- a/internal/tlcodegen/test/codegen_test/cpp/Makefile +++ b/internal/tlcodegen/test/codegen_test/cpp/Makefile @@ -33,7 +33,9 @@ build/test_objects_bytes.o: tests/test_objects_bytes.cpp $(CC) $(CFLAGS) -c tests/test_objects_bytes.cpp -o build/test_objects_bytes.o compile-cases: - @cd $(CASES_DIR)/ && make __build/__common_namespace.o __build/benchmarks.o __build/cases.o __build/cases_bytes.o __build/__meta.o __build/__factory.o + @cd $(CASES_DIR)/ &&\ + mkdir -p __build &&\ + make __build/__common_namespace.o __build/benchmarks.o __build/cases.o __build/cases_bytes.o __build/__meta.o __build/__factory.o @cd ../../codegen_test/cpp/ build-functions-bytes: build/test_functions_bytes.o compile-schema @@ -57,5 +59,7 @@ build/test_functions_bytes.o: tests/test_functions_bytes.cpp $(CC) $(CFLAGS) -c tests/test_functions_bytes.cpp -o build/test_functions_bytes.o compile-schema: - @cd $(SCHEMA_DIR)/ && make __build/__common_namespace.o __build/antispam.o __build/pkg2.o __build/service1.o __build/service2.o __build/service3.o __build/service4.o __build/service5.o __build/service6.o __build/tasks.o __build/tree_stats.o __build/unique.o __build/__meta.o __build/__factory.o + @cd $(SCHEMA_DIR)/ &&\ + mkdir -p __build &&\ + make __build/__common_namespace.o __build/antispam.o __build/pkg2.o __build/service1.o __build/service2.o __build/service3.o __build/service4.o __build/service5.o __build/service6.o __build/tasks.o __build/tree_stats.o __build/unique.o __build/__meta.o __build/__factory.o @cd ../../codegen_test/cpp/ \ No newline at end of file diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedArray.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedArray.hpp index e13ba337..a60a4729 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedArray.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedArray.hpp @@ -6,6 +6,9 @@ namespace tl2 { struct BoxedArray { + // tl magic for function + static const uint32_t MAGIC = 0x95dcc8b7; + ::tl2::MyBoxedArray x{}; std::string_view tl_name() const { return "boxedArray"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedInt.hpp index 6e1aa2df..a7f4cdd7 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedInt.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedInt.hpp @@ -5,6 +5,9 @@ namespace tl2 { struct BoxedInt { + // tl magic for function + static const uint32_t MAGIC = 0x5688ebaf; + int32_t x = 0; std::string_view tl_name() const { return "boxedInt"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedString.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedString.hpp index 20992e43..41aa9a03 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedString.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedString.hpp @@ -5,6 +5,9 @@ namespace tl2 { struct BoxedString { + // tl magic for function + static const uint32_t MAGIC = 0x548994db; + std::string x; std::string_view tl_name() const { return "boxedString"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTuple.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTuple.hpp index cd17025a..4776b1ac 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTuple.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTuple.hpp @@ -5,6 +5,9 @@ namespace tl2 { struct BoxedTuple { + // tl magic for function + static const uint32_t MAGIC = 0x30c9d533; + std::array x{}; std::string_view tl_name() const { return "boxedTuple"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice1.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice1.hpp index dab210e5..fe8451d1 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice1.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice1.hpp @@ -5,6 +5,9 @@ namespace tl2 { struct BoxedTupleSlice1 { + // tl magic for function + static const uint32_t MAGIC = 0x25230d40; + uint32_t n = 0; std::vector x; diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice2.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice2.hpp index 338f1378..a62ca009 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice2.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice2.hpp @@ -6,6 +6,9 @@ namespace tl2 { struct BoxedTupleSlice2 { + // tl magic for function + static const uint32_t MAGIC = 0x1cdf4705; + ::tl2::MyBoxedTupleSlice x{}; std::string_view tl_name() const { return "boxedTupleSlice2"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice3.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice3.hpp index 086b0537..871d8928 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice3.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice3.hpp @@ -5,6 +5,9 @@ namespace tl2 { struct BoxedTupleSlice3 { + // tl magic for function + static const uint32_t MAGIC = 0xa19b8106; + uint32_t n = 0; std::vector x; diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32.hpp index 33b91dea..a7135b64 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32.hpp @@ -5,6 +5,9 @@ namespace tl2 { struct BoxedVector32 { + // tl magic for function + static const uint32_t MAGIC = 0xbbadef07; + std::vector x; std::string_view tl_name() const { return "boxedVector32"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32BoxedElem.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32BoxedElem.hpp index a3a4ffe7..cfed4bcc 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32BoxedElem.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32BoxedElem.hpp @@ -5,6 +5,9 @@ namespace tl2 { struct BoxedVector32BoxedElem { + // tl magic for function + static const uint32_t MAGIC = 0x591cecd4; + std::vector x; std::string_view tl_name() const { return "boxedVector32BoxedElem"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector64.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector64.hpp index 60b32cb1..df451116 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector64.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector64.hpp @@ -5,6 +5,9 @@ namespace tl2 { struct BoxedVector64 { + // tl magic for function + static const uint32_t MAGIC = 0x83659ba8; + std::vector x; std::string_view tl_name() const { return "boxedVector64"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getDouble.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getDouble.hpp index cc0850c6..ba95889e 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getDouble.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getDouble.hpp @@ -5,6 +5,9 @@ namespace tl2 { struct GetDouble { + // tl magic for function + static const uint32_t MAGIC = 0x39711d7b; + double x = 0; std::string_view tl_name() const { return "getDouble"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getFloat.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getFloat.hpp index 07cb437e..415191b5 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getFloat.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getFloat.hpp @@ -5,6 +5,9 @@ namespace tl2 { struct GetFloat { + // tl magic for function + static const uint32_t MAGIC = 0x25a7bc68; + float x = 0; std::string_view tl_name() const { return "getFloat"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMaybeIface.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMaybeIface.hpp index 8659457e..b369260f 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMaybeIface.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMaybeIface.hpp @@ -6,6 +6,9 @@ namespace tl2 { struct GetMaybeIface { + // tl magic for function + static const uint32_t MAGIC = 0x6b055ae4; + ::tl2::service1::Value x; std::string_view tl_name() const { return "getMaybeIface"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDictOfInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDictOfInt.hpp index d88d78bc..b369d1ee 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDictOfInt.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDictOfInt.hpp @@ -6,6 +6,9 @@ namespace tl2 { struct GetMyDictOfInt { + // tl magic for function + static const uint32_t MAGIC = 0x166f962c; + ::tl2::MyDictOfInt x{}; std::string_view tl_name() const { return "getMyDictOfInt"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDouble.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDouble.hpp index 8ad95e81..5dcb4d13 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDouble.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDouble.hpp @@ -6,6 +6,9 @@ namespace tl2 { struct GetMyDouble { + // tl magic for function + static const uint32_t MAGIC = 0xb660ad10; + ::tl2::MyDouble x{}; std::string_view tl_name() const { return "getMyDouble"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyValue.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyValue.hpp index 9c45b517..6714306c 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyValue.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyValue.hpp @@ -6,6 +6,9 @@ namespace tl2 { struct GetMyValue { + // tl magic for function + static const uint32_t MAGIC = 0xb3df27fe; + ::tl2::MyValue x; std::string_view tl_name() const { return "getMyValue"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getNonOptNat.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getNonOptNat.hpp index c31068de..f5c6045f 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getNonOptNat.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getNonOptNat.hpp @@ -5,6 +5,9 @@ namespace tl2 { struct GetNonOptNat { + // tl magic for function + static const uint32_t MAGIC = 0x67665961; + uint32_t n = 0; std::vector xs; diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getStats.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getStats.hpp index f9c71495..d5bf5fa4 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getStats.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getStats.hpp @@ -6,6 +6,9 @@ namespace tl2 { struct GetStats { + // tl magic for function + static const uint32_t MAGIC = 0xbaa6da35; + ::tl2::tasks::QueueTypeStats x{}; std::string_view tl_name() const { return "getStats"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/get_arrays.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/get_arrays.hpp index 33df82ef..20c41e8c 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/get_arrays.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/get_arrays.hpp @@ -5,6 +5,9 @@ namespace tl2 { struct Get_arrays { + // tl magic for function + static const uint32_t MAGIC = 0x90658cdb; + uint32_t n = 0; std::vector a; std::array b{}; diff --git a/internal/tlcodegen/test/gen/schema_cpp/antispam/functions/antispam.getPattern.hpp b/internal/tlcodegen/test/gen/schema_cpp/antispam/functions/antispam.getPattern.hpp index 004d7e8b..3bd3c8da 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/antispam/functions/antispam.getPattern.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/antispam/functions/antispam.getPattern.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace antispam { struct GetPattern { + // tl magic for function + static const uint32_t MAGIC = 0x3de14136; + int32_t id = 0; std::string_view tl_name() const { return "antispam.getPattern"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.add.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.add.hpp index 2a436326..2335e3ad 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.add.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.add.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct Add { + // tl magic for function + static const uint32_t MAGIC = 0x481df8be; + std::string key; int32_t flags = 0; int32_t delay = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrGet.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrGet.hpp index 9e8c6179..a612a350 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrGet.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrGet.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service1 { struct AddOrGet { + // tl magic for function + static const uint32_t MAGIC = 0x6a42faad; + std::string key; int32_t flags = 0; int32_t delay = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrIncr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrIncr.hpp index 5bc807a6..dd650c8e 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrIncr.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrIncr.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service1 { struct AddOrIncr { + // tl magic for function + static const uint32_t MAGIC = 0x90c4b402; + std::string key; int32_t flags = 0; int32_t delay = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.append.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.append.hpp index a0b45efa..bb838d84 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.append.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.append.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct Append { + // tl magic for function + static const uint32_t MAGIC = 0x04dec671; + std::string key; int32_t flags = 0; int32_t delay = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.cas.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.cas.hpp index 5cf3381f..c30daa4a 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.cas.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.cas.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct Cas { + // tl magic for function + static const uint32_t MAGIC = 0x51851964; + std::string key; int32_t flags = 0; int32_t delay = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.decr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.decr.hpp index afc6df6a..fcc77a12 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.decr.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.decr.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service1 { struct Decr { + // tl magic for function + static const uint32_t MAGIC = 0xeb179ce7; + std::string key; int64_t value = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.delete.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.delete.hpp index 396d3b9c..368902e8 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.delete.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.delete.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct Delete { + // tl magic for function + static const uint32_t MAGIC = 0x83277767; + std::string key; std::string_view tl_name() const { return "service1.delete"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableExpiration.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableExpiration.hpp index afe5d69a..f2e901dd 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableExpiration.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableExpiration.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct DisableExpiration { + // tl magic for function + static const uint32_t MAGIC = 0xf1c39c2d; + std::string prefix; std::string_view tl_name() const { return "service1.disableExpiration"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableKeysStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableKeysStat.hpp index e129fc5b..5f103d6c 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableKeysStat.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableKeysStat.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct DisableKeysStat { + // tl magic for function + static const uint32_t MAGIC = 0x79d6160f; + int32_t period = 0; std::string_view tl_name() const { return "service1.disableKeysStat"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableExpiration.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableExpiration.hpp index 0bf0f74f..761111cc 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableExpiration.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableExpiration.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct EnableExpiration { + // tl magic for function + static const uint32_t MAGIC = 0x2b51ad67; + std::string prefix; std::string_view tl_name() const { return "service1.enableExpiration"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableKeysStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableKeysStat.hpp index 7e9a8441..9c6c21b1 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableKeysStat.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableKeysStat.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct EnableKeysStat { + // tl magic for function + static const uint32_t MAGIC = 0x29a7090e; + int32_t period = 0; std::string_view tl_name() const { return "service1.enableKeysStat"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.exists.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.exists.hpp index d20569d6..a12574c9 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.exists.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.exists.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct Exists { + // tl magic for function + static const uint32_t MAGIC = 0xe0284c9e; + std::string key; std::string_view tl_name() const { return "service1.exists"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.get.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.get.hpp index 55c3b99f..f80c3717 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.get.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.get.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service1 { struct Get { + // tl magic for function + static const uint32_t MAGIC = 0x29099b19; + std::string key; std::string_view tl_name() const { return "service1.get"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getExpireTime.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getExpireTime.hpp index c993e882..3dcabc29 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getExpireTime.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getExpireTime.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct GetExpireTime { + // tl magic for function + static const uint32_t MAGIC = 0x5a731070; + std::string key; std::string_view tl_name() const { return "service1.getExpireTime"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStat.hpp index 907228d3..892d4200 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStat.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStat.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service1 { struct GetKeysStat { + // tl magic for function + static const uint32_t MAGIC = 0x06cecd58; + int32_t period = 0; std::string_view tl_name() const { return "service1.getKeysStat"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStatPeriods.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStatPeriods.hpp index 3fd44648..7a2abfb4 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStatPeriods.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStatPeriods.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct GetKeysStatPeriods { + // tl magic for function + static const uint32_t MAGIC = 0x8cdf39e3; + std::string_view tl_name() const { return "service1.getKeysStatPeriods"; } uint32_t tl_tag() const { return 0x8cdf39e3; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcard.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcard.hpp index ca40f861..c0ccded6 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcard.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcard.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service1 { struct GetWildcard { + // tl magic for function + static const uint32_t MAGIC = 0x2f2abf13; + std::string prefix; std::string_view tl_name() const { return "service1.getWildcard"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardDict.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardDict.hpp index 5827a4e1..754ecf01 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardDict.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardDict.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service1 { struct GetWildcardDict { + // tl magic for function + static const uint32_t MAGIC = 0x72bbc81b; + std::string prefix; std::string_view tl_name() const { return "service1.getWildcardDict"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardList.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardList.hpp index 8068d147..eb2070a4 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardList.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardList.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct GetWildcardList { + // tl magic for function + static const uint32_t MAGIC = 0x56b6ead4; + std::string prefix; std::string_view tl_name() const { return "service1.getWildcardList"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardWithFlags.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardWithFlags.hpp index 5dc9b6cc..04e5c36e 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardWithFlags.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardWithFlags.hpp @@ -7,6 +7,9 @@ namespace tl2 { namespace service1 { struct GetWildcardWithFlags { + // tl magic for function + static const uint32_t MAGIC = 0x5f6a1f78; + std::string prefix; std::string_view tl_name() const { return "service1.getWildcardWithFlags"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.incr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.incr.hpp index 095a35ce..199bedb9 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.incr.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.incr.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service1 { struct Incr { + // tl magic for function + static const uint32_t MAGIC = 0x0f96b56e; + std::string key; int64_t value = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replace.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replace.hpp index 76eee3dd..89e75caf 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replace.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replace.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct Replace { + // tl magic for function + static const uint32_t MAGIC = 0x7f2c447d; + std::string key; int32_t flags = 0; int32_t delay = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replaceOrIncr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replaceOrIncr.hpp index 2b8f9d76..4652a92d 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replaceOrIncr.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replaceOrIncr.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service1 { struct ReplaceOrIncr { + // tl magic for function + static const uint32_t MAGIC = 0x9d1bdcfd; + std::string key; int32_t flags = 0; int32_t delay = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.set.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.set.hpp index 2f629823..8bf0a7f3 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.set.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.set.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct Set { + // tl magic for function + static const uint32_t MAGIC = 0x05ae5f66; + std::string key; int32_t flags = 0; int32_t delay = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.setOrIncr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.setOrIncr.hpp index 8ca450dc..298eecd7 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.setOrIncr.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.setOrIncr.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service1 { struct SetOrIncr { + // tl magic for function + static const uint32_t MAGIC = 0x772e390d; + std::string key; int32_t flags = 0; int32_t delay = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.touch.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.touch.hpp index b819bd40..3e6b384d 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.touch.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.touch.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service1 { struct Touch { + // tl magic for function + static const uint32_t MAGIC = 0xb737aa03; + std::string key; int32_t delay = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.addOrIncrMany.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.addOrIncrMany.hpp index 34da7e96..e55a5dc8 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.addOrIncrMany.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.addOrIncrMany.hpp @@ -7,6 +7,9 @@ namespace tl2 { namespace service2 { struct AddOrIncrMany { + // tl magic for function + static const uint32_t MAGIC = 0x5aa52489; + uint32_t objectIdLength = 0; uint32_t intCountersNum = 0; uint32_t floatCountersNum = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.set.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.set.hpp index 8a7275d0..cd4da684 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.set.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.set.hpp @@ -7,6 +7,9 @@ namespace tl2 { namespace service2 { struct Set { + // tl magic for function + static const uint32_t MAGIC = 0x0d31f63d; + uint32_t objectIdLength = 0; uint32_t intCountersNum = 0; uint32_t floatCountersNum = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.setObjectTtl.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.setObjectTtl.hpp index fa6820c4..07ca7fb4 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.setObjectTtl.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.setObjectTtl.hpp @@ -7,6 +7,9 @@ namespace tl2 { namespace service2 { struct SetObjectTtl { + // tl magic for function + static const uint32_t MAGIC = 0x6f98f025; + uint32_t objectIdLength = 0; ::tl2::service2::ObjectId objectId{}; int32_t ttl = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.createProduct.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.createProduct.hpp index b4305292..0942d661 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.createProduct.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.createProduct.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service3 { struct CreateProduct { + // tl magic for function + static const uint32_t MAGIC = 0xb7d92bd9; + int32_t user_id = 0; int32_t type = 0; std::vector id; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteAllProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteAllProducts.hpp index 0cc39513..d7c1afae 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteAllProducts.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteAllProducts.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service3 { struct DeleteAllProducts { + // tl magic for function + static const uint32_t MAGIC = 0x4494acc2; + int32_t user_id = 0; int32_t type = 0; int32_t start_date = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteGroupedProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteGroupedProducts.hpp index 22022670..3ec06659 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteGroupedProducts.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteGroupedProducts.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service3 { struct DeleteGroupedProducts { + // tl magic for function + static const uint32_t MAGIC = 0xe468e614; + int32_t user_id = 0; int32_t type = 0; std::vector id; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteProduct.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteProduct.hpp index 16a37f1c..52dd9ae4 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteProduct.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteProduct.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service3 { struct DeleteProduct { + // tl magic for function + static const uint32_t MAGIC = 0x6867e707; + int32_t user_id = 0; int32_t type = 0; std::vector id; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLastVisitTimestamp.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLastVisitTimestamp.hpp index 35c4babd..fa9e1fcf 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLastVisitTimestamp.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLastVisitTimestamp.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service3 { struct GetLastVisitTimestamp { + // tl magic for function + static const uint32_t MAGIC = 0x9a4c788d; + int32_t user_id = 0; std::string_view tl_name() const { return "service3.getLastVisitTimestamp"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLimits.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLimits.hpp index e16c9860..f967d1be 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLimits.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLimits.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service3 { struct GetLimits { + // tl magic for function + static const uint32_t MAGIC = 0xeb399467; + std::string_view tl_name() const { return "service3.getLimits"; } uint32_t tl_tag() const { return 0xeb399467; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProductStats.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProductStats.hpp index 12008ef9..67c0a23c 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProductStats.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProductStats.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service3 { struct GetProductStats { + // tl magic for function + static const uint32_t MAGIC = 0x261f6898; + int32_t user_id = 0; std::vector types; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProducts.hpp index 09465a72..8754c540 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProducts.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProducts.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service3 { struct GetProducts { + // tl magic for function + static const uint32_t MAGIC = 0xeb306233; + int32_t user_id = 0; uint32_t mode = 0; std::vector types; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getScheduledProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getScheduledProducts.hpp index 80e77061..f3853c97 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getScheduledProducts.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getScheduledProducts.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service3 { struct GetScheduledProducts { + // tl magic for function + static const uint32_t MAGIC = 0xf53ad7bd; + int32_t user_id = 0; std::vector types; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreAllProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreAllProducts.hpp index 161d04fb..ba4f46d9 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreAllProducts.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreAllProducts.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service3 { struct RestoreAllProducts { + // tl magic for function + static const uint32_t MAGIC = 0x4d839ed0; + int32_t user_id = 0; int32_t type = 0; int32_t start_date = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreGroupedProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreGroupedProducts.hpp index 92603f1e..4bf91db2 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreGroupedProducts.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreGroupedProducts.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service3 { struct RestoreGroupedProducts { + // tl magic for function + static const uint32_t MAGIC = 0x1f17bfac; + int32_t user_id = 0; int32_t type = 0; std::vector id; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreProduct.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreProduct.hpp index 6f496614..0aee1b39 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreProduct.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreProduct.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service3 { struct RestoreProduct { + // tl magic for function + static const uint32_t MAGIC = 0x6170d515; + int32_t user_id = 0; int32_t type = 0; std::vector id; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLastVisitTimestamp.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLastVisitTimestamp.hpp index db2e8508..cc876bea 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLastVisitTimestamp.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLastVisitTimestamp.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace service3 { struct SetLastVisitTimestamp { + // tl magic for function + static const uint32_t MAGIC = 0x7909b020; + int32_t user_id = 0; int32_t timestamp = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLimits.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLimits.hpp index 1aa66a28..078bc0d1 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLimits.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLimits.hpp @@ -7,6 +7,9 @@ namespace tl2 { namespace service3 { struct SetLimits { + // tl magic for function + static const uint32_t MAGIC = 0x3ad5c19c; + ::tl2::service3::Limits limits{}; std::string_view tl_name() const { return "service3.setLimits"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.insert.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.insert.hpp index 025e2b06..8e6c65b0 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.insert.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.insert.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service5 { struct Insert { + // tl magic for function + static const uint32_t MAGIC = 0xc911ee2c; + std::string table; std::string data; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.performQuery.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.performQuery.hpp index 8d9b7fd3..4f7fe07c 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.performQuery.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.performQuery.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace service5 { struct PerformQuery { + // tl magic for function + static const uint32_t MAGIC = 0x019d80a5; + std::string query; std::string_view tl_name() const { return "service5.performQuery"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.query.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.query.hpp index 9d71e87a..a921b4b5 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.query.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.query.hpp @@ -7,6 +7,9 @@ namespace tl2 { namespace service5 { struct Query { + // tl magic for function + static const uint32_t MAGIC = 0xb3b62513; + std::string query; ::tl2::service5::Params params{}; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFind.hpp b/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFind.hpp index 31b8d72e..5aaa5c9e 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFind.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFind.hpp @@ -8,6 +8,9 @@ namespace tl2 { namespace service6 { struct MultiFind { + // tl magic for function + static const uint32_t MAGIC = 0xe62178d8; + std::vector clusters; int32_t limit = 0; double eq_threshold = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFindWithBounds.hpp b/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFindWithBounds.hpp index a623547f..a0bb5a97 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFindWithBounds.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFindWithBounds.hpp @@ -7,6 +7,9 @@ namespace tl2 { namespace service6 { struct MultiFindWithBounds { + // tl magic for function + static const uint32_t MAGIC = 0x84b168cf; + std::vector clusters; std::string_view tl_name() const { return "service6.multiFindWithBounds"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.addTask.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.addTask.hpp index ff31a614..2555182b 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.addTask.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.addTask.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace tasks { struct AddTask { + // tl magic for function + static const uint32_t MAGIC = 0x2ca073d5; + std::string type_name; std::vector queue_id; ::tl2::tasks::Task task{}; diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getAnyTask.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getAnyTask.hpp index 294cdd1f..59e1fa68 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getAnyTask.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getAnyTask.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace tasks { struct GetAnyTask { + // tl magic for function + static const uint32_t MAGIC = 0x4a9c7dbb; + std::string_view tl_name() const { return "tasks.getAnyTask"; } uint32_t tl_tag() const { return 0x4a9c7dbb; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueSize.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueSize.hpp index 4fb20c32..242b3144 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueSize.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueSize.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace tasks { struct GetQueueSize { + // tl magic for function + static const uint32_t MAGIC = 0xd8fcda03; + std::string type_name; std::vector queue_id; uint32_t fields_mask = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueTypes.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueTypes.hpp index 148ace81..76b48c05 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueTypes.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueTypes.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace tasks { struct GetQueueTypes { + // tl magic for function + static const uint32_t MAGIC = 0x5434457a; + uint32_t settings_mask = 0; uint32_t stats_mask = 0; diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getTaskFromQueue.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getTaskFromQueue.hpp index 93a3cb3c..2da1310c 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getTaskFromQueue.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getTaskFromQueue.hpp @@ -6,6 +6,9 @@ namespace tl2 { namespace tasks { struct GetTaskFromQueue { + // tl magic for function + static const uint32_t MAGIC = 0x6a52b698; + std::string type_name; std::vector queue_id; diff --git a/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.get.hpp b/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.get.hpp index 17a25d33..e1f554b5 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.get.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.get.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace unique { struct Get { + // tl magic for function + static const uint32_t MAGIC = 0xce89bbf2; + std::string key; std::string_view tl_name() const { return "unique.get"; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.stringToInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.stringToInt.hpp index 53a70b91..cfe42c93 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.stringToInt.hpp +++ b/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.stringToInt.hpp @@ -5,6 +5,9 @@ namespace tl2 { namespace unique { struct StringToInt { + // tl magic for function + static const uint32_t MAGIC = 0x0f766c35; + std::string key; std::string_view tl_name() const { return "unique.stringToInt"; } diff --git a/internal/tlcodegen/type_rw_struct_cpp.go b/internal/tlcodegen/type_rw_struct_cpp.go index b720b18e..1affdb13 100644 --- a/internal/tlcodegen/type_rw_struct_cpp.go +++ b/internal/tlcodegen/type_rw_struct_cpp.go @@ -180,6 +180,9 @@ func (trw *TypeRWStruct) CPPGenerateCode(hpp *strings.Builder, hppInc *DirectInc //} } else { hpp.WriteString("struct " + trw.wr.cppLocalName + " {\n") + if trw.ResultType != nil { + hpp.WriteString(fmt.Sprintf("\t// tl magic for function\n\tstatic const uint32_t MAGIC = 0x%08x;\n\n", trw.wr.tlTag)) + } for i, field := range trw.Fields { hppIncByField := DirectIncludesCPP{ns: map[*TypeRWWrapper]CppIncludeInfo{}} From f11cb2edf66c44cc9c43720943407d53c92cca81 Mon Sep 17 00:00:00 2001 From: Brat-vseznamus Date: Tue, 13 Aug 2024 16:34:15 +0300 Subject: [PATCH 02/38] remove size from grow_buffer in cpp helpers --- internal/tlcodegen/helpers_cpp.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/internal/tlcodegen/helpers_cpp.go b/internal/tlcodegen/helpers_cpp.go index c168b008..45e80f28 100644 --- a/internal/tlcodegen/helpers_cpp.go +++ b/internal/tlcodegen/helpers_cpp.go @@ -120,12 +120,12 @@ public: protected: const char * ptr{}; const char * end{}; - virtual void grow_buffer(size_t size_hint) = 0; // after call buffer must contain at least single byte, otherwise error + virtual void grow_buffer() = 0; // after call buffer must contain at least single byte, otherwise error private: bool ensure_byte() { if (TLGEN2_UNLIKELY(ptr >= end)) { // assert(ptr <= end) - grow_buffer(1); + grow_buffer(); // assert(ptr <= end) if (TLGEN2_UNLIKELY(ptr == end)) { return set_error_eof(); @@ -150,7 +150,7 @@ private: data += end - ptr; size -= end - ptr; ptr = end; - grow_buffer(size); + grow_buffer(); // assert(ptr <= end) if (TLGEN2_UNLIKELY(ptr == end)) { return set_error_eof(); @@ -166,7 +166,7 @@ private: value.append(ptr, end - ptr); size -= end - ptr; ptr = end; - grow_buffer(size); + grow_buffer(); // assert(ptr <= end) if (TLGEN2_UNLIKELY(ptr == end)) { return set_error_eof(); @@ -237,7 +237,7 @@ public: protected: char * ptr{}; char * end{}; - virtual void grow_buffer(size_t size) = 0; // after call buffer must contain at least single bytes, otherwise error + virtual void grow_buffer() = 0; // after call buffer must contain at least single bytes, otherwise error private: bool store_data(const void * vdata, size_t size) { const char * data = reinterpret_cast(vdata); @@ -247,7 +247,7 @@ private: data += end - ptr; size -= end - ptr; ptr = end; - grow_buffer(size); + grow_buffer(); // assert(ptr <= end) if (TLGEN2_UNLIKELY(ptr == end)) { return set_error_eof(); @@ -263,7 +263,7 @@ private: std::memset(ptr, 0, end - ptr); size -= end - ptr; ptr = end; - grow_buffer(size); + grow_buffer(); // assert(ptr <= end) if (TLGEN2_UNLIKELY(ptr == end)) { return set_error_eof(); @@ -286,7 +286,7 @@ public: end = ptr + buf.size(); } protected: - void grow_buffer(size_t size) override {} + void grow_buffer() override {} }; class tl_ostream_string : public tl_ostream { // TODO - custom copy/move @@ -299,7 +299,7 @@ public: return buf; } protected: - void grow_buffer(size_t size) override { + void grow_buffer() override { auto pos = ptr - buf.data(); resize(buf.size()*3/2 + INITIAL_SIZE + size); // some arbitrary strategy ptr += pos; From 5d33cebc74fce75a5ca0afae6b24906a27603a8d Mon Sep 17 00:00:00 2001 From: Brat-vseznamus Date: Tue, 13 Aug 2024 16:36:37 +0300 Subject: [PATCH 03/38] fix mistake from prev commit --- internal/tlcodegen/helpers_cpp.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/tlcodegen/helpers_cpp.go b/internal/tlcodegen/helpers_cpp.go index 45e80f28..3d5ff2ca 100644 --- a/internal/tlcodegen/helpers_cpp.go +++ b/internal/tlcodegen/helpers_cpp.go @@ -301,7 +301,7 @@ public: protected: void grow_buffer() override { auto pos = ptr - buf.data(); - resize(buf.size()*3/2 + INITIAL_SIZE + size); // some arbitrary strategy + resize(buf.size()*3/2 + INITIAL_SIZE); // some arbitrary strategy ptr += pos; } private: From f18ca08cc73d380e664b98527ac9bea679bc1f0e Mon Sep 17 00:00:00 2001 From: Brat-vseznamus Date: Thu, 26 Sep 2024 16:41:11 +0300 Subject: [PATCH 04/38] little fix with func --- internal/tlcodegen/type_rw_struct_cpp.go | 2 +- internal/utils/data_structures.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/tlcodegen/type_rw_struct_cpp.go b/internal/tlcodegen/type_rw_struct_cpp.go index 1affdb13..63098910 100644 --- a/internal/tlcodegen/type_rw_struct_cpp.go +++ b/internal/tlcodegen/type_rw_struct_cpp.go @@ -181,7 +181,7 @@ func (trw *TypeRWStruct) CPPGenerateCode(hpp *strings.Builder, hppInc *DirectInc } else { hpp.WriteString("struct " + trw.wr.cppLocalName + " {\n") if trw.ResultType != nil { - hpp.WriteString(fmt.Sprintf("\t// tl magic for function\n\tstatic const uint32_t MAGIC = 0x%08x;\n\n", trw.wr.tlTag)) + hpp.WriteString(fmt.Sprintf("\t// tl magic for function\n\tstatic constexpr uint32_t MAGIC() { return 0x%08x; }\n\n", trw.wr.tlTag)) } for i, field := range trw.Fields { hppIncByField := DirectIncludesCPP{ns: map[*TypeRWWrapper]CppIncludeInfo{}} diff --git a/internal/utils/data_structures.go b/internal/utils/data_structures.go index aa8a8515..730a6961 100644 --- a/internal/utils/data_structures.go +++ b/internal/utils/data_structures.go @@ -74,7 +74,7 @@ func AppendMap[K comparable, V any](values map[K]V, to *map[K]V) { } } -func AppendMapWithResolving[K comparable, V any](values map[K]V, to *map[K]V, resolver func(key K, value1, value2 V) V) { +func AppendMapWithResolving[K comparable, V any](values map[K]V, to *map[K]V, resolver func(key K, new, prev V) V) { for k, v := range values { if v2, ok := (*to)[k]; ok { (*to)[k] = resolver(k, v, v2) From b82be3f36109d0f63731f347b6728147b5532bbd Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Fri, 15 Nov 2024 19:10:53 +0300 Subject: [PATCH 05/38] add cpp basic io interaction --- pkg/basictl/cpp/basictl.cpp | 329 ++++++++++++++++++++++++++++++++++ pkg/basictl/cpp/basictl.h | 133 ++++++++++++++ pkg/basictl/cpp/string_io.cpp | 24 +++ pkg/basictl/cpp/string_io.h | 28 +++ 4 files changed, 514 insertions(+) create mode 100644 pkg/basictl/cpp/basictl.cpp create mode 100644 pkg/basictl/cpp/basictl.h create mode 100644 pkg/basictl/cpp/string_io.cpp create mode 100644 pkg/basictl/cpp/string_io.h diff --git a/pkg/basictl/cpp/basictl.cpp b/pkg/basictl/cpp/basictl.cpp new file mode 100644 index 00000000..a1af88f2 --- /dev/null +++ b/pkg/basictl/cpp/basictl.cpp @@ -0,0 +1,329 @@ +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +#include "basictl.h" + +#define TLGEN2_UNLIKELY(x) \ + (x) // __builtin_expect((x), 0) // could improve performance on your platform +#define TLGEN2_NOINLINE // __attribute__ ((noinline)) // could improve performance on your platform + +namespace basictl { + tl_istream::tl_istream(tl_istream_interface *provider) : provider(provider) {} + + tl_istream::~tl_istream() { + this->last_release(); + } + + bool tl_istream::nat_read(uint32_t &value) { return fetch_data(&value, 4); } + + bool tl_istream::nat_read_exact_tag(uint32_t tag) { + uint32_t actual_tag = 0; + if (TLGEN2_UNLIKELY(!nat_read(actual_tag))) { + return false; + } + if (TLGEN2_UNLIKELY(tag != actual_tag)) { + return set_error_expected_tag(); + } + return true; + } + + bool tl_istream::int_read(int32_t &value) { return fetch_data(&value, 4); } + + bool tl_istream::long_read(int64_t &value) { return fetch_data(&value, 8); } + + bool tl_istream::float_read(float &value) { return fetch_data(&value, 4); } + + bool tl_istream::double_read(double &value) { return fetch_data(&value, 8); } + + bool tl_istream::bool_read(bool &value, uint32_t f, uint32_t t) { + uint32_t tag = 0; + if (TLGEN2_UNLIKELY(!nat_read(tag))) { + return false; + } + if (tag == t) { + value = true; + return true; + } + if (TLGEN2_UNLIKELY(tag != f)) { + set_error_bool_tag(); + } + value = false; + return true; + } + + bool tl_istream::string_read(std::string &value) { + if (TLGEN2_UNLIKELY(!ensure_byte())) { + return false; + } + auto len = size_t(static_cast(*ptr)); + if (TLGEN2_UNLIKELY(len >= TL_BIG_STRING_MARKER)) { + if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_MARKER)) { + return set_error("TODO - huge string"); + } + uint32_t len32 = 0; + if (TLGEN2_UNLIKELY(!nat_read(len32))) { + return false; + } + len = len32 >> 8U; + value.clear(); + if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { + return false; + } + if (TLGEN2_UNLIKELY(!fetch_pad((-len) & 3))) { + return false; + } + return true; + } + auto pad = ((-(len + 1)) & 3); + auto fullLen = 1 + len + pad; + if (TLGEN2_UNLIKELY(ptr + fullLen > end_block)) { + ptr += 1; + value.clear(); + if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { + return false; + } + if (TLGEN2_UNLIKELY(!fetch_pad(pad))) { + return false; + } + return true; + } + // fast path for short strings that fully fit in buffer + uint32_t x = 0; + std::memcpy(&x, ptr + fullLen - 4, 4); + if (TLGEN2_UNLIKELY((x & ~(0xFFFFFFFFU >> (8 * pad))) != 0)) { + return set_error_string_padding(); + } + value.assign(ptr + 1, len); + ptr += fullLen; + return true; + } + + void tl_istream::last_release() { + provider->release_buffer(ptr - start_block); + start_block = ptr; + } + + bool tl_istream::has_error() { + return hasError; + } + + bool tl_istream::set_error(const char *e) { + hasError = true; + return false; + } // TODO - set error field + + bool tl_istream::set_error_eof() { return set_error("EOF"); } + + bool tl_istream::set_error_sequence_length() { return set_error("sequence_length"); } + + bool tl_istream::set_error_string_padding() { return set_error("string_padding"); } + + bool tl_istream::set_error_bool_tag() { return set_error("bool_tag"); } + + bool tl_istream::set_error_expected_tag() { return set_error("expected_tag"); } + + bool tl_istream::set_error_union_tag() { return set_error("union_tag"); } + + void tl_istream::grow_buffer() { + ptr = end_block; + provider->release_buffer(ptr - start_block); + auto new_buffer = provider->get_buffer(); + ptr = reinterpret_cast(new_buffer.data()); + start_block = ptr; + end_block = ptr + new_buffer.size(); + } + + bool tl_istream::ensure_byte() { + if (TLGEN2_UNLIKELY(ptr >= end_block)) { + // assert(ptr <= end) + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + return true; + } + + bool tl_istream::fetch_data(void *vdata, size_t size) { + char *data = reinterpret_cast(vdata); + if (TLGEN2_UNLIKELY(ptr + size > end_block)) { + return fetch_data2(vdata, size); + } + std::memcpy(data, ptr, size); + ptr += size; + return true; + } + + bool tl_istream::fetch_data2(void *vdata, size_t size) { + char *data = reinterpret_cast(vdata); + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + std::memcpy(data, ptr, end_block - ptr); + data += end_block - ptr; + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + std::memcpy(data, ptr, size); + ptr += size; + return true; + } + + bool tl_istream::fetch_data_append(std::string &value, size_t size) { + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + value.append(ptr, end_block - ptr); + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + value.append(ptr, size); + ptr += size; + return true; + } + + bool tl_istream::fetch_pad(size_t len) { + uint32_t x = 0; + if (TLGEN2_UNLIKELY(!fetch_data(&x, len))) { + return false; + } + if (TLGEN2_UNLIKELY(x != 0)) { + return set_error_string_padding(); + } + return true; + } + + + tl_ostream::tl_ostream(tl_ostream_interface *provider) { + this->provider = provider; + } + + tl_ostream::~tl_ostream() { + this->last_release(); + } + + bool tl_ostream::nat_write(uint32_t value) { return store_data(&value, 4); } + + bool tl_ostream::int_write(int32_t value) { return store_data(&value, 4); } + + bool tl_ostream::long_write(int64_t value) { return store_data(&value, 8); } + + bool tl_ostream::float_write(float value) { return store_data(&value, 4); } + + bool tl_ostream::double_write(double value) { return store_data(&value, 8); } + + bool tl_ostream::string_write(const std::string &value) { + auto len = value.size(); + if (TLGEN2_UNLIKELY(len > TL_MAX_TINY_STRING_LEN)) { + if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_LEN)) { + return set_error("TODO - huge string"); + } + uint32_t p = (len << 8U) | TL_BIG_STRING_MARKER; + if (TLGEN2_UNLIKELY(!store_data(&p, 4))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_pad((-len) & 3))) { + return false; + } + return true; + } + auto pad = ((-(len + 1)) & 3); + auto fullLen = 1 + len + pad; + if (TLGEN2_UNLIKELY(ptr + fullLen > end_block)) { + auto p = static_cast(len); + if (TLGEN2_UNLIKELY(!store_data(&p, 1))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_pad(pad))) { + return false; + } + return true; + } + // fast path for short strings that fully fit in buffer + uint32_t x = 0; + std::memcpy(ptr + fullLen - 4, &x, 4); // padding first + *ptr = static_cast(len); + std::memcpy(ptr + 1, value.data(), len); + ptr += fullLen; + return true; + } + + void tl_ostream::last_release() { + provider->release_buffer(ptr - start_block); + start_block = ptr; + } + + bool tl_ostream::has_error() { + return hasError; + } + + bool tl_ostream::set_error(const char *e) { + hasError = true; + return false; + } // TODO - set error field + + bool tl_ostream::set_error_eof() { return set_error("EOF"); } + + bool tl_ostream::set_error_sequence_length() { return set_error("sequence_length"); } + + void tl_ostream::grow_buffer() { + ptr = end_block; + provider->release_buffer(ptr - start_block); + auto new_buffer = provider->get_buffer(); + ptr = reinterpret_cast(new_buffer.data()); + start_block = ptr; + end_block = ptr + new_buffer.size(); + } + + bool tl_ostream::store_data(const void *vdata, size_t size) { + const char *data = reinterpret_cast(vdata); + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + std::memcpy(ptr, data, end_block - ptr); + data += end_block - ptr; + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + std::memcpy(ptr, data, size); + ptr += size; + return true; + } + + bool tl_ostream::store_pad(size_t size) { + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + std::memset(ptr, 0, end_block - ptr); + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + if (size != 0) { + ptr[0] = 0; + ptr[size - 1] = 0; + ptr[size / 2] = 0; + ptr += size; + } + return true; + } +} // namespace basictl + +#undef TLGEN2_NOINLINE +#undef TLGEN2_UNLIKELY diff --git a/pkg/basictl/cpp/basictl.h b/pkg/basictl/cpp/basictl.h new file mode 100644 index 00000000..462d4572 --- /dev/null +++ b/pkg/basictl/cpp/basictl.h @@ -0,0 +1,133 @@ +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define TLGEN2_UNLIKELY(x) \ + (x) // __builtin_expect((x), 0) // could improve performance on your platform +#define TLGEN2_NOINLINE // __attribute__ ((noinline)) // could improve performance on your platform + +namespace basictl { + enum { + TL_MAX_TINY_STRING_LEN = 253, + TL_BIG_STRING_LEN = 0xffffff, + TL_BIG_STRING_MARKER = 0xfe, + }; + + class tl_istream_interface { + public: + virtual ~tl_istream_interface() = default; + + virtual std::span get_buffer() = 0; + virtual void release_buffer(size_t size) = 0; + }; + + class tl_ostream_interface { + public: + virtual ~tl_ostream_interface() = default; + + virtual std::span get_buffer() = 0; + virtual void release_buffer(size_t size) = 0; + }; + + class tl_istream { + public: + explicit tl_istream(tl_istream_interface* provider); + tl_istream(const tl_istream&) = delete; + tl_istream& operator=(const tl_istream&) = delete; + + tl_istream(tl_istream&&) = delete; + tl_istream& operator=(tl_istream&&) = delete; + + ~tl_istream(); + + bool nat_read(uint32_t& value); + bool nat_read_exact_tag(uint32_t tag); + bool int_read(int32_t& value); + bool long_read(int64_t& value); + bool float_read(float& value); + bool double_read(double& value); + bool bool_read(bool& value, uint32_t f, uint32_t t); + bool string_read(std::string& value); + + void last_release(); + + bool has_error(); + + bool set_error(const char* e); + bool set_error_eof(); + bool set_error_sequence_length(); + bool set_error_string_padding(); + bool set_error_bool_tag(); + bool set_error_expected_tag(); + bool set_error_union_tag(); + + protected: + tl_istream_interface* provider; + + bool hasError = false; + const char* start_block{}; + const char* ptr{}; + const char* end_block{}; + private: + void grow_buffer(); + + bool ensure_byte(); + + bool fetch_data(void* vdata, size_t size); + bool fetch_data2(void* vdata, size_t size); + bool fetch_data_append(std::string& value, size_t size); + bool fetch_pad(size_t len); + }; + + class tl_ostream { + public: + explicit tl_ostream(tl_ostream_interface* provider); + tl_ostream(const tl_ostream&) = delete; + tl_ostream& operator=(const tl_ostream&) = delete; + + tl_ostream(tl_ostream&&) = delete; + tl_ostream& operator=(tl_ostream&&) = delete; + + ~tl_ostream(); + + bool nat_write(uint32_t value); + bool int_write(int32_t value); + bool long_write(int64_t value); + bool float_write(float value); + bool double_write(double value); + bool string_write(const std::string& value); + + void last_release(); + + bool has_error(); + bool set_error(const char* e); + bool set_error_eof(); + bool set_error_sequence_length(); + protected: + tl_ostream_interface* provider; + + bool hasError = false; + char* start_block{}; + char* ptr{}; + char* end_block{}; + private: + void grow_buffer(); + bool store_data(const void* vdata, size_t size); + bool store_pad(size_t size); + }; +} // namespace basictl + +#undef TLGEN2_NOINLINE +#undef TLGEN2_UNLIKELY diff --git a/pkg/basictl/cpp/string_io.cpp b/pkg/basictl/cpp/string_io.cpp new file mode 100644 index 00000000..196d8614 --- /dev/null +++ b/pkg/basictl/cpp/string_io.cpp @@ -0,0 +1,24 @@ +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +#include "basictl.h" +#include "string_io.h" + +namespace basictl { + std::span tl_istream_string::get_buffer() { + return {reinterpret_cast(buffer.data()) + used_size, buffer.size() - used_size}; + } + + void tl_istream_string::release_buffer(size_t size) { + used_size += size; + } + + std::span tl_ostream_string::get_buffer() { + return {reinterpret_cast(buffer.data()) + used_size, buffer.size() - used_size}; + } + + void tl_ostream_string::release_buffer(size_t size) { + used_size += size; + if (used_size == buffer.size()) { + buffer.resize(buffer.size() * 3 / 2 + 1024); + } + } +} \ No newline at end of file diff --git a/pkg/basictl/cpp/string_io.h b/pkg/basictl/cpp/string_io.h new file mode 100644 index 00000000..b3561c35 --- /dev/null +++ b/pkg/basictl/cpp/string_io.h @@ -0,0 +1,28 @@ +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +#pragma once +#include "basictl.h" + +namespace basictl { + class tl_istream_string : public basictl::tl_istream_interface { + public: + explicit tl_istream_string(const std::string & buffer) : buffer(buffer) {} + + std::span get_buffer() override; + void release_buffer(size_t size) override; + + private: + const std::string & buffer; + size_t used_size = 0; + }; + + class tl_ostream_string : public basictl::tl_ostream_interface { + public: + explicit tl_ostream_string(std::string & buffer) : buffer(buffer) {} + + std::span get_buffer() override; + void release_buffer(size_t size) override; + private: + std::string & buffer; + size_t used_size = 0; + }; +}; From e938acc3ac6fb7824759213da94e10ecdc60c85c Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Tue, 19 Nov 2024 13:15:24 +0300 Subject: [PATCH 06/38] move to new basictl --- internal/tlcodegen/helpers_cpp.go | 735 ++++++++++++++++++------------ internal/tlcodegen/tlgen.go | 6 +- internal/tlcodegen/tlgen_cpp.go | 66 +-- 3 files changed, 494 insertions(+), 313 deletions(-) diff --git a/internal/tlcodegen/helpers_cpp.go b/internal/tlcodegen/helpers_cpp.go index 3d5ff2ca..714163e4 100644 --- a/internal/tlcodegen/helpers_cpp.go +++ b/internal/tlcodegen/helpers_cpp.go @@ -6,29 +6,30 @@ package tlcodegen -const basicCPPTLCodeHeader = `%s +const basicHPPTLCodeHeader = `%s #pragma once +#include +#include +#include +#include #include #include -#include #include -#include #include -#include #include -#include -#include #include +#include +#include -#define TLGEN2_UNLIKELY(x) (x) // __builtin_expect((x), 0) // could improve performance on your platform +#define TLGEN2_UNLIKELY(x) \ + (x) // __builtin_expect((x), 0) // could improve performance on your platform #define TLGEN2_NOINLINE // __attribute__ ((noinline)) // could improve performance on your platform namespace %s { - ` -const basicCPPTLCodeFooter = ` +const basicHPPTLCodeFooter = ` } // namespace %s @@ -36,282 +37,450 @@ const basicCPPTLCodeFooter = ` #undef TLGEN2_UNLIKELY ` +const basicHPPTLCodeBody = ` + enum { + TL_MAX_TINY_STRING_LEN = 253, + TL_BIG_STRING_LEN = 0xffffff, + TL_BIG_STRING_MARKER = 0xfe, + }; + + class tl_istream_interface { + public: + virtual ~tl_istream_interface() = default; + + virtual std::span get_buffer() = 0; + virtual void release_buffer(size_t size) = 0; + }; + + class tl_ostream_interface { + public: + virtual ~tl_ostream_interface() = default; + + virtual std::span get_buffer() = 0; + virtual void release_buffer(size_t size) = 0; + }; + + class tl_istream { + public: + explicit tl_istream(tl_istream_interface* provider); + tl_istream(const tl_istream&) = delete; + tl_istream& operator=(const tl_istream&) = delete; + + tl_istream(tl_istream&&) = delete; + tl_istream& operator=(tl_istream&&) = delete; + + ~tl_istream(); + + bool nat_read(uint32_t& value); + bool nat_read_exact_tag(uint32_t tag); + bool int_read(int32_t& value); + bool long_read(int64_t& value); + bool float_read(float& value); + bool double_read(double& value); + bool bool_read(bool& value, uint32_t f, uint32_t t); + bool string_read(std::string& value); + + void last_release(); + + bool has_error(); + + bool set_error(const char* e); + bool set_error_eof(); + bool set_error_sequence_length(); + bool set_error_string_padding(); + bool set_error_bool_tag(); + bool set_error_expected_tag(); + bool set_error_union_tag(); + + protected: + tl_istream_interface* provider; + + bool hasError = false; + const char* start_block{}; + const char* ptr{}; + const char* end_block{}; + private: + void grow_buffer(); + + bool ensure_byte(); + + bool fetch_data(void* vdata, size_t size); + bool fetch_data2(void* vdata, size_t size); + bool fetch_data_append(std::string& value, size_t size); + bool fetch_pad(size_t len); + }; + + class tl_ostream { + public: + explicit tl_ostream(tl_ostream_interface* provider); + tl_ostream(const tl_ostream&) = delete; + tl_ostream& operator=(const tl_ostream&) = delete; + + tl_ostream(tl_ostream&&) = delete; + tl_ostream& operator=(tl_ostream&&) = delete; + + ~tl_ostream(); + + bool nat_write(uint32_t value); + bool int_write(int32_t value); + bool long_write(int64_t value); + bool float_write(float value); + bool double_write(double value); + bool string_write(const std::string& value); + + void last_release(); + + bool has_error(); + bool set_error(const char* e); + bool set_error_eof(); + bool set_error_sequence_length(); + protected: + tl_ostream_interface* provider; + + bool hasError = false; + char* start_block{}; + char* ptr{}; + char* end_block{}; + private: + void grow_buffer(); + bool store_data(const void* vdata, size_t size); + bool store_pad(size_t size); + }; +` +const basicCPPTLCodeHeader = `%s +#include "%s%s" + +#define TLGEN2_UNLIKELY(x) \ + (x) // __builtin_expect((x), 0) // could improve performance on your platform +#define TLGEN2_NOINLINE // __attribute__ ((noinline)) // could improve performance on your platform + +namespace %s { +` + const basicCPPTLCodeBody = ` + tl_istream::tl_istream(tl_istream_interface *provider) : provider(provider) {} + + tl_istream::~tl_istream() { + this->last_release(); + } + + bool tl_istream::nat_read(uint32_t &value) { return fetch_data(&value, 4); } -enum { - TL_MAX_TINY_STRING_LEN = 253, - TL_BIG_STRING_LEN = 0xffffff, - TL_BIG_STRING_MARKER = 0xfe, -}; - -class tl_istream { // TODO - prohibit copy/move -public: - virtual ~tl_istream() = default; - bool nat_read(uint32_t & value) { - return fetch_data(&value, 4); - } - bool nat_read_exact_tag(uint32_t tag) { - uint32_t actual_tag = 0; - if (TLGEN2_UNLIKELY(!nat_read(actual_tag))) { return false; } - if (TLGEN2_UNLIKELY(tag != actual_tag)) { return set_error_expected_tag(); } - return true; - } - bool int_read(int32_t & value) { - return fetch_data(&value, 4); - } - bool long_read(int64_t & value) { - return fetch_data(&value, 8); - } - bool float_read(float & value) { - return fetch_data(&value, 4); - } - bool double_read(double & value) { - return fetch_data(&value, 8); - } - bool bool_read(bool & value, uint32_t f, uint32_t t) { - uint32_t tag = 0; - if (TLGEN2_UNLIKELY(!nat_read(tag))) { return false; } - if (tag == t) { value = true; return true; } - if (TLGEN2_UNLIKELY(tag != f)) { set_error_bool_tag(); } - value = false; - return true; - } - bool string_read(std::string & value) { - if (TLGEN2_UNLIKELY(!ensure_byte())) { return false; } - auto len = size_t(static_cast(*ptr)); - if (TLGEN2_UNLIKELY(len >= TL_BIG_STRING_MARKER)) { - if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_MARKER)) { - return set_error("TODO - huge string"); - } - uint32_t len32 = 0; - if (TLGEN2_UNLIKELY(!nat_read(len32))) { return false; } - len = len32 >> 8U; - value.clear(); - if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { return false; } - if (TLGEN2_UNLIKELY(!fetch_pad((-len) & 3))) { return false; } - return true; - } - auto pad = ((-(len+1)) & 3); - auto fullLen = 1 + len + pad; - if (TLGEN2_UNLIKELY(ptr + fullLen > end)) { - ptr += 1; - value.clear(); - if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { return false; } - if (TLGEN2_UNLIKELY(!fetch_pad(pad))) { return false; } - return true; - } - // fast path for short strings that fully fit in buffer - uint32_t x = 0; - std::memcpy(&x, ptr + fullLen - 4, 4); - if (TLGEN2_UNLIKELY((x & ~(0xFFFFFFFFU >> (8*pad))) != 0)) { - return set_error_string_padding(); - } - value.assign(ptr + 1, len); - ptr += fullLen; - return true; - } - bool set_error(const char * e) { return false; } // TODO - set error field - bool set_error_eof() { return set_error("EOF"); } - bool set_error_sequence_length() { return set_error("sequence_length"); } - bool set_error_string_padding() { return set_error("string_padding"); } - bool set_error_bool_tag() { return set_error("bool_tag"); } - bool set_error_expected_tag() { return set_error("expected_tag"); } - bool set_error_union_tag() { return set_error("union_tag"); } -protected: - const char * ptr{}; - const char * end{}; - virtual void grow_buffer() = 0; // after call buffer must contain at least single byte, otherwise error -private: - bool ensure_byte() { - if (TLGEN2_UNLIKELY(ptr >= end)) { - // assert(ptr <= end) - grow_buffer(); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - return true; - } - bool fetch_data(void * vdata, size_t size) { - char * data = reinterpret_cast(vdata); - if (TLGEN2_UNLIKELY(ptr + size > end)) { - return fetch_data2(vdata, size); - } - std::memcpy(data, ptr, size); - ptr += size; - return true; + bool tl_istream::nat_read_exact_tag(uint32_t tag) { + uint32_t actual_tag = 0; + if (TLGEN2_UNLIKELY(!nat_read(actual_tag))) { + return false; + } + if (TLGEN2_UNLIKELY(tag != actual_tag)) { + return set_error_expected_tag(); + } + return true; } - bool fetch_data2(void * vdata, size_t size) { - char * data = reinterpret_cast(vdata); - for (;TLGEN2_UNLIKELY(ptr + size > end);) { - // assert(ptr <= end) - std::memcpy(data, ptr, end - ptr); - data += end - ptr; - size -= end - ptr; - ptr = end; - grow_buffer(); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - std::memcpy(data, ptr, size); - ptr += size; - return true; - } - bool fetch_data_append(std::string & value, size_t size) { - for (;TLGEN2_UNLIKELY(ptr + size > end);) { - // assert(ptr <= end) - value.append(ptr, end - ptr); - size -= end - ptr; - ptr = end; - grow_buffer(); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - value.append(ptr, size); - ptr += size; - return true; - } - bool fetch_pad(size_t len) { - uint32_t x = 0; - if (TLGEN2_UNLIKELY(!fetch_data(&x, len))) { return false; } - if (TLGEN2_UNLIKELY(x != 0)) { return set_error_string_padding(); } - return true; - } -}; - -class tl_ostream { // TODO - prohibit copy/move -public: - virtual ~tl_ostream() = default; - bool nat_write(uint32_t value) { - return store_data(&value, 4); - } - bool int_write(int32_t value) { - return store_data(&value, 4); - } - bool long_write(int64_t value) { - return store_data(&value, 8); - } - bool float_write(float value) { - return store_data(&value, 4); - } - bool double_write(double value) { - return store_data(&value, 8); - } - bool string_write(const std::string & value) { - auto len = value.size(); - if (TLGEN2_UNLIKELY(len > TL_MAX_TINY_STRING_LEN)) { - if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_LEN)) { - return set_error("TODO - huge string"); - } - uint32_t p = (len << 8U) | TL_BIG_STRING_MARKER; - if (TLGEN2_UNLIKELY(!store_data(&p, 4))) { return false; } - if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { return false; } - if (TLGEN2_UNLIKELY(!store_pad((-len) & 3))) { return false; } - return true; - } - auto pad = ((-(len+1)) & 3); - auto fullLen = 1 + len + pad; - if (TLGEN2_UNLIKELY(ptr + fullLen > end)) { - auto p = static_cast(len); - if (TLGEN2_UNLIKELY(!store_data(&p,1))) { return false; } - if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { return false; } - if (TLGEN2_UNLIKELY(!store_pad(pad))) { return false; } - return true; - } - // fast path for short strings that fully fit in buffer - uint32_t x = 0; - std::memcpy(ptr + fullLen - 4, &x, 4); // padding first - *ptr = static_cast(len); - std::memcpy(ptr + 1, value.data(), len); - ptr += fullLen; - return true; - } - bool set_error(const char * e) { return false; } // TODO - set error field - bool set_error_eof() { return set_error("EOF"); } - bool set_error_sequence_length() { return set_error("sequence_length"); } -protected: - char * ptr{}; - char * end{}; - virtual void grow_buffer() = 0; // after call buffer must contain at least single bytes, otherwise error -private: - bool store_data(const void * vdata, size_t size) { - const char * data = reinterpret_cast(vdata); - for (;TLGEN2_UNLIKELY(ptr + size > end);) { - // assert(ptr <= end) - std::memcpy(ptr, data, end - ptr); - data += end - ptr; - size -= end - ptr; - ptr = end; - grow_buffer(); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - std::memcpy(ptr, data, size); - ptr += size; - return true; - } - bool store_pad(size_t size) { - for (;TLGEN2_UNLIKELY(ptr + size > end);) { - // assert(ptr <= end) - std::memset(ptr, 0, end - ptr); - size -= end - ptr; - ptr = end; - grow_buffer(); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - if (size != 0) { - ptr[0] = 0; - ptr[size-1] = 0; - ptr[size/2] = 0; - ptr += size; - } - return true; - } -}; - -class tl_istream_string : public tl_istream { // TODO - custom copy/move -public: - explicit tl_istream_string(const std::string & buf) { - ptr = buf.data(); - end = ptr + buf.size(); - } -protected: - void grow_buffer() override {} -}; - -class tl_ostream_string : public tl_ostream { // TODO - custom copy/move -public: - explicit tl_ostream_string() { - resize(INITIAL_SIZE); - } - std::string & get_buffer() { - resize(ptr - buf.data()); - return buf; - } -protected: - void grow_buffer() override { - auto pos = ptr - buf.data(); - resize(buf.size()*3/2 + INITIAL_SIZE); // some arbitrary strategy - ptr += pos; - } -private: - enum { INITIAL_SIZE = 1024 }; - std::string buf; - void resize(size_t size) { - buf.resize(size); - ptr = const_cast(buf.data()); // works for all known implementations - end = ptr + buf.size(); - } -}; + bool tl_istream::int_read(int32_t &value) { return fetch_data(&value, 4); } + + bool tl_istream::long_read(int64_t &value) { return fetch_data(&value, 8); } + + bool tl_istream::float_read(float &value) { return fetch_data(&value, 4); } + + bool tl_istream::double_read(double &value) { return fetch_data(&value, 8); } + + bool tl_istream::bool_read(bool &value, uint32_t f, uint32_t t) { + uint32_t tag = 0; + if (TLGEN2_UNLIKELY(!nat_read(tag))) { + return false; + } + if (tag == t) { + value = true; + return true; + } + if (TLGEN2_UNLIKELY(tag != f)) { + set_error_bool_tag(); + } + value = false; + return true; + } + + bool tl_istream::string_read(std::string &value) { + if (TLGEN2_UNLIKELY(!ensure_byte())) { + return false; + } + auto len = size_t(static_cast(*ptr)); + if (TLGEN2_UNLIKELY(len >= TL_BIG_STRING_MARKER)) { + if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_MARKER)) { + return set_error("TODO - huge string"); + } + uint32_t len32 = 0; + if (TLGEN2_UNLIKELY(!nat_read(len32))) { + return false; + } + len = len32 >> 8U; + value.clear(); + if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { + return false; + } + if (TLGEN2_UNLIKELY(!fetch_pad((-len) & 3))) { + return false; + } + return true; + } + auto pad = ((-(len + 1)) & 3); + auto fullLen = 1 + len + pad; + if (TLGEN2_UNLIKELY(ptr + fullLen > end_block)) { + ptr += 1; + value.clear(); + if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { + return false; + } + if (TLGEN2_UNLIKELY(!fetch_pad(pad))) { + return false; + } + return true; + } + // fast path for short strings that fully fit in buffer + uint32_t x = 0; + std::memcpy(&x, ptr + fullLen - 4, 4); + if (TLGEN2_UNLIKELY((x & ~(0xFFFFFFFFU >> (8 * pad))) != 0)) { + return set_error_string_padding(); + } + value.assign(ptr + 1, len); + ptr += fullLen; + return true; + } + + void tl_istream::last_release() { + provider->release_buffer(ptr - start_block); + start_block = ptr; + } + + bool tl_istream::has_error() { + return hasError; + } + + bool tl_istream::set_error(const char *e) { + hasError = true; + return false; + } // TODO - set error field + + bool tl_istream::set_error_eof() { return set_error("EOF"); } + + bool tl_istream::set_error_sequence_length() { return set_error("sequence_length"); } + + bool tl_istream::set_error_string_padding() { return set_error("string_padding"); } + + bool tl_istream::set_error_bool_tag() { return set_error("bool_tag"); } + + bool tl_istream::set_error_expected_tag() { return set_error("expected_tag"); } + + bool tl_istream::set_error_union_tag() { return set_error("union_tag"); } + + void tl_istream::grow_buffer() { + ptr = end_block; + provider->release_buffer(ptr - start_block); + auto new_buffer = provider->get_buffer(); + ptr = reinterpret_cast(new_buffer.data()); + start_block = ptr; + end_block = ptr + new_buffer.size(); + } + + bool tl_istream::ensure_byte() { + if (TLGEN2_UNLIKELY(ptr >= end_block)) { + // assert(ptr <= end) + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + return true; + } + + bool tl_istream::fetch_data(void *vdata, size_t size) { + char *data = reinterpret_cast(vdata); + if (TLGEN2_UNLIKELY(ptr + size > end_block)) { + return fetch_data2(vdata, size); + } + std::memcpy(data, ptr, size); + ptr += size; + return true; + } + + bool tl_istream::fetch_data2(void *vdata, size_t size) { + char *data = reinterpret_cast(vdata); + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + std::memcpy(data, ptr, end_block - ptr); + data += end_block - ptr; + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + std::memcpy(data, ptr, size); + ptr += size; + return true; + } + + bool tl_istream::fetch_data_append(std::string &value, size_t size) { + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + value.append(ptr, end_block - ptr); + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + value.append(ptr, size); + ptr += size; + return true; + } + + bool tl_istream::fetch_pad(size_t len) { + uint32_t x = 0; + if (TLGEN2_UNLIKELY(!fetch_data(&x, len))) { + return false; + } + if (TLGEN2_UNLIKELY(x != 0)) { + return set_error_string_padding(); + } + return true; + } + + + tl_ostream::tl_ostream(tl_ostream_interface *provider) { + this->provider = provider; + } + + tl_ostream::~tl_ostream() { + this->last_release(); + } + + bool tl_ostream::nat_write(uint32_t value) { return store_data(&value, 4); } + + bool tl_ostream::int_write(int32_t value) { return store_data(&value, 4); } + + bool tl_ostream::long_write(int64_t value) { return store_data(&value, 8); } + + bool tl_ostream::float_write(float value) { return store_data(&value, 4); } + + bool tl_ostream::double_write(double value) { return store_data(&value, 8); } + + bool tl_ostream::string_write(const std::string &value) { + auto len = value.size(); + if (TLGEN2_UNLIKELY(len > TL_MAX_TINY_STRING_LEN)) { + if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_LEN)) { + return set_error("TODO - huge string"); + } + uint32_t p = (len << 8U) | TL_BIG_STRING_MARKER; + if (TLGEN2_UNLIKELY(!store_data(&p, 4))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_pad((-len) & 3))) { + return false; + } + return true; + } + auto pad = ((-(len + 1)) & 3); + auto fullLen = 1 + len + pad; + if (TLGEN2_UNLIKELY(ptr + fullLen > end_block)) { + auto p = static_cast(len); + if (TLGEN2_UNLIKELY(!store_data(&p, 1))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_pad(pad))) { + return false; + } + return true; + } + // fast path for short strings that fully fit in buffer + uint32_t x = 0; + std::memcpy(ptr + fullLen - 4, &x, 4); // padding first + *ptr = static_cast(len); + std::memcpy(ptr + 1, value.data(), len); + ptr += fullLen; + return true; + } + + void tl_ostream::last_release() { + provider->release_buffer(ptr - start_block); + start_block = ptr; + } + + bool tl_ostream::has_error() { + return hasError; + } + + bool tl_ostream::set_error(const char *e) { + hasError = true; + return false; + } // TODO - set error field + + bool tl_ostream::set_error_eof() { return set_error("EOF"); } + + bool tl_ostream::set_error_sequence_length() { return set_error("sequence_length"); } + + void tl_ostream::grow_buffer() { + ptr = end_block; + provider->release_buffer(ptr - start_block); + auto new_buffer = provider->get_buffer(); + ptr = reinterpret_cast(new_buffer.data()); + start_block = ptr; + end_block = ptr + new_buffer.size(); + } + + bool tl_ostream::store_data(const void *vdata, size_t size) { + const char *data = reinterpret_cast(vdata); + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + std::memcpy(ptr, data, end_block - ptr); + data += end_block - ptr; + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + std::memcpy(ptr, data, size); + ptr += size; + return true; + } + + bool tl_ostream::store_pad(size_t size) { + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + std::memset(ptr, 0, end_block - ptr); + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + if (size != 0) { + ptr[0] = 0; + ptr[size - 1] = 0; + ptr[size / 2] = 0; + ptr += size; + } + return true; + } +` + +const basicCPPTLCodeFooter = ` +} // namespace %s + + +#undef TLGEN2_NOINLINE +#undef TLGEN2_UNLIKELY ` diff --git a/internal/tlcodegen/tlgen.go b/internal/tlcodegen/tlgen.go index ebc5a74b..9f139c6d 100644 --- a/internal/tlcodegen/tlgen.go +++ b/internal/tlcodegen/tlgen.go @@ -44,7 +44,7 @@ const EnableWarningsSimpleTypeName = true const ( goExt = ".go" cppExt = ".cpp" - hppExt = ".hpp" + hppExt = ".h" ) const TlJSONHTML = "tljson.html" @@ -1626,8 +1626,8 @@ func fillTypeReduction( j := findArgByName(arg.Variable, originalType.TypeArguments) if j != -1 && args[j].Index == NumberConstant { typeReduction.Arguments[argI] = args[j] - } else if j != -1 && args[j].Index == NumberVariable && args[j].VariableActsAsConstant { - typeReduction.Arguments[argI].VariableActsAsConstant = true + } else if j != -1 && args[j].Index == NumberVariable { + typeReduction.Arguments[argI] = args[j] } else if _, ok := (*defaultFields)[arg.Variable]; ok { typeReduction.Arguments[argI] = EvaluatedType{Index: NumberConstant, Constant: 0} } diff --git a/internal/tlcodegen/tlgen_cpp.go b/internal/tlcodegen/tlgen_cpp.go index b9aaa00e..078db11d 100644 --- a/internal/tlcodegen/tlgen_cpp.go +++ b/internal/tlcodegen/tlgen_cpp.go @@ -27,7 +27,8 @@ func cppFinishNamespace(s *strings.Builder, ns []string) { } func (gen *Gen2) generateCodeCPP(generateByteVersions []string) error { - const basicTLFilepathName = "a_tlgen_helpers_code" + hppExt // TODO decollision + const basicTLFilepathNameHPP = "basics/basictl" + hppExt + const basicTLFilepathNameCPP = "basics/basictl" + cppExt cppAllInc := &DirectIncludesCPP{ns: map[*TypeRWWrapper]CppIncludeInfo{}} typesCounter := 0 @@ -102,7 +103,7 @@ func (gen *Gen2) generateCodeCPP(generateByteVersions []string) error { hpp.Reset() hpp.WriteString("#pragma once\n\n") { - hpp.WriteString(fmt.Sprintf("#include \"%s\"\n", getCppDiff(filepathName, basicTLFilepathName))) + hpp.WriteString(fmt.Sprintf("#include \"%s\"\n", getCppDiff(filepathName, basicTLFilepathNameHPP))) } for _, headerFile := range hppInc.sortedIncludes(gen.componentsOrder, func(wrapper *TypeRWWrapper) string { return wrapper.fileName }) { hpp.WriteString(fmt.Sprintf("#include \"%s%s\"\n", getCppDiff(filepathName, headerFile), hppExt)) @@ -147,7 +148,7 @@ func (gen *Gen2) generateCodeCPP(generateByteVersions []string) error { hppDet.Reset() hppDet.WriteString("#pragma once\n\n") - hppDet.WriteString(fmt.Sprintf("#include \"%s\"\n", getCppDiff(filepathName, basicTLFilepathName))) + hppDet.WriteString(fmt.Sprintf("#include \"%s\"\n", getCppDiff(filepathName, basicTLFilepathNameHPP))) if createdHpps[specs[0].fileName] { hppDet.WriteString(fmt.Sprintf("#include \"%s\"\n", getCppDiff(filepathName, specs[0].fileName+hppExt))) } @@ -235,7 +236,7 @@ func (gen *Gen2) generateCodeCPP(generateByteVersions []string) error { if !gen.options.SplitInternal { namespaceFilePath = namespaceDeps[0] + cppExt } - buildFilePath := filepath.Join("__build", namespaceDetails+".o") + buildFilePath := filepath.Join("build", "tl", namespaceDetails+".o") var cppMake1UsedFiles strings.Builder var cppMake1Namespace strings.Builder @@ -280,20 +281,27 @@ func (gen *Gen2) generateCodeCPP(generateByteVersions []string) error { cppMake.WriteString(` CC = g++ -CFLAGS = -std=c++17 -O3 -Wno-noexcept-type -g -Wall -Wextra -Werror=return-type -Wno-unused-parameter +CFLAGS = -std=c++20 -O3 -Wno-noexcept-type -g -Wall -Wextra -Werror=return-type -Wno-unused-parameter `) cppMake.WriteString("all: ") - cppMake.WriteString("main.o ") + cppMake.WriteString("build/tl main.o build/basictl.o ") cppMake.WriteString(fmt.Sprintf("%s\n", cppMakeO.String())) cppMake.WriteString("\t$(CC) $(CFLAGS) -o all ") - cppMake.WriteString("main.o ") + cppMake.WriteString("main.o build/basictl.o ") cppMake.WriteString(fmt.Sprintf("%s\n", cppMakeO.String())) cppMake.WriteString(` +build/tl: build/tl + mkdir -p build/tl + main.o: main.cpp $(CC) $(CFLAGS) -c main.cpp `) cppMake.WriteString(metaMake.String()) cppMake.WriteString(factoryMake.String()) + cppMake.WriteString(` +build/basictl.o: basics/basictl.cpp basics/basictl.h + $(CC) $(CFLAGS) -o build/basictl.o -c basics/basictl.cpp +`) cppMake.WriteString("\n") cppMake.WriteString(cppMake1.String()) @@ -306,7 +314,7 @@ main.o: main.cpp if err := gen.addCodeFile("Makefile", cppMake.String()); err != nil { return err } - if err := gen.addCodeFile("__build/info.txt", ".o files here!"); err != nil { + if err := gen.addCodeFile("build/info.txt", ".o files here!"); err != nil { return err } // if gen.options.Verbose { @@ -330,13 +338,16 @@ main.o: main.cpp // log.Printf("generation of RPC code finished, %d namespaces generated", len(gen.Namespaces)) // } { - // filepathName := filepath.Join(BasicTLGoPackageName, BasicTLGoPackageName+".go") // TODO if contains GlobalPackgeName as prefix, there could be name collisions - // gen.Code[filepathName] = fmt.Sprintf(basicTLCodeHeader, HeaderComment, BasicTLGoPackageName) + basicTLCodeBody - // filepathName = "factory.go" - // gen.Code[filepathName] = gen.GenerateFactory() - code := fmt.Sprintf(basicCPPTLCodeHeader, HeaderComment, BasicTLCPPNamespaceName) + basicCPPTLCodeBody + + code := fmt.Sprintf(basicHPPTLCodeHeader, HeaderComment, BasicTLCPPNamespaceName) + basicHPPTLCodeBody + + fmt.Sprintf(basicHPPTLCodeFooter, BasicTLCPPNamespaceName) + if err := gen.addCodeFile(basicTLFilepathNameHPP, code); err != nil { + return err + } + } + { + code := fmt.Sprintf(basicCPPTLCodeHeader, HeaderComment, BasicTLCPPNamespaceName, hppExt, BasicTLCPPNamespaceName) + basicCPPTLCodeBody + fmt.Sprintf(basicCPPTLCodeFooter, BasicTLCPPNamespaceName) - if err := gen.addCodeFile(basicTLFilepathName, code); err != nil { + if err := gen.addCodeFile(basicTLFilepathNameCPP, code); err != nil { return err } } @@ -359,6 +370,7 @@ func (gen *Gen2) decideCppCodeDestinations(allTypes []*TypeRWWrapper) { const NoNamespaceGroup = "" const CommonGroup = "__common_namespace" const IndependentTypes = CommonGroup + const TLPackagePrefix = "tl" for _, t := range allTypes { t.cppDetailsFileName = t.fileName @@ -480,12 +492,12 @@ func (gen *Gen2) decideCppCodeDestinations(allTypes []*TypeRWWrapper) { typeGroup = CommonGroup } if strct, isStruct := t.trw.(*TypeRWStruct); isStruct && strct.ResultType != nil { - t.fileName = filepath.Join(typeGroup, "functions", t.fileName) + t.fileName = filepath.Join(TLPackagePrefix, typeGroup, "functions", t.fileName) } else { - t.fileName = filepath.Join(typeGroup, "types", t.fileName) + t.fileName = filepath.Join(TLPackagePrefix, typeGroup, "types", t.fileName) } - t.hppDetailsFileName = filepath.Join(t.groupName, "headers", t.hppDetailsFileName) - t.cppDetailsFileName = filepath.Join(t.groupName, "details") + t.hppDetailsFileName = filepath.Join(TLPackagePrefix, t.groupName, "headers", t.hppDetailsFileName) + t.cppDetailsFileName = filepath.Join(TLPackagePrefix, t.groupName, "details") } } @@ -501,8 +513,8 @@ func createMeta(gen *Gen2, make *strings.Builder) error { meta := strings.Builder{} metaDetails := strings.Builder{} - filepathName := filepath.Join("__meta", "headers"+hppExt) - filepathDetailsName := filepath.Join("__meta", "details"+cppExt) + filepathName := filepath.Join("meta", "headers"+hppExt) + filepathDetailsName := filepath.Join("meta", "details"+cppExt) meta.WriteString(fmt.Sprintf(` #pragma once @@ -640,8 +652,8 @@ tl_items::tl_items() {`, getCppDiff(filepathDetailsName, filepathName))) } make.WriteString(fmt.Sprintf(` -__build/__meta.o: %[1]s %[2]s - $(CC) $(CFLAGS) -o __build/__meta.o -c %[2]s +build/meta.o: %[1]s %[2]s + $(CC) $(CFLAGS) -o build/meta.o -c %[2]s `, filepathName, filepathDetailsName, @@ -653,8 +665,8 @@ func createFactory(gen *Gen2, createdHpps map[string]bool, make *strings.Builder factory := strings.Builder{} factoryDetails := strings.Builder{} - filepathName := filepath.Join("__factory", "headers"+hppExt) - filepathNameDetails := filepath.Join("__factory", "details"+cppExt) + filepathName := filepath.Join("factory", "headers"+hppExt) + filepathNameDetails := filepath.Join("factory", "details"+cppExt) imports := DirectIncludesCPP{ns: map[*TypeRWWrapper]CppIncludeInfo{}} @@ -757,7 +769,7 @@ void tl2::factory::set_all_factories() { `) suffix := factoryDetails.String() factoryDetails.Reset() - factoryDetails.WriteString(fmt.Sprintf("#include \"%s\"\n", getCppDiff(filepathNameDetails, filepath.Join("__meta", "headers"+hppExt)))) + factoryDetails.WriteString(fmt.Sprintf("#include \"%s\"\n", getCppDiff(filepathNameDetails, filepath.Join("meta", "headers"+hppExt)))) factoryDetails.WriteString(fmt.Sprintf("#include \"%s\"\n\n", getCppDiff(filepathNameDetails, filepathName))) factoryFileDependencies := strings.Builder{} @@ -779,8 +791,8 @@ void tl2::factory::set_all_factories() { } make.WriteString(fmt.Sprintf(` -__build/__factory.o: %[1]s %[2]s%[3]s - $(CC) $(CFLAGS) -o __build/__factory.o -c %[2]s +build/factory.o: %[1]s %[2]s%[3]s + $(CC) $(CFLAGS) -o build/factory.o -c %[2]s `, filepathName, filepathNameDetails, From 8772c691c017a1f1e8bd5674ff1bd1f1ead697a5 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Wed, 20 Nov 2024 16:17:55 +0300 Subject: [PATCH 07/38] update tests + basictl string impl --- .../test/codegen_test/cpp/CMakeLists.txt | 6 ++ .../tlcodegen/test/codegen_test/cpp/Makefile | 79 ++++++++++++------- .../cpp/tests/test_functions_bytes.cpp | 28 +++++-- .../cpp/tests/test_objects_bytes.cpp | 21 +++-- .../cpp/tests/test_objects_json.cpp | 13 +-- pkg/basictl/cpp/basictl.cpp | 3 + pkg/basictl/cpp/basictl.h | 8 +- pkg/basictl/cpp/string_io.cpp | 8 ++ pkg/basictl/cpp/string_io.h | 11 ++- 9 files changed, 119 insertions(+), 58 deletions(-) create mode 100644 internal/tlcodegen/test/codegen_test/cpp/CMakeLists.txt diff --git a/internal/tlcodegen/test/codegen_test/cpp/CMakeLists.txt b/internal/tlcodegen/test/codegen_test/cpp/CMakeLists.txt new file mode 100644 index 00000000..59b85aca --- /dev/null +++ b/internal/tlcodegen/test/codegen_test/cpp/CMakeLists.txt @@ -0,0 +1,6 @@ +cmake_minimum_required(VERSION 3.28) +project(cpp) + +set(CMAKE_CXX_STANDARD 20) + +add_executable(cpp tests/test_objects_bytes.cpp tests/test_functions_bytes.cpp tests/test_objects_json.cpp) diff --git a/internal/tlcodegen/test/codegen_test/cpp/Makefile b/internal/tlcodegen/test/codegen_test/cpp/Makefile index ccc374c2..3efbd878 100644 --- a/internal/tlcodegen/test/codegen_test/cpp/Makefile +++ b/internal/tlcodegen/test/codegen_test/cpp/Makefile @@ -3,10 +3,14 @@ CASES_DIR = $(CPP_DIR)/cases_cpp SCHEMA_DIR = $(CPP_DIR)/schema_cpp CC = g++ -CFLAGS = -std=c++17 -O3 -Wno-noexcept-type -g -Wall -Wextra -Werror=return-type -Wno-unused-parameter +CFLAGS = -std=c++20 -O3 -Wno-noexcept-type -g -Wall -Wextra -Werror=return-type -Wno-unused-parameter + +all: run-all-tests # run in project root "make cpp_gen_test_data" run-all-tests: + @cd ../../../../../ && make cpp_gen_test_data + mkdir -p build make run-objects-test make run-functions-test @@ -14,52 +18,71 @@ clean-build: rm -rf build mkdir build -run-objects-test: build-objects-bytes +run-objects-test: build-objects-bytes build-objects-json ./build/test_objects_bytes + ./build/test_objects_json run-functions-test: build-functions-bytes ./build/test_functions_bytes build-objects-bytes: build/test_objects_bytes.o compile-cases - $(CC) $(CFLAGS) -o build/test_objects_bytes build/test_objects_bytes.o \ - $(CASES_DIR)/__build/__meta.o \ - $(CASES_DIR)/__build/__factory.o \ - $(CASES_DIR)/__build/__common_namespace.o \ - $(CASES_DIR)/__build/benchmarks.o \ - $(CASES_DIR)/__build/cases.o \ - $(CASES_DIR)/__build/cases_bytes.o + $(CC) $(CFLAGS) -g -o build/test_objects_bytes build/test_objects_bytes.o \ + $(CASES_DIR)/build/meta.o \ + $(CASES_DIR)/build/factory.o \ + $(CASES_DIR)/build/basictl.o \ + $(CASES_DIR)/build/string_io.o \ + $(CASES_DIR)/build/tl/__common_namespace.o \ + $(CASES_DIR)/build/tl/benchmarks.o \ + $(CASES_DIR)/build/tl/cases.o \ + $(CASES_DIR)/build/tl/cases_bytes.o build/test_objects_bytes.o: tests/test_objects_bytes.cpp $(CC) $(CFLAGS) -c tests/test_objects_bytes.cpp -o build/test_objects_bytes.o +build-objects-json: build/test_objects_json.o compile-cases + $(CC) $(CFLAGS) -g -o build/test_objects_json build/test_objects_json.o \ + $(CASES_DIR)/build/meta.o \ + $(CASES_DIR)/build/factory.o \ + $(CASES_DIR)/build/basictl.o \ + $(CASES_DIR)/build/string_io.o \ + $(CASES_DIR)/build/tl/__common_namespace.o \ + $(CASES_DIR)/build/tl/benchmarks.o \ + $(CASES_DIR)/build/tl/cases.o \ + $(CASES_DIR)/build/tl/cases_bytes.o + +build/test_objects_json.o: tests/test_objects_json.cpp + $(CC) $(CFLAGS) -c tests/test_objects_json.cpp -o build/test_objects_json.o + compile-cases: @cd $(CASES_DIR)/ &&\ - mkdir -p __build &&\ - make __build/__common_namespace.o __build/benchmarks.o __build/cases.o __build/cases_bytes.o __build/__meta.o __build/__factory.o + mkdir -p build &&\ + make build/basictl.o build/string_io.o build/meta.o build/factory.o build/tl/__common_namespace.o build/tl/benchmarks.o build/tl/cases.o build/tl/cases_bytes.o @cd ../../codegen_test/cpp/ build-functions-bytes: build/test_functions_bytes.o compile-schema - $(CC) $(CFLAGS) -o build/test_functions_bytes build/test_functions_bytes.o \ - $(SCHEMA_DIR)/__build/__meta.o \ - $(SCHEMA_DIR)/__build/__factory.o \ - $(SCHEMA_DIR)/__build/__common_namespace.o \ - $(SCHEMA_DIR)/__build/antispam.o \ - $(SCHEMA_DIR)/__build/pkg2.o \ - $(SCHEMA_DIR)/__build/service1.o \ - $(SCHEMA_DIR)/__build/service2.o \ - $(SCHEMA_DIR)/__build/service3.o \ - $(SCHEMA_DIR)/__build/service4.o \ - $(SCHEMA_DIR)/__build/service5.o \ - $(SCHEMA_DIR)/__build/service6.o \ - $(SCHEMA_DIR)/__build/tasks.o \ - $(SCHEMA_DIR)/__build/tree_stats.o \ - $(SCHEMA_DIR)/__build/unique.o + $(CC) $(CFLAGS) -g -o build/test_functions_bytes build/test_functions_bytes.o \ + $(SCHEMA_DIR)/build/meta.o \ + $(SCHEMA_DIR)/build/factory.o \ + $(SCHEMA_DIR)/build/basictl.o \ + $(SCHEMA_DIR)/build/string_io.o \ + $(SCHEMA_DIR)/build/tl/__common_namespace.o \ + $(SCHEMA_DIR)/build/tl/antispam.o \ + $(SCHEMA_DIR)/build/tl/pkg2.o \ + $(SCHEMA_DIR)/build/tl/service1.o \ + $(SCHEMA_DIR)/build/tl/service2.o \ + $(SCHEMA_DIR)/build/tl/service3.o \ + $(SCHEMA_DIR)/build/tl/service4.o \ + $(SCHEMA_DIR)/build/tl/service5.o \ + $(SCHEMA_DIR)/build/tl/service6.o \ + $(SCHEMA_DIR)/build/tl/tasks.o \ + $(SCHEMA_DIR)/build/tl/tree_stats.o \ + $(SCHEMA_DIR)/build/tl/unique.o build/test_functions_bytes.o: tests/test_functions_bytes.cpp $(CC) $(CFLAGS) -c tests/test_functions_bytes.cpp -o build/test_functions_bytes.o compile-schema: @cd $(SCHEMA_DIR)/ &&\ - mkdir -p __build &&\ - make __build/__common_namespace.o __build/antispam.o __build/pkg2.o __build/service1.o __build/service2.o __build/service3.o __build/service4.o __build/service5.o __build/service6.o __build/tasks.o __build/tree_stats.o __build/unique.o __build/__meta.o __build/__factory.o + mkdir -p build &&\ + make build/basictl.o build/string_io.o build/meta.o build/factory.o build/tl/__common_namespace.o build/tl/antispam.o build/tl/pkg2.o build/tl/service1.o build/tl/service2.o build/tl/service3.o build/tl/service4.o build/tl/service5.o build/tl/service6.o build/tl/tasks.o build/tl/tree_stats.o build/tl/unique.o @cd ../../codegen_test/cpp/ \ No newline at end of file diff --git a/internal/tlcodegen/test/codegen_test/cpp/tests/test_functions_bytes.cpp b/internal/tlcodegen/test/codegen_test/cpp/tests/test_functions_bytes.cpp index fb40f3b6..ef403956 100644 --- a/internal/tlcodegen/test/codegen_test/cpp/tests/test_functions_bytes.cpp +++ b/internal/tlcodegen/test/codegen_test/cpp/tests/test_functions_bytes.cpp @@ -5,9 +5,11 @@ #include "../utils/hex.h" #include "../dependencies/json.hpp" -#include "../../../gen/schema_cpp/a_tlgen_helpers_code.hpp" -#include "../../../gen/schema_cpp/__meta/headers.hpp" -#include "../../../gen/schema_cpp/__factory/headers.hpp" +#include "../../../gen/schema_cpp/basics/basictl.h" +#include "../../../gen/schema_cpp/meta/headers.h" +#include "../../../gen/schema_cpp/factory/headers.h" +#include "../../../gen/schema_cpp/basics/string_io.h" + // for convenience using json = nlohmann::json; @@ -26,17 +28,27 @@ int main() { auto function_body_input = hex::parse_hex_to_bytes(test_data.at("FunctionBodyBytes")); auto expected_result_output = hex::parse_hex_to_bytes(test_data.at("ResultBytes")); - basictl::tl_istream_string input1{function_body_input}; - basictl::tl_istream_string input2{expected_result_output}; - basictl::tl_ostream_string output{}; + basictl::tl_istream_string input1_str{function_body_input}; + basictl::tl_istream_string input2_str{expected_result_output}; + + basictl::tl_istream input1{&input1_str}; + basictl::tl_istream input2{&input2_str}; + + std::string output_string = ""; + basictl::tl_ostream_string output_str{output_string}; + basictl::tl_ostream output{&output_str}; bool read_result = test_function->read(input1); bool test_result = read_result; + std::string used_output; if (read_result) { test_result = test_function->read_write_result(input2, output); + + output.last_release(); + used_output = {reinterpret_cast(output_str.used_buffer().data()), output_str.used_buffer().size()}; if (test_result) { - test_result = output.get_buffer() == expected_result_output; + test_result = used_output == expected_result_output; } } @@ -45,7 +57,7 @@ int main() { } else { std::cout << "FAILED" << std::endl; std::cout << "\t\tExpected output:" << test_data.at("ResultBytes") << std::endl; - std::cout << "\t\tActual result :" << output.get_buffer() << std::endl; + std::cout << "\t\tActual result :" << used_output << std::endl; return 1; } } diff --git a/internal/tlcodegen/test/codegen_test/cpp/tests/test_objects_bytes.cpp b/internal/tlcodegen/test/codegen_test/cpp/tests/test_objects_bytes.cpp index d49a3d32..92f25f0e 100644 --- a/internal/tlcodegen/test/codegen_test/cpp/tests/test_objects_bytes.cpp +++ b/internal/tlcodegen/test/codegen_test/cpp/tests/test_objects_bytes.cpp @@ -4,9 +4,10 @@ #include "../dependencies/json.hpp" #include "../utils/hex.h" -#include "../../../gen/cases_cpp/a_tlgen_helpers_code.hpp" -#include "../../../gen/cases_cpp/__meta/headers.hpp" -#include "../../../gen/cases_cpp/__factory/headers.hpp" +#include "../../../gen/cases_cpp/basics/basictl.h" +#include "../../../gen/cases_cpp/meta/headers.h" +#include "../../../gen/cases_cpp/factory/headers.h" +#include "../../../gen/cases_cpp/basics/string_io.h" // for convenience using json = nlohmann::json; @@ -26,15 +27,21 @@ int main() { auto test_object = tl2::meta::get_item_by_name(test_data.at("TestingType")).create_object(); auto expected_output = hex::parse_hex_to_bytes(test_data_input.at("Bytes")); - basictl::tl_istream_string input{expected_output}; - basictl::tl_ostream_string output{}; + basictl::tl_istream_string input_str{expected_output}; + basictl::tl_istream input{&input_str}; + + std::string output_string; + basictl::tl_ostream_string output_str{output_string}; + basictl::tl_ostream output{&output_str}; bool read_result = test_object->read(input); bool write_result = test_object->write(output); + output.last_release(); + std::string used_output{reinterpret_cast(output_str.used_buffer().data()), output_str.used_buffer().size()}; bool test_result = write_result && read_result; if (test_result) { - test_result = output.get_buffer() == expected_output; + test_result = used_output == expected_output; } if (test_result) { std::cout << "SUCCESS" << std::endl; @@ -42,7 +49,7 @@ int main() { std::cout << "FAILED" << std::endl; std::cout << "\t\tWrite result :" << write_result << std::endl; std::cout << "\t\tExpected output:" << expected_output << std::endl; - std::cout << "\t\tActual result :" << output.get_buffer() << std::endl; + std::cout << "\t\tActual result :" << used_output << std::endl; return 1; } } diff --git a/internal/tlcodegen/test/codegen_test/cpp/tests/test_objects_json.cpp b/internal/tlcodegen/test/codegen_test/cpp/tests/test_objects_json.cpp index 584fcd75..7710c206 100644 --- a/internal/tlcodegen/test/codegen_test/cpp/tests/test_objects_json.cpp +++ b/internal/tlcodegen/test/codegen_test/cpp/tests/test_objects_json.cpp @@ -4,9 +4,10 @@ #include "../dependencies/json.hpp" #include "../utils/hex.h" -#include "../../../gen/cases_cpp/a_tlgen_helpers_code.hpp" -#include "../../../gen/cases_cpp/__meta/headers.hpp" -#include "../../../gen/cases_cpp/__factory/headers.hpp" +#include "../../../gen/schema_cpp/basics/basictl.h" +#include "../../../gen/schema_cpp/meta/headers.h" +#include "../../../gen/schema_cpp/factory/headers.h" +#include "../../../gen/schema_cpp/basics/string_io.h" // for convenience using json = nlohmann::json; @@ -27,7 +28,9 @@ int main() { auto bytes_input = hex::parse_hex_to_bytes(test_data_input.at("DataAsBytes")); std::string expected_json_output = test_data_input.at("DataAsJson"); - basictl::tl_istream_string input{bytes_input}; + auto string_input = basictl::tl_istream_string{bytes_input}; + basictl::tl_istream input = basictl::tl_istream(&string_input); + std::stringstream output; bool read_result = test_object->read(input); @@ -53,4 +56,4 @@ int main() { std::cout << "All tests are passed!" << std::endl; return 0; -} +} \ No newline at end of file diff --git a/pkg/basictl/cpp/basictl.cpp b/pkg/basictl/cpp/basictl.cpp index a1af88f2..497da76c 100644 --- a/pkg/basictl/cpp/basictl.cpp +++ b/pkg/basictl/cpp/basictl.cpp @@ -6,6 +6,7 @@ #define TLGEN2_NOINLINE // __attribute__ ((noinline)) // could improve performance on your platform namespace basictl { + tl_istream::tl_istream(tl_istream_interface *provider) : provider(provider) {} tl_istream::~tl_istream() { @@ -323,7 +324,9 @@ namespace basictl { } return true; } + } // namespace basictl + #undef TLGEN2_NOINLINE #undef TLGEN2_UNLIKELY diff --git a/pkg/basictl/cpp/basictl.h b/pkg/basictl/cpp/basictl.h index 462d4572..d4c8a7d6 100644 --- a/pkg/basictl/cpp/basictl.h +++ b/pkg/basictl/cpp/basictl.h @@ -14,11 +14,8 @@ #include #include -#define TLGEN2_UNLIKELY(x) \ - (x) // __builtin_expect((x), 0) // could improve performance on your platform -#define TLGEN2_NOINLINE // __attribute__ ((noinline)) // could improve performance on your platform - namespace basictl { + enum { TL_MAX_TINY_STRING_LEN = 253, TL_BIG_STRING_LEN = 0xffffff, @@ -127,7 +124,6 @@ namespace basictl { bool store_data(const void* vdata, size_t size); bool store_pad(size_t size); }; + } // namespace basictl -#undef TLGEN2_NOINLINE -#undef TLGEN2_UNLIKELY diff --git a/pkg/basictl/cpp/string_io.cpp b/pkg/basictl/cpp/string_io.cpp index 196d8614..cf932564 100644 --- a/pkg/basictl/cpp/string_io.cpp +++ b/pkg/basictl/cpp/string_io.cpp @@ -11,6 +11,10 @@ namespace basictl { used_size += size; } + std::span tl_istream_string::used_buffer() { + return {reinterpret_cast(buffer.data()), used_size}; + } + std::span tl_ostream_string::get_buffer() { return {reinterpret_cast(buffer.data()) + used_size, buffer.size() - used_size}; } @@ -21,4 +25,8 @@ namespace basictl { buffer.resize(buffer.size() * 3 / 2 + 1024); } } + + std::span tl_ostream_string::used_buffer() { + return {reinterpret_cast(buffer.data()), used_size}; + } } \ No newline at end of file diff --git a/pkg/basictl/cpp/string_io.h b/pkg/basictl/cpp/string_io.h index b3561c35..7632efc0 100644 --- a/pkg/basictl/cpp/string_io.h +++ b/pkg/basictl/cpp/string_io.h @@ -3,26 +3,29 @@ #include "basictl.h" namespace basictl { - class tl_istream_string : public basictl::tl_istream_interface { + class tl_istream_string : public tl_istream_interface { public: explicit tl_istream_string(const std::string & buffer) : buffer(buffer) {} std::span get_buffer() override; void release_buffer(size_t size) override; - + + std::span used_buffer(); private: const std::string & buffer; size_t used_size = 0; }; - class tl_ostream_string : public basictl::tl_ostream_interface { + class tl_ostream_string : public tl_ostream_interface { public: explicit tl_ostream_string(std::string & buffer) : buffer(buffer) {} std::span get_buffer() override; void release_buffer(size_t size) override; + + std::span used_buffer(); private: std::string & buffer; size_t used_size = 0; }; -}; +}; \ No newline at end of file From fef650527e4869eda3eb6b2e04bde81cb6456ec5 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Wed, 20 Nov 2024 16:18:24 +0300 Subject: [PATCH 08/38] forgot helpers --- internal/tlcodegen/helpers_cpp.go | 72 ++++++++++++++++++++++++++++--- internal/tlcodegen/tlgen_cpp.go | 34 ++++++++++++--- 2 files changed, 92 insertions(+), 14 deletions(-) diff --git a/internal/tlcodegen/helpers_cpp.go b/internal/tlcodegen/helpers_cpp.go index 714163e4..cf765cd1 100644 --- a/internal/tlcodegen/helpers_cpp.go +++ b/internal/tlcodegen/helpers_cpp.go @@ -22,19 +22,12 @@ const basicHPPTLCodeHeader = `%s #include #include -#define TLGEN2_UNLIKELY(x) \ - (x) // __builtin_expect((x), 0) // could improve performance on your platform -#define TLGEN2_NOINLINE // __attribute__ ((noinline)) // could improve performance on your platform - namespace %s { ` const basicHPPTLCodeFooter = ` } // namespace %s - -#undef TLGEN2_NOINLINE -#undef TLGEN2_UNLIKELY ` const basicHPPTLCodeBody = ` @@ -484,3 +477,68 @@ const basicCPPTLCodeFooter = ` #undef TLGEN2_NOINLINE #undef TLGEN2_UNLIKELY ` + +const basicTLStringsImplHPP = `%[1]s +#pragma once +#include "%[2]s%[3]s" + +namespace %[2]s { + class tl_istream_string : public tl_istream_interface { + public: + explicit tl_istream_string(const std::string & buffer) : buffer(buffer) {} + + std::span get_buffer() override; + void release_buffer(size_t size) override; + + std::span used_buffer(); + private: + const std::string & buffer; + size_t used_size = 0; + }; + + class tl_ostream_string : public tl_ostream_interface { + public: + explicit tl_ostream_string(std::string & buffer) : buffer(buffer) {} + + std::span get_buffer() override; + void release_buffer(size_t size) override; + + std::span used_buffer(); + private: + std::string & buffer; + size_t used_size = 0; + }; +};` + +const basicTLStringsImplCPP = `%[1]s +#include "%[2]s%[3]s" +#include "string_io%[3]s" + +namespace %[2]s { + std::span tl_istream_string::get_buffer() { + return {reinterpret_cast(buffer.data()) + used_size, buffer.size() - used_size}; + } + + void tl_istream_string::release_buffer(size_t size) { + used_size += size; + } + + std::span tl_istream_string::used_buffer() { + return {reinterpret_cast(buffer.data()), used_size}; + } + + std::span tl_ostream_string::get_buffer() { + return {reinterpret_cast(buffer.data()) + used_size, buffer.size() - used_size}; + } + + void tl_ostream_string::release_buffer(size_t size) { + used_size += size; + if (used_size == buffer.size()) { + buffer.resize(buffer.size() * 3 / 2 + 1024); + } + } + + std::span tl_ostream_string::used_buffer() { + return {reinterpret_cast(buffer.data()), used_size}; + } +}` diff --git a/internal/tlcodegen/tlgen_cpp.go b/internal/tlcodegen/tlgen_cpp.go index 078db11d..77cfb8eb 100644 --- a/internal/tlcodegen/tlgen_cpp.go +++ b/internal/tlcodegen/tlgen_cpp.go @@ -15,6 +15,13 @@ import ( "strings" ) +const basicTLFilepathName = "basics/basictl" +const basicTLStringsImplFilepathName = "basics/string_io" +const basicTLFilepathNameHPP = basicTLFilepathName + hppExt +const basicTLFilepathNameCPP = basicTLFilepathName + cppExt +const basicTLStringsImplFilepathNameHPP = basicTLStringsImplFilepathName + hppExt +const basicTLStringsImplFilepathNameCPP = basicTLStringsImplFilepathName + cppExt + func cppStartNamespace(s *strings.Builder, ns []string) { for _, n := range ns { s.WriteString(fmt.Sprintf("namespace %s { ", n)) @@ -27,9 +34,6 @@ func cppFinishNamespace(s *strings.Builder, ns []string) { } func (gen *Gen2) generateCodeCPP(generateByteVersions []string) error { - const basicTLFilepathNameHPP = "basics/basictl" + hppExt - const basicTLFilepathNameCPP = "basics/basictl" + cppExt - cppAllInc := &DirectIncludesCPP{ns: map[*TypeRWWrapper]CppIncludeInfo{}} typesCounter := 0 @@ -284,13 +288,13 @@ CC = g++ CFLAGS = -std=c++20 -O3 -Wno-noexcept-type -g -Wall -Wextra -Werror=return-type -Wno-unused-parameter `) cppMake.WriteString("all: ") - cppMake.WriteString("build/tl main.o build/basictl.o ") + cppMake.WriteString("build/tl main.o build/basictl.o") cppMake.WriteString(fmt.Sprintf("%s\n", cppMakeO.String())) cppMake.WriteString("\t$(CC) $(CFLAGS) -o all ") cppMake.WriteString("main.o build/basictl.o ") cppMake.WriteString(fmt.Sprintf("%s\n", cppMakeO.String())) cppMake.WriteString(` -build/tl: build/tl +build/tl: mkdir -p build/tl main.o: main.cpp @@ -301,6 +305,10 @@ main.o: main.cpp cppMake.WriteString(` build/basictl.o: basics/basictl.cpp basics/basictl.h $(CC) $(CFLAGS) -o build/basictl.o -c basics/basictl.cpp +`) + cppMake.WriteString(` +build/string_io.o: basics/string_io.cpp basics/string_io.h + $(CC) $(CFLAGS) -o build/string_io.o -c basics/string_io.cpp `) cppMake.WriteString("\n") @@ -351,6 +359,18 @@ build/basictl.o: basics/basictl.cpp basics/basictl.h return err } } + { + code := fmt.Sprintf(basicTLStringsImplHPP, HeaderComment, BasicTLCPPNamespaceName, hppExt) + if err := gen.addCodeFile(basicTLStringsImplFilepathNameHPP, code); err != nil { + return err + } + } + { + code := fmt.Sprintf(basicTLStringsImplCPP, HeaderComment, BasicTLCPPNamespaceName, hppExt) + if err := gen.addCodeFile(basicTLStringsImplFilepathNameCPP, code); err != nil { + return err + } + } // if gen.options.Verbose { // log.Printf("formating generated code...") // } @@ -561,9 +581,9 @@ namespace tl2 { void set_create_function_by_name(std::string &&s, std::function()> &&factory); } -}`, getCppDiff(filepathName, "a_tlgen_helpers_code.hpp"))) +}`, getCppDiff(filepathName, basicTLFilepathNameHPP))) - metaDetails.WriteString(fmt.Sprintf("#include \"%s\"\n", getCppDiff(filepathDetailsName, "a_tlgen_helpers_code.hpp"))) + metaDetails.WriteString(fmt.Sprintf("#include \"%s\"\n", getCppDiff(filepathDetailsName, basicTLFilepathNameHPP))) metaDetails.WriteString(fmt.Sprintf(` #include From f5063c63d46f9de06501ab28e43b9929fa8fae06 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Wed, 20 Nov 2024 16:19:13 +0300 Subject: [PATCH 09/38] cases_ and schema_ cpp gen update --- .../tlcodegen/test/gen/cases_cpp/Makefile | 39 +- .../test/gen/cases_cpp/__build/info.txt | 1 - .../gen/cases_cpp/a_tlgen_helpers_code.hpp | 304 - .../test/gen/cases_cpp/basics/basictl.cpp | 332 ++ .../test/gen/cases_cpp/basics/basictl.h | 129 + .../test/gen/cases_cpp/basics/string_io.cpp | 33 + .../test/gen/cases_cpp/basics/string_io.h | 32 + .../{__factory => factory}/details.cpp | 84 +- .../headers.hpp => factory/headers.h} | 0 .../cases_cpp/{__meta => meta}/details.cpp | 4 +- .../{__meta/headers.hpp => meta/headers.h} | 2 +- .../{ => tl}/__common_namespace/details.cpp | 22 +- .../__common_namespace/headers/dictionary.h} | 4 +- .../headers/dictionaryAny.h} | 6 +- .../headers/dictionaryField.h} | 4 +- .../headers/dictionaryFieldAny.h} | 4 +- .../__common_namespace/headers/int.h} | 4 +- .../__common_namespace/headers/int32.h} | 4 +- .../__common_namespace/headers/int64.h} | 4 +- .../__common_namespace/headers/long.h} | 4 +- .../__common_namespace/headers/string.h} | 4 +- .../__common_namespace/headers/true.h} | 4 +- .../__common_namespace/headers/vector.h} | 6 +- .../__common_namespace/types/dictionary.h} | 4 +- .../__common_namespace/types/dictionaryAny.h} | 4 +- .../types/dictionaryField.h} | 2 +- .../types/dictionaryFieldAny.h} | 2 +- .../__common_namespace/types/int.h} | 2 +- .../__common_namespace/types/int32.h} | 2 +- .../__common_namespace/types/int64.h} | 2 +- .../__common_namespace/types/long.h} | 2 +- .../__common_namespace/types/string.h} | 2 +- .../__common_namespace/types/true.h} | 2 +- .../__common_namespace/types/tuple.h} | 2 +- .../__common_namespace/types/vector.h} | 2 +- .../cases_cpp/{ => tl}/benchmarks/details.cpp | 20 +- .../headers/benchmarks.VrutoyTopLevelUnion.h} | 4 +- .../benchmarks/headers/benchmarks.vruhash.h} | 4 +- .../headers/benchmarks.vruposition.h} | 4 +- .../headers/benchmarks.vrutoyPositions.h} | 4 +- .../benchmarks.vrutoyTopLevelContainer.h} | 4 +- ...s.vrutoyTopLevelContainerWithDependency.h} | 4 +- .../benchmarks.vrutoytopLevelUnionBig.h} | 4 +- .../benchmarks.vrutoytopLevelUnionEmpty.h} | 4 +- .../benchmarks/headers/benchmarks_vector.h} | 6 +- .../types/benchmarks.VrutoyTopLevelUnion.h} | 6 +- .../benchmarks/types/benchmarks.vruhash.h} | 2 +- .../types/benchmarks.vruposition.h} | 6 +- .../types/benchmarks.vrutoyPositions.h} | 4 +- .../benchmarks.vrutoyTopLevelContainer.h} | 4 +- ...s.vrutoyTopLevelContainerWithDependency.h} | 4 +- .../benchmarks.vrutoytopLevelUnionBig.h} | 4 +- .../benchmarks.vrutoytopLevelUnionEmpty.h} | 2 +- .../gen/cases_cpp/{ => tl}/cases/details.cpp | 68 +- .../cases/headers/cases.TestEnum.h} | 4 +- .../cases/headers/cases.TestEnumItems.h} | 4 +- .../cases/headers/cases.TestUnion.h} | 4 +- .../cases/headers/cases.myCycle1.h} | 4 +- .../cases/headers/cases.myCycle2.h} | 4 +- .../cases/headers/cases.myCycle3.h} | 4 +- .../cases/headers/cases.replace7.h} | 4 +- .../cases/headers/cases.replace7plus.h} | 4 +- .../cases/headers/cases.replace7plusplus.h} | 4 +- .../cases.testAllPossibleFieldConfigs.h} | 4 +- ...es.testAllPossibleFieldConfigsContainer.h} | 4 +- .../cases/headers/cases.testArray.h} | 4 +- .../cases.testBeforeReadBitValidation.h} | 4 +- .../cases/headers/cases.testDictAny.h} | 4 +- .../cases/headers/cases.testDictInt.h} | 4 +- .../cases/headers/cases.testDictString.h} | 4 +- .../cases/headers/cases.testEnumContainer.h} | 4 +- .../cases/headers/cases.testLocalFieldmask.h} | 4 +- .../cases/headers/cases.testMaybe.h} | 4 +- .../cases/headers/cases.testOutFieldMask.h} | 4 +- .../cases.testOutFieldMaskContainer.h} | 4 +- .../headers/cases.testRecursiveFieldMask.h} | 4 +- .../cases/headers/cases.testTuple.h} | 4 +- .../cases/headers/cases.testUnion1.h} | 4 +- .../cases/headers/cases.testUnion2.h} | 4 +- .../cases/headers/cases.testUnionContainer.h} | 4 +- .../cases/headers/cases.testVector.h} | 4 +- .../cases/headers/cases_int.h} | 4 +- .../cases/headers/cases_tuple.h} | 6 +- .../cases/headers/cases_vector.h} | 6 +- .../cases/types/cases.TestEnum.h} | 4 +- .../cases/types/cases.TestEnumItems.h} | 2 +- .../cases/types/cases.TestUnion.h} | 6 +- .../cases/types/cases.myCycle1.h} | 4 +- .../cases/types/cases.myCycle2.h} | 4 +- .../cases/types/cases.myCycle3.h} | 2 +- .../cases/types/cases.replace7.h} | 2 +- .../cases/types/cases.replace7plus.h} | 2 +- .../cases/types/cases.replace7plusplus.h} | 2 +- .../cases.testAllPossibleFieldConfigs.h} | 4 +- ...es.testAllPossibleFieldConfigsContainer.h} | 4 +- .../cases/types/cases.testArray.h} | 2 +- .../cases.testBeforeReadBitValidation.h} | 2 +- .../cases/types/cases.testDictAny.h} | 4 +- .../cases/types/cases.testDictInt.h} | 4 +- .../cases/types/cases.testDictString.h} | 4 +- .../cases/types/cases.testEnumContainer.h} | 4 +- .../cases/types/cases.testLocalFieldmask.h} | 4 +- .../cases/types/cases.testMaybe.h} | 2 +- .../cases/types/cases.testOutFieldMask.h} | 4 +- .../types/cases.testOutFieldMaskContainer.h} | 4 +- .../types/cases.testRecursiveFieldMask.h} | 4 +- .../cases/types/cases.testTuple.h} | 2 +- .../cases/types/cases.testUnion1.h} | 2 +- .../cases/types/cases.testUnion2.h} | 2 +- .../cases/types/cases.testUnionContainer.h} | 4 +- .../cases/types/cases.testVector.h} | 2 +- .../{ => tl}/cases_bytes/details.cpp | 38 +- .../headers/cases_bytes.TestEnum.h} | 4 +- .../headers/cases_bytes.TestEnumItems.h} | 4 +- .../headers/cases_bytes.testArray.h} | 4 +- .../headers/cases_bytes.testDictAny.h} | 4 +- .../headers/cases_bytes.testDictInt.h} | 4 +- .../headers/cases_bytes.testDictString.h} | 4 +- .../cases_bytes.testDictStringString.h} | 4 +- .../headers/cases_bytes.testEnumContainer.h} | 4 +- .../headers/cases_bytes.testTuple.h} | 4 +- .../headers/cases_bytes.testVector.h} | 4 +- .../headers/cases_bytes_dictionary.h} | 4 +- .../headers/cases_bytes_dictionaryField.h} | 4 +- .../cases_bytes/headers/cases_bytes_string.h} | 4 +- .../cases_bytes/headers/cases_bytes_tuple.h} | 6 +- .../cases_bytes/headers/cases_bytes_vector.h} | 8 +- .../cases_bytes/types/cases_bytes.TestEnum.h} | 4 +- .../types/cases_bytes.TestEnumItems.h} | 2 +- .../types/cases_bytes.testArray.h} | 2 +- .../types/cases_bytes.testDictAny.h} | 4 +- .../types/cases_bytes.testDictInt.h} | 4 +- .../types/cases_bytes.testDictString.h} | 4 +- .../types/cases_bytes.testDictStringString.h} | 4 +- .../types/cases_bytes.testEnumContainer.h} | 4 +- .../types/cases_bytes.testTuple.h} | 2 +- .../types/cases_bytes.testVector.h} | 2 +- .../test/gen/schema_cpp/basics/basictl.cpp | 332 ++ .../test/gen/schema_cpp/basics/basictl.h | 129 + .../test/gen/schema_cpp/basics/string_io.cpp | 33 + .../test/gen/schema_cpp/basics/string_io.h | 32 + .../test/gen/schema_cpp/factory/details.cpp | 3239 +++++++++++ .../test/gen/schema_cpp/factory/headers.h | 7 + .../test/gen/schema_cpp/meta/details.cpp | 491 ++ .../test/gen/schema_cpp/meta/headers.h | 46 + .../tl/__common_namespace/details.cpp | 5072 +++++++++++++++++ .../__common_namespace/functions/boxedArray.h | 35 + .../__common_namespace/functions/boxedInt.h | 34 + .../functions/boxedString.h | 34 + .../__common_namespace/functions/boxedTuple.h | 34 + .../functions/boxedTupleSlice1.h | 35 + .../functions/boxedTupleSlice2.h | 35 + .../functions/boxedTupleSlice3.h | 35 + .../functions/boxedVector32.h | 34 + .../functions/boxedVector32BoxedElem.h | 34 + .../functions/boxedVector64.h | 34 + .../__common_namespace/functions/getDouble.h | 34 + .../__common_namespace/functions/getFloat.h | 34 + .../functions/getMaybeIface.h | 35 + .../functions/getMyDictOfInt.h | 35 + .../functions/getMyDouble.h | 35 + .../__common_namespace/functions/getMyValue.h | 35 + .../functions/getNonOptNat.h | 35 + .../__common_namespace/functions/getStats.h | 35 + .../__common_namespace/functions/get_arrays.h | 36 + .../tl/__common_namespace/headers/Bool.h | 13 + .../tl/__common_namespace/headers/Either.h | 48 + .../tl/__common_namespace/headers/MyValue.h | 15 + .../__common_namespace/headers/benchObject.h | 17 + .../__common_namespace/headers/boxedArray.h | 21 + .../tl/__common_namespace/headers/boxedInt.h | 20 + .../__common_namespace/headers/boxedString.h | 20 + .../__common_namespace/headers/boxedTuple.h | 21 + .../headers/boxedTupleSlice1.h | 21 + .../headers/boxedTupleSlice2.h | 21 + .../headers/boxedTupleSlice3.h | 21 + .../headers/boxedVector32.h | 21 + .../headers/boxedVector32BoxedElem.h | 21 + .../headers/boxedVector64.h | 21 + .../__common_namespace/headers/dictionary.h | 17 + .../headers/dictionaryField.h | 27 + .../tl/__common_namespace/headers/double.h | 17 + .../headers/fieldConflict1.h | 17 + .../headers/fieldConflict2.h | 17 + .../headers/fieldConflict3.h | 17 + .../headers/fieldConflict4.h | 17 + .../tl/__common_namespace/headers/float.h | 17 + .../tl/__common_namespace/headers/getDouble.h | 20 + .../tl/__common_namespace/headers/getFloat.h | 20 + .../headers/getMaybeIface.h | 21 + .../headers/getMyDictOfInt.h | 21 + .../__common_namespace/headers/getMyDouble.h | 21 + .../__common_namespace/headers/getMyValue.h | 21 + .../__common_namespace/headers/getNonOptNat.h | 21 + .../tl/__common_namespace/headers/getStats.h | 21 + .../__common_namespace/headers/get_arrays.h | 21 + .../tl/__common_namespace/headers/int.h | 107 + .../tl/__common_namespace/headers/integer.h | 27 + .../tl/__common_namespace/headers/issue3498.h | 17 + .../tl/__common_namespace/headers/left.h | 32 + .../tl/__common_namespace/headers/long.h | 27 + .../tl/__common_namespace/headers/map.h | 27 + .../headers/myAnonMcValue.h | 17 + .../__common_namespace/headers/myBoxedArray.h | 17 + .../headers/myBoxedTupleSlice.h | 17 + .../headers/myBoxedVectorSlice.h | 17 + .../__common_namespace/headers/myDictOfInt.h | 17 + .../tl/__common_namespace/headers/myDouble.h | 17 + .../tl/__common_namespace/headers/myInt.h | 17 + .../tl/__common_namespace/headers/myMaybe1.h | 17 + .../tl/__common_namespace/headers/myMaybe2.h | 17 + .../tl/__common_namespace/headers/myMcValue.h | 17 + .../headers/myMcValueTuple.h | 17 + .../headers/myMcValueVector.h | 17 + .../tl/__common_namespace/headers/myString.h | 17 + .../tl/__common_namespace/headers/myTuple.h | 27 + .../__common_namespace/headers/myTwoDicts.h | 17 + .../tl/__common_namespace/headers/nonOptNat.h | 17 + .../tl/__common_namespace/headers/right.h | 32 + .../headers/rpcInvokeReqExtra.h | 17 + .../tl/__common_namespace/headers/statOne.h | 17 + .../tl/__common_namespace/headers/string.h | 27 + .../tl/__common_namespace/headers/true.h | 17 + .../tl/__common_namespace/headers/tuple.h | 104 + .../tl/__common_namespace/headers/vector.h | 173 + .../tl/__common_namespace/headers/withFloat.h | 17 + .../tl/__common_namespace/types/Bool.h | 11 + .../tl/__common_namespace/types/Either.h | 22 + .../tl/__common_namespace/types/MyValue.h | 26 + .../tl/__common_namespace/types/benchObject.h | 30 + .../tl/__common_namespace/types/boolStat.h | 30 + .../tl/__common_namespace/types/dictionary.h | 11 + .../types/dictionaryField.h | 17 + .../tl/__common_namespace/types/double.h | 9 + .../__common_namespace/types/fieldConflict1.h | 29 + .../__common_namespace/types/fieldConflict2.h | 29 + .../__common_namespace/types/fieldConflict3.h | 29 + .../__common_namespace/types/fieldConflict4.h | 29 + .../tl/__common_namespace/types/float.h | 9 + .../tl/__common_namespace/types/int.h | 9 + .../tl/__common_namespace/types/integer.h | 28 + .../tl/__common_namespace/types/issue3498.h | 31 + .../tl/__common_namespace/types/left.h | 16 + .../tl/__common_namespace/types/long.h | 9 + .../tl/__common_namespace/types/map.h | 17 + .../__common_namespace/types/myAnonMcValue.h | 10 + .../__common_namespace/types/myBoxedArray.h | 28 + .../types/myBoxedTupleSlice.h | 29 + .../types/myBoxedVectorSlice.h | 28 + .../tl/__common_namespace/types/myDictOfInt.h | 10 + .../tl/__common_namespace/types/myDouble.h | 9 + .../tl/__common_namespace/types/myInt.h | 28 + .../tl/__common_namespace/types/myMaybe1.h | 10 + .../tl/__common_namespace/types/myMaybe2.h | 10 + .../tl/__common_namespace/types/myMcValue.h | 29 + .../__common_namespace/types/myMcValueTuple.h | 29 + .../types/myMcValueVector.h | 29 + .../tl/__common_namespace/types/myString.h | 28 + .../tl/__common_namespace/types/myTuple.h | 10 + .../tl/__common_namespace/types/myTwoDicts.h | 30 + .../tl/__common_namespace/types/nonOptNat.h | 29 + .../tl/__common_namespace/types/right.h | 16 + .../types/rpcInvokeReqExtra.h | 34 + .../tl/__common_namespace/types/statOne.h | 29 + .../tl/__common_namespace/types/string.h | 9 + .../tl/__common_namespace/types/true.h | 27 + .../tl/__common_namespace/types/tuple.h | 15 + .../tl/__common_namespace/types/vector.h | 10 + .../tl/__common_namespace/types/withFloat.h | 30 + .../gen/schema_cpp/tl/antispam/details.cpp | 303 + .../antispam/functions/antispam.getPattern.h | 35 + .../antispam/headers/antispam.PatternFull.h | 15 + .../tl/antispam/headers/antispam.getPattern.h | 21 + .../antispam/headers/antispam.patternFound.h | 17 + .../headers/antispam.patternNotFound.h | 17 + .../tl/antispam/types/antispam.PatternFull.h | 27 + .../tl/antispam/types/antispam.patternFound.h | 32 + .../antispam/types/antispam.patternNotFound.h | 27 + .../test/gen/schema_cpp/tl/pkg2/details.cpp | 149 + .../gen/schema_cpp/tl/pkg2/headers/pkg2.foo.h | 17 + .../gen/schema_cpp/tl/pkg2/headers/pkg2.t1.h | 17 + .../gen/schema_cpp/tl/pkg2/headers/pkg2.t2.h | 17 + .../gen/schema_cpp/tl/pkg2/types/pkg2.foo.h | 28 + .../gen/schema_cpp/tl/pkg2/types/pkg2.t1.h | 29 + .../gen/schema_cpp/tl/pkg2/types/pkg2.t2.h | 10 + .../gen/schema_cpp/tl/service1/details.cpp | 3447 +++++++++++ .../tl/service1/functions/service1.add.h | 37 + .../tl/service1/functions/service1.addOrGet.h | 38 + .../service1/functions/service1.addOrIncr.h | 38 + .../tl/service1/functions/service1.append.h | 37 + .../tl/service1/functions/service1.cas.h | 38 + .../tl/service1/functions/service1.decr.h | 36 + .../tl/service1/functions/service1.delete.h | 34 + .../functions/service1.disableExpiration.h | 34 + .../functions/service1.disableKeysStat.h | 34 + .../functions/service1.enableExpiration.h | 34 + .../functions/service1.enableKeysStat.h | 34 + .../tl/service1/functions/service1.exists.h | 34 + .../tl/service1/functions/service1.get.h | 35 + .../functions/service1.getExpireTime.h | 34 + .../service1/functions/service1.getKeysStat.h | 35 + .../functions/service1.getKeysStatPeriods.h | 33 + .../service1/functions/service1.getWildcard.h | 35 + .../functions/service1.getWildcardDict.h | 35 + .../functions/service1.getWildcardList.h | 34 + .../functions/service1.getWildcardWithFlags.h | 36 + .../tl/service1/functions/service1.incr.h | 36 + .../tl/service1/functions/service1.replace.h | 37 + .../functions/service1.replaceOrIncr.h | 38 + .../tl/service1/functions/service1.set.h | 37 + .../service1/functions/service1.setOrIncr.h | 38 + .../tl/service1/functions/service1.touch.h | 35 + .../tl/service1/headers/service1.Value.h | 45 + .../tl/service1/headers/service1.add.h | 21 + .../tl/service1/headers/service1.addOrGet.h | 21 + .../tl/service1/headers/service1.addOrIncr.h | 21 + .../tl/service1/headers/service1.append.h | 21 + .../tl/service1/headers/service1.cas.h | 21 + .../tl/service1/headers/service1.decr.h | 21 + .../tl/service1/headers/service1.delete.h | 21 + .../headers/service1.disableExpiration.h | 21 + .../headers/service1.disableKeysStat.h | 21 + .../headers/service1.enableExpiration.h | 21 + .../headers/service1.enableKeysStat.h | 21 + .../tl/service1/headers/service1.exists.h | 21 + .../tl/service1/headers/service1.get.h | 21 + .../service1/headers/service1.getExpireTime.h | 21 + .../service1/headers/service1.getKeysStat.h | 21 + .../headers/service1.getKeysStatPeriods.h | 21 + .../service1/headers/service1.getWildcard.h | 21 + .../headers/service1.getWildcardDict.h | 21 + .../headers/service1.getWildcardList.h | 21 + .../headers/service1.getWildcardWithFlags.h | 22 + .../tl/service1/headers/service1.incr.h | 21 + .../tl/service1/headers/service1.keysStat.h | 27 + .../tl/service1/headers/service1.longvalue.h | 17 + .../headers/service1.longvalueWithTime.h | 17 + .../tl/service1/headers/service1.not_found.h | 17 + .../tl/service1/headers/service1.replace.h | 21 + .../service1/headers/service1.replaceOrIncr.h | 21 + .../tl/service1/headers/service1.set.h | 21 + .../tl/service1/headers/service1.setOrIncr.h | 21 + .../tl/service1/headers/service1.strvalue.h | 17 + .../headers/service1.strvalueWithTime.h | 17 + .../tl/service1/headers/service1.touch.h | 21 + .../tl/service1/headers/service1_dictionary.h | 42 + .../headers/service1_dictionaryField.h | 73 + .../tl/service1/headers/service1_vector.h | 44 + .../tl/service1/types/service1.Value.h | 33 + .../tl/service1/types/service1.keysStat.h | 30 + .../tl/service1/types/service1.longvalue.h | 29 + .../types/service1.longvalueWithTime.h | 30 + .../tl/service1/types/service1.not_found.h | 27 + .../tl/service1/types/service1.strvalue.h | 29 + .../types/service1.strvalueWithTime.h | 30 + .../gen/schema_cpp/tl/service2/details.cpp | 760 +++ .../functions/service2.addOrIncrMany.h | 42 + .../tl/service2/functions/service2.set.h | 41 + .../functions/service2.setObjectTtl.h | 38 + .../service2/headers/service2.addOrIncrMany.h | 21 + .../tl/service2/headers/service2.counterSet.h | 27 + .../tl/service2/headers/service2.deltaSet.h | 27 + .../tl/service2/headers/service2.objectId.h | 17 + .../tl/service2/headers/service2.set.h | 21 + .../service2/headers/service2.setObjectTtl.h | 21 + .../tl/service2/headers/service2_double.h | 15 + .../tl/service2/headers/service2_tuple.h | 31 + .../tl/service2/types/service2.counterSet.h | 24 + .../tl/service2/types/service2.deltaSet.h | 26 + .../tl/service2/types/service2.objectId.h | 23 + .../gen/schema_cpp/tl/service3/details.cpp | 2548 +++++++++ .../functions/service3.createProduct.h | 39 + .../functions/service3.deleteAllProducts.h | 37 + .../service3.deleteGroupedProducts.h | 38 + .../functions/service3.deleteProduct.h | 37 + .../service3.getLastVisitTimestamp.h | 34 + .../service3/functions/service3.getLimits.h | 34 + .../functions/service3.getProductStats.h | 36 + .../service3/functions/service3.getProducts.h | 42 + .../functions/service3.getScheduledProducts.h | 36 + .../functions/service3.restoreAllProducts.h | 37 + .../service3.restoreGroupedProducts.h | 38 + .../functions/service3.restoreProduct.h | 37 + .../service3.setLastVisitTimestamp.h | 35 + .../service3/functions/service3.setLimits.h | 36 + .../service3/headers/service3.createProduct.h | 21 + .../headers/service3.deleteAllProducts.h | 21 + .../headers/service3.deleteGroupedProducts.h | 21 + .../service3/headers/service3.deleteProduct.h | 21 + .../headers/service3.getLastVisitTimestamp.h | 21 + .../tl/service3/headers/service3.getLimits.h | 21 + .../headers/service3.getProductStats.h | 22 + .../service3/headers/service3.getProducts.h | 22 + .../headers/service3.getScheduledProducts.h | 22 + .../headers/service3.groupCountLimit.h | 27 + .../headers/service3.groupSizeLimit.h | 27 + .../tl/service3/headers/service3.limits.h | 17 + .../tl/service3/headers/service3.product.h | 49 + .../headers/service3.productStatsOld.h | 27 + .../headers/service3.restoreAllProducts.h | 21 + .../headers/service3.restoreGroupedProducts.h | 21 + .../headers/service3.restoreProduct.h | 21 + .../headers/service3.setLastVisitTimestamp.h | 21 + .../tl/service3/headers/service3.setLimits.h | 21 + .../tl/service3/headers/service3_boolStat.h | 17 + .../tl/service3/headers/service3_vector.h | 99 + .../service3/types/service3.groupCountLimit.h | 29 + .../service3/types/service3.groupSizeLimit.h | 29 + .../tl/service3/types/service3.limits.h | 33 + .../tl/service3/types/service3.product.h | 44 + .../service3/types/service3.productStatsOld.h | 32 + .../gen/schema_cpp/tl/service4/details.cpp | 220 + .../headers/service4.modifiedNewsEntry.h | 17 + .../tl/service4/headers/service4.object.h | 17 + .../types/service4.modifiedNewsEntry.h | 34 + .../tl/service4/types/service4.object.h | 30 + .../gen/schema_cpp/tl/service5/details.cpp | 542 ++ .../tl/service5/functions/service5.insert.h | 36 + .../functions/service5.performQuery.h | 35 + .../tl/service5/functions/service5.query.h | 37 + .../tl/service5/headers/service5.Output.h | 15 + .../service5/headers/service5.emptyOutput.h | 17 + .../tl/service5/headers/service5.insert.h | 21 + .../tl/service5/headers/service5.params.h | 17 + .../service5/headers/service5.performQuery.h | 21 + .../tl/service5/headers/service5.query.h | 21 + .../service5/headers/service5.stringOutput.h | 17 + .../tl/service5/types/service5.Output.h | 27 + .../tl/service5/types/service5.emptyOutput.h | 27 + .../tl/service5/types/service5.params.h | 30 + .../tl/service5/types/service5.stringOutput.h | 29 + .../gen/schema_cpp/tl/service6/details.cpp | 437 ++ .../service6/functions/service6.multiFind.h | 39 + .../functions/service6.multiFindWithBounds.h | 36 + .../tl/service6/headers/service6.error.h | 17 + .../service6/headers/service6.findResultRow.h | 27 + .../headers/service6.findWithBoundsResult.h | 27 + .../tl/service6/headers/service6.multiFind.h | 23 + .../headers/service6.multiFindWithBounds.h | 22 + .../tl/service6/types/service6.error.h | 28 + .../service6/types/service6.findResultRow.h | 28 + .../types/service6.findWithBoundsResult.h | 28 + .../test/gen/schema_cpp/tl/tasks/details.cpp | 1896 ++++++ .../tl/tasks/functions/tasks.addTask.h | 37 + .../tl/tasks/functions/tasks.getAnyTask.h | 34 + .../tl/tasks/functions/tasks.getQueueSize.h | 37 + .../tl/tasks/functions/tasks.getQueueTypes.h | 36 + .../tasks/functions/tasks.getTaskFromQueue.h | 36 + .../tl/tasks/headers/tasks.TaskStatus.h | 15 + .../tl/tasks/headers/tasks.TaskStatusItems.h | 53 + .../tl/tasks/headers/tasks.addTask.h | 20 + .../tl/tasks/headers/tasks.cronTask.h | 17 + .../tl/tasks/headers/tasks.cronTaskWithId.h | 17 + .../tl/tasks/headers/tasks.cronTime.h | 17 + .../tl/tasks/headers/tasks.getAnyTask.h | 21 + .../tl/tasks/headers/tasks.getQueueSize.h | 21 + .../tl/tasks/headers/tasks.getQueueTypes.h | 21 + .../tl/tasks/headers/tasks.getTaskFromQueue.h | 21 + .../tl/tasks/headers/tasks.queueStats.h | 17 + .../tl/tasks/headers/tasks.queueTypeInfo.h | 27 + .../tasks/headers/tasks.queueTypeSettings.h | 17 + .../tl/tasks/headers/tasks.queueTypeStats.h | 17 + .../schema_cpp/tl/tasks/headers/tasks.task.h | 17 + .../tl/tasks/headers/tasks.taskInfo.h | 27 + .../tl/tasks/types/tasks.TaskStatus.h | 31 + .../tl/tasks/types/tasks.TaskStatusItems.h | 93 + .../tl/tasks/types/tasks.cronTask.h | 33 + .../tl/tasks/types/tasks.cronTaskWithId.h | 31 + .../tl/tasks/types/tasks.cronTime.h | 34 + .../tl/tasks/types/tasks.queueStats.h | 25 + .../tl/tasks/types/tasks.queueTypeInfo.h | 32 + .../tl/tasks/types/tasks.queueTypeSettings.h | 37 + .../tl/tasks/types/tasks.queueTypeStats.h | 32 + .../schema_cpp/tl/tasks/types/tasks.task.h | 35 + .../tl/tasks/types/tasks.taskInfo.h | 31 + .../gen/schema_cpp/tl/tree_stats/details.cpp | 153 + .../headers/tree_stats.ObjectLimitValue.h | 15 + .../tree_stats.objectLimitValueDouble.h | 17 + .../headers/tree_stats.objectLimitValueLong.h | 17 + .../types/tree_stats.ObjectLimitValue.h | 27 + .../types/tree_stats.objectLimitValueDouble.h | 9 + .../types/tree_stats.objectLimitValueLong.h | 27 + .../test/gen/schema_cpp/tl/unique/details.cpp | 156 + .../tl/unique/functions/unique.get.h | 34 + .../tl/unique/functions/unique.stringToInt.h | 34 + .../schema_cpp/tl/unique/headers/unique.get.h | 21 + .../tl/unique/headers/unique.stringToInt.h | 20 + 487 files changed, 29816 insertions(+), 666 deletions(-) delete mode 100644 internal/tlcodegen/test/gen/cases_cpp/__build/info.txt delete mode 100644 internal/tlcodegen/test/gen/cases_cpp/a_tlgen_helpers_code.hpp create mode 100644 internal/tlcodegen/test/gen/cases_cpp/basics/basictl.cpp create mode 100644 internal/tlcodegen/test/gen/cases_cpp/basics/basictl.h create mode 100644 internal/tlcodegen/test/gen/cases_cpp/basics/string_io.cpp create mode 100644 internal/tlcodegen/test/gen/cases_cpp/basics/string_io.h rename internal/tlcodegen/test/gen/cases_cpp/{__factory => factory}/details.cpp (93%) rename internal/tlcodegen/test/gen/cases_cpp/{__factory/headers.hpp => factory/headers.h} (100%) rename internal/tlcodegen/test/gen/cases_cpp/{__meta => meta}/details.cpp (99%) rename internal/tlcodegen/test/gen/cases_cpp/{__meta/headers.hpp => meta/headers.h} (97%) rename internal/tlcodegen/test/gen/cases_cpp/{ => tl}/__common_namespace/details.cpp (98%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/headers/dictionary.hpp => tl/__common_namespace/headers/dictionary.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/headers/dictionaryAny.hpp => tl/__common_namespace/headers/dictionaryAny.h} (92%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/headers/dictionaryField.hpp => tl/__common_namespace/headers/dictionaryField.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/headers/dictionaryFieldAny.hpp => tl/__common_namespace/headers/dictionaryFieldAny.h} (96%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/headers/int.hpp => tl/__common_namespace/headers/int.h} (85%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/headers/int32.hpp => tl/__common_namespace/headers/int32.h} (86%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/headers/int64.hpp => tl/__common_namespace/headers/int64.h} (86%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/headers/long.hpp => tl/__common_namespace/headers/long.h} (85%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/headers/string.hpp => tl/__common_namespace/headers/string.h} (86%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/headers/true.hpp => tl/__common_namespace/headers/true.h} (86%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/headers/vector.hpp => tl/__common_namespace/headers/vector.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/types/dictionary.hpp => tl/__common_namespace/types/dictionary.h} (64%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/types/dictionaryAny.hpp => tl/__common_namespace/types/dictionaryAny.h} (66%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/types/dictionaryField.hpp => tl/__common_namespace/types/dictionaryField.h} (85%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/types/dictionaryFieldAny.hpp => tl/__common_namespace/types/dictionaryFieldAny.h} (85%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/types/int.hpp => tl/__common_namespace/types/int.h} (63%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/types/int32.hpp => tl/__common_namespace/types/int32.h} (64%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/types/int64.hpp => tl/__common_namespace/types/int64.h} (64%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/types/long.hpp => tl/__common_namespace/types/long.h} (64%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/types/string.hpp => tl/__common_namespace/types/string.h} (65%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/types/true.hpp => tl/__common_namespace/types/true.h} (92%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/types/tuple.hpp => tl/__common_namespace/types/tuple.h} (73%) rename internal/tlcodegen/test/gen/cases_cpp/{__common_namespace/types/vector.hpp => tl/__common_namespace/types/vector.h} (71%) rename internal/tlcodegen/test/gen/cases_cpp/{ => tl}/benchmarks/details.cpp (98%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/headers/benchmarks.VrutoyTopLevelUnion.hpp => tl/benchmarks/headers/benchmarks.VrutoyTopLevelUnion.h} (84%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/headers/benchmarks.vruhash.hpp => tl/benchmarks/headers/benchmarks.vruhash.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/headers/benchmarks.vruposition.hpp => tl/benchmarks/headers/benchmarks.vruposition.h} (95%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/headers/benchmarks.vrutoyPositions.hpp => tl/benchmarks/headers/benchmarks.vrutoyPositions.h} (89%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/headers/benchmarks.vrutoyTopLevelContainer.hpp => tl/benchmarks/headers/benchmarks.vrutoyTopLevelContainer.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/headers/benchmarks.vrutoyTopLevelContainerWithDependency.hpp => tl/benchmarks/headers/benchmarks.vrutoyTopLevelContainerWithDependency.h} (95%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/headers/benchmarks.vrutoytopLevelUnionBig.hpp => tl/benchmarks/headers/benchmarks.vrutoytopLevelUnionBig.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/headers/benchmarks.vrutoytopLevelUnionEmpty.hpp => tl/benchmarks/headers/benchmarks.vrutoytopLevelUnionEmpty.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/headers/benchmarks_vector.hpp => tl/benchmarks/headers/benchmarks_vector.h} (84%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/types/benchmarks.VrutoyTopLevelUnion.hpp => tl/benchmarks/types/benchmarks.VrutoyTopLevelUnion.h} (80%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/types/benchmarks.vruhash.hpp => tl/benchmarks/types/benchmarks.vruhash.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/types/benchmarks.vruposition.hpp => tl/benchmarks/types/benchmarks.vruposition.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/types/benchmarks.vrutoyPositions.hpp => tl/benchmarks/types/benchmarks.vrutoyPositions.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/types/benchmarks.vrutoyTopLevelContainer.hpp => tl/benchmarks/types/benchmarks.vrutoyTopLevelContainer.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/types/benchmarks.vrutoyTopLevelContainerWithDependency.hpp => tl/benchmarks/types/benchmarks.vrutoyTopLevelContainerWithDependency.h} (89%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/types/benchmarks.vrutoytopLevelUnionBig.hpp => tl/benchmarks/types/benchmarks.vrutoytopLevelUnionBig.h} (89%) rename internal/tlcodegen/test/gen/cases_cpp/{benchmarks/types/benchmarks.vrutoytopLevelUnionEmpty.hpp => tl/benchmarks/types/benchmarks.vrutoytopLevelUnionEmpty.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{ => tl}/cases/details.cpp (98%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.TestEnum.hpp => tl/cases/headers/cases.TestEnum.h} (83%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.TestEnumItems.hpp => tl/cases/headers/cases.TestEnumItems.h} (95%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.TestUnion.hpp => tl/cases/headers/cases.TestUnion.h} (83%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.myCycle1.hpp => tl/cases/headers/cases.myCycle1.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.myCycle2.hpp => tl/cases/headers/cases.myCycle2.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.myCycle3.hpp => tl/cases/headers/cases.myCycle3.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.replace7.hpp => tl/cases/headers/cases.replace7.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.replace7plus.hpp => tl/cases/headers/cases.replace7plus.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.replace7plusplus.hpp => tl/cases/headers/cases.replace7plusplus.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testAllPossibleFieldConfigs.hpp => tl/cases/headers/cases.testAllPossibleFieldConfigs.h} (89%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testAllPossibleFieldConfigsContainer.hpp => tl/cases/headers/cases.testAllPossibleFieldConfigsContainer.h} (89%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testArray.hpp => tl/cases/headers/cases.testArray.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testBeforeReadBitValidation.hpp => tl/cases/headers/cases.testBeforeReadBitValidation.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testDictAny.hpp => tl/cases/headers/cases.testDictAny.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testDictInt.hpp => tl/cases/headers/cases.testDictInt.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testDictString.hpp => tl/cases/headers/cases.testDictString.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testEnumContainer.hpp => tl/cases/headers/cases.testEnumContainer.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testLocalFieldmask.hpp => tl/cases/headers/cases.testLocalFieldmask.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testMaybe.hpp => tl/cases/headers/cases.testMaybe.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testOutFieldMask.hpp => tl/cases/headers/cases.testOutFieldMask.h} (89%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testOutFieldMaskContainer.hpp => tl/cases/headers/cases.testOutFieldMaskContainer.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testRecursiveFieldMask.hpp => tl/cases/headers/cases.testRecursiveFieldMask.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testTuple.hpp => tl/cases/headers/cases.testTuple.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testUnion1.hpp => tl/cases/headers/cases.testUnion1.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testUnion2.hpp => tl/cases/headers/cases.testUnion2.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testUnionContainer.hpp => tl/cases/headers/cases.testUnionContainer.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases.testVector.hpp => tl/cases/headers/cases.testVector.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases_int.hpp => tl/cases/headers/cases_int.h} (95%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases_tuple.hpp => tl/cases/headers/cases_tuple.h} (79%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/headers/cases_vector.hpp => tl/cases/headers/cases_vector.h} (78%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.TestEnum.hpp => tl/cases/types/cases.TestEnum.h} (89%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.TestEnumItems.hpp => tl/cases/types/cases.TestEnumItems.h} (97%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.TestUnion.hpp => tl/cases/types/cases.TestUnion.h} (81%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.myCycle1.hpp => tl/cases/types/cases.myCycle1.h} (90%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.myCycle2.hpp => tl/cases/types/cases.myCycle2.h} (90%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.myCycle3.hpp => tl/cases/types/cases.myCycle3.h} (94%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.replace7.hpp => tl/cases/types/cases.replace7.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.replace7plus.hpp => tl/cases/types/cases.replace7plus.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.replace7plusplus.hpp => tl/cases/types/cases.replace7plusplus.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testAllPossibleFieldConfigs.hpp => tl/cases/types/cases.testAllPossibleFieldConfigs.h} (90%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testAllPossibleFieldConfigsContainer.hpp => tl/cases/types/cases.testAllPossibleFieldConfigsContainer.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testArray.hpp => tl/cases/types/cases.testArray.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testBeforeReadBitValidation.hpp => tl/cases/types/cases.testBeforeReadBitValidation.h} (94%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testDictAny.hpp => tl/cases/types/cases.testDictAny.h} (85%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testDictInt.hpp => tl/cases/types/cases.testDictInt.h} (85%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testDictString.hpp => tl/cases/types/cases.testDictString.h} (85%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testEnumContainer.hpp => tl/cases/types/cases.testEnumContainer.h} (89%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testLocalFieldmask.hpp => tl/cases/types/cases.testLocalFieldmask.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testMaybe.hpp => tl/cases/types/cases.testMaybe.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testOutFieldMask.hpp => tl/cases/types/cases.testOutFieldMask.h} (86%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testOutFieldMaskContainer.hpp => tl/cases/types/cases.testOutFieldMaskContainer.h} (89%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testRecursiveFieldMask.hpp => tl/cases/types/cases.testRecursiveFieldMask.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testTuple.hpp => tl/cases/types/cases.testTuple.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testUnion1.hpp => tl/cases/types/cases.testUnion1.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testUnion2.hpp => tl/cases/types/cases.testUnion2.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testUnionContainer.hpp => tl/cases/types/cases.testUnionContainer.h} (89%) rename internal/tlcodegen/test/gen/cases_cpp/{cases/types/cases.testVector.hpp => tl/cases/types/cases.testVector.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{ => tl}/cases_bytes/details.cpp (97%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes.TestEnum.hpp => tl/cases_bytes/headers/cases_bytes.TestEnum.h} (83%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes.TestEnumItems.hpp => tl/cases_bytes/headers/cases_bytes.TestEnumItems.h} (95%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes.testArray.hpp => tl/cases_bytes/headers/cases_bytes.testArray.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes.testDictAny.hpp => tl/cases_bytes/headers/cases_bytes.testDictAny.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes.testDictInt.hpp => tl/cases_bytes/headers/cases_bytes.testDictInt.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes.testDictString.hpp => tl/cases_bytes/headers/cases_bytes.testDictString.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes.testDictStringString.hpp => tl/cases_bytes/headers/cases_bytes.testDictStringString.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes.testEnumContainer.hpp => tl/cases_bytes/headers/cases_bytes.testEnumContainer.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes.testTuple.hpp => tl/cases_bytes/headers/cases_bytes.testTuple.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes.testVector.hpp => tl/cases_bytes/headers/cases_bytes.testVector.h} (88%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes_dictionary.hpp => tl/cases_bytes/headers/cases_bytes_dictionary.h} (86%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes_dictionaryField.hpp => tl/cases_bytes/headers/cases_bytes_dictionaryField.h} (92%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes_string.hpp => tl/cases_bytes/headers/cases_bytes_string.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes_tuple.hpp => tl/cases_bytes/headers/cases_bytes_tuple.h} (80%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/headers/cases_bytes_vector.hpp => tl/cases_bytes/headers/cases_bytes_vector.h} (86%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/types/cases_bytes.TestEnum.hpp => tl/cases_bytes/types/cases_bytes.TestEnum.h} (89%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/types/cases_bytes.TestEnumItems.hpp => tl/cases_bytes/types/cases_bytes.TestEnumItems.h} (97%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/types/cases_bytes.testArray.hpp => tl/cases_bytes/types/cases_bytes.testArray.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/types/cases_bytes.testDictAny.hpp => tl/cases_bytes/types/cases_bytes.testDictAny.h} (85%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/types/cases_bytes.testDictInt.hpp => tl/cases_bytes/types/cases_bytes.testDictInt.h} (85%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/types/cases_bytes.testDictString.hpp => tl/cases_bytes/types/cases_bytes.testDictString.h} (86%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/types/cases_bytes.testDictStringString.hpp => tl/cases_bytes/types/cases_bytes.testDictStringString.h} (86%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/types/cases_bytes.testEnumContainer.hpp => tl/cases_bytes/types/cases_bytes.testEnumContainer.h} (87%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/types/cases_bytes.testTuple.hpp => tl/cases_bytes/types/cases_bytes.testTuple.h} (93%) rename internal/tlcodegen/test/gen/cases_cpp/{cases_bytes/types/cases_bytes.testVector.hpp => tl/cases_bytes/types/cases_bytes.testVector.h} (93%) create mode 100644 internal/tlcodegen/test/gen/schema_cpp/basics/basictl.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/basics/basictl.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/basics/string_io.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/basics/string_io.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/factory/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/factory/headers.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/meta/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/meta/headers.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedArray.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedInt.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedString.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTuple.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTupleSlice1.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTupleSlice2.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTupleSlice3.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedVector32.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedVector32BoxedElem.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedVector64.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getDouble.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getFloat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMaybeIface.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMyDictOfInt.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMyDouble.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMyValue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getNonOptNat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getStats.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/get_arrays.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/Bool.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/Either.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/MyValue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/benchObject.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedArray.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedInt.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedString.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTuple.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTupleSlice1.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTupleSlice2.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTupleSlice3.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedVector32.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedVector32BoxedElem.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedVector64.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/dictionary.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/dictionaryField.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/double.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict1.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict2.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict3.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict4.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/float.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getDouble.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getFloat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMaybeIface.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMyDictOfInt.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMyDouble.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMyValue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getNonOptNat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getStats.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/get_arrays.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/int.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/integer.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/issue3498.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/left.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/long.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/map.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myAnonMcValue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myBoxedArray.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myBoxedTupleSlice.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myBoxedVectorSlice.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myDictOfInt.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myDouble.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myInt.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMaybe1.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMaybe2.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMcValue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMcValueTuple.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMcValueVector.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myString.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myTuple.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myTwoDicts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/nonOptNat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/right.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/rpcInvokeReqExtra.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/statOne.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/string.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/true.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/tuple.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/vector.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/withFloat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/Bool.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/Either.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/MyValue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/benchObject.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/boolStat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/dictionary.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/dictionaryField.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/double.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict1.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict2.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict3.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict4.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/float.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/int.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/integer.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/issue3498.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/left.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/long.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/map.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myAnonMcValue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myBoxedArray.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myBoxedTupleSlice.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myBoxedVectorSlice.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myDictOfInt.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myDouble.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myInt.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMaybe1.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMaybe2.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMcValue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMcValueTuple.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMcValueVector.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myString.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myTuple.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myTwoDicts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/nonOptNat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/right.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/rpcInvokeReqExtra.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/statOne.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/string.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/true.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/tuple.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/vector.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/withFloat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/antispam/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/antispam/functions/antispam.getPattern.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.PatternFull.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.getPattern.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.patternFound.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.patternNotFound.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/antispam/types/antispam.PatternFull.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/antispam/types/antispam.patternFound.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/antispam/types/antispam.patternNotFound.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/headers/pkg2.foo.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/headers/pkg2.t1.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/headers/pkg2.t2.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/types/pkg2.foo.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/types/pkg2.t1.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/types/pkg2.t2.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.add.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.addOrGet.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.addOrIncr.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.append.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.cas.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.decr.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.delete.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.disableExpiration.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.disableKeysStat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.enableExpiration.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.enableKeysStat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.exists.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.get.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getExpireTime.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getKeysStat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getKeysStatPeriods.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcard.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcardDict.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcardList.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcardWithFlags.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.incr.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.replace.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.replaceOrIncr.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.set.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.setOrIncr.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.touch.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.Value.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.add.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.addOrGet.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.addOrIncr.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.append.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.cas.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.decr.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.delete.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.disableExpiration.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.disableKeysStat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.enableExpiration.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.enableKeysStat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.exists.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.get.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getExpireTime.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getKeysStat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getKeysStatPeriods.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcard.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcardDict.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcardList.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcardWithFlags.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.incr.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.keysStat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.longvalue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.longvalueWithTime.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.not_found.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.replace.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.replaceOrIncr.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.set.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.setOrIncr.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.strvalue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.strvalueWithTime.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.touch.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1_dictionary.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1_dictionaryField.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1_vector.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.Value.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.keysStat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.longvalue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.longvalueWithTime.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.not_found.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.strvalue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.strvalueWithTime.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/functions/service2.addOrIncrMany.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/functions/service2.set.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/functions/service2.setObjectTtl.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.addOrIncrMany.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.counterSet.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.deltaSet.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.objectId.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.set.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.setObjectTtl.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2_double.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2_tuple.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/types/service2.counterSet.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/types/service2.deltaSet.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service2/types/service2.objectId.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.createProduct.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.deleteAllProducts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.deleteGroupedProducts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.deleteProduct.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getLastVisitTimestamp.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getLimits.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getProductStats.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getProducts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getScheduledProducts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.restoreAllProducts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.restoreGroupedProducts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.restoreProduct.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.setLastVisitTimestamp.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.setLimits.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.createProduct.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.deleteAllProducts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.deleteGroupedProducts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.deleteProduct.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getLastVisitTimestamp.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getLimits.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getProductStats.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getProducts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getScheduledProducts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.groupCountLimit.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.groupSizeLimit.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.limits.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.product.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.productStatsOld.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.restoreAllProducts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.restoreGroupedProducts.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.restoreProduct.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.setLastVisitTimestamp.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.setLimits.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3_boolStat.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3_vector.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.groupCountLimit.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.groupSizeLimit.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.limits.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.product.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.productStatsOld.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service4/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service4/headers/service4.modifiedNewsEntry.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service4/headers/service4.object.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service4/types/service4.modifiedNewsEntry.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service4/types/service4.object.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/functions/service5.insert.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/functions/service5.performQuery.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/functions/service5.query.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.Output.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.emptyOutput.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.insert.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.params.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.performQuery.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.query.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.stringOutput.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.Output.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.emptyOutput.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.params.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.stringOutput.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service6/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service6/functions/service6.multiFind.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service6/functions/service6.multiFindWithBounds.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.error.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.findResultRow.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.findWithBoundsResult.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.multiFind.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.multiFindWithBounds.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service6/types/service6.error.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service6/types/service6.findResultRow.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/service6/types/service6.findWithBoundsResult.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.addTask.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getAnyTask.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getQueueSize.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getQueueTypes.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getTaskFromQueue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.TaskStatus.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.TaskStatusItems.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.addTask.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.cronTask.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.cronTaskWithId.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.cronTime.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getAnyTask.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getQueueSize.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getQueueTypes.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getTaskFromQueue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueStats.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueTypeInfo.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueTypeSettings.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueTypeStats.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.task.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.taskInfo.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.TaskStatus.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.TaskStatusItems.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.cronTask.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.cronTaskWithId.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.cronTime.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueStats.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueTypeInfo.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueTypeSettings.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueTypeStats.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.task.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.taskInfo.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/headers/tree_stats.ObjectLimitValue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/headers/tree_stats.objectLimitValueDouble.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/headers/tree_stats.objectLimitValueLong.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/types/tree_stats.ObjectLimitValue.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/types/tree_stats.objectLimitValueDouble.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/types/tree_stats.objectLimitValueLong.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/unique/details.cpp create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/unique/functions/unique.get.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/unique/functions/unique.stringToInt.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/unique/headers/unique.get.h create mode 100644 internal/tlcodegen/test/gen/schema_cpp/tl/unique/headers/unique.stringToInt.h diff --git a/internal/tlcodegen/test/gen/cases_cpp/Makefile b/internal/tlcodegen/test/gen/cases_cpp/Makefile index 5f433479..3094dab0 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/Makefile +++ b/internal/tlcodegen/test/gen/cases_cpp/Makefile @@ -1,23 +1,32 @@ CC = g++ -CFLAGS = -std=c++17 -O3 -Wno-noexcept-type -g -Wall -Wextra -Werror=return-type -Wno-unused-parameter -all: main.o __build/__common_namespace.o __build/benchmarks.o __build/cases.o __build/cases_bytes.o - $(CC) $(CFLAGS) -o all main.o __build/__common_namespace.o __build/benchmarks.o __build/cases.o __build/cases_bytes.o +CFLAGS = -std=c++20 -O3 -Wno-noexcept-type -g -Wall -Wextra -Werror=return-type -Wno-unused-parameter +all: build/tl main.o build/basictl.obuild/tl/__common_namespace.o build/tl/benchmarks.o build/tl/cases.o build/tl/cases_bytes.o + $(CC) $(CFLAGS) -o all main.o build/basictl.o build/tl/__common_namespace.o build/tl/benchmarks.o build/tl/cases.o build/tl/cases_bytes.o + +build/tl: + mkdir -p build/tl main.o: main.cpp $(CC) $(CFLAGS) -c main.cpp -__build/__meta.o: __meta/headers.hpp __meta/details.cpp - $(CC) $(CFLAGS) -o __build/__meta.o -c __meta/details.cpp +build/meta.o: meta/headers.h meta/details.cpp + $(CC) $(CFLAGS) -o build/meta.o -c meta/details.cpp + +build/factory.o: factory/headers.h factory/details.cpp tl/cases/types/cases.testVector.h tl/cases/types/cases.testUnionContainer.h tl/cases/types/cases.testUnion2.h tl/cases/types/cases.testUnion1.h tl/cases/types/cases.testTuple.h tl/cases/types/cases.testRecursiveFieldMask.h tl/cases/types/cases.testOutFieldMaskContainer.h tl/cases/types/cases.testMaybe.h tl/cases/types/cases.testLocalFieldmask.h tl/cases/types/cases.testEnumContainer.h tl/cases/types/cases.testDictString.h tl/cases/types/cases.testDictInt.h tl/cases/types/cases.testDictAny.h tl/cases/types/cases.testBeforeReadBitValidation.h tl/cases/types/cases.testArray.h tl/cases/types/cases.testAllPossibleFieldConfigsContainer.h tl/cases/types/cases.replace7plusplus.h tl/cases/types/cases.replace7plus.h tl/cases/types/cases.replace7.h tl/cases/types/cases.myCycle1.h tl/cases/types/cases.myCycle2.h tl/cases/types/cases.myCycle3.h tl/cases_bytes/types/cases_bytes.testVector.h tl/cases_bytes/types/cases_bytes.testTuple.h tl/cases_bytes/types/cases_bytes.testEnumContainer.h tl/cases/types/cases.TestEnumItems.h tl/cases_bytes/types/cases_bytes.TestEnumItems.h tl/cases_bytes/types/cases_bytes.testDictStringString.h tl/cases_bytes/types/cases_bytes.testDictString.h tl/cases_bytes/types/cases_bytes.testDictInt.h tl/cases_bytes/types/cases_bytes.testDictAny.h tl/cases_bytes/types/cases_bytes.testArray.h tl/benchmarks/types/benchmarks.vrutoyTopLevelContainerWithDependency.h tl/benchmarks/types/benchmarks.vrutoyTopLevelContainer.h tl/benchmarks/types/benchmarks.vrutoytopLevelUnionEmpty.h tl/benchmarks/types/benchmarks.vrutoytopLevelUnionBig.h tl/benchmarks/types/benchmarks.vruposition.h tl/__common_namespace/types/true.h tl/benchmarks/types/benchmarks.vruhash.h + $(CC) $(CFLAGS) -o build/factory.o -c factory/details.cpp + +build/basictl.o: basics/basictl.cpp basics/basictl.h + $(CC) $(CFLAGS) -o build/basictl.o -c basics/basictl.cpp -__build/__factory.o: __factory/headers.hpp __factory/details.cpp cases/types/cases.testVector.hpp cases/types/cases.testUnionContainer.hpp cases/types/cases.testUnion2.hpp cases/types/cases.testUnion1.hpp cases/types/cases.testTuple.hpp cases/types/cases.testRecursiveFieldMask.hpp cases/types/cases.testOutFieldMaskContainer.hpp cases/types/cases.testMaybe.hpp cases/types/cases.testLocalFieldmask.hpp cases/types/cases.testEnumContainer.hpp cases/types/cases.testDictString.hpp cases/types/cases.testDictInt.hpp cases/types/cases.testDictAny.hpp cases/types/cases.testBeforeReadBitValidation.hpp cases/types/cases.testArray.hpp cases/types/cases.testAllPossibleFieldConfigsContainer.hpp cases/types/cases.replace7plusplus.hpp cases/types/cases.replace7plus.hpp cases/types/cases.replace7.hpp cases/types/cases.myCycle1.hpp cases/types/cases.myCycle2.hpp cases/types/cases.myCycle3.hpp cases_bytes/types/cases_bytes.testVector.hpp cases_bytes/types/cases_bytes.testTuple.hpp cases_bytes/types/cases_bytes.testEnumContainer.hpp cases/types/cases.TestEnumItems.hpp cases_bytes/types/cases_bytes.TestEnumItems.hpp cases_bytes/types/cases_bytes.testDictStringString.hpp cases_bytes/types/cases_bytes.testDictString.hpp cases_bytes/types/cases_bytes.testDictInt.hpp cases_bytes/types/cases_bytes.testDictAny.hpp cases_bytes/types/cases_bytes.testArray.hpp benchmarks/types/benchmarks.vrutoyTopLevelContainerWithDependency.hpp benchmarks/types/benchmarks.vrutoyTopLevelContainer.hpp benchmarks/types/benchmarks.vrutoytopLevelUnionEmpty.hpp benchmarks/types/benchmarks.vrutoytopLevelUnionBig.hpp benchmarks/types/benchmarks.vruposition.hpp __common_namespace/types/true.hpp benchmarks/types/benchmarks.vruhash.hpp - $(CC) $(CFLAGS) -o __build/__factory.o -c __factory/details.cpp +build/string_io.o: basics/string_io.cpp basics/string_io.h + $(CC) $(CFLAGS) -o build/string_io.o -c basics/string_io.cpp -__build/__common_namespace.o: __common_namespace/details.cpp __common_namespace/details.cpp __common_namespace/headers/dictionary.hpp __common_namespace/headers/dictionaryAny.hpp __common_namespace/headers/dictionaryField.hpp __common_namespace/headers/dictionaryFieldAny.hpp __common_namespace/headers/int.hpp __common_namespace/headers/int32.hpp __common_namespace/headers/int64.hpp __common_namespace/headers/long.hpp __common_namespace/headers/string.hpp __common_namespace/headers/true.hpp __common_namespace/headers/vector.hpp - $(CC) $(CFLAGS) -o __build/__common_namespace.o -c __common_namespace/details.cpp -__build/benchmarks.o: benchmarks/details.cpp benchmarks/details.cpp benchmarks/headers/benchmarks.VrutoyTopLevelUnion.hpp benchmarks/headers/benchmarks.vruhash.hpp benchmarks/headers/benchmarks.vruposition.hpp benchmarks/headers/benchmarks.vrutoyPositions.hpp benchmarks/headers/benchmarks.vrutoyTopLevelContainer.hpp benchmarks/headers/benchmarks.vrutoyTopLevelContainerWithDependency.hpp benchmarks/headers/benchmarks.vrutoytopLevelUnionBig.hpp benchmarks/headers/benchmarks.vrutoytopLevelUnionEmpty.hpp benchmarks/headers/benchmarks_vector.hpp - $(CC) $(CFLAGS) -o __build/benchmarks.o -c benchmarks/details.cpp -__build/cases.o: cases/details.cpp cases/details.cpp cases/headers/cases.TestEnum.hpp cases/headers/cases.TestEnumItems.hpp cases/headers/cases.TestUnion.hpp cases/headers/cases.myCycle1.hpp cases/headers/cases.myCycle2.hpp cases/headers/cases.myCycle3.hpp cases/headers/cases.replace7.hpp cases/headers/cases.replace7plus.hpp cases/headers/cases.replace7plusplus.hpp cases/headers/cases.testAllPossibleFieldConfigs.hpp cases/headers/cases.testAllPossibleFieldConfigsContainer.hpp cases/headers/cases.testArray.hpp cases/headers/cases.testBeforeReadBitValidation.hpp cases/headers/cases.testDictAny.hpp cases/headers/cases.testDictInt.hpp cases/headers/cases.testDictString.hpp cases/headers/cases.testEnumContainer.hpp cases/headers/cases.testLocalFieldmask.hpp cases/headers/cases.testMaybe.hpp cases/headers/cases.testOutFieldMask.hpp cases/headers/cases.testOutFieldMaskContainer.hpp cases/headers/cases.testRecursiveFieldMask.hpp cases/headers/cases.testTuple.hpp cases/headers/cases.testUnion1.hpp cases/headers/cases.testUnion2.hpp cases/headers/cases.testUnionContainer.hpp cases/headers/cases.testVector.hpp cases/headers/cases_int.hpp cases/headers/cases_tuple.hpp cases/headers/cases_vector.hpp - $(CC) $(CFLAGS) -o __build/cases.o -c cases/details.cpp -__build/cases_bytes.o: cases_bytes/details.cpp cases_bytes/details.cpp cases_bytes/headers/cases_bytes.TestEnum.hpp cases_bytes/headers/cases_bytes.TestEnumItems.hpp cases_bytes/headers/cases_bytes.testArray.hpp cases_bytes/headers/cases_bytes.testDictAny.hpp cases_bytes/headers/cases_bytes.testDictInt.hpp cases_bytes/headers/cases_bytes.testDictString.hpp cases_bytes/headers/cases_bytes.testDictStringString.hpp cases_bytes/headers/cases_bytes.testEnumContainer.hpp cases_bytes/headers/cases_bytes.testTuple.hpp cases_bytes/headers/cases_bytes.testVector.hpp cases_bytes/headers/cases_bytes_dictionary.hpp cases_bytes/headers/cases_bytes_dictionaryField.hpp cases_bytes/headers/cases_bytes_string.hpp cases_bytes/headers/cases_bytes_tuple.hpp cases_bytes/headers/cases_bytes_vector.hpp - $(CC) $(CFLAGS) -o __build/cases_bytes.o -c cases_bytes/details.cpp +build/tl/__common_namespace.o: tl/__common_namespace/details.cpp tl/__common_namespace/details.cpp tl/__common_namespace/headers/dictionary.h tl/__common_namespace/headers/dictionaryAny.h tl/__common_namespace/headers/dictionaryField.h tl/__common_namespace/headers/dictionaryFieldAny.h tl/__common_namespace/headers/int.h tl/__common_namespace/headers/int32.h tl/__common_namespace/headers/int64.h tl/__common_namespace/headers/long.h tl/__common_namespace/headers/string.h tl/__common_namespace/headers/true.h tl/__common_namespace/headers/vector.h + $(CC) $(CFLAGS) -o build/tl/__common_namespace.o -c tl/__common_namespace/details.cpp +build/tl/benchmarks.o: tl/benchmarks/details.cpp tl/benchmarks/details.cpp tl/benchmarks/headers/benchmarks.VrutoyTopLevelUnion.h tl/benchmarks/headers/benchmarks.vruhash.h tl/benchmarks/headers/benchmarks.vruposition.h tl/benchmarks/headers/benchmarks.vrutoyPositions.h tl/benchmarks/headers/benchmarks.vrutoyTopLevelContainer.h tl/benchmarks/headers/benchmarks.vrutoyTopLevelContainerWithDependency.h tl/benchmarks/headers/benchmarks.vrutoytopLevelUnionBig.h tl/benchmarks/headers/benchmarks.vrutoytopLevelUnionEmpty.h tl/benchmarks/headers/benchmarks_vector.h + $(CC) $(CFLAGS) -o build/tl/benchmarks.o -c tl/benchmarks/details.cpp +build/tl/cases.o: tl/cases/details.cpp tl/cases/details.cpp tl/cases/headers/cases.TestEnum.h tl/cases/headers/cases.TestEnumItems.h tl/cases/headers/cases.TestUnion.h tl/cases/headers/cases.myCycle1.h tl/cases/headers/cases.myCycle2.h tl/cases/headers/cases.myCycle3.h tl/cases/headers/cases.replace7.h tl/cases/headers/cases.replace7plus.h tl/cases/headers/cases.replace7plusplus.h tl/cases/headers/cases.testAllPossibleFieldConfigs.h tl/cases/headers/cases.testAllPossibleFieldConfigsContainer.h tl/cases/headers/cases.testArray.h tl/cases/headers/cases.testBeforeReadBitValidation.h tl/cases/headers/cases.testDictAny.h tl/cases/headers/cases.testDictInt.h tl/cases/headers/cases.testDictString.h tl/cases/headers/cases.testEnumContainer.h tl/cases/headers/cases.testLocalFieldmask.h tl/cases/headers/cases.testMaybe.h tl/cases/headers/cases.testOutFieldMask.h tl/cases/headers/cases.testOutFieldMaskContainer.h tl/cases/headers/cases.testRecursiveFieldMask.h tl/cases/headers/cases.testTuple.h tl/cases/headers/cases.testUnion1.h tl/cases/headers/cases.testUnion2.h tl/cases/headers/cases.testUnionContainer.h tl/cases/headers/cases.testVector.h tl/cases/headers/cases_int.h tl/cases/headers/cases_tuple.h tl/cases/headers/cases_vector.h + $(CC) $(CFLAGS) -o build/tl/cases.o -c tl/cases/details.cpp +build/tl/cases_bytes.o: tl/cases_bytes/details.cpp tl/cases_bytes/details.cpp tl/cases_bytes/headers/cases_bytes.TestEnum.h tl/cases_bytes/headers/cases_bytes.TestEnumItems.h tl/cases_bytes/headers/cases_bytes.testArray.h tl/cases_bytes/headers/cases_bytes.testDictAny.h tl/cases_bytes/headers/cases_bytes.testDictInt.h tl/cases_bytes/headers/cases_bytes.testDictString.h tl/cases_bytes/headers/cases_bytes.testDictStringString.h tl/cases_bytes/headers/cases_bytes.testEnumContainer.h tl/cases_bytes/headers/cases_bytes.testTuple.h tl/cases_bytes/headers/cases_bytes.testVector.h tl/cases_bytes/headers/cases_bytes_dictionary.h tl/cases_bytes/headers/cases_bytes_dictionaryField.h tl/cases_bytes/headers/cases_bytes_string.h tl/cases_bytes/headers/cases_bytes_tuple.h tl/cases_bytes/headers/cases_bytes_vector.h + $(CC) $(CFLAGS) -o build/tl/cases_bytes.o -c tl/cases_bytes/details.cpp diff --git a/internal/tlcodegen/test/gen/cases_cpp/__build/info.txt b/internal/tlcodegen/test/gen/cases_cpp/__build/info.txt deleted file mode 100644 index a9d26b14..00000000 --- a/internal/tlcodegen/test/gen/cases_cpp/__build/info.txt +++ /dev/null @@ -1 +0,0 @@ -.o files here! \ No newline at end of file diff --git a/internal/tlcodegen/test/gen/cases_cpp/a_tlgen_helpers_code.hpp b/internal/tlcodegen/test/gen/cases_cpp/a_tlgen_helpers_code.hpp deleted file mode 100644 index 44d7e4b6..00000000 --- a/internal/tlcodegen/test/gen/cases_cpp/a_tlgen_helpers_code.hpp +++ /dev/null @@ -1,304 +0,0 @@ -// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. -#pragma once - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define TLGEN2_UNLIKELY(x) (x) // __builtin_expect((x), 0) // could improve performance on your platform -#define TLGEN2_NOINLINE // __attribute__ ((noinline)) // could improve performance on your platform - -namespace basictl { - - - -enum { - TL_MAX_TINY_STRING_LEN = 253, - TL_BIG_STRING_LEN = 0xffffff, - TL_BIG_STRING_MARKER = 0xfe, -}; - -class tl_istream { // TODO - prohibit copy/move -public: - virtual ~tl_istream() = default; - bool nat_read(uint32_t & value) { - return fetch_data(&value, 4); - } - bool nat_read_exact_tag(uint32_t tag) { - uint32_t actual_tag = 0; - if (TLGEN2_UNLIKELY(!nat_read(actual_tag))) { return false; } - if (TLGEN2_UNLIKELY(tag != actual_tag)) { return set_error_expected_tag(); } - return true; - } - bool int_read(int32_t & value) { - return fetch_data(&value, 4); - } - bool long_read(int64_t & value) { - return fetch_data(&value, 8); - } - bool float_read(float & value) { - return fetch_data(&value, 4); - } - bool double_read(double & value) { - return fetch_data(&value, 8); - } - bool bool_read(bool & value, uint32_t f, uint32_t t) { - uint32_t tag = 0; - if (TLGEN2_UNLIKELY(!nat_read(tag))) { return false; } - if (tag == t) { value = true; return true; } - if (TLGEN2_UNLIKELY(tag != f)) { set_error_bool_tag(); } - value = false; - return true; - } - bool string_read(std::string & value) { - if (TLGEN2_UNLIKELY(!ensure_byte())) { return false; } - auto len = size_t(static_cast(*ptr)); - if (TLGEN2_UNLIKELY(len >= TL_BIG_STRING_MARKER)) { - if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_MARKER)) { - return set_error("TODO - huge string"); - } - uint32_t len32 = 0; - if (TLGEN2_UNLIKELY(!nat_read(len32))) { return false; } - len = len32 >> 8U; - value.clear(); - if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { return false; } - if (TLGEN2_UNLIKELY(!fetch_pad((-len) & 3))) { return false; } - return true; - } - auto pad = ((-(len+1)) & 3); - auto fullLen = 1 + len + pad; - if (TLGEN2_UNLIKELY(ptr + fullLen > end)) { - ptr += 1; - value.clear(); - if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { return false; } - if (TLGEN2_UNLIKELY(!fetch_pad(pad))) { return false; } - return true; - } - // fast path for short strings that fully fit in buffer - uint32_t x = 0; - std::memcpy(&x, ptr + fullLen - 4, 4); - if (TLGEN2_UNLIKELY((x & ~(0xFFFFFFFFU >> (8*pad))) != 0)) { - return set_error_string_padding(); - } - value.assign(ptr + 1, len); - ptr += fullLen; - return true; - } - bool set_error(const char * e) { return false; } // TODO - set error field - bool set_error_eof() { return set_error("EOF"); } - bool set_error_sequence_length() { return set_error("sequence_length"); } - bool set_error_string_padding() { return set_error("string_padding"); } - bool set_error_bool_tag() { return set_error("bool_tag"); } - bool set_error_expected_tag() { return set_error("expected_tag"); } - bool set_error_union_tag() { return set_error("union_tag"); } -protected: - const char * ptr{}; - const char * end{}; - virtual void grow_buffer(size_t size_hint) = 0; // after call buffer must contain at least single byte, otherwise error -private: - bool ensure_byte() { - if (TLGEN2_UNLIKELY(ptr >= end)) { - // assert(ptr <= end) - grow_buffer(1); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - return true; - } - bool fetch_data(void * vdata, size_t size) { - char * data = reinterpret_cast(vdata); - if (TLGEN2_UNLIKELY(ptr + size > end)) { - return fetch_data2(vdata, size); - } - std::memcpy(data, ptr, size); - ptr += size; - return true; - } - bool fetch_data2(void * vdata, size_t size) { - char * data = reinterpret_cast(vdata); - for (;TLGEN2_UNLIKELY(ptr + size > end);) { - // assert(ptr <= end) - std::memcpy(data, ptr, end - ptr); - data += end - ptr; - size -= end - ptr; - ptr = end; - grow_buffer(size); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - std::memcpy(data, ptr, size); - ptr += size; - return true; - } - bool fetch_data_append(std::string & value, size_t size) { - for (;TLGEN2_UNLIKELY(ptr + size > end);) { - // assert(ptr <= end) - value.append(ptr, end - ptr); - size -= end - ptr; - ptr = end; - grow_buffer(size); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - value.append(ptr, size); - ptr += size; - return true; - } - bool fetch_pad(size_t len) { - uint32_t x = 0; - if (TLGEN2_UNLIKELY(!fetch_data(&x, len))) { return false; } - if (TLGEN2_UNLIKELY(x != 0)) { return set_error_string_padding(); } - return true; - } -}; - -class tl_ostream { // TODO - prohibit copy/move -public: - virtual ~tl_ostream() = default; - bool nat_write(uint32_t value) { - return store_data(&value, 4); - } - bool int_write(int32_t value) { - return store_data(&value, 4); - } - bool long_write(int64_t value) { - return store_data(&value, 8); - } - bool float_write(float value) { - return store_data(&value, 4); - } - bool double_write(double value) { - return store_data(&value, 8); - } - bool string_write(const std::string & value) { - auto len = value.size(); - if (TLGEN2_UNLIKELY(len > TL_MAX_TINY_STRING_LEN)) { - if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_LEN)) { - return set_error("TODO - huge string"); - } - uint32_t p = (len << 8U) | TL_BIG_STRING_MARKER; - if (TLGEN2_UNLIKELY(!store_data(&p, 4))) { return false; } - if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { return false; } - if (TLGEN2_UNLIKELY(!store_pad((-len) & 3))) { return false; } - return true; - } - auto pad = ((-(len+1)) & 3); - auto fullLen = 1 + len + pad; - if (TLGEN2_UNLIKELY(ptr + fullLen > end)) { - auto p = static_cast(len); - if (TLGEN2_UNLIKELY(!store_data(&p,1))) { return false; } - if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { return false; } - if (TLGEN2_UNLIKELY(!store_pad(pad))) { return false; } - return true; - } - // fast path for short strings that fully fit in buffer - uint32_t x = 0; - std::memcpy(ptr + fullLen - 4, &x, 4); // padding first - *ptr = static_cast(len); - std::memcpy(ptr + 1, value.data(), len); - ptr += fullLen; - return true; - } - bool set_error(const char * e) { return false; } // TODO - set error field - bool set_error_eof() { return set_error("EOF"); } - bool set_error_sequence_length() { return set_error("sequence_length"); } -protected: - char * ptr{}; - char * end{}; - virtual void grow_buffer(size_t size) = 0; // after call buffer must contain at least single bytes, otherwise error -private: - bool store_data(const void * vdata, size_t size) { - const char * data = reinterpret_cast(vdata); - for (;TLGEN2_UNLIKELY(ptr + size > end);) { - // assert(ptr <= end) - std::memcpy(ptr, data, end - ptr); - data += end - ptr; - size -= end - ptr; - ptr = end; - grow_buffer(size); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - std::memcpy(ptr, data, size); - ptr += size; - return true; - } - bool store_pad(size_t size) { - for (;TLGEN2_UNLIKELY(ptr + size > end);) { - // assert(ptr <= end) - std::memset(ptr, 0, end - ptr); - size -= end - ptr; - ptr = end; - grow_buffer(size); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - if (size != 0) { - ptr[0] = 0; - ptr[size-1] = 0; - ptr[size/2] = 0; - ptr += size; - } - return true; - } -}; - -class tl_istream_string : public tl_istream { // TODO - custom copy/move -public: - explicit tl_istream_string(const std::string & buf) { - ptr = buf.data(); - end = ptr + buf.size(); - } -protected: - void grow_buffer(size_t size) override {} -}; - -class tl_ostream_string : public tl_ostream { // TODO - custom copy/move -public: - explicit tl_ostream_string() { - resize(INITIAL_SIZE); - } - std::string & get_buffer() { - resize(ptr - buf.data()); - return buf; - } -protected: - void grow_buffer(size_t size) override { - auto pos = ptr - buf.data(); - resize(buf.size()*3/2 + INITIAL_SIZE + size); // some arbitrary strategy - ptr += pos; - } -private: - enum { INITIAL_SIZE = 1024 }; - std::string buf; - void resize(size_t size) { - buf.resize(size); - ptr = const_cast(buf.data()); // works for all known implementations - end = ptr + buf.size(); - } -}; - - -} // namespace basictl - - -#undef TLGEN2_NOINLINE -#undef TLGEN2_UNLIKELY diff --git a/internal/tlcodegen/test/gen/cases_cpp/basics/basictl.cpp b/internal/tlcodegen/test/gen/cases_cpp/basics/basictl.cpp new file mode 100644 index 00000000..497da76c --- /dev/null +++ b/internal/tlcodegen/test/gen/cases_cpp/basics/basictl.cpp @@ -0,0 +1,332 @@ +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +#include "basictl.h" + +#define TLGEN2_UNLIKELY(x) \ + (x) // __builtin_expect((x), 0) // could improve performance on your platform +#define TLGEN2_NOINLINE // __attribute__ ((noinline)) // could improve performance on your platform + +namespace basictl { + + tl_istream::tl_istream(tl_istream_interface *provider) : provider(provider) {} + + tl_istream::~tl_istream() { + this->last_release(); + } + + bool tl_istream::nat_read(uint32_t &value) { return fetch_data(&value, 4); } + + bool tl_istream::nat_read_exact_tag(uint32_t tag) { + uint32_t actual_tag = 0; + if (TLGEN2_UNLIKELY(!nat_read(actual_tag))) { + return false; + } + if (TLGEN2_UNLIKELY(tag != actual_tag)) { + return set_error_expected_tag(); + } + return true; + } + + bool tl_istream::int_read(int32_t &value) { return fetch_data(&value, 4); } + + bool tl_istream::long_read(int64_t &value) { return fetch_data(&value, 8); } + + bool tl_istream::float_read(float &value) { return fetch_data(&value, 4); } + + bool tl_istream::double_read(double &value) { return fetch_data(&value, 8); } + + bool tl_istream::bool_read(bool &value, uint32_t f, uint32_t t) { + uint32_t tag = 0; + if (TLGEN2_UNLIKELY(!nat_read(tag))) { + return false; + } + if (tag == t) { + value = true; + return true; + } + if (TLGEN2_UNLIKELY(tag != f)) { + set_error_bool_tag(); + } + value = false; + return true; + } + + bool tl_istream::string_read(std::string &value) { + if (TLGEN2_UNLIKELY(!ensure_byte())) { + return false; + } + auto len = size_t(static_cast(*ptr)); + if (TLGEN2_UNLIKELY(len >= TL_BIG_STRING_MARKER)) { + if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_MARKER)) { + return set_error("TODO - huge string"); + } + uint32_t len32 = 0; + if (TLGEN2_UNLIKELY(!nat_read(len32))) { + return false; + } + len = len32 >> 8U; + value.clear(); + if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { + return false; + } + if (TLGEN2_UNLIKELY(!fetch_pad((-len) & 3))) { + return false; + } + return true; + } + auto pad = ((-(len + 1)) & 3); + auto fullLen = 1 + len + pad; + if (TLGEN2_UNLIKELY(ptr + fullLen > end_block)) { + ptr += 1; + value.clear(); + if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { + return false; + } + if (TLGEN2_UNLIKELY(!fetch_pad(pad))) { + return false; + } + return true; + } + // fast path for short strings that fully fit in buffer + uint32_t x = 0; + std::memcpy(&x, ptr + fullLen - 4, 4); + if (TLGEN2_UNLIKELY((x & ~(0xFFFFFFFFU >> (8 * pad))) != 0)) { + return set_error_string_padding(); + } + value.assign(ptr + 1, len); + ptr += fullLen; + return true; + } + + void tl_istream::last_release() { + provider->release_buffer(ptr - start_block); + start_block = ptr; + } + + bool tl_istream::has_error() { + return hasError; + } + + bool tl_istream::set_error(const char *e) { + hasError = true; + return false; + } // TODO - set error field + + bool tl_istream::set_error_eof() { return set_error("EOF"); } + + bool tl_istream::set_error_sequence_length() { return set_error("sequence_length"); } + + bool tl_istream::set_error_string_padding() { return set_error("string_padding"); } + + bool tl_istream::set_error_bool_tag() { return set_error("bool_tag"); } + + bool tl_istream::set_error_expected_tag() { return set_error("expected_tag"); } + + bool tl_istream::set_error_union_tag() { return set_error("union_tag"); } + + void tl_istream::grow_buffer() { + ptr = end_block; + provider->release_buffer(ptr - start_block); + auto new_buffer = provider->get_buffer(); + ptr = reinterpret_cast(new_buffer.data()); + start_block = ptr; + end_block = ptr + new_buffer.size(); + } + + bool tl_istream::ensure_byte() { + if (TLGEN2_UNLIKELY(ptr >= end_block)) { + // assert(ptr <= end) + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + return true; + } + + bool tl_istream::fetch_data(void *vdata, size_t size) { + char *data = reinterpret_cast(vdata); + if (TLGEN2_UNLIKELY(ptr + size > end_block)) { + return fetch_data2(vdata, size); + } + std::memcpy(data, ptr, size); + ptr += size; + return true; + } + + bool tl_istream::fetch_data2(void *vdata, size_t size) { + char *data = reinterpret_cast(vdata); + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + std::memcpy(data, ptr, end_block - ptr); + data += end_block - ptr; + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + std::memcpy(data, ptr, size); + ptr += size; + return true; + } + + bool tl_istream::fetch_data_append(std::string &value, size_t size) { + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + value.append(ptr, end_block - ptr); + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + value.append(ptr, size); + ptr += size; + return true; + } + + bool tl_istream::fetch_pad(size_t len) { + uint32_t x = 0; + if (TLGEN2_UNLIKELY(!fetch_data(&x, len))) { + return false; + } + if (TLGEN2_UNLIKELY(x != 0)) { + return set_error_string_padding(); + } + return true; + } + + + tl_ostream::tl_ostream(tl_ostream_interface *provider) { + this->provider = provider; + } + + tl_ostream::~tl_ostream() { + this->last_release(); + } + + bool tl_ostream::nat_write(uint32_t value) { return store_data(&value, 4); } + + bool tl_ostream::int_write(int32_t value) { return store_data(&value, 4); } + + bool tl_ostream::long_write(int64_t value) { return store_data(&value, 8); } + + bool tl_ostream::float_write(float value) { return store_data(&value, 4); } + + bool tl_ostream::double_write(double value) { return store_data(&value, 8); } + + bool tl_ostream::string_write(const std::string &value) { + auto len = value.size(); + if (TLGEN2_UNLIKELY(len > TL_MAX_TINY_STRING_LEN)) { + if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_LEN)) { + return set_error("TODO - huge string"); + } + uint32_t p = (len << 8U) | TL_BIG_STRING_MARKER; + if (TLGEN2_UNLIKELY(!store_data(&p, 4))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_pad((-len) & 3))) { + return false; + } + return true; + } + auto pad = ((-(len + 1)) & 3); + auto fullLen = 1 + len + pad; + if (TLGEN2_UNLIKELY(ptr + fullLen > end_block)) { + auto p = static_cast(len); + if (TLGEN2_UNLIKELY(!store_data(&p, 1))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_pad(pad))) { + return false; + } + return true; + } + // fast path for short strings that fully fit in buffer + uint32_t x = 0; + std::memcpy(ptr + fullLen - 4, &x, 4); // padding first + *ptr = static_cast(len); + std::memcpy(ptr + 1, value.data(), len); + ptr += fullLen; + return true; + } + + void tl_ostream::last_release() { + provider->release_buffer(ptr - start_block); + start_block = ptr; + } + + bool tl_ostream::has_error() { + return hasError; + } + + bool tl_ostream::set_error(const char *e) { + hasError = true; + return false; + } // TODO - set error field + + bool tl_ostream::set_error_eof() { return set_error("EOF"); } + + bool tl_ostream::set_error_sequence_length() { return set_error("sequence_length"); } + + void tl_ostream::grow_buffer() { + ptr = end_block; + provider->release_buffer(ptr - start_block); + auto new_buffer = provider->get_buffer(); + ptr = reinterpret_cast(new_buffer.data()); + start_block = ptr; + end_block = ptr + new_buffer.size(); + } + + bool tl_ostream::store_data(const void *vdata, size_t size) { + const char *data = reinterpret_cast(vdata); + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + std::memcpy(ptr, data, end_block - ptr); + data += end_block - ptr; + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + std::memcpy(ptr, data, size); + ptr += size; + return true; + } + + bool tl_ostream::store_pad(size_t size) { + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + std::memset(ptr, 0, end_block - ptr); + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + if (size != 0) { + ptr[0] = 0; + ptr[size - 1] = 0; + ptr[size / 2] = 0; + ptr += size; + } + return true; + } + +} // namespace basictl + + +#undef TLGEN2_NOINLINE +#undef TLGEN2_UNLIKELY diff --git a/internal/tlcodegen/test/gen/cases_cpp/basics/basictl.h b/internal/tlcodegen/test/gen/cases_cpp/basics/basictl.h new file mode 100644 index 00000000..d4c8a7d6 --- /dev/null +++ b/internal/tlcodegen/test/gen/cases_cpp/basics/basictl.h @@ -0,0 +1,129 @@ +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace basictl { + + enum { + TL_MAX_TINY_STRING_LEN = 253, + TL_BIG_STRING_LEN = 0xffffff, + TL_BIG_STRING_MARKER = 0xfe, + }; + + class tl_istream_interface { + public: + virtual ~tl_istream_interface() = default; + + virtual std::span get_buffer() = 0; + virtual void release_buffer(size_t size) = 0; + }; + + class tl_ostream_interface { + public: + virtual ~tl_ostream_interface() = default; + + virtual std::span get_buffer() = 0; + virtual void release_buffer(size_t size) = 0; + }; + + class tl_istream { + public: + explicit tl_istream(tl_istream_interface* provider); + tl_istream(const tl_istream&) = delete; + tl_istream& operator=(const tl_istream&) = delete; + + tl_istream(tl_istream&&) = delete; + tl_istream& operator=(tl_istream&&) = delete; + + ~tl_istream(); + + bool nat_read(uint32_t& value); + bool nat_read_exact_tag(uint32_t tag); + bool int_read(int32_t& value); + bool long_read(int64_t& value); + bool float_read(float& value); + bool double_read(double& value); + bool bool_read(bool& value, uint32_t f, uint32_t t); + bool string_read(std::string& value); + + void last_release(); + + bool has_error(); + + bool set_error(const char* e); + bool set_error_eof(); + bool set_error_sequence_length(); + bool set_error_string_padding(); + bool set_error_bool_tag(); + bool set_error_expected_tag(); + bool set_error_union_tag(); + + protected: + tl_istream_interface* provider; + + bool hasError = false; + const char* start_block{}; + const char* ptr{}; + const char* end_block{}; + private: + void grow_buffer(); + + bool ensure_byte(); + + bool fetch_data(void* vdata, size_t size); + bool fetch_data2(void* vdata, size_t size); + bool fetch_data_append(std::string& value, size_t size); + bool fetch_pad(size_t len); + }; + + class tl_ostream { + public: + explicit tl_ostream(tl_ostream_interface* provider); + tl_ostream(const tl_ostream&) = delete; + tl_ostream& operator=(const tl_ostream&) = delete; + + tl_ostream(tl_ostream&&) = delete; + tl_ostream& operator=(tl_ostream&&) = delete; + + ~tl_ostream(); + + bool nat_write(uint32_t value); + bool int_write(int32_t value); + bool long_write(int64_t value); + bool float_write(float value); + bool double_write(double value); + bool string_write(const std::string& value); + + void last_release(); + + bool has_error(); + bool set_error(const char* e); + bool set_error_eof(); + bool set_error_sequence_length(); + protected: + tl_ostream_interface* provider; + + bool hasError = false; + char* start_block{}; + char* ptr{}; + char* end_block{}; + private: + void grow_buffer(); + bool store_data(const void* vdata, size_t size); + bool store_pad(size_t size); + }; + +} // namespace basictl + diff --git a/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.cpp b/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.cpp new file mode 100644 index 00000000..d36c6165 --- /dev/null +++ b/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.cpp @@ -0,0 +1,33 @@ + +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +#include "basictl.h" +#include "string_io.h" + +namespace basictl { + std::span tl_istream_string::get_buffer() { + return {reinterpret_cast(buffer.data()) + used_size, buffer.size() - used_size}; + } + + void tl_istream_string::release_buffer(size_t size) { + used_size += size; + } + + std::span tl_istream_string::used_buffer() { + return {reinterpret_cast(buffer.data()), used_size}; + } + + std::span tl_ostream_string::get_buffer() { + return {reinterpret_cast(buffer.data()) + used_size, buffer.size() - used_size}; + } + + void tl_ostream_string::release_buffer(size_t size) { + used_size += size; + if (used_size == buffer.size()) { + buffer.resize(buffer.size() * 3 / 2 + 1024); + } + } + + std::span tl_ostream_string::used_buffer() { + return {reinterpret_cast(buffer.data()), used_size}; + } +} \ No newline at end of file diff --git a/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.h b/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.h new file mode 100644 index 00000000..09b525ba --- /dev/null +++ b/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.h @@ -0,0 +1,32 @@ + +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +#pragma once +#include "basictl.h" + +namespace basictl { + class tl_istream_string : public tl_istream_interface { + public: + explicit tl_istream_string(const std::string & buffer) : buffer(buffer) {} + + std::span get_buffer() override; + void release_buffer(size_t size) override; + + std::span used_buffer(); + private: + const std::string & buffer; + size_t used_size = 0; + }; + + class tl_ostream_string : public tl_ostream_interface { + public: + explicit tl_ostream_string(std::string & buffer) : buffer(buffer) {} + + std::span get_buffer() override; + void release_buffer(size_t size) override; + + std::span used_buffer(); + private: + std::string & buffer; + size_t used_size = 0; + }; +}; \ No newline at end of file diff --git a/internal/tlcodegen/test/gen/cases_cpp/__factory/details.cpp b/internal/tlcodegen/test/gen/cases_cpp/factory/details.cpp similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/__factory/details.cpp rename to internal/tlcodegen/test/gen/cases_cpp/factory/details.cpp index 6beb1889..5d81ce63 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__factory/details.cpp +++ b/internal/tlcodegen/test/gen/cases_cpp/factory/details.cpp @@ -1,45 +1,45 @@ -#include "../__meta/headers.hpp" -#include "headers.hpp" - -#include "../cases/types/cases.testVector.hpp" -#include "../cases/types/cases.testUnionContainer.hpp" -#include "../cases/types/cases.testUnion2.hpp" -#include "../cases/types/cases.testUnion1.hpp" -#include "../cases/types/cases.testTuple.hpp" -#include "../cases/types/cases.testRecursiveFieldMask.hpp" -#include "../cases/types/cases.testOutFieldMaskContainer.hpp" -#include "../cases/types/cases.testMaybe.hpp" -#include "../cases/types/cases.testLocalFieldmask.hpp" -#include "../cases/types/cases.testEnumContainer.hpp" -#include "../cases/types/cases.testDictString.hpp" -#include "../cases/types/cases.testDictInt.hpp" -#include "../cases/types/cases.testDictAny.hpp" -#include "../cases/types/cases.testBeforeReadBitValidation.hpp" -#include "../cases/types/cases.testArray.hpp" -#include "../cases/types/cases.testAllPossibleFieldConfigsContainer.hpp" -#include "../cases/types/cases.replace7plusplus.hpp" -#include "../cases/types/cases.replace7plus.hpp" -#include "../cases/types/cases.replace7.hpp" -#include "../cases/types/cases.myCycle1.hpp" -#include "../cases/types/cases.myCycle2.hpp" -#include "../cases/types/cases.myCycle3.hpp" -#include "../cases_bytes/types/cases_bytes.testVector.hpp" -#include "../cases_bytes/types/cases_bytes.testTuple.hpp" -#include "../cases_bytes/types/cases_bytes.testEnumContainer.hpp" -#include "../cases/types/cases.TestEnumItems.hpp" -#include "../cases_bytes/types/cases_bytes.TestEnumItems.hpp" -#include "../cases_bytes/types/cases_bytes.testDictStringString.hpp" -#include "../cases_bytes/types/cases_bytes.testDictString.hpp" -#include "../cases_bytes/types/cases_bytes.testDictInt.hpp" -#include "../cases_bytes/types/cases_bytes.testDictAny.hpp" -#include "../cases_bytes/types/cases_bytes.testArray.hpp" -#include "../benchmarks/types/benchmarks.vrutoyTopLevelContainerWithDependency.hpp" -#include "../benchmarks/types/benchmarks.vrutoyTopLevelContainer.hpp" -#include "../benchmarks/types/benchmarks.vrutoytopLevelUnionEmpty.hpp" -#include "../benchmarks/types/benchmarks.vrutoytopLevelUnionBig.hpp" -#include "../benchmarks/types/benchmarks.vruposition.hpp" -#include "../__common_namespace/types/true.hpp" -#include "../benchmarks/types/benchmarks.vruhash.hpp" +#include "../meta/headers.h" +#include "headers.h" + +#include "../tl/cases/types/cases.testVector.h" +#include "../tl/cases/types/cases.testUnionContainer.h" +#include "../tl/cases/types/cases.testUnion2.h" +#include "../tl/cases/types/cases.testUnion1.h" +#include "../tl/cases/types/cases.testTuple.h" +#include "../tl/cases/types/cases.testRecursiveFieldMask.h" +#include "../tl/cases/types/cases.testOutFieldMaskContainer.h" +#include "../tl/cases/types/cases.testMaybe.h" +#include "../tl/cases/types/cases.testLocalFieldmask.h" +#include "../tl/cases/types/cases.testEnumContainer.h" +#include "../tl/cases/types/cases.testDictString.h" +#include "../tl/cases/types/cases.testDictInt.h" +#include "../tl/cases/types/cases.testDictAny.h" +#include "../tl/cases/types/cases.testBeforeReadBitValidation.h" +#include "../tl/cases/types/cases.testArray.h" +#include "../tl/cases/types/cases.testAllPossibleFieldConfigsContainer.h" +#include "../tl/cases/types/cases.replace7plusplus.h" +#include "../tl/cases/types/cases.replace7plus.h" +#include "../tl/cases/types/cases.replace7.h" +#include "../tl/cases/types/cases.myCycle1.h" +#include "../tl/cases/types/cases.myCycle2.h" +#include "../tl/cases/types/cases.myCycle3.h" +#include "../tl/cases_bytes/types/cases_bytes.testVector.h" +#include "../tl/cases_bytes/types/cases_bytes.testTuple.h" +#include "../tl/cases_bytes/types/cases_bytes.testEnumContainer.h" +#include "../tl/cases/types/cases.TestEnumItems.h" +#include "../tl/cases_bytes/types/cases_bytes.TestEnumItems.h" +#include "../tl/cases_bytes/types/cases_bytes.testDictStringString.h" +#include "../tl/cases_bytes/types/cases_bytes.testDictString.h" +#include "../tl/cases_bytes/types/cases_bytes.testDictInt.h" +#include "../tl/cases_bytes/types/cases_bytes.testDictAny.h" +#include "../tl/cases_bytes/types/cases_bytes.testArray.h" +#include "../tl/benchmarks/types/benchmarks.vrutoyTopLevelContainerWithDependency.h" +#include "../tl/benchmarks/types/benchmarks.vrutoyTopLevelContainer.h" +#include "../tl/benchmarks/types/benchmarks.vrutoytopLevelUnionEmpty.h" +#include "../tl/benchmarks/types/benchmarks.vrutoytopLevelUnionBig.h" +#include "../tl/benchmarks/types/benchmarks.vruposition.h" +#include "../tl/__common_namespace/types/true.h" +#include "../tl/benchmarks/types/benchmarks.vruhash.h" void tl2::factory::set_all_factories() { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__factory/headers.hpp b/internal/tlcodegen/test/gen/cases_cpp/factory/headers.h similarity index 100% rename from internal/tlcodegen/test/gen/cases_cpp/__factory/headers.hpp rename to internal/tlcodegen/test/gen/cases_cpp/factory/headers.h diff --git a/internal/tlcodegen/test/gen/cases_cpp/__meta/details.cpp b/internal/tlcodegen/test/gen/cases_cpp/meta/details.cpp similarity index 99% rename from internal/tlcodegen/test/gen/cases_cpp/__meta/details.cpp rename to internal/tlcodegen/test/gen/cases_cpp/meta/details.cpp index 3de7366e..87bacea0 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__meta/details.cpp +++ b/internal/tlcodegen/test/gen/cases_cpp/meta/details.cpp @@ -1,8 +1,8 @@ -#include "../a_tlgen_helpers_code.hpp" +#include "../basics/basictl.h" #include -#include "headers.hpp" +#include "headers.h" namespace { struct tl_items { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__meta/headers.hpp b/internal/tlcodegen/test/gen/cases_cpp/meta/headers.h similarity index 97% rename from internal/tlcodegen/test/gen/cases_cpp/__meta/headers.hpp rename to internal/tlcodegen/test/gen/cases_cpp/meta/headers.h index aad18e93..cdb75788 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__meta/headers.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/meta/headers.h @@ -5,7 +5,7 @@ #include #include -#include "../a_tlgen_helpers_code.hpp" +#include "../basics/basictl.h" namespace tl2 { namespace meta { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/details.cpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/details.cpp similarity index 98% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/details.cpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/details.cpp index ba14b4e8..249496b4 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/details.cpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/details.cpp @@ -1,14 +1,14 @@ -#include "headers/vector.hpp" -#include "headers/string.hpp" -#include "headers/long.hpp" -#include "headers/int64.hpp" -#include "headers/int32.hpp" -#include "headers/int.hpp" -#include "headers/dictionary.hpp" -#include "headers/dictionaryField.hpp" -#include "headers/dictionaryAny.hpp" -#include "headers/dictionaryFieldAny.hpp" -#include "headers/true.hpp" +#include "headers/vector.h" +#include "headers/string.h" +#include "headers/long.h" +#include "headers/int64.h" +#include "headers/int32.h" +#include "headers/int.h" +#include "headers/dictionary.h" +#include "headers/dictionaryField.h" +#include "headers/dictionaryAny.h" +#include "headers/dictionaryFieldAny.h" +#include "headers/true.h" void tl2::details::BuiltinVectorDictionaryFieldAnyDoubleIntReset(std::vector<::tl2::DictionaryFieldAny>& item) { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/dictionary.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/dictionary.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/dictionary.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/dictionary.h index d98242fb..0fcc4ba3 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/dictionary.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/dictionary.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/dictionary.hpp" +#include "../../../basics/basictl.h" +#include "../types/dictionary.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/dictionaryAny.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/dictionaryAny.h similarity index 92% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/dictionaryAny.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/dictionaryAny.h index 09f9977c..b81b7644 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/dictionaryAny.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/dictionaryAny.h @@ -1,8 +1,8 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/dictionaryAny.hpp" -#include "../types/dictionaryFieldAny.hpp" +#include "../../../basics/basictl.h" +#include "../types/dictionaryAny.h" +#include "../types/dictionaryFieldAny.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/dictionaryField.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/dictionaryField.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/dictionaryField.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/dictionaryField.h index 630eb567..613f7123 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/dictionaryField.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/dictionaryField.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/dictionaryField.hpp" +#include "../../../basics/basictl.h" +#include "../types/dictionaryField.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/dictionaryFieldAny.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/dictionaryFieldAny.h similarity index 96% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/dictionaryFieldAny.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/dictionaryFieldAny.h index e5e1426d..7e7ef2fd 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/dictionaryFieldAny.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/dictionaryFieldAny.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/dictionaryFieldAny.hpp" +#include "../../../basics/basictl.h" +#include "../types/dictionaryFieldAny.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/int.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/int.h similarity index 85% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/int.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/int.h index 769dd870..e517a5fc 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/int.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/int.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/int.hpp" +#include "../../../basics/basictl.h" +#include "../types/int.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/int32.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/int32.h similarity index 86% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/int32.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/int32.h index 538944b6..4db9b702 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/int32.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/int32.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/int32.hpp" +#include "../../../basics/basictl.h" +#include "../types/int32.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/int64.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/int64.h similarity index 86% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/int64.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/int64.h index 79696845..7ffdbcfd 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/int64.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/int64.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/int64.hpp" +#include "../../../basics/basictl.h" +#include "../types/int64.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/long.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/long.h similarity index 85% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/long.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/long.h index c4048c81..5f7b352d 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/long.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/long.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/long.hpp" +#include "../../../basics/basictl.h" +#include "../types/long.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/string.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/string.h similarity index 86% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/string.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/string.h index 5e157b0b..bbadc10d 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/string.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/string.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/string.hpp" +#include "../../../basics/basictl.h" +#include "../types/string.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/true.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/true.h similarity index 86% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/true.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/true.h index 25d0dde6..063edd9e 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/true.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/true.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/true.hpp" +#include "../../../basics/basictl.h" +#include "../types/true.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/vector.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/vector.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/vector.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/vector.h index 0fb1e81a..c99b7bce 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/headers/vector.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/headers/vector.h @@ -1,8 +1,8 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/vector.hpp" -#include "../types/dictionaryField.hpp" +#include "../../../basics/basictl.h" +#include "../types/vector.h" +#include "../types/dictionaryField.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/dictionary.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/dictionary.h similarity index 64% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/dictionary.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/dictionary.h index 76688e0f..cf94d40d 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/dictionary.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/dictionary.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "dictionaryField.hpp" +#include "../../../basics/basictl.h" +#include "dictionaryField.h" namespace tl2 { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/dictionaryAny.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/dictionaryAny.h similarity index 66% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/dictionaryAny.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/dictionaryAny.h index d18f1d24..26ae620d 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/dictionaryAny.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/dictionaryAny.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "dictionaryFieldAny.hpp" +#include "../../../basics/basictl.h" +#include "dictionaryFieldAny.h" namespace tl2 { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/dictionaryField.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/dictionaryField.h similarity index 85% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/dictionaryField.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/dictionaryField.h index f6340159..632a156f 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/dictionaryField.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/dictionaryField.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/dictionaryFieldAny.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/dictionaryFieldAny.h similarity index 85% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/dictionaryFieldAny.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/dictionaryFieldAny.h index a9f0b818..7a187ed8 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/dictionaryFieldAny.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/dictionaryFieldAny.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/int.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/int.h similarity index 63% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/int.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/int.h index 95bcfbc7..a6e1c339 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/int.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/int.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/int32.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/int32.h similarity index 64% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/int32.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/int32.h index 3d437117..cf1ed670 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/int32.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/int32.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/int64.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/int64.h similarity index 64% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/int64.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/int64.h index 7ff2ebfb..5c586b2b 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/int64.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/int64.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/long.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/long.h similarity index 64% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/long.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/long.h index cd9546fe..94e630dd 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/long.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/long.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/string.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/string.h similarity index 65% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/string.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/string.h index 8030fc84..ead7023d 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/string.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/string.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/true.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/true.h similarity index 92% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/true.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/true.h index 2b7a0846..44a8b5ab 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/true.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/true.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/tuple.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/tuple.h similarity index 73% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/tuple.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/tuple.h index 5238759d..aaff7c55 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/tuple.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/tuple.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { diff --git a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/vector.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/vector.h similarity index 71% rename from internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/vector.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/vector.h index 14003173..4663fb39 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/__common_namespace/types/vector.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/types/vector.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/details.cpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/details.cpp similarity index 98% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/details.cpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/details.cpp index 5d783054..c25efe73 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/details.cpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/details.cpp @@ -1,13 +1,13 @@ -#include "headers/benchmarks_vector.hpp" -#include "headers/benchmarks.vruposition.hpp" -#include "headers/benchmarks.vrutoyTopLevelContainerWithDependency.hpp" -#include "headers/benchmarks.vrutoyTopLevelContainer.hpp" -#include "headers/benchmarks.VrutoyTopLevelUnion.hpp" -#include "headers/benchmarks.vrutoytopLevelUnionEmpty.hpp" -#include "headers/benchmarks.vrutoytopLevelUnionBig.hpp" -#include "headers/benchmarks.vrutoyPositions.hpp" -#include "../__common_namespace/headers/true.hpp" -#include "headers/benchmarks.vruhash.hpp" +#include "headers/benchmarks_vector.h" +#include "headers/benchmarks.vruposition.h" +#include "headers/benchmarks.vrutoyTopLevelContainerWithDependency.h" +#include "headers/benchmarks.vrutoyTopLevelContainer.h" +#include "headers/benchmarks.VrutoyTopLevelUnion.h" +#include "headers/benchmarks.vrutoytopLevelUnionEmpty.h" +#include "headers/benchmarks.vrutoytopLevelUnionBig.h" +#include "headers/benchmarks.vrutoyPositions.h" +#include "../__common_namespace/headers/true.h" +#include "headers/benchmarks.vruhash.h" bool tl2::benchmarks::Vruhash::write_json(std::ostream& s)const { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.VrutoyTopLevelUnion.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.VrutoyTopLevelUnion.h similarity index 84% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.VrutoyTopLevelUnion.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.VrutoyTopLevelUnion.h index 4959d012..212cb919 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.VrutoyTopLevelUnion.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.VrutoyTopLevelUnion.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/benchmarks.VrutoyTopLevelUnion.hpp" +#include "../../../basics/basictl.h" +#include "../types/benchmarks.VrutoyTopLevelUnion.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vruhash.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vruhash.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vruhash.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vruhash.h index 72a8b4f4..7f072582 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vruhash.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vruhash.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/benchmarks.vruhash.hpp" +#include "../../../basics/basictl.h" +#include "../types/benchmarks.vruhash.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vruposition.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vruposition.h similarity index 95% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vruposition.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vruposition.h index 9ca79952..9397fd04 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vruposition.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vruposition.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/benchmarks.vruposition.hpp" +#include "../../../basics/basictl.h" +#include "../types/benchmarks.vruposition.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoyPositions.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoyPositions.h similarity index 89% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoyPositions.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoyPositions.h index d7f6b603..6bbc9860 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoyPositions.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoyPositions.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/benchmarks.vrutoyPositions.hpp" +#include "../../../basics/basictl.h" +#include "../types/benchmarks.vrutoyPositions.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoyTopLevelContainer.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoyTopLevelContainer.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoyTopLevelContainer.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoyTopLevelContainer.h index 2dccf446..c091fe8d 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoyTopLevelContainer.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoyTopLevelContainer.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/benchmarks.vrutoyTopLevelContainer.hpp" +#include "../../../basics/basictl.h" +#include "../types/benchmarks.vrutoyTopLevelContainer.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoyTopLevelContainerWithDependency.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoyTopLevelContainerWithDependency.h similarity index 95% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoyTopLevelContainerWithDependency.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoyTopLevelContainerWithDependency.h index d67a2ef3..cbd66487 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoyTopLevelContainerWithDependency.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoyTopLevelContainerWithDependency.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/benchmarks.vrutoyTopLevelContainerWithDependency.hpp" +#include "../../../basics/basictl.h" +#include "../types/benchmarks.vrutoyTopLevelContainerWithDependency.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoytopLevelUnionBig.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoytopLevelUnionBig.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoytopLevelUnionBig.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoytopLevelUnionBig.h index f037992f..dc5e0fa7 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoytopLevelUnionBig.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoytopLevelUnionBig.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/benchmarks.vrutoytopLevelUnionBig.hpp" +#include "../../../basics/basictl.h" +#include "../types/benchmarks.vrutoytopLevelUnionBig.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoytopLevelUnionEmpty.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoytopLevelUnionEmpty.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoytopLevelUnionEmpty.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoytopLevelUnionEmpty.h index c63aad96..e1d1ce28 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks.vrutoytopLevelUnionEmpty.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks.vrutoytopLevelUnionEmpty.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/benchmarks.vrutoytopLevelUnionEmpty.hpp" +#include "../../../basics/basictl.h" +#include "../types/benchmarks.vrutoytopLevelUnionEmpty.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks_vector.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks_vector.h similarity index 84% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks_vector.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks_vector.h index 3c1c49a3..928354a2 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/headers/benchmarks_vector.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/headers/benchmarks_vector.h @@ -1,8 +1,8 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/vector.hpp" -#include "../types/benchmarks.vruposition.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/vector.h" +#include "../types/benchmarks.vruposition.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.VrutoyTopLevelUnion.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.VrutoyTopLevelUnion.h similarity index 80% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.VrutoyTopLevelUnion.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.VrutoyTopLevelUnion.h index 0332885a..4f6b3bd5 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.VrutoyTopLevelUnion.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.VrutoyTopLevelUnion.h @@ -1,8 +1,8 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "benchmarks.vrutoytopLevelUnionEmpty.hpp" -#include "benchmarks.vrutoytopLevelUnionBig.hpp" +#include "../../../basics/basictl.h" +#include "benchmarks.vrutoytopLevelUnionEmpty.h" +#include "benchmarks.vrutoytopLevelUnionBig.h" namespace tl2 { namespace benchmarks { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vruhash.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vruhash.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vruhash.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vruhash.h index e13b7745..9c927226 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vruhash.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vruhash.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace benchmarks { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vruposition.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vruposition.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vruposition.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vruposition.h index cc1b2476..174fdfe0 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vruposition.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vruposition.h @@ -1,8 +1,8 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/true.hpp" -#include "benchmarks.vruhash.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/true.h" +#include "benchmarks.vruhash.h" namespace tl2 { namespace benchmarks { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoyPositions.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoyPositions.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoyPositions.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoyPositions.h index 1ae28076..9e1ba854 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoyPositions.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoyPositions.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "benchmarks.vruposition.hpp" +#include "../../../basics/basictl.h" +#include "benchmarks.vruposition.h" namespace tl2 { namespace benchmarks { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoyTopLevelContainer.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoyTopLevelContainer.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoyTopLevelContainer.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoyTopLevelContainer.h index cb44419b..c411a605 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoyTopLevelContainer.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoyTopLevelContainer.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "benchmarks.VrutoyTopLevelUnion.hpp" +#include "../../../basics/basictl.h" +#include "benchmarks.VrutoyTopLevelUnion.h" namespace tl2 { namespace benchmarks { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoyTopLevelContainerWithDependency.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoyTopLevelContainerWithDependency.h similarity index 89% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoyTopLevelContainerWithDependency.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoyTopLevelContainerWithDependency.h index 6c086d86..c89dd217 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoyTopLevelContainerWithDependency.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoyTopLevelContainerWithDependency.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "benchmarks.vrutoyPositions.hpp" +#include "../../../basics/basictl.h" +#include "benchmarks.vrutoyPositions.h" namespace tl2 { namespace benchmarks { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoytopLevelUnionBig.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoytopLevelUnionBig.h similarity index 89% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoytopLevelUnionBig.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoytopLevelUnionBig.h index a4033e4a..82afaaa4 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoytopLevelUnionBig.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoytopLevelUnionBig.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "benchmarks.vruposition.hpp" +#include "../../../basics/basictl.h" +#include "benchmarks.vruposition.h" namespace tl2 { namespace benchmarks { diff --git a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoytopLevelUnionEmpty.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoytopLevelUnionEmpty.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoytopLevelUnionEmpty.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoytopLevelUnionEmpty.h index 68bc40d3..9d9efe4a 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/benchmarks/types/benchmarks.vrutoytopLevelUnionEmpty.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/types/benchmarks.vrutoytopLevelUnionEmpty.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace benchmarks { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/details.cpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/details.cpp similarity index 98% rename from internal/tlcodegen/test/gen/cases_cpp/cases/details.cpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/details.cpp index 8c251eec..3439079f 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/details.cpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/details.cpp @@ -1,37 +1,37 @@ -#include "headers/cases_vector.hpp" -#include "headers/cases_tuple.hpp" -#include "headers/cases.testVector.hpp" -#include "headers/cases.testUnionContainer.hpp" -#include "headers/cases.TestUnion.hpp" -#include "headers/cases.testUnion2.hpp" -#include "headers/cases.testUnion1.hpp" -#include "headers/cases.testTuple.hpp" -#include "headers/cases.testRecursiveFieldMask.hpp" -#include "headers/cases.testOutFieldMaskContainer.hpp" -#include "headers/cases.testOutFieldMask.hpp" -#include "headers/cases.testMaybe.hpp" -#include "headers/cases_int.hpp" -#include "headers/cases.testLocalFieldmask.hpp" -#include "headers/cases.testEnumContainer.hpp" -#include "headers/cases.testDictString.hpp" -#include "headers/cases.testDictInt.hpp" -#include "headers/cases.testDictAny.hpp" -#include "headers/cases.testBeforeReadBitValidation.hpp" -#include "headers/cases.testArray.hpp" -#include "headers/cases.testAllPossibleFieldConfigsContainer.hpp" -#include "headers/cases.testAllPossibleFieldConfigs.hpp" -#include "headers/cases.replace7plusplus.hpp" -#include "headers/cases.replace7plus.hpp" -#include "headers/cases.replace7.hpp" -#include "headers/cases.myCycle1.hpp" -#include "headers/cases.myCycle2.hpp" -#include "headers/cases.myCycle3.hpp" -#include "headers/cases.TestEnum.hpp" -#include "headers/cases.TestEnumItems.hpp" -#include "../__common_namespace/headers/dictionary.hpp" -#include "../__common_namespace/headers/dictionaryFieldAny.hpp" -#include "../__common_namespace/headers/dictionaryAny.hpp" -#include "../__common_namespace/headers/true.hpp" +#include "headers/cases_vector.h" +#include "headers/cases_tuple.h" +#include "headers/cases.testVector.h" +#include "headers/cases.testUnionContainer.h" +#include "headers/cases.TestUnion.h" +#include "headers/cases.testUnion2.h" +#include "headers/cases.testUnion1.h" +#include "headers/cases.testTuple.h" +#include "headers/cases.testRecursiveFieldMask.h" +#include "headers/cases.testOutFieldMaskContainer.h" +#include "headers/cases.testOutFieldMask.h" +#include "headers/cases.testMaybe.h" +#include "headers/cases_int.h" +#include "headers/cases.testLocalFieldmask.h" +#include "headers/cases.testEnumContainer.h" +#include "headers/cases.testDictString.h" +#include "headers/cases.testDictInt.h" +#include "headers/cases.testDictAny.h" +#include "headers/cases.testBeforeReadBitValidation.h" +#include "headers/cases.testArray.h" +#include "headers/cases.testAllPossibleFieldConfigsContainer.h" +#include "headers/cases.testAllPossibleFieldConfigs.h" +#include "headers/cases.replace7plusplus.h" +#include "headers/cases.replace7plus.h" +#include "headers/cases.replace7.h" +#include "headers/cases.myCycle1.h" +#include "headers/cases.myCycle2.h" +#include "headers/cases.myCycle3.h" +#include "headers/cases.TestEnum.h" +#include "headers/cases.TestEnumItems.h" +#include "../__common_namespace/headers/dictionary.h" +#include "../__common_namespace/headers/dictionaryFieldAny.h" +#include "../__common_namespace/headers/dictionaryAny.h" +#include "../__common_namespace/headers/true.h" void tl2::details::BuiltinTuple4IntReset(std::array& item) { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.TestEnum.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.TestEnum.h similarity index 83% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.TestEnum.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.TestEnum.h index f4f4fa92..e77e15c7 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.TestEnum.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.TestEnum.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.TestEnum.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.TestEnum.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.TestEnumItems.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.TestEnumItems.h similarity index 95% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.TestEnumItems.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.TestEnumItems.h index bb8be20f..fa6692c8 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.TestEnumItems.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.TestEnumItems.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.TestEnumItems.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.TestEnumItems.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.TestUnion.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.TestUnion.h similarity index 83% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.TestUnion.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.TestUnion.h index 367f4456..99f45fb7 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.TestUnion.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.TestUnion.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.TestUnion.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.TestUnion.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.myCycle1.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.myCycle1.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.myCycle1.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.myCycle1.h index bef4fce9..b4c8b218 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.myCycle1.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.myCycle1.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.myCycle1.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.myCycle1.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.myCycle2.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.myCycle2.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.myCycle2.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.myCycle2.h index 414e650d..b4356c68 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.myCycle2.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.myCycle2.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.myCycle2.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.myCycle2.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.myCycle3.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.myCycle3.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.myCycle3.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.myCycle3.h index 5cd5e6c9..38f02b3e 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.myCycle3.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.myCycle3.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.myCycle3.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.myCycle3.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.replace7.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.replace7.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.replace7.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.replace7.h index ff8dfe3e..9c1952f1 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.replace7.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.replace7.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.replace7.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.replace7.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.replace7plus.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.replace7plus.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.replace7plus.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.replace7plus.h index 842ae7f0..b88143c7 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.replace7plus.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.replace7plus.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.replace7plus.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.replace7plus.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.replace7plusplus.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.replace7plusplus.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.replace7plusplus.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.replace7plusplus.h index 0c2d3d4e..70ead9d3 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.replace7plusplus.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.replace7plusplus.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.replace7plusplus.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.replace7plusplus.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testAllPossibleFieldConfigs.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testAllPossibleFieldConfigs.h similarity index 89% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testAllPossibleFieldConfigs.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testAllPossibleFieldConfigs.h index 92566f12..699427d4 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testAllPossibleFieldConfigs.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testAllPossibleFieldConfigs.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testAllPossibleFieldConfigs.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testAllPossibleFieldConfigs.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testAllPossibleFieldConfigsContainer.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testAllPossibleFieldConfigsContainer.h similarity index 89% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testAllPossibleFieldConfigsContainer.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testAllPossibleFieldConfigsContainer.h index a53eb4d6..35ac9f4c 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testAllPossibleFieldConfigsContainer.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testAllPossibleFieldConfigsContainer.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testAllPossibleFieldConfigsContainer.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testAllPossibleFieldConfigsContainer.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testArray.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testArray.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testArray.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testArray.h index 273b189b..c6d2d815 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testArray.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testArray.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testArray.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testArray.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testBeforeReadBitValidation.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testBeforeReadBitValidation.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testBeforeReadBitValidation.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testBeforeReadBitValidation.h index 332a459c..5536410a 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testBeforeReadBitValidation.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testBeforeReadBitValidation.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testBeforeReadBitValidation.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testBeforeReadBitValidation.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testDictAny.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testDictAny.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testDictAny.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testDictAny.h index 5b943351..20308647 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testDictAny.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testDictAny.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testDictAny.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testDictAny.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testDictInt.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testDictInt.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testDictInt.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testDictInt.h index 8b3d265c..50e97db2 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testDictInt.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testDictInt.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testDictInt.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testDictInt.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testDictString.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testDictString.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testDictString.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testDictString.h index a4e13a2b..0fb8412f 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testDictString.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testDictString.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testDictString.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testDictString.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testEnumContainer.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testEnumContainer.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testEnumContainer.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testEnumContainer.h index d6d0ba4f..3c567392 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testEnumContainer.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testEnumContainer.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testEnumContainer.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testEnumContainer.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testLocalFieldmask.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testLocalFieldmask.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testLocalFieldmask.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testLocalFieldmask.h index b79d8fa3..4cab18f5 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testLocalFieldmask.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testLocalFieldmask.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testLocalFieldmask.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testLocalFieldmask.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testMaybe.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testMaybe.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testMaybe.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testMaybe.h index 8a9eccc8..0f51c921 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testMaybe.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testMaybe.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testMaybe.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testMaybe.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testOutFieldMask.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testOutFieldMask.h similarity index 89% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testOutFieldMask.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testOutFieldMask.h index 4a85f79e..d16e0985 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testOutFieldMask.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testOutFieldMask.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testOutFieldMask.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testOutFieldMask.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testOutFieldMaskContainer.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testOutFieldMaskContainer.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testOutFieldMaskContainer.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testOutFieldMaskContainer.h index ccfc9db4..aa888180 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testOutFieldMaskContainer.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testOutFieldMaskContainer.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testOutFieldMaskContainer.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testOutFieldMaskContainer.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testRecursiveFieldMask.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testRecursiveFieldMask.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testRecursiveFieldMask.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testRecursiveFieldMask.h index d1a36931..47302eac 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testRecursiveFieldMask.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testRecursiveFieldMask.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testRecursiveFieldMask.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testRecursiveFieldMask.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testTuple.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testTuple.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testTuple.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testTuple.h index a3629483..f82ac283 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testTuple.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testTuple.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testTuple.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testTuple.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testUnion1.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testUnion1.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testUnion1.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testUnion1.h index 07ef4fa8..72b894ac 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testUnion1.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testUnion1.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testUnion1.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testUnion1.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testUnion2.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testUnion2.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testUnion2.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testUnion2.h index 2c7d07c8..93b291e6 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testUnion2.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testUnion2.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testUnion2.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testUnion2.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testUnionContainer.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testUnionContainer.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testUnionContainer.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testUnionContainer.h index 72f2bdf3..04c65392 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testUnionContainer.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testUnionContainer.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testUnionContainer.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testUnionContainer.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testVector.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testVector.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testVector.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testVector.h index 3c92b524..e04298b5 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases.testVector.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases.testVector.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases.testVector.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases.testVector.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases_int.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases_int.h similarity index 95% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases_int.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases_int.h index dfc8eccf..c01ff462 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases_int.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases_int.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/int.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/int.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases_tuple.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases_tuple.h similarity index 79% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases_tuple.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases_tuple.h index 14a60aa9..e644fc77 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases_tuple.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases_tuple.h @@ -1,8 +1,8 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/tuple.hpp" -#include "../../__common_namespace/types/int.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/tuple.h" +#include "../../__common_namespace/types/int.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases_vector.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases_vector.h similarity index 78% rename from internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases_vector.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases_vector.h index 8e6fe6ae..204f2daf 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/headers/cases_vector.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/headers/cases_vector.h @@ -1,8 +1,8 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/vector.hpp" -#include "../../__common_namespace/types/int.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/vector.h" +#include "../../__common_namespace/types/int.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.TestEnum.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.TestEnum.h similarity index 89% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.TestEnum.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.TestEnum.h index e1722c25..6193302a 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.TestEnum.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.TestEnum.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "cases.TestEnumItems.hpp" +#include "../../../basics/basictl.h" +#include "cases.TestEnumItems.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.TestEnumItems.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.TestEnumItems.h similarity index 97% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.TestEnumItems.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.TestEnumItems.h index d6a2423b..83642350 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.TestEnumItems.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.TestEnumItems.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.TestUnion.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.TestUnion.h similarity index 81% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.TestUnion.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.TestUnion.h index ba3154ff..a0f65cf0 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.TestUnion.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.TestUnion.h @@ -1,8 +1,8 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "cases.testUnion2.hpp" -#include "cases.testUnion1.hpp" +#include "../../../basics/basictl.h" +#include "cases.testUnion2.h" +#include "cases.testUnion1.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.myCycle1.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.myCycle1.h similarity index 90% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.myCycle1.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.myCycle1.h index 3a74aa5a..211981ee 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.myCycle1.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.myCycle1.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "cases.myCycle2.hpp" +#include "../../../basics/basictl.h" +#include "cases.myCycle2.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.myCycle2.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.myCycle2.h similarity index 90% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.myCycle2.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.myCycle2.h index f6f9eb4b..17a89dd3 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.myCycle2.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.myCycle2.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "cases.myCycle3.hpp" +#include "../../../basics/basictl.h" +#include "cases.myCycle3.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.myCycle3.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.myCycle3.h similarity index 94% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.myCycle3.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.myCycle3.h index a5873e14..d33ea199 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.myCycle3.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.myCycle3.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.replace7.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.replace7.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.replace7.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.replace7.h index 811fdd65..6fd82847 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.replace7.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.replace7.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.replace7plus.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.replace7plus.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.replace7plus.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.replace7plus.h index c388e660..ed6b5b20 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.replace7plus.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.replace7plus.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.replace7plusplus.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.replace7plusplus.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.replace7plusplus.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.replace7plusplus.h index d132e1f6..49417689 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.replace7plusplus.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.replace7plusplus.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testAllPossibleFieldConfigs.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testAllPossibleFieldConfigs.h similarity index 90% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testAllPossibleFieldConfigs.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testAllPossibleFieldConfigs.h index 38652b36..b5a9257f 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testAllPossibleFieldConfigs.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testAllPossibleFieldConfigs.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/true.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/true.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testAllPossibleFieldConfigsContainer.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testAllPossibleFieldConfigsContainer.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testAllPossibleFieldConfigsContainer.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testAllPossibleFieldConfigsContainer.h index 890869d8..9c3781f6 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testAllPossibleFieldConfigsContainer.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testAllPossibleFieldConfigsContainer.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "cases.testAllPossibleFieldConfigs.hpp" +#include "../../../basics/basictl.h" +#include "cases.testAllPossibleFieldConfigs.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testArray.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testArray.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testArray.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testArray.h index c6bb307e..5bc30cdc 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testArray.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testArray.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testBeforeReadBitValidation.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testBeforeReadBitValidation.h similarity index 94% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testBeforeReadBitValidation.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testBeforeReadBitValidation.h index ae083d61..5cc01b66 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testBeforeReadBitValidation.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testBeforeReadBitValidation.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testDictAny.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testDictAny.h similarity index 85% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testDictAny.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testDictAny.h index 4c9de3bc..82238a81 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testDictAny.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testDictAny.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionaryAny.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionaryAny.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testDictInt.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testDictInt.h similarity index 85% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testDictInt.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testDictInt.h index 640f75db..a0369c71 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testDictInt.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testDictInt.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionaryFieldAny.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionaryFieldAny.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testDictString.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testDictString.h similarity index 85% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testDictString.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testDictString.h index 67a19781..cd0671d1 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testDictString.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testDictString.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionary.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionary.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testEnumContainer.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testEnumContainer.h similarity index 89% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testEnumContainer.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testEnumContainer.h index d152885a..0de45e79 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testEnumContainer.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testEnumContainer.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "cases.TestEnum.hpp" +#include "../../../basics/basictl.h" +#include "cases.TestEnum.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testLocalFieldmask.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testLocalFieldmask.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testLocalFieldmask.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testLocalFieldmask.h index 50c84ec6..79a10040 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testLocalFieldmask.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testLocalFieldmask.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/true.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/true.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testMaybe.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testMaybe.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testMaybe.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testMaybe.h index 273d457a..6df6e9fe 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testMaybe.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testMaybe.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testOutFieldMask.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testOutFieldMask.h similarity index 86% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testOutFieldMask.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testOutFieldMask.h index 504ed026..04bad524 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testOutFieldMask.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testOutFieldMask.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/true.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/true.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testOutFieldMaskContainer.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testOutFieldMaskContainer.h similarity index 89% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testOutFieldMaskContainer.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testOutFieldMaskContainer.h index f66bf0e9..b40861bf 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testOutFieldMaskContainer.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testOutFieldMaskContainer.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "cases.testOutFieldMask.hpp" +#include "../../../basics/basictl.h" +#include "cases.testOutFieldMask.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testRecursiveFieldMask.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testRecursiveFieldMask.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testRecursiveFieldMask.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testRecursiveFieldMask.h index f184b7a7..c0713d2d 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testRecursiveFieldMask.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testRecursiveFieldMask.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/true.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/true.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testTuple.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testTuple.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testTuple.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testTuple.h index a55fbaa1..5ac39c46 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testTuple.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testTuple.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testUnion1.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testUnion1.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testUnion1.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testUnion1.h index 0e6daafc..cb8ab54e 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testUnion1.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testUnion1.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testUnion2.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testUnion2.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testUnion2.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testUnion2.h index 3fca366f..10dd3974 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testUnion2.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testUnion2.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testUnionContainer.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testUnionContainer.h similarity index 89% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testUnionContainer.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testUnionContainer.h index f283c3c4..aa732ec0 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testUnionContainer.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testUnionContainer.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "cases.TestUnion.hpp" +#include "../../../basics/basictl.h" +#include "cases.TestUnion.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testVector.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testVector.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testVector.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testVector.h index 30108a9a..baa53925 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases/types/cases.testVector.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/types/cases.testVector.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/details.cpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/details.cpp similarity index 97% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/details.cpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/details.cpp index 99e9a5a9..dbc89bc5 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/details.cpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/details.cpp @@ -1,22 +1,22 @@ -#include "headers/cases_bytes_vector.hpp" -#include "headers/cases_bytes_tuple.hpp" -#include "headers/cases_bytes.testVector.hpp" -#include "headers/cases_bytes.testTuple.hpp" -#include "headers/cases_bytes.testEnumContainer.hpp" -#include "../cases/headers/cases.TestEnum.hpp" -#include "headers/cases_bytes.TestEnum.hpp" -#include "headers/cases_bytes.TestEnumItems.hpp" -#include "headers/cases_bytes.testDictStringString.hpp" -#include "headers/cases_bytes_dictionary.hpp" -#include "headers/cases_bytes_dictionaryField.hpp" -#include "headers/cases_bytes.testDictString.hpp" -#include "../__common_namespace/headers/dictionary.hpp" -#include "headers/cases_bytes.testDictInt.hpp" -#include "../__common_namespace/headers/dictionaryFieldAny.hpp" -#include "headers/cases_bytes.testDictAny.hpp" -#include "../__common_namespace/headers/dictionaryAny.hpp" -#include "headers/cases_bytes.testArray.hpp" -#include "headers/cases_bytes_string.hpp" +#include "headers/cases_bytes_vector.h" +#include "headers/cases_bytes_tuple.h" +#include "headers/cases_bytes.testVector.h" +#include "headers/cases_bytes.testTuple.h" +#include "headers/cases_bytes.testEnumContainer.h" +#include "../cases/headers/cases.TestEnum.h" +#include "headers/cases_bytes.TestEnum.h" +#include "headers/cases_bytes.TestEnumItems.h" +#include "headers/cases_bytes.testDictStringString.h" +#include "headers/cases_bytes_dictionary.h" +#include "headers/cases_bytes_dictionaryField.h" +#include "headers/cases_bytes.testDictString.h" +#include "../__common_namespace/headers/dictionary.h" +#include "headers/cases_bytes.testDictInt.h" +#include "../__common_namespace/headers/dictionaryFieldAny.h" +#include "headers/cases_bytes.testDictAny.h" +#include "../__common_namespace/headers/dictionaryAny.h" +#include "headers/cases_bytes.testArray.h" +#include "headers/cases_bytes_string.h" void tl2::details::BuiltinTuple4StringReset(std::array& item) { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.TestEnum.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.TestEnum.h similarity index 83% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.TestEnum.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.TestEnum.h index 7475cb1a..b6c86325 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.TestEnum.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.TestEnum.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases_bytes.TestEnum.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases_bytes.TestEnum.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.TestEnumItems.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.TestEnumItems.h similarity index 95% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.TestEnumItems.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.TestEnumItems.h index 1ebe7a6c..f3615b41 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.TestEnumItems.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.TestEnumItems.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases_bytes.TestEnumItems.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases_bytes.TestEnumItems.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testArray.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testArray.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testArray.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testArray.h index 21e3375b..f96c96c9 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testArray.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testArray.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases_bytes.testArray.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases_bytes.testArray.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testDictAny.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testDictAny.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testDictAny.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testDictAny.h index 27d4a64f..19c8e9be 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testDictAny.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testDictAny.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases_bytes.testDictAny.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases_bytes.testDictAny.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testDictInt.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testDictInt.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testDictInt.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testDictInt.h index 99946f9a..5201adb2 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testDictInt.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testDictInt.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases_bytes.testDictInt.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases_bytes.testDictInt.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testDictString.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testDictString.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testDictString.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testDictString.h index bafaeb0e..7ae8f3a8 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testDictString.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testDictString.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases_bytes.testDictString.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases_bytes.testDictString.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testDictStringString.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testDictStringString.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testDictStringString.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testDictStringString.h index c55b48a7..9ed4a25f 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testDictStringString.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testDictStringString.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases_bytes.testDictStringString.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases_bytes.testDictStringString.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testEnumContainer.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testEnumContainer.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testEnumContainer.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testEnumContainer.h index ae88c6e5..bf31f6f5 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testEnumContainer.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testEnumContainer.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases_bytes.testEnumContainer.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases_bytes.testEnumContainer.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testTuple.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testTuple.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testTuple.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testTuple.h index babd2bcb..4128adfc 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testTuple.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testTuple.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases_bytes.testTuple.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases_bytes.testTuple.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testVector.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testVector.h similarity index 88% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testVector.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testVector.h index 6eb6dfac..27e1f15f 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes.testVector.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes.testVector.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/cases_bytes.testVector.hpp" +#include "../../../basics/basictl.h" +#include "../types/cases_bytes.testVector.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_dictionary.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_dictionary.h similarity index 86% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_dictionary.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_dictionary.h index 77af5159..c62e29cc 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_dictionary.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_dictionary.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionary.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionary.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_dictionaryField.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_dictionaryField.h similarity index 92% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_dictionaryField.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_dictionaryField.h index d79a274f..7cabd4d2 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_dictionaryField.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_dictionaryField.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionaryField.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionaryField.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_string.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_string.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_string.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_string.h index e281a177..7bf6b1f9 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_string.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_string.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/string.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/string.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_tuple.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_tuple.h similarity index 80% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_tuple.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_tuple.h index 54543fdc..64b29842 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_tuple.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_tuple.h @@ -1,8 +1,8 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/tuple.hpp" -#include "../../__common_namespace/types/string.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/tuple.h" +#include "../../__common_namespace/types/string.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_vector.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_vector.h similarity index 86% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_vector.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_vector.h index fbf41dae..5f85796c 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/headers/cases_bytes_vector.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/headers/cases_bytes_vector.h @@ -1,9 +1,9 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/vector.hpp" -#include "../../__common_namespace/types/dictionaryField.hpp" -#include "../../__common_namespace/types/string.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/vector.h" +#include "../../__common_namespace/types/dictionaryField.h" +#include "../../__common_namespace/types/string.h" namespace tl2 { namespace details { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.TestEnum.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.TestEnum.h similarity index 89% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.TestEnum.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.TestEnum.h index 739a32f8..567b8e4e 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.TestEnum.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.TestEnum.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "cases_bytes.TestEnumItems.hpp" +#include "../../../basics/basictl.h" +#include "cases_bytes.TestEnumItems.h" namespace tl2 { namespace cases_bytes { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.TestEnumItems.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.TestEnumItems.h similarity index 97% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.TestEnumItems.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.TestEnumItems.h index b75a3988..6078b91a 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.TestEnumItems.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.TestEnumItems.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases_bytes { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testArray.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testArray.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testArray.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testArray.h index 93b93b7d..0425de4f 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testArray.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testArray.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases_bytes { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testDictAny.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testDictAny.h similarity index 85% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testDictAny.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testDictAny.h index 3a67d439..0183f4e1 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testDictAny.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testDictAny.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionaryAny.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionaryAny.h" namespace tl2 { namespace cases_bytes { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testDictInt.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testDictInt.h similarity index 85% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testDictInt.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testDictInt.h index 729a8445..789e0c62 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testDictInt.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testDictInt.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionaryFieldAny.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionaryFieldAny.h" namespace tl2 { namespace cases_bytes { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testDictString.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testDictString.h similarity index 86% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testDictString.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testDictString.h index 62626ad9..c8f17039 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testDictString.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testDictString.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionary.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionary.h" namespace tl2 { namespace cases_bytes { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testDictStringString.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testDictStringString.h similarity index 86% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testDictStringString.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testDictStringString.h index 22041c59..b721c8fd 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testDictStringString.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testDictStringString.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionary.hpp" +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionary.h" namespace tl2 { namespace cases_bytes { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testEnumContainer.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testEnumContainer.h similarity index 87% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testEnumContainer.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testEnumContainer.h index e9b50422..80446fc9 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testEnumContainer.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testEnumContainer.h @@ -1,7 +1,7 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" -#include "../../cases/types/cases.TestEnum.hpp" +#include "../../../basics/basictl.h" +#include "../../cases/types/cases.TestEnum.h" namespace tl2 { namespace cases_bytes { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testTuple.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testTuple.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testTuple.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testTuple.h index 14ddaf11..96d7db35 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testTuple.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testTuple.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases_bytes { diff --git a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testVector.hpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testVector.h similarity index 93% rename from internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testVector.hpp rename to internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testVector.h index da306028..677547b3 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/cases_bytes/types/cases_bytes.testVector.hpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/types/cases_bytes.testVector.h @@ -1,6 +1,6 @@ #pragma once -#include "../../a_tlgen_helpers_code.hpp" +#include "../../../basics/basictl.h" namespace tl2 { namespace cases_bytes { diff --git a/internal/tlcodegen/test/gen/schema_cpp/basics/basictl.cpp b/internal/tlcodegen/test/gen/schema_cpp/basics/basictl.cpp new file mode 100644 index 00000000..497da76c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/basics/basictl.cpp @@ -0,0 +1,332 @@ +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +#include "basictl.h" + +#define TLGEN2_UNLIKELY(x) \ + (x) // __builtin_expect((x), 0) // could improve performance on your platform +#define TLGEN2_NOINLINE // __attribute__ ((noinline)) // could improve performance on your platform + +namespace basictl { + + tl_istream::tl_istream(tl_istream_interface *provider) : provider(provider) {} + + tl_istream::~tl_istream() { + this->last_release(); + } + + bool tl_istream::nat_read(uint32_t &value) { return fetch_data(&value, 4); } + + bool tl_istream::nat_read_exact_tag(uint32_t tag) { + uint32_t actual_tag = 0; + if (TLGEN2_UNLIKELY(!nat_read(actual_tag))) { + return false; + } + if (TLGEN2_UNLIKELY(tag != actual_tag)) { + return set_error_expected_tag(); + } + return true; + } + + bool tl_istream::int_read(int32_t &value) { return fetch_data(&value, 4); } + + bool tl_istream::long_read(int64_t &value) { return fetch_data(&value, 8); } + + bool tl_istream::float_read(float &value) { return fetch_data(&value, 4); } + + bool tl_istream::double_read(double &value) { return fetch_data(&value, 8); } + + bool tl_istream::bool_read(bool &value, uint32_t f, uint32_t t) { + uint32_t tag = 0; + if (TLGEN2_UNLIKELY(!nat_read(tag))) { + return false; + } + if (tag == t) { + value = true; + return true; + } + if (TLGEN2_UNLIKELY(tag != f)) { + set_error_bool_tag(); + } + value = false; + return true; + } + + bool tl_istream::string_read(std::string &value) { + if (TLGEN2_UNLIKELY(!ensure_byte())) { + return false; + } + auto len = size_t(static_cast(*ptr)); + if (TLGEN2_UNLIKELY(len >= TL_BIG_STRING_MARKER)) { + if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_MARKER)) { + return set_error("TODO - huge string"); + } + uint32_t len32 = 0; + if (TLGEN2_UNLIKELY(!nat_read(len32))) { + return false; + } + len = len32 >> 8U; + value.clear(); + if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { + return false; + } + if (TLGEN2_UNLIKELY(!fetch_pad((-len) & 3))) { + return false; + } + return true; + } + auto pad = ((-(len + 1)) & 3); + auto fullLen = 1 + len + pad; + if (TLGEN2_UNLIKELY(ptr + fullLen > end_block)) { + ptr += 1; + value.clear(); + if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { + return false; + } + if (TLGEN2_UNLIKELY(!fetch_pad(pad))) { + return false; + } + return true; + } + // fast path for short strings that fully fit in buffer + uint32_t x = 0; + std::memcpy(&x, ptr + fullLen - 4, 4); + if (TLGEN2_UNLIKELY((x & ~(0xFFFFFFFFU >> (8 * pad))) != 0)) { + return set_error_string_padding(); + } + value.assign(ptr + 1, len); + ptr += fullLen; + return true; + } + + void tl_istream::last_release() { + provider->release_buffer(ptr - start_block); + start_block = ptr; + } + + bool tl_istream::has_error() { + return hasError; + } + + bool tl_istream::set_error(const char *e) { + hasError = true; + return false; + } // TODO - set error field + + bool tl_istream::set_error_eof() { return set_error("EOF"); } + + bool tl_istream::set_error_sequence_length() { return set_error("sequence_length"); } + + bool tl_istream::set_error_string_padding() { return set_error("string_padding"); } + + bool tl_istream::set_error_bool_tag() { return set_error("bool_tag"); } + + bool tl_istream::set_error_expected_tag() { return set_error("expected_tag"); } + + bool tl_istream::set_error_union_tag() { return set_error("union_tag"); } + + void tl_istream::grow_buffer() { + ptr = end_block; + provider->release_buffer(ptr - start_block); + auto new_buffer = provider->get_buffer(); + ptr = reinterpret_cast(new_buffer.data()); + start_block = ptr; + end_block = ptr + new_buffer.size(); + } + + bool tl_istream::ensure_byte() { + if (TLGEN2_UNLIKELY(ptr >= end_block)) { + // assert(ptr <= end) + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + return true; + } + + bool tl_istream::fetch_data(void *vdata, size_t size) { + char *data = reinterpret_cast(vdata); + if (TLGEN2_UNLIKELY(ptr + size > end_block)) { + return fetch_data2(vdata, size); + } + std::memcpy(data, ptr, size); + ptr += size; + return true; + } + + bool tl_istream::fetch_data2(void *vdata, size_t size) { + char *data = reinterpret_cast(vdata); + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + std::memcpy(data, ptr, end_block - ptr); + data += end_block - ptr; + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + std::memcpy(data, ptr, size); + ptr += size; + return true; + } + + bool tl_istream::fetch_data_append(std::string &value, size_t size) { + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + value.append(ptr, end_block - ptr); + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + value.append(ptr, size); + ptr += size; + return true; + } + + bool tl_istream::fetch_pad(size_t len) { + uint32_t x = 0; + if (TLGEN2_UNLIKELY(!fetch_data(&x, len))) { + return false; + } + if (TLGEN2_UNLIKELY(x != 0)) { + return set_error_string_padding(); + } + return true; + } + + + tl_ostream::tl_ostream(tl_ostream_interface *provider) { + this->provider = provider; + } + + tl_ostream::~tl_ostream() { + this->last_release(); + } + + bool tl_ostream::nat_write(uint32_t value) { return store_data(&value, 4); } + + bool tl_ostream::int_write(int32_t value) { return store_data(&value, 4); } + + bool tl_ostream::long_write(int64_t value) { return store_data(&value, 8); } + + bool tl_ostream::float_write(float value) { return store_data(&value, 4); } + + bool tl_ostream::double_write(double value) { return store_data(&value, 8); } + + bool tl_ostream::string_write(const std::string &value) { + auto len = value.size(); + if (TLGEN2_UNLIKELY(len > TL_MAX_TINY_STRING_LEN)) { + if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_LEN)) { + return set_error("TODO - huge string"); + } + uint32_t p = (len << 8U) | TL_BIG_STRING_MARKER; + if (TLGEN2_UNLIKELY(!store_data(&p, 4))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_pad((-len) & 3))) { + return false; + } + return true; + } + auto pad = ((-(len + 1)) & 3); + auto fullLen = 1 + len + pad; + if (TLGEN2_UNLIKELY(ptr + fullLen > end_block)) { + auto p = static_cast(len); + if (TLGEN2_UNLIKELY(!store_data(&p, 1))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { + return false; + } + if (TLGEN2_UNLIKELY(!store_pad(pad))) { + return false; + } + return true; + } + // fast path for short strings that fully fit in buffer + uint32_t x = 0; + std::memcpy(ptr + fullLen - 4, &x, 4); // padding first + *ptr = static_cast(len); + std::memcpy(ptr + 1, value.data(), len); + ptr += fullLen; + return true; + } + + void tl_ostream::last_release() { + provider->release_buffer(ptr - start_block); + start_block = ptr; + } + + bool tl_ostream::has_error() { + return hasError; + } + + bool tl_ostream::set_error(const char *e) { + hasError = true; + return false; + } // TODO - set error field + + bool tl_ostream::set_error_eof() { return set_error("EOF"); } + + bool tl_ostream::set_error_sequence_length() { return set_error("sequence_length"); } + + void tl_ostream::grow_buffer() { + ptr = end_block; + provider->release_buffer(ptr - start_block); + auto new_buffer = provider->get_buffer(); + ptr = reinterpret_cast(new_buffer.data()); + start_block = ptr; + end_block = ptr + new_buffer.size(); + } + + bool tl_ostream::store_data(const void *vdata, size_t size) { + const char *data = reinterpret_cast(vdata); + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + std::memcpy(ptr, data, end_block - ptr); + data += end_block - ptr; + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + std::memcpy(ptr, data, size); + ptr += size; + return true; + } + + bool tl_ostream::store_pad(size_t size) { + for (; TLGEN2_UNLIKELY(ptr + size > end_block);) { + // assert(ptr <= end) + std::memset(ptr, 0, end_block - ptr); + size -= end_block - ptr; + grow_buffer(); + // assert(ptr <= end) + if (TLGEN2_UNLIKELY(ptr == end_block)) { + return set_error_eof(); + } + } + if (size != 0) { + ptr[0] = 0; + ptr[size - 1] = 0; + ptr[size / 2] = 0; + ptr += size; + } + return true; + } + +} // namespace basictl + + +#undef TLGEN2_NOINLINE +#undef TLGEN2_UNLIKELY diff --git a/internal/tlcodegen/test/gen/schema_cpp/basics/basictl.h b/internal/tlcodegen/test/gen/schema_cpp/basics/basictl.h new file mode 100644 index 00000000..d4c8a7d6 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/basics/basictl.h @@ -0,0 +1,129 @@ +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace basictl { + + enum { + TL_MAX_TINY_STRING_LEN = 253, + TL_BIG_STRING_LEN = 0xffffff, + TL_BIG_STRING_MARKER = 0xfe, + }; + + class tl_istream_interface { + public: + virtual ~tl_istream_interface() = default; + + virtual std::span get_buffer() = 0; + virtual void release_buffer(size_t size) = 0; + }; + + class tl_ostream_interface { + public: + virtual ~tl_ostream_interface() = default; + + virtual std::span get_buffer() = 0; + virtual void release_buffer(size_t size) = 0; + }; + + class tl_istream { + public: + explicit tl_istream(tl_istream_interface* provider); + tl_istream(const tl_istream&) = delete; + tl_istream& operator=(const tl_istream&) = delete; + + tl_istream(tl_istream&&) = delete; + tl_istream& operator=(tl_istream&&) = delete; + + ~tl_istream(); + + bool nat_read(uint32_t& value); + bool nat_read_exact_tag(uint32_t tag); + bool int_read(int32_t& value); + bool long_read(int64_t& value); + bool float_read(float& value); + bool double_read(double& value); + bool bool_read(bool& value, uint32_t f, uint32_t t); + bool string_read(std::string& value); + + void last_release(); + + bool has_error(); + + bool set_error(const char* e); + bool set_error_eof(); + bool set_error_sequence_length(); + bool set_error_string_padding(); + bool set_error_bool_tag(); + bool set_error_expected_tag(); + bool set_error_union_tag(); + + protected: + tl_istream_interface* provider; + + bool hasError = false; + const char* start_block{}; + const char* ptr{}; + const char* end_block{}; + private: + void grow_buffer(); + + bool ensure_byte(); + + bool fetch_data(void* vdata, size_t size); + bool fetch_data2(void* vdata, size_t size); + bool fetch_data_append(std::string& value, size_t size); + bool fetch_pad(size_t len); + }; + + class tl_ostream { + public: + explicit tl_ostream(tl_ostream_interface* provider); + tl_ostream(const tl_ostream&) = delete; + tl_ostream& operator=(const tl_ostream&) = delete; + + tl_ostream(tl_ostream&&) = delete; + tl_ostream& operator=(tl_ostream&&) = delete; + + ~tl_ostream(); + + bool nat_write(uint32_t value); + bool int_write(int32_t value); + bool long_write(int64_t value); + bool float_write(float value); + bool double_write(double value); + bool string_write(const std::string& value); + + void last_release(); + + bool has_error(); + bool set_error(const char* e); + bool set_error_eof(); + bool set_error_sequence_length(); + protected: + tl_ostream_interface* provider; + + bool hasError = false; + char* start_block{}; + char* ptr{}; + char* end_block{}; + private: + void grow_buffer(); + bool store_data(const void* vdata, size_t size); + bool store_pad(size_t size); + }; + +} // namespace basictl + diff --git a/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.cpp b/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.cpp new file mode 100644 index 00000000..d36c6165 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.cpp @@ -0,0 +1,33 @@ + +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +#include "basictl.h" +#include "string_io.h" + +namespace basictl { + std::span tl_istream_string::get_buffer() { + return {reinterpret_cast(buffer.data()) + used_size, buffer.size() - used_size}; + } + + void tl_istream_string::release_buffer(size_t size) { + used_size += size; + } + + std::span tl_istream_string::used_buffer() { + return {reinterpret_cast(buffer.data()), used_size}; + } + + std::span tl_ostream_string::get_buffer() { + return {reinterpret_cast(buffer.data()) + used_size, buffer.size() - used_size}; + } + + void tl_ostream_string::release_buffer(size_t size) { + used_size += size; + if (used_size == buffer.size()) { + buffer.resize(buffer.size() * 3 / 2 + 1024); + } + } + + std::span tl_ostream_string::used_buffer() { + return {reinterpret_cast(buffer.data()), used_size}; + } +} \ No newline at end of file diff --git a/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.h b/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.h new file mode 100644 index 00000000..09b525ba --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.h @@ -0,0 +1,32 @@ + +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +#pragma once +#include "basictl.h" + +namespace basictl { + class tl_istream_string : public tl_istream_interface { + public: + explicit tl_istream_string(const std::string & buffer) : buffer(buffer) {} + + std::span get_buffer() override; + void release_buffer(size_t size) override; + + std::span used_buffer(); + private: + const std::string & buffer; + size_t used_size = 0; + }; + + class tl_ostream_string : public tl_ostream_interface { + public: + explicit tl_ostream_string(std::string & buffer) : buffer(buffer) {} + + std::span get_buffer() override; + void release_buffer(size_t size) override; + + std::span used_buffer(); + private: + std::string & buffer; + size_t used_size = 0; + }; +}; \ No newline at end of file diff --git a/internal/tlcodegen/test/gen/schema_cpp/factory/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/factory/details.cpp new file mode 100644 index 00000000..fbec1cba --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/factory/details.cpp @@ -0,0 +1,3239 @@ +#include "../meta/headers.h" +#include "headers.h" + +#include "../tl/__common_namespace/types/withFloat.h" +#include "../tl/__common_namespace/types/vector.h" +#include "../tl/unique/functions/unique.stringToInt.h" +#include "../tl/unique/functions/unique.get.h" +#include "../tl/__common_namespace/types/tuple.h" +#include "../tl/tree_stats/types/tree_stats.objectLimitValueLong.h" +#include "../tl/tasks/types/tasks.TaskStatusItems.h" +#include "../tl/tasks/types/tasks.taskInfo.h" +#include "../tl/tasks/types/tasks.queueTypeInfo.h" +#include "../tl/tasks/types/tasks.queueTypeSettings.h" +#include "../tl/tasks/types/tasks.queueStats.h" +#include "../tl/tasks/functions/tasks.getTaskFromQueue.h" +#include "../tl/tasks/functions/tasks.getQueueTypes.h" +#include "../tl/tasks/functions/tasks.getQueueSize.h" +#include "../tl/tasks/functions/tasks.getAnyTask.h" +#include "../tl/tasks/types/tasks.cronTaskWithId.h" +#include "../tl/tasks/types/tasks.cronTask.h" +#include "../tl/tasks/types/tasks.cronTime.h" +#include "../tl/tasks/functions/tasks.addTask.h" +#include "../tl/tasks/types/tasks.task.h" +#include "../tl/__common_namespace/types/string.h" +#include "../tl/__common_namespace/types/statOne.h" +#include "../tl/service6/functions/service6.multiFindWithBounds.h" +#include "../tl/service6/functions/service6.multiFind.h" +#include "../tl/service6/types/service6.findWithBoundsResult.h" +#include "../tl/service5/functions/service5.query.h" +#include "../tl/service5/functions/service5.performQuery.h" +#include "../tl/service5/types/service5.params.h" +#include "../tl/service5/types/service5.Output.h" +#include "../tl/service5/types/service5.stringOutput.h" +#include "../tl/service5/functions/service5.insert.h" +#include "../tl/service5/types/service5.emptyOutput.h" +#include "../tl/service4/types/service4.modifiedNewsEntry.h" +#include "../tl/service4/types/service4.object.h" +#include "../tl/service3/functions/service3.setLimits.h" +#include "../tl/service3/functions/service3.setLastVisitTimestamp.h" +#include "../tl/service3/functions/service3.restoreProduct.h" +#include "../tl/service3/functions/service3.restoreGroupedProducts.h" +#include "../tl/service3/functions/service3.restoreAllProducts.h" +#include "../tl/service3/types/service3.productStatsOld.h" +#include "../tl/service3/types/service3.limits.h" +#include "../tl/service3/types/service3.groupSizeLimit.h" +#include "../tl/service3/types/service3.groupCountLimit.h" +#include "../tl/service3/functions/service3.getScheduledProducts.h" +#include "../tl/service3/functions/service3.getProducts.h" +#include "../tl/service3/functions/service3.getProductStats.h" +#include "../tl/service3/functions/service3.getLimits.h" +#include "../tl/service3/functions/service3.getLastVisitTimestamp.h" +#include "../tl/service3/functions/service3.deleteProduct.h" +#include "../tl/service3/functions/service3.deleteGroupedProducts.h" +#include "../tl/service3/functions/service3.deleteAllProducts.h" +#include "../tl/service3/functions/service3.createProduct.h" +#include "../tl/service2/functions/service2.setObjectTtl.h" +#include "../tl/service2/functions/service2.set.h" +#include "../tl/service2/functions/service2.addOrIncrMany.h" +#include "../tl/service1/functions/service1.touch.h" +#include "../tl/service1/functions/service1.setOrIncr.h" +#include "../tl/service1/functions/service1.set.h" +#include "../tl/service1/functions/service1.replaceOrIncr.h" +#include "../tl/service1/functions/service1.replace.h" +#include "../tl/service1/types/service1.keysStat.h" +#include "../tl/service1/functions/service1.incr.h" +#include "../tl/service1/functions/service1.getWildcardWithFlags.h" +#include "../tl/service1/functions/service1.getWildcardList.h" +#include "../tl/service1/functions/service1.getWildcardDict.h" +#include "../tl/service1/functions/service1.getWildcard.h" +#include "../tl/service1/functions/service1.getKeysStatPeriods.h" +#include "../tl/service1/functions/service1.getKeysStat.h" +#include "../tl/service1/functions/service1.getExpireTime.h" +#include "../tl/service1/functions/service1.get.h" +#include "../tl/service1/functions/service1.exists.h" +#include "../tl/service1/functions/service1.enableKeysStat.h" +#include "../tl/service1/functions/service1.enableExpiration.h" +#include "../tl/service1/functions/service1.disableKeysStat.h" +#include "../tl/service1/functions/service1.disableExpiration.h" +#include "../tl/service1/functions/service1.delete.h" +#include "../tl/service1/functions/service1.decr.h" +#include "../tl/service1/functions/service1.cas.h" +#include "../tl/service1/functions/service1.append.h" +#include "../tl/service1/functions/service1.addOrIncr.h" +#include "../tl/service1/functions/service1.addOrGet.h" +#include "../tl/service1/functions/service1.add.h" +#include "../tl/__common_namespace/types/rpcInvokeReqExtra.h" +#include "../tl/__common_namespace/types/true.h" +#include "../tl/pkg2/types/pkg2.t1.h" +#include "../tl/pkg2/types/pkg2.foo.h" +#include "../tl/__common_namespace/types/nonOptNat.h" +#include "../tl/__common_namespace/types/myTwoDicts.h" +#include "../tl/__common_namespace/types/myMcValueVector.h" +#include "../tl/__common_namespace/types/myMcValueTuple.h" +#include "../tl/__common_namespace/types/myMcValue.h" +#include "../tl/__common_namespace/types/myBoxedVectorSlice.h" +#include "../tl/__common_namespace/types/long.h" +#include "../tl/__common_namespace/types/issue3498.h" +#include "../tl/service6/types/service6.findResultRow.h" +#include "../tl/service6/types/service6.error.h" +#include "../tl/__common_namespace/types/int.h" +#include "../tl/__common_namespace/functions/getStats.h" +#include "../tl/tasks/types/tasks.queueTypeStats.h" +#include "../tl/__common_namespace/functions/getNonOptNat.h" +#include "../tl/__common_namespace/functions/getMyValue.h" +#include "../tl/__common_namespace/types/MyValue.h" +#include "../tl/__common_namespace/types/myString.h" +#include "../tl/__common_namespace/types/myInt.h" +#include "../tl/__common_namespace/functions/getMyDouble.h" +#include "../tl/__common_namespace/types/myDouble.h" +#include "../tl/__common_namespace/functions/getMyDictOfInt.h" +#include "../tl/__common_namespace/types/myDictOfInt.h" +#include "../tl/__common_namespace/functions/getMaybeIface.h" +#include "../tl/service1/types/service1.Value.h" +#include "../tl/service1/types/service1.strvalueWithTime.h" +#include "../tl/service1/types/service1.strvalue.h" +#include "../tl/service1/types/service1.not_found.h" +#include "../tl/service1/types/service1.longvalueWithTime.h" +#include "../tl/service1/types/service1.longvalue.h" +#include "../tl/__common_namespace/functions/getFloat.h" +#include "../tl/__common_namespace/functions/getDouble.h" +#include "../tl/__common_namespace/functions/get_arrays.h" +#include "../tl/__common_namespace/types/float.h" +#include "../tl/__common_namespace/types/fieldConflict4.h" +#include "../tl/__common_namespace/types/fieldConflict3.h" +#include "../tl/__common_namespace/types/fieldConflict2.h" +#include "../tl/__common_namespace/types/fieldConflict1.h" +#include "../tl/__common_namespace/types/double.h" +#include "../tl/__common_namespace/types/dictionary.h" +#include "../tl/__common_namespace/functions/boxedVector64.h" +#include "../tl/__common_namespace/functions/boxedVector32BoxedElem.h" +#include "../tl/__common_namespace/functions/boxedVector32.h" +#include "../tl/__common_namespace/functions/boxedTupleSlice3.h" +#include "../tl/__common_namespace/functions/boxedTupleSlice2.h" +#include "../tl/__common_namespace/types/myBoxedTupleSlice.h" +#include "../tl/__common_namespace/functions/boxedTupleSlice1.h" +#include "../tl/__common_namespace/functions/boxedTuple.h" +#include "../tl/__common_namespace/functions/boxedString.h" +#include "../tl/__common_namespace/functions/boxedInt.h" +#include "../tl/__common_namespace/functions/boxedArray.h" +#include "../tl/__common_namespace/types/myBoxedArray.h" +#include "../tl/__common_namespace/types/boolStat.h" +#include "../tl/__common_namespace/types/Bool.h" +#include "../tl/__common_namespace/types/benchObject.h" +#include "../tl/__common_namespace/types/integer.h" +#include "../tl/antispam/types/antispam.PatternFull.h" +#include "../tl/antispam/types/antispam.patternNotFound.h" +#include "../tl/antispam/types/antispam.patternFound.h" +#include "../tl/antispam/functions/antispam.getPattern.h" + +void tl2::factory::set_all_factories() { + + struct tl2_antispam_GetPattern_tl_function : public tl2::meta::tl_function { + tl2::antispam::GetPattern object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::antispam::PatternFull result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("antispam.getPattern", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("antispam.getPattern", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_antispam_PatternFound_tl_object : public tl2::meta::tl_object { + tl2::antispam::PatternFound object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("antispam.patternFound", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_antispam_PatternNotFound_tl_object : public tl2::meta::tl_object { + tl2::antispam::PatternNotFound object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("antispam.patternNotFound", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_BenchObject_tl_object : public tl2::meta::tl_object { + tl2::BenchObject object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("benchObject", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_BoolStat_tl_object : public tl2::meta::tl_object { + tl2::BoolStat object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("boolStat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_BoxedArray_tl_function : public tl2::meta::tl_function { + tl2::BoxedArray object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::MyBoxedArray result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("boxedArray", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("boxedArray", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_BoxedInt_tl_function : public tl2::meta::tl_function { + tl2::BoxedInt object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + int32_t result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("boxedInt", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("boxedInt", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_BoxedString_tl_function : public tl2::meta::tl_function { + tl2::BoxedString object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::string result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("boxedString", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("boxedString", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_BoxedTuple_tl_function : public tl2::meta::tl_function { + tl2::BoxedTuple object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::array result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("boxedTuple", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("boxedTuple", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_BoxedTupleSlice1_tl_function : public tl2::meta::tl_function { + tl2::BoxedTupleSlice1 object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("boxedTupleSlice1", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("boxedTupleSlice1", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_BoxedTupleSlice2_tl_function : public tl2::meta::tl_function { + tl2::BoxedTupleSlice2 object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::MyBoxedTupleSlice result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("boxedTupleSlice2", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("boxedTupleSlice2", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_BoxedTupleSlice3_tl_function : public tl2::meta::tl_function { + tl2::BoxedTupleSlice3 object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("boxedTupleSlice3", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("boxedTupleSlice3", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_BoxedVector32_tl_function : public tl2::meta::tl_function { + tl2::BoxedVector32 object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("boxedVector32", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("boxedVector32", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_BoxedVector32BoxedElem_tl_function : public tl2::meta::tl_function { + tl2::BoxedVector32BoxedElem object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("boxedVector32BoxedElem", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("boxedVector32BoxedElem", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_BoxedVector64_tl_function : public tl2::meta::tl_function { + tl2::BoxedVector64 object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("boxedVector64", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("boxedVector64", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_FieldConflict1_tl_object : public tl2::meta::tl_object { + tl2::FieldConflict1 object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("fieldConflict1", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_FieldConflict2_tl_object : public tl2::meta::tl_object { + tl2::FieldConflict2 object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("fieldConflict2", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_FieldConflict3_tl_object : public tl2::meta::tl_object { + tl2::FieldConflict3 object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("fieldConflict3", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_FieldConflict4_tl_object : public tl2::meta::tl_object { + tl2::FieldConflict4 object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("fieldConflict4", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_Get_arrays_tl_function : public tl2::meta::tl_function { + tl2::Get_arrays object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::array result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("get_arrays", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("get_arrays", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_GetDouble_tl_function : public tl2::meta::tl_function { + tl2::GetDouble object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + double result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("getDouble", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("getDouble", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_GetFloat_tl_function : public tl2::meta::tl_function { + tl2::GetFloat object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + float result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("getFloat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("getFloat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_GetMaybeIface_tl_function : public tl2::meta::tl_function { + tl2::GetMaybeIface object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::optional<::tl2::service1::Value> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("getMaybeIface", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("getMaybeIface", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_GetMyDictOfInt_tl_function : public tl2::meta::tl_function { + tl2::GetMyDictOfInt object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::MyDictOfInt result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("getMyDictOfInt", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("getMyDictOfInt", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_GetMyDouble_tl_function : public tl2::meta::tl_function { + tl2::GetMyDouble object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::MyDouble result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("getMyDouble", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("getMyDouble", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_GetMyValue_tl_function : public tl2::meta::tl_function { + tl2::GetMyValue object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::MyValue result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("getMyValue", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("getMyValue", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_GetNonOptNat_tl_function : public tl2::meta::tl_function { + tl2::GetNonOptNat object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("getNonOptNat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("getNonOptNat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_GetStats_tl_function : public tl2::meta::tl_function { + tl2::GetStats object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::tasks::QueueTypeStats result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("getStats", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("getStats", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_Integer_tl_object : public tl2::meta::tl_object { + tl2::Integer object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("integer", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_Issue3498_tl_object : public tl2::meta::tl_object { + tl2::Issue3498 object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("issue3498", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_MyBoxedArray_tl_object : public tl2::meta::tl_object { + tl2::MyBoxedArray object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("myBoxedArray", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_MyBoxedTupleSlice_tl_object : public tl2::meta::tl_object { + tl2::MyBoxedTupleSlice object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("myBoxedTupleSlice", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_MyBoxedVectorSlice_tl_object : public tl2::meta::tl_object { + tl2::MyBoxedVectorSlice object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("myBoxedVectorSlice", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_MyInt_tl_object : public tl2::meta::tl_object { + tl2::MyInt object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("myInt", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_MyMcValue_tl_object : public tl2::meta::tl_object { + tl2::MyMcValue object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("myMcValue", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_MyMcValueTuple_tl_object : public tl2::meta::tl_object { + tl2::MyMcValueTuple object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("myMcValueTuple", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_MyMcValueVector_tl_object : public tl2::meta::tl_object { + tl2::MyMcValueVector object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("myMcValueVector", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_MyString_tl_object : public tl2::meta::tl_object { + tl2::MyString object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("myString", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_MyTwoDicts_tl_object : public tl2::meta::tl_object { + tl2::MyTwoDicts object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("myTwoDicts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_NonOptNat_tl_object : public tl2::meta::tl_object { + tl2::NonOptNat object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("nonOptNat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_pkg2_Foo_tl_object : public tl2::meta::tl_object { + tl2::pkg2::Foo object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("pkg2.foo", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_pkg2_T1_tl_object : public tl2::meta::tl_object { + tl2::pkg2::T1 object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("pkg2.t1", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_RpcInvokeReqExtra_tl_object : public tl2::meta::tl_object { + tl2::RpcInvokeReqExtra object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("rpcInvokeReqExtra", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Add_tl_function : public tl2::meta::tl_function { + tl2::service1::Add object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.add", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.add", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_AddOrGet_tl_function : public tl2::meta::tl_function { + tl2::service1::AddOrGet object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::service1::Value result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.addOrGet", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.addOrGet", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_AddOrIncr_tl_function : public tl2::meta::tl_function { + tl2::service1::AddOrIncr object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::service1::Value result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.addOrIncr", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.addOrIncr", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Append_tl_function : public tl2::meta::tl_function { + tl2::service1::Append object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.append", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.append", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Cas_tl_function : public tl2::meta::tl_function { + tl2::service1::Cas object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.cas", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.cas", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Decr_tl_function : public tl2::meta::tl_function { + tl2::service1::Decr object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::service1::Value result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.decr", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.decr", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Delete_tl_function : public tl2::meta::tl_function { + tl2::service1::Delete object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.delete", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.delete", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_DisableExpiration_tl_function : public tl2::meta::tl_function { + tl2::service1::DisableExpiration object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.disableExpiration", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.disableExpiration", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_DisableKeysStat_tl_function : public tl2::meta::tl_function { + tl2::service1::DisableKeysStat object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.disableKeysStat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.disableKeysStat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_EnableExpiration_tl_function : public tl2::meta::tl_function { + tl2::service1::EnableExpiration object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.enableExpiration", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.enableExpiration", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_EnableKeysStat_tl_function : public tl2::meta::tl_function { + tl2::service1::EnableKeysStat object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.enableKeysStat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.enableKeysStat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Exists_tl_function : public tl2::meta::tl_function { + tl2::service1::Exists object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.exists", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.exists", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Get_tl_function : public tl2::meta::tl_function { + tl2::service1::Get object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::service1::Value result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.get", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.get", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_GetExpireTime_tl_function : public tl2::meta::tl_function { + tl2::service1::GetExpireTime object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::optional result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.getExpireTime", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.getExpireTime", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_GetKeysStat_tl_function : public tl2::meta::tl_function { + tl2::service1::GetKeysStat object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::optional<::tl2::service1::KeysStat> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.getKeysStat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.getKeysStat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_GetKeysStatPeriods_tl_function : public tl2::meta::tl_function { + tl2::service1::GetKeysStatPeriods object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.getKeysStatPeriods", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.getKeysStatPeriods", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_GetWildcard_tl_function : public tl2::meta::tl_function { + tl2::service1::GetWildcard object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector<::tl2::Map> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.getWildcard", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.getWildcard", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_GetWildcardDict_tl_function : public tl2::meta::tl_function { + tl2::service1::GetWildcardDict object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::Dictionary result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.getWildcardDict", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.getWildcardDict", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_GetWildcardList_tl_function : public tl2::meta::tl_function { + tl2::service1::GetWildcardList object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.getWildcardList", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.getWildcardList", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_GetWildcardWithFlags_tl_function : public tl2::meta::tl_function { + tl2::service1::GetWildcardWithFlags object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::Dictionary<::tl2::service1::Value> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.getWildcardWithFlags", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.getWildcardWithFlags", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Incr_tl_function : public tl2::meta::tl_function { + tl2::service1::Incr object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::service1::Value result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.incr", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.incr", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_KeysStat_tl_object : public tl2::meta::tl_object { + tl2::service1::KeysStat object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service1.keysStat", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Longvalue_tl_object : public tl2::meta::tl_object { + tl2::service1::Longvalue object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service1.longvalue", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_LongvalueWithTime_tl_object : public tl2::meta::tl_object { + tl2::service1::LongvalueWithTime object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service1.longvalueWithTime", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Not_found_tl_object : public tl2::meta::tl_object { + tl2::service1::Not_found object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service1.not_found", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Replace_tl_function : public tl2::meta::tl_function { + tl2::service1::Replace object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.replace", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.replace", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_ReplaceOrIncr_tl_function : public tl2::meta::tl_function { + tl2::service1::ReplaceOrIncr object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::service1::Value result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.replaceOrIncr", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.replaceOrIncr", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Set_tl_function : public tl2::meta::tl_function { + tl2::service1::Set object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.set", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.set", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_SetOrIncr_tl_function : public tl2::meta::tl_function { + tl2::service1::SetOrIncr object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::service1::Value result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.setOrIncr", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.setOrIncr", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Strvalue_tl_object : public tl2::meta::tl_object { + tl2::service1::Strvalue object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service1.strvalue", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_StrvalueWithTime_tl_object : public tl2::meta::tl_object { + tl2::service1::StrvalueWithTime object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service1.strvalueWithTime", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service1_Touch_tl_function : public tl2::meta::tl_function { + tl2::service1::Touch object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service1.touch", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service1.touch", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service2_AddOrIncrMany_tl_function : public tl2::meta::tl_function { + tl2::service2::AddOrIncrMany object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector<::tl2::service2::CounterSet> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service2.addOrIncrMany", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service2.addOrIncrMany", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service2_Set_tl_function : public tl2::meta::tl_function { + tl2::service2::Set object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::True result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service2.set", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service2.set", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service2_SetObjectTtl_tl_function : public tl2::meta::tl_function { + tl2::service2::SetObjectTtl object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::True result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service2.setObjectTtl", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service2.setObjectTtl", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_CreateProduct_tl_function : public tl2::meta::tl_function { + tl2::service3::CreateProduct object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.createProduct", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.createProduct", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_DeleteAllProducts_tl_function : public tl2::meta::tl_function { + tl2::service3::DeleteAllProducts object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.deleteAllProducts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.deleteAllProducts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_DeleteGroupedProducts_tl_function : public tl2::meta::tl_function { + tl2::service3::DeleteGroupedProducts object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.deleteGroupedProducts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.deleteGroupedProducts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_DeleteProduct_tl_function : public tl2::meta::tl_function { + tl2::service3::DeleteProduct object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.deleteProduct", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.deleteProduct", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_GetLastVisitTimestamp_tl_function : public tl2::meta::tl_function { + tl2::service3::GetLastVisitTimestamp object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::optional result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.getLastVisitTimestamp", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.getLastVisitTimestamp", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_GetLimits_tl_function : public tl2::meta::tl_function { + tl2::service3::GetLimits object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::service3::Limits result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.getLimits", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.getLimits", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_GetProductStats_tl_function : public tl2::meta::tl_function { + tl2::service3::GetProductStats object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::optional> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.getProductStats", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.getProductStats", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_GetProducts_tl_function : public tl2::meta::tl_function { + tl2::service3::GetProducts object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::optional> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.getProducts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.getProducts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_GetScheduledProducts_tl_function : public tl2::meta::tl_function { + tl2::service3::GetScheduledProducts object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::optional>> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.getScheduledProducts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.getScheduledProducts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_GroupCountLimit_tl_object : public tl2::meta::tl_object { + tl2::service3::GroupCountLimit object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service3.groupCountLimit", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_GroupSizeLimit_tl_object : public tl2::meta::tl_object { + tl2::service3::GroupSizeLimit object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service3.groupSizeLimit", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_Limits_tl_object : public tl2::meta::tl_object { + tl2::service3::Limits object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service3.limits", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_ProductStatsOld_tl_object : public tl2::meta::tl_object { + tl2::service3::ProductStatsOld object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service3.productStatsOld", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_RestoreAllProducts_tl_function : public tl2::meta::tl_function { + tl2::service3::RestoreAllProducts object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.restoreAllProducts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.restoreAllProducts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_RestoreGroupedProducts_tl_function : public tl2::meta::tl_function { + tl2::service3::RestoreGroupedProducts object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.restoreGroupedProducts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.restoreGroupedProducts", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_RestoreProduct_tl_function : public tl2::meta::tl_function { + tl2::service3::RestoreProduct object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.restoreProduct", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.restoreProduct", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_SetLastVisitTimestamp_tl_function : public tl2::meta::tl_function { + tl2::service3::SetLastVisitTimestamp object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + bool result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.setLastVisitTimestamp", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.setLastVisitTimestamp", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service3_SetLimits_tl_function : public tl2::meta::tl_function { + tl2::service3::SetLimits object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::BoolStat result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service3.setLimits", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service3.setLimits", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service4_ModifiedNewsEntry_tl_object : public tl2::meta::tl_object { + tl2::service4::ModifiedNewsEntry object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service4.modifiedNewsEntry", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service4_Object_tl_object : public tl2::meta::tl_object { + tl2::service4::Object object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service4.object", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service5_EmptyOutput_tl_object : public tl2::meta::tl_object { + tl2::service5::EmptyOutput object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service5.emptyOutput", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service5_Insert_tl_function : public tl2::meta::tl_function { + tl2::service5::Insert object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::service5::Output result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service5.insert", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service5.insert", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service5_Params_tl_object : public tl2::meta::tl_object { + tl2::service5::Params object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service5.params", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service5_PerformQuery_tl_function : public tl2::meta::tl_function { + tl2::service5::PerformQuery object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::service5::Output result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service5.performQuery", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service5.performQuery", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service5_Query_tl_function : public tl2::meta::tl_function { + tl2::service5::Query object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::service5::Output result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service5.query", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service5.query", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service5_StringOutput_tl_object : public tl2::meta::tl_object { + tl2::service5::StringOutput object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service5.stringOutput", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service6_Error_tl_object : public tl2::meta::tl_object { + tl2::service6::Error object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service6.error", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service6_FindResultRow_tl_object : public tl2::meta::tl_object { + tl2::service6::FindResultRow object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service6.findResultRow", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service6_FindWithBoundsResult_tl_object : public tl2::meta::tl_object { + tl2::service6::FindWithBoundsResult object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("service6.findWithBoundsResult", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service6_MultiFind_tl_function : public tl2::meta::tl_function { + tl2::service6::MultiFind object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service6.multiFind", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service6.multiFind", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_service6_MultiFindWithBounds_tl_function : public tl2::meta::tl_function { + tl2::service6::MultiFindWithBounds object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector<::tl2::Either>> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("service6.multiFindWithBounds", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("service6.multiFindWithBounds", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_StatOne_tl_object : public tl2::meta::tl_object { + tl2::StatOne object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("statOne", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_AddTask_tl_function : public tl2::meta::tl_function { + tl2::tasks::AddTask object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + int64_t result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("tasks.addTask", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("tasks.addTask", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_CronTask_tl_object : public tl2::meta::tl_object { + tl2::tasks::CronTask object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tasks.cronTask", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_CronTaskWithId_tl_object : public tl2::meta::tl_object { + tl2::tasks::CronTaskWithId object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tasks.cronTaskWithId", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_CronTime_tl_object : public tl2::meta::tl_object { + tl2::tasks::CronTime object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tasks.cronTime", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_GetAnyTask_tl_function : public tl2::meta::tl_function { + tl2::tasks::GetAnyTask object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::optional<::tl2::tasks::TaskInfo> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("tasks.getAnyTask", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("tasks.getAnyTask", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_GetQueueSize_tl_function : public tl2::meta::tl_function { + tl2::tasks::GetQueueSize object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + tl2::tasks::QueueStats result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("tasks.getQueueSize", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("tasks.getQueueSize", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_GetQueueTypes_tl_function : public tl2::meta::tl_function { + tl2::tasks::GetQueueTypes object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::vector<::tl2::tasks::QueueTypeInfo> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("tasks.getQueueTypes", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("tasks.getQueueTypes", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_GetTaskFromQueue_tl_function : public tl2::meta::tl_function { + tl2::tasks::GetTaskFromQueue object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::optional<::tl2::tasks::TaskInfo> result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("tasks.getTaskFromQueue", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("tasks.getTaskFromQueue", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_QueueTypeInfo_tl_object : public tl2::meta::tl_object { + tl2::tasks::QueueTypeInfo object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tasks.queueTypeInfo", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_QueueTypeSettings_tl_object : public tl2::meta::tl_object { + tl2::tasks::QueueTypeSettings object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tasks.queueTypeSettings", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_QueueTypeStats_tl_object : public tl2::meta::tl_object { + tl2::tasks::QueueTypeStats object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tasks.queueTypeStats", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_Task_tl_object : public tl2::meta::tl_object { + tl2::tasks::Task object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tasks.task", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_TaskInfo_tl_object : public tl2::meta::tl_object { + tl2::tasks::TaskInfo object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tasks.taskInfo", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_TaskStatusInProgress_tl_object : public tl2::meta::tl_object { + tl2::tasks::TaskStatusInProgress object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tasks.taskStatusInProgress", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_TaskStatusNotCurrentlyInEngine_tl_object : public tl2::meta::tl_object { + tl2::tasks::TaskStatusNotCurrentlyInEngine object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tasks.taskStatusNotCurrentlyInEngine", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_TaskStatusScheduled_tl_object : public tl2::meta::tl_object { + tl2::tasks::TaskStatusScheduled object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tasks.taskStatusScheduled", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tasks_TaskStatusWaiting_tl_object : public tl2::meta::tl_object { + tl2::tasks::TaskStatusWaiting object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tasks.taskStatusWaiting", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_tree_stats_ObjectLimitValueLong_tl_object : public tl2::meta::tl_object { + tl2::tree_stats::ObjectLimitValueLong object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("tree_stats.objectLimitValueLong", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_True_tl_object : public tl2::meta::tl_object { + tl2::True object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("true", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_unique_Get_tl_function : public tl2::meta::tl_function { + tl2::unique::Get object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + std::optional result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("unique.get", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("unique.get", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_unique_StringToInt_tl_function : public tl2::meta::tl_function { + tl2::unique::StringToInt object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { + int32_t result; + bool read_result = this->object.read_result(in, result); + if (!read_result) { + return false; + } + return this->object.write_result(out, result); + } + + }; + tl2::meta::set_create_object_by_name("unique.stringToInt", []() -> std::unique_ptr { + return std::make_unique(); + }); + + tl2::meta::set_create_function_by_name("unique.stringToInt", []() -> std::unique_ptr { + return std::make_unique(); + }); + + struct tl2_WithFloat_tl_object : public tl2::meta::tl_object { + tl2::WithFloat object; + + bool read(basictl::tl_istream &s) override {return object.read(s);} + bool write(basictl::tl_ostream &s) override {return object.write(s);} + + bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} + bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} + + bool write_json(std::ostream &s) override {return object.write_json(s);} + + }; + tl2::meta::set_create_object_by_name("withFloat", []() -> std::unique_ptr { + return std::make_unique(); + }); + +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/factory/headers.h b/internal/tlcodegen/test/gen/schema_cpp/factory/headers.h new file mode 100644 index 00000000..2b9f810c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/factory/headers.h @@ -0,0 +1,7 @@ + +#pragma once +namespace tl2 { + namespace factory { + void set_all_factories(); + } +} \ No newline at end of file diff --git a/internal/tlcodegen/test/gen/schema_cpp/meta/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/meta/details.cpp new file mode 100644 index 00000000..96f91f38 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/meta/details.cpp @@ -0,0 +1,491 @@ +#include "../basics/basictl.h" + +#include + +#include "headers.h" + +namespace { + struct tl_items { + public: + std::map> items; + std::map> items_by_tag; + tl_items(); + }; + + tl_items items; + std::function()> no_object_generator = []() -> std::unique_ptr { + throw std::runtime_error("no generation for this type of objects"); + }; + std::function()> no_function_generator = []() -> std::unique_ptr { + throw std::runtime_error("no generation for this type of functions"); + }; +} + +tl2::meta::tl_item tl2::meta::get_item_by_name(std::string &&s) { + auto item = items.items.find(s); + if (item != items.items.end()) { + return *item->second; + } + throw std::runtime_error("no item with such name + \"" + s + "\""); +} + +tl2::meta::tl_item tl2::meta::get_item_by_tag(std::uint32_t &&tag) { + auto item = items.items_by_tag.find(tag); + if (item != items.items_by_tag.end()) { + return *item->second; + } + throw std::runtime_error("no item with such tag + \"" + std::to_string(tag) + "\""); +} + +void tl2::meta::set_create_object_by_name(std::string &&s, std::function()>&& gen) { + auto item = items.items.find(s); + if (item != items.items.end()) { + item->second->create_object = gen; + return; + } + throw std::runtime_error("no item with such name + \"" + s + "\""); +} + +void tl2::meta::set_create_function_by_name(std::string &&s, std::function()>&& gen) { + auto item = items.items.find(s); + if (item != items.items.end()) { + item->second->create_function = gen; + return; + } + throw std::runtime_error("no item with such name + \"" + s + "\""); +} + +tl_items::tl_items() { + auto item1038172470 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x3de14136,.annotations=0x1,.name="antispam.getPattern",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["antispam.getPattern"] = item1038172470; + (this->items_by_tag)[0x3de14136] = item1038172470; + auto item2808644754 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xa7688492,.annotations=0x0,.name="antispam.patternFound",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["antispam.patternFound"] = item2808644754; + (this->items_by_tag)[0xa7688492] = item2808644754; + auto item740483621 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x2c22e225,.annotations=0x0,.name="antispam.patternNotFound",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["antispam.patternNotFound"] = item740483621; + (this->items_by_tag)[0x2c22e225] = item740483621; + auto item3063408741 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb697e865,.annotations=0x0,.name="benchObject",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["benchObject"] = item3063408741; + (this->items_by_tag)[0xb697e865] = item3063408741; + auto item2462829562 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x92cbcbfa,.annotations=0x0,.name="boolStat",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["boolStat"] = item2462829562; + (this->items_by_tag)[0x92cbcbfa] = item2462829562; + auto item2514274487 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x95dcc8b7,.annotations=0x1,.name="boxedArray",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["boxedArray"] = item2514274487; + (this->items_by_tag)[0x95dcc8b7] = item2514274487; + auto item1451813807 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5688ebaf,.annotations=0x1,.name="boxedInt",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["boxedInt"] = item1451813807; + (this->items_by_tag)[0x5688ebaf] = item1451813807; + auto item1418302683 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x548994db,.annotations=0x1,.name="boxedString",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["boxedString"] = item1418302683; + (this->items_by_tag)[0x548994db] = item1418302683; + auto item818533683 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x30c9d533,.annotations=0x1,.name="boxedTuple",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["boxedTuple"] = item818533683; + (this->items_by_tag)[0x30c9d533] = item818533683; + auto item623054144 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x25230d40,.annotations=0x1,.name="boxedTupleSlice1",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["boxedTupleSlice1"] = item623054144; + (this->items_by_tag)[0x25230d40] = item623054144; + auto item484394757 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x1cdf4705,.annotations=0x1,.name="boxedTupleSlice2",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["boxedTupleSlice2"] = item484394757; + (this->items_by_tag)[0x1cdf4705] = item484394757; + auto item2711322886 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xa19b8106,.annotations=0x1,.name="boxedTupleSlice3",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["boxedTupleSlice3"] = item2711322886; + (this->items_by_tag)[0xa19b8106] = item2711322886; + auto item3148738311 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xbbadef07,.annotations=0x1,.name="boxedVector32",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["boxedVector32"] = item3148738311; + (this->items_by_tag)[0xbbadef07] = item3148738311; + auto item1495067860 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x591cecd4,.annotations=0x1,.name="boxedVector32BoxedElem",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["boxedVector32BoxedElem"] = item1495067860; + (this->items_by_tag)[0x591cecd4] = item1495067860; + auto item2204474280 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x83659ba8,.annotations=0x1,.name="boxedVector64",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["boxedVector64"] = item2204474280; + (this->items_by_tag)[0x83659ba8] = item2204474280; + auto item571523412 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x2210c154,.annotations=0x0,.name="double",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["double"] = item571523412; + (this->items_by_tag)[0x2210c154] = item571523412; + auto item4078222601 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xf314bd09,.annotations=0x0,.name="fieldConflict1",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["fieldConflict1"] = item4078222601; + (this->items_by_tag)[0xf314bd09] = item4078222601; + auto item465204920 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x1bba76b8,.annotations=0x0,.name="fieldConflict2",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["fieldConflict2"] = item465204920; + (this->items_by_tag)[0x1bba76b8] = item465204920; + auto item754377047 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x2cf6e157,.annotations=0x0,.name="fieldConflict3",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["fieldConflict3"] = item754377047; + (this->items_by_tag)[0x2cf6e157] = item754377047; + auto item3644594282 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xd93c186a,.annotations=0x0,.name="fieldConflict4",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["fieldConflict4"] = item3644594282; + (this->items_by_tag)[0xd93c186a] = item3644594282; + auto item2186128162 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x824dab22,.annotations=0x0,.name="float",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["float"] = item2186128162; + (this->items_by_tag)[0x824dab22] = item2186128162; + auto item2422574299 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x90658cdb,.annotations=0x1,.name="get_arrays",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["get_arrays"] = item2422574299; + (this->items_by_tag)[0x90658cdb] = item2422574299; + auto item963714427 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x39711d7b,.annotations=0x1,.name="getDouble",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["getDouble"] = item963714427; + (this->items_by_tag)[0x39711d7b] = item963714427; + auto item631749736 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x25a7bc68,.annotations=0x1,.name="getFloat",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["getFloat"] = item631749736; + (this->items_by_tag)[0x25a7bc68] = item631749736; + auto item1795513060 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6b055ae4,.annotations=0x1,.name="getMaybeIface",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["getMaybeIface"] = item1795513060; + (this->items_by_tag)[0x6b055ae4] = item1795513060; + auto item376411692 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x166f962c,.annotations=0x1,.name="getMyDictOfInt",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["getMyDictOfInt"] = item376411692; + (this->items_by_tag)[0x166f962c] = item376411692; + auto item3059789072 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb660ad10,.annotations=0x1,.name="getMyDouble",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["getMyDouble"] = item3059789072; + (this->items_by_tag)[0xb660ad10] = item3059789072; + auto item3017746430 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb3df27fe,.annotations=0x1,.name="getMyValue",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["getMyValue"] = item3017746430; + (this->items_by_tag)[0xb3df27fe] = item3017746430; + auto item1734760801 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x67665961,.annotations=0x1,.name="getNonOptNat",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["getNonOptNat"] = item1734760801; + (this->items_by_tag)[0x67665961] = item1734760801; + auto item3131497013 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xbaa6da35,.annotations=0x1,.name="getStats",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["getStats"] = item3131497013; + (this->items_by_tag)[0xbaa6da35] = item3131497013; + auto item2823855066 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xa8509bda,.annotations=0x0,.name="int",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["int"] = item2823855066; + (this->items_by_tag)[0xa8509bda] = item2823855066; + auto item2115585942 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x7e194796,.annotations=0x0,.name="integer",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["integer"] = item2115585942; + (this->items_by_tag)[0x7e194796] = item2115585942; + auto item4115364618 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xf54b7b0a,.annotations=0x0,.name="issue3498",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["issue3498"] = item4115364618; + (this->items_by_tag)[0xf54b7b0a] = item4115364618; + auto item570911930 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x22076cba,.annotations=0x0,.name="long",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["long"] = item570911930; + (this->items_by_tag)[0x22076cba] = item570911930; + auto item1452478683 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x569310db,.annotations=0x0,.name="myAnonMcValue",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myAnonMcValue"] = item1452478683; + (this->items_by_tag)[0x569310db] = item1452478683; + auto item680486128 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x288f64f0,.annotations=0x0,.name="myBoxedArray",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myBoxedArray"] = item680486128; + (this->items_by_tag)[0x288f64f0] = item680486128; + auto item634495422 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x25d1a1be,.annotations=0x0,.name="myBoxedTupleSlice",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myBoxedTupleSlice"] = item634495422; + (this->items_by_tag)[0x25d1a1be] = item634495422; + auto item1473340603 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x57d164bb,.annotations=0x0,.name="myBoxedVectorSlice",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myBoxedVectorSlice"] = item1473340603; + (this->items_by_tag)[0x57d164bb] = item1473340603; + auto item3087112765 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb8019a3d,.annotations=0x0,.name="myDictOfInt",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myDictOfInt"] = item3087112765; + (this->items_by_tag)[0xb8019a3d] = item3087112765; + auto item2426849062 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x90a6c726,.annotations=0x0,.name="myDouble",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myDouble"] = item2426849062; + (this->items_by_tag)[0x90a6c726] = item2426849062; + auto item3240326583 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xc12375b7,.annotations=0x0,.name="myInt",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myInt"] = item3240326583; + (this->items_by_tag)[0xc12375b7] = item3240326583; + auto item851788286 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x32c541fe,.annotations=0x0,.name="myMaybe1",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myMaybe1"] = item851788286; + (this->items_by_tag)[0x32c541fe] = item851788286; + auto item4016911708 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xef6d355c,.annotations=0x0,.name="myMaybe2",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myMaybe2"] = item4016911708; + (this->items_by_tag)[0xef6d355c] = item4016911708; + auto item3808418168 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xe2ffd978,.annotations=0x0,.name="myMcValue",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myMcValue"] = item3808418168; + (this->items_by_tag)[0xe2ffd978] = item3808418168; + auto item310890774 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x1287d116,.annotations=0x0,.name="myMcValueTuple",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myMcValueTuple"] = item310890774; + (this->items_by_tag)[0x1287d116] = item310890774; + auto item1981640024 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x761d6d58,.annotations=0x0,.name="myMcValueVector",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myMcValueVector"] = item1981640024; + (this->items_by_tag)[0x761d6d58] = item1981640024; + auto item3368003945 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xc8bfa969,.annotations=0x0,.name="myString",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myString"] = item3368003945; + (this->items_by_tag)[0xc8bfa969] = item3368003945; + auto item2824427549 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xa859581d,.annotations=0x0,.name="myTwoDicts",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["myTwoDicts"] = item2824427549; + (this->items_by_tag)[0xa859581d] = item2824427549; + auto item1161192965 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x45366605,.annotations=0x0,.name="nonOptNat",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["nonOptNat"] = item1161192965; + (this->items_by_tag)[0x45366605] = item1161192965; + auto item3779358781 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xe144703d,.annotations=0x0,.name="pkg2.foo",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["pkg2.foo"] = item3779358781; + (this->items_by_tag)[0xe144703d] = item3779358781; + auto item1669465836 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x638206ec,.annotations=0x0,.name="pkg2.t1",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["pkg2.t1"] = item1669465836; + (this->items_by_tag)[0x638206ec] = item1669465836; + auto item3605376924 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xd6e5af9c,.annotations=0x0,.name="pkg2.t2",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["pkg2.t2"] = item3605376924; + (this->items_by_tag)[0xd6e5af9c] = item3605376924; + auto item4092559785 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xf3ef81a9,.annotations=0x0,.name="rpcInvokeReqExtra",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["rpcInvokeReqExtra"] = item4092559785; + (this->items_by_tag)[0xf3ef81a9] = item4092559785; + auto item1209923774 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x481df8be,.annotations=0x1,.name="service1.add",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.add"] = item1209923774; + (this->items_by_tag)[0x481df8be] = item1209923774; + auto item1782774445 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6a42faad,.annotations=0x1,.name="service1.addOrGet",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.addOrGet"] = item1782774445; + (this->items_by_tag)[0x6a42faad] = item1782774445; + auto item2428810242 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x90c4b402,.annotations=0x1,.name="service1.addOrIncr",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.addOrIncr"] = item2428810242; + (this->items_by_tag)[0x90c4b402] = item2428810242; + auto item81708657 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x04dec671,.annotations=0x1,.name="service1.append",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.append"] = item81708657; + (this->items_by_tag)[0x04dec671] = item81708657; + auto item1367677284 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x51851964,.annotations=0x1,.name="service1.cas",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.cas"] = item1367677284; + (this->items_by_tag)[0x51851964] = item1367677284; + auto item3944193255 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xeb179ce7,.annotations=0x1,.name="service1.decr",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.decr"] = item3944193255; + (this->items_by_tag)[0xeb179ce7] = item3944193255; + auto item2200401767 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x83277767,.annotations=0x1,.name="service1.delete",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.delete"] = item2200401767; + (this->items_by_tag)[0x83277767] = item2200401767; + auto item4056128557 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xf1c39c2d,.annotations=0x1,.name="service1.disableExpiration",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.disableExpiration"] = item4056128557; + (this->items_by_tag)[0xf1c39c2d] = item4056128557; + auto item2044073487 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x79d6160f,.annotations=0x1,.name="service1.disableKeysStat",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.disableKeysStat"] = item2044073487; + (this->items_by_tag)[0x79d6160f] = item2044073487; + auto item726773095 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x2b51ad67,.annotations=0x1,.name="service1.enableExpiration",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.enableExpiration"] = item726773095; + (this->items_by_tag)[0x2b51ad67] = item726773095; + auto item698812686 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x29a7090e,.annotations=0x1,.name="service1.enableKeysStat",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.enableKeysStat"] = item698812686; + (this->items_by_tag)[0x29a7090e] = item698812686; + auto item3760737438 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xe0284c9e,.annotations=0x1,.name="service1.exists",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.exists"] = item3760737438; + (this->items_by_tag)[0xe0284c9e] = item3760737438; + auto item688495385 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x29099b19,.annotations=0x1,.name="service1.get",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.get"] = item688495385; + (this->items_by_tag)[0x29099b19] = item688495385; + auto item1517490288 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5a731070,.annotations=0x1,.name="service1.getExpireTime",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.getExpireTime"] = item1517490288; + (this->items_by_tag)[0x5a731070] = item1517490288; + auto item114216280 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x06cecd58,.annotations=0x1,.name="service1.getKeysStat",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.getKeysStat"] = item114216280; + (this->items_by_tag)[0x06cecd58] = item114216280; + auto item2363439587 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x8cdf39e3,.annotations=0x1,.name="service1.getKeysStatPeriods",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.getKeysStatPeriods"] = item2363439587; + (this->items_by_tag)[0x8cdf39e3] = item2363439587; + auto item791330579 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x2f2abf13,.annotations=0x1,.name="service1.getWildcard",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.getWildcard"] = item791330579; + (this->items_by_tag)[0x2f2abf13] = item791330579; + auto item1924909083 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x72bbc81b,.annotations=0x1,.name="service1.getWildcardDict",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.getWildcardDict"] = item1924909083; + (this->items_by_tag)[0x72bbc81b] = item1924909083; + auto item1454828244 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x56b6ead4,.annotations=0x1,.name="service1.getWildcardList",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.getWildcardList"] = item1454828244; + (this->items_by_tag)[0x56b6ead4] = item1454828244; + auto item1600790392 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5f6a1f78,.annotations=0x1,.name="service1.getWildcardWithFlags",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.getWildcardWithFlags"] = item1600790392; + (this->items_by_tag)[0x5f6a1f78] = item1600790392; + auto item261535086 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x0f96b56e,.annotations=0x1,.name="service1.incr",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.incr"] = item261535086; + (this->items_by_tag)[0x0f96b56e] = item261535086; + auto item4042701928 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xf0f6bc68,.annotations=0x0,.name="service1.keysStat",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.keysStat"] = item4042701928; + (this->items_by_tag)[0xf0f6bc68] = item4042701928; + auto item137234757 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x082e0945,.annotations=0x0,.name="service1.longvalue",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.longvalue"] = item137234757; + (this->items_by_tag)[0x082e0945] = item137234757; + auto item2688943852 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xa04606ec,.annotations=0x0,.name="service1.longvalueWithTime",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.longvalueWithTime"] = item2688943852; + (this->items_by_tag)[0xa04606ec] = item2688943852; + auto item493292438 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x1d670b96,.annotations=0x0,.name="service1.not_found",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.not_found"] = item493292438; + (this->items_by_tag)[0x1d670b96] = item493292438; + auto item2133607549 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x7f2c447d,.annotations=0x1,.name="service1.replace",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.replace"] = item2133607549; + (this->items_by_tag)[0x7f2c447d] = item2133607549; + auto item2635848957 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x9d1bdcfd,.annotations=0x1,.name="service1.replaceOrIncr",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.replaceOrIncr"] = item2635848957; + (this->items_by_tag)[0x9d1bdcfd] = item2635848957; + auto item95313766 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x05ae5f66,.annotations=0x1,.name="service1.set",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.set"] = item95313766; + (this->items_by_tag)[0x05ae5f66] = item95313766; + auto item1999517965 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x772e390d,.annotations=0x1,.name="service1.setOrIncr",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.setOrIncr"] = item1999517965; + (this->items_by_tag)[0x772e390d] = item1999517965; + auto item1604979794 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5faa0c52,.annotations=0x0,.name="service1.strvalue",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.strvalue"] = item1604979794; + (this->items_by_tag)[0x5faa0c52] = item1604979794; + auto item2561778820 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x98b1a484,.annotations=0x0,.name="service1.strvalueWithTime",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.strvalueWithTime"] = item2561778820; + (this->items_by_tag)[0x98b1a484] = item2561778820; + auto item3073878531 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb737aa03,.annotations=0x1,.name="service1.touch",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service1.touch"] = item3073878531; + (this->items_by_tag)[0xb737aa03] = item3073878531; + auto item1520772233 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5aa52489,.annotations=0x2,.name="service2.addOrIncrMany",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service2.addOrIncrMany"] = item1520772233; + (this->items_by_tag)[0x5aa52489] = item1520772233; + auto item221378109 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x0d31f63d,.annotations=0x4,.name="service2.set",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service2.set"] = item221378109; + (this->items_by_tag)[0x0d31f63d] = item221378109; + auto item1872293925 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6f98f025,.annotations=0x4,.name="service2.setObjectTtl",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service2.setObjectTtl"] = item1872293925; + (this->items_by_tag)[0x6f98f025] = item1872293925; + auto item3084463065 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb7d92bd9,.annotations=0x1,.name="service3.createProduct",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.createProduct"] = item3084463065; + (this->items_by_tag)[0xb7d92bd9] = item3084463065; + auto item1150594242 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x4494acc2,.annotations=0x1,.name="service3.deleteAllProducts",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.deleteAllProducts"] = item1150594242; + (this->items_by_tag)[0x4494acc2] = item1150594242; + auto item3832079892 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xe468e614,.annotations=0x1,.name="service3.deleteGroupedProducts",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.deleteGroupedProducts"] = item3832079892; + (this->items_by_tag)[0xe468e614] = item3832079892; + auto item1751639815 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6867e707,.annotations=0x1,.name="service3.deleteProduct",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.deleteProduct"] = item1751639815; + (this->items_by_tag)[0x6867e707] = item1751639815; + auto item2588702861 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x9a4c788d,.annotations=0x1,.name="service3.getLastVisitTimestamp",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.getLastVisitTimestamp"] = item2588702861; + (this->items_by_tag)[0x9a4c788d] = item2588702861; + auto item3946419303 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xeb399467,.annotations=0x1,.name="service3.getLimits",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.getLimits"] = item3946419303; + (this->items_by_tag)[0xeb399467] = item3946419303; + auto item639592600 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x261f6898,.annotations=0x1,.name="service3.getProductStats",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.getProductStats"] = item639592600; + (this->items_by_tag)[0x261f6898] = item639592600; + auto item3945816627 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xeb306233,.annotations=0x1,.name="service3.getProducts",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.getProducts"] = item3945816627; + (this->items_by_tag)[0xeb306233] = item3945816627; + auto item4114274237 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xf53ad7bd,.annotations=0x1,.name="service3.getScheduledProducts",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.getScheduledProducts"] = item4114274237; + (this->items_by_tag)[0xf53ad7bd] = item4114274237; + auto item2349132415 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x8c04ea7f,.annotations=0x0,.name="service3.groupCountLimit",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.groupCountLimit"] = item2349132415; + (this->items_by_tag)[0x8c04ea7f] = item2349132415; + auto item2430964630 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x90e59396,.annotations=0x0,.name="service3.groupSizeLimit",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.groupSizeLimit"] = item2430964630; + (this->items_by_tag)[0x90e59396] = item2430964630; + auto item2163106250 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x80ee61ca,.annotations=0x0,.name="service3.limits",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.limits"] = item2163106250; + (this->items_by_tag)[0x80ee61ca] = item2163106250; + auto item1662615819 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6319810b,.annotations=0x0,.name="service3.productStatsOld",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.productStatsOld"] = item1662615819; + (this->items_by_tag)[0x6319810b] = item1662615819; + auto item1300471504 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x4d839ed0,.annotations=0x1,.name="service3.restoreAllProducts",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.restoreAllProducts"] = item1300471504; + (this->items_by_tag)[0x4d839ed0] = item1300471504; + auto item521650092 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x1f17bfac,.annotations=0x1,.name="service3.restoreGroupedProducts",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.restoreGroupedProducts"] = item521650092; + (this->items_by_tag)[0x1f17bfac] = item521650092; + auto item1634784533 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6170d515,.annotations=0x1,.name="service3.restoreProduct",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.restoreProduct"] = item1634784533; + (this->items_by_tag)[0x6170d515] = item1634784533; + auto item2030678048 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x7909b020,.annotations=0x1,.name="service3.setLastVisitTimestamp",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.setLastVisitTimestamp"] = item2030678048; + (this->items_by_tag)[0x7909b020] = item2030678048; + auto item987087260 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x3ad5c19c,.annotations=0x1,.name="service3.setLimits",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service3.setLimits"] = item987087260; + (this->items_by_tag)[0x3ad5c19c] = item987087260; + auto item3659105066 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xda19832a,.annotations=0x0,.name="service4.modifiedNewsEntry",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service4.modifiedNewsEntry"] = item3659105066; + (this->items_by_tag)[0xda19832a] = item3659105066; + auto item2800667215 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xa6eeca4f,.annotations=0x0,.name="service4.object",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service4.object"] = item2800667215; + (this->items_by_tag)[0xa6eeca4f] = item2800667215; + auto item300181625 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x11e46879,.annotations=0x0,.name="service5.emptyOutput",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service5.emptyOutput"] = item300181625; + (this->items_by_tag)[0x11e46879] = item300181625; + auto item3373395500 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xc911ee2c,.annotations=0x1,.name="service5.insert",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service5.insert"] = item3373395500; + (this->items_by_tag)[0xc911ee2c] = item3373395500; + auto item313416885 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x12ae5cb5,.annotations=0x0,.name="service5.params",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service5.params"] = item313416885; + (this->items_by_tag)[0x12ae5cb5] = item313416885; + auto item27099301 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x019d80a5,.annotations=0x1,.name="service5.performQuery",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service5.performQuery"] = item27099301; + (this->items_by_tag)[0x019d80a5] = item27099301; + auto item3015058707 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb3b62513,.annotations=0x1,.name="service5.query",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service5.query"] = item3015058707; + (this->items_by_tag)[0xb3b62513] = item3015058707; + auto item396269667 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x179e9863,.annotations=0x0,.name="service5.stringOutput",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service5.stringOutput"] = item396269667; + (this->items_by_tag)[0x179e9863] = item396269667; + auto item1938117615 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x738553ef,.annotations=0x0,.name="service6.error",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service6.error"] = item1938117615; + (this->items_by_tag)[0x738553ef] = item1938117615; + auto item3174647523 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xbd3946e3,.annotations=0x0,.name="service6.findResultRow",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service6.findResultRow"] = item3174647523; + (this->items_by_tag)[0xbd3946e3] = item3174647523; + auto item1038976266 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x3ded850a,.annotations=0x0,.name="service6.findWithBoundsResult",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service6.findWithBoundsResult"] = item1038976266; + (this->items_by_tag)[0x3ded850a] = item1038976266; + auto item3860953304 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xe62178d8,.annotations=0x1,.name="service6.multiFind",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service6.multiFind"] = item3860953304; + (this->items_by_tag)[0xe62178d8] = item3860953304; + auto item2226219215 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x84b168cf,.annotations=0x1,.name="service6.multiFindWithBounds",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["service6.multiFindWithBounds"] = item2226219215; + (this->items_by_tag)[0x84b168cf] = item2226219215; + auto item1957716043 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x74b0604b,.annotations=0x0,.name="statOne",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["statOne"] = item1957716043; + (this->items_by_tag)[0x74b0604b] = item1957716043; + auto item3039325732 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb5286e24,.annotations=0x0,.name="string",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["string"] = item3039325732; + (this->items_by_tag)[0xb5286e24] = item3039325732; + auto item748712917 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x2ca073d5,.annotations=0x1,.name="tasks.addTask",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.addTask"] = item748712917; + (this->items_by_tag)[0x2ca073d5] = item748712917; + auto item3373068938 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xc90cf28a,.annotations=0x0,.name="tasks.cronTask",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.cronTask"] = item3373068938; + (this->items_by_tag)[0xc90cf28a] = item3373068938; + auto item982876161 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x3a958001,.annotations=0x0,.name="tasks.cronTaskWithId",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.cronTaskWithId"] = item982876161; + (this->items_by_tag)[0x3a958001] = item982876161; + auto item3558309247 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xd4177d7f,.annotations=0x0,.name="tasks.cronTime",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.cronTime"] = item3558309247; + (this->items_by_tag)[0xd4177d7f] = item3558309247; + auto item1251769787 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x4a9c7dbb,.annotations=0x1,.name="tasks.getAnyTask",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.getAnyTask"] = item1251769787; + (this->items_by_tag)[0x4a9c7dbb] = item1251769787; + auto item3640449539 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xd8fcda03,.annotations=0x1,.name="tasks.getQueueSize",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.getQueueSize"] = item3640449539; + (this->items_by_tag)[0xd8fcda03] = item3640449539; + auto item1412711802 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5434457a,.annotations=0x1,.name="tasks.getQueueTypes",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.getQueueTypes"] = item1412711802; + (this->items_by_tag)[0x5434457a] = item1412711802; + auto item1783805592 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6a52b698,.annotations=0x1,.name="tasks.getTaskFromQueue",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.getTaskFromQueue"] = item1783805592; + (this->items_by_tag)[0x6a52b698] = item1783805592; + auto item953388350 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x38d38d3e,.annotations=0x0,.name="tasks.queueTypeInfo",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.queueTypeInfo"] = item953388350; + (this->items_by_tag)[0x38d38d3e] = item953388350; + auto item1444920329 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x561fbc09,.annotations=0x0,.name="tasks.queueTypeSettings",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.queueTypeSettings"] = item1444920329; + (this->items_by_tag)[0x561fbc09] = item1444920329; + auto item3786900978 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xe1b785f2,.annotations=0x0,.name="tasks.queueTypeStats",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.queueTypeStats"] = item3786900978; + (this->items_by_tag)[0xe1b785f2] = item3786900978; + auto item2082716716 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x7c23bc2c,.annotations=0x0,.name="tasks.task",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.task"] = item2082716716; + (this->items_by_tag)[0x7c23bc2c] = item2082716716; + auto item116442790 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x06f0c6a6,.annotations=0x0,.name="tasks.taskInfo",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.taskInfo"] = item116442790; + (this->items_by_tag)[0x06f0c6a6] = item116442790; + auto item116355303 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x06ef70e7,.annotations=0x0,.name="tasks.taskStatusInProgress",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.taskStatusInProgress"] = item116355303; + (this->items_by_tag)[0x06ef70e7] = item116355303; + auto item2986855082 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb207caaa,.annotations=0x0,.name="tasks.taskStatusNotCurrentlyInEngine",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.taskStatusNotCurrentlyInEngine"] = item2986855082; + (this->items_by_tag)[0xb207caaa] = item2986855082; + auto item181043369 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x0aca80a9,.annotations=0x0,.name="tasks.taskStatusScheduled",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.taskStatusScheduled"] = item181043369; + (this->items_by_tag)[0x0aca80a9] = item181043369; + auto item376675372 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x16739c2c,.annotations=0x0,.name="tasks.taskStatusWaiting",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tasks.taskStatusWaiting"] = item376675372; + (this->items_by_tag)[0x16739c2c] = item376675372; + auto item1576765462 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5dfb8816,.annotations=0x0,.name="tree_stats.objectLimitValueDouble",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tree_stats.objectLimitValueDouble"] = item1576765462; + (this->items_by_tag)[0x5dfb8816] = item1576765462; + auto item1930500499 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x73111993,.annotations=0x0,.name="tree_stats.objectLimitValueLong",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["tree_stats.objectLimitValueLong"] = item1930500499; + (this->items_by_tag)[0x73111993] = item1930500499; + auto item1072550713 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x3fedd339,.annotations=0x0,.name="true",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["true"] = item1072550713; + (this->items_by_tag)[0x3fedd339] = item1072550713; + auto item3465133042 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xce89bbf2,.annotations=0x1,.name="unique.get",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["unique.get"] = item3465133042; + (this->items_by_tag)[0xce89bbf2] = item3465133042; + auto item259419189 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x0f766c35,.annotations=0x1,.name="unique.stringToInt",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["unique.stringToInt"] = item259419189; + (this->items_by_tag)[0x0f766c35] = item259419189; + auto item119244421 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x071b8685,.annotations=0x0,.name="withFloat",.create_object=no_object_generator,.create_function=no_function_generator}); + (this->items)["withFloat"] = item119244421; + (this->items_by_tag)[0x071b8685] = item119244421; +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/meta/headers.h b/internal/tlcodegen/test/gen/schema_cpp/meta/headers.h new file mode 100644 index 00000000..cdb75788 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/meta/headers.h @@ -0,0 +1,46 @@ + +#pragma once + +#include +#include +#include + +#include "../basics/basictl.h" + +namespace tl2 { + namespace meta { + struct tl_object { + virtual bool read(::basictl::tl_istream &s) = 0; + virtual bool write(::basictl::tl_ostream &s) = 0; + + virtual bool read_boxed(::basictl::tl_istream &s) = 0; + virtual bool write_boxed(::basictl::tl_ostream &s) = 0; + + virtual bool write_json(std::ostream &s) = 0; + + virtual ~tl_object() = default; + }; + + struct tl_function : public tl_object { + virtual bool read_write_result(::basictl::tl_istream &in, ::basictl::tl_ostream &out) = 0; + + virtual ~tl_function() = default; + }; + + struct tl_item { + uint32_t tag{}; + uint32_t annotations{}; + std::string name; + + std::function()> create_object; + std::function()> create_function; + }; + + tl2::meta::tl_item get_item_by_name(std::string &&s); + tl2::meta::tl_item get_item_by_tag(uint32_t &&tag); + + void set_create_object_by_name(std::string &&s, std::function()> &&factory); + void set_create_function_by_name(std::string &&s, std::function()> &&factory); + + } +} \ No newline at end of file diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/details.cpp new file mode 100644 index 00000000..6f8c6cec --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/details.cpp @@ -0,0 +1,5072 @@ +#include "headers/withFloat.h" +#include "headers/vector.h" +#include "headers/tuple.h" +#include "../tasks/headers/tasks.queueTypeInfo.h" +#include "headers/string.h" +#include "headers/statOne.h" +#include "../service6/headers/service6.findWithBoundsResult.h" +#include "../service2/headers/service2.counterSet.h" +#include "../service1/headers/service1.Value.h" +#include "headers/rpcInvokeReqExtra.h" +#include "headers/true.h" +#include "headers/nonOptNat.h" +#include "headers/myTwoDicts.h" +#include "headers/myMcValueVector.h" +#include "headers/myMcValueTuple.h" +#include "headers/myMcValue.h" +#include "headers/myMaybe2.h" +#include "headers/myMaybe1.h" +#include "headers/myTuple.h" +#include "headers/myBoxedVectorSlice.h" +#include "headers/myAnonMcValue.h" +#include "headers/map.h" +#include "headers/long.h" +#include "headers/issue3498.h" +#include "../service6/headers/service6.findResultRow.h" +#include "../service6/headers/service6.error.h" +#include "headers/int.h" +#include "headers/getStats.h" +#include "../tasks/headers/tasks.queueTypeStats.h" +#include "headers/getNonOptNat.h" +#include "headers/getMyValue.h" +#include "headers/MyValue.h" +#include "headers/myString.h" +#include "headers/myInt.h" +#include "headers/getMyDouble.h" +#include "headers/myDouble.h" +#include "headers/getMyDictOfInt.h" +#include "headers/myDictOfInt.h" +#include "headers/getMaybeIface.h" +#include "headers/getFloat.h" +#include "headers/getDouble.h" +#include "headers/get_arrays.h" +#include "headers/float.h" +#include "headers/fieldConflict4.h" +#include "headers/fieldConflict3.h" +#include "headers/fieldConflict2.h" +#include "headers/fieldConflict1.h" +#include "headers/Either.h" +#include "headers/right.h" +#include "headers/left.h" +#include "headers/double.h" +#include "headers/dictionary.h" +#include "headers/dictionaryField.h" +#include "headers/integer.h" +#include "headers/boxedVector64.h" +#include "headers/boxedVector32BoxedElem.h" +#include "headers/boxedVector32.h" +#include "headers/boxedTupleSlice3.h" +#include "headers/boxedTupleSlice2.h" +#include "headers/myBoxedTupleSlice.h" +#include "headers/boxedTupleSlice1.h" +#include "headers/boxedTuple.h" +#include "headers/boxedString.h" +#include "headers/boxedInt.h" +#include "headers/boxedArray.h" +#include "headers/myBoxedArray.h" +#include "headers/Bool.h" +#include "headers/benchObject.h" + + +bool tl2::BenchObject::write_json(std::ostream& s)const { + if (!::tl2::details::BenchObjectWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::BenchObject::read(::basictl::tl_istream & s) { + if (!::tl2::details::BenchObjectRead(s, *this)) { return false; } + return true; +} + +bool tl2::BenchObject::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::BenchObjectWrite(s, *this)) { return false; } + return true; +} + +bool tl2::BenchObject::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::BenchObjectReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::BenchObject::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::BenchObjectWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::BenchObjectReset(::tl2::BenchObject& item) { + item.xs.clear(); + item.ys.clear(); +} + +bool tl2::details::BenchObjectWriteJSON(std::ostream& s, const ::tl2::BenchObject& item) { + auto add_comma = false; + s << "{"; + if (item.xs.size() != 0) { + add_comma = true; + s << "\"xs\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.xs)) { return false; } + } + if (item.ys.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"ys\":"; + if (!::tl2::details::BuiltinVectorIntegerWriteJSON(s, item.ys)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::BenchObjectRead(::basictl::tl_istream & s, ::tl2::BenchObject& item) { + if (!::tl2::details::BuiltinVectorIntRead(s, item.xs)) { return false; } + if (!::tl2::details::BuiltinVectorIntegerRead(s, item.ys)) { return false; } + return true; +} + +bool tl2::details::BenchObjectWrite(::basictl::tl_ostream & s, const ::tl2::BenchObject& item) { + if (!::tl2::details::BuiltinVectorIntWrite(s, item.xs)) { return false; } + if (!::tl2::details::BuiltinVectorIntegerWrite(s, item.ys)) { return false; } + return true; +} + +bool tl2::details::BenchObjectReadBoxed(::basictl::tl_istream & s, ::tl2::BenchObject& item) { + if (!s.nat_read_exact_tag(0xb697e865)) { return false; } + return tl2::details::BenchObjectRead(s, item); +} + +bool tl2::details::BenchObjectWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BenchObject& item) { + if (!s.nat_write(0xb697e865)) { return false; } + return tl2::details::BenchObjectWrite(s, item); +} + +bool tl2::details::BoolWriteJSON(std::ostream & s, bool item) { + if (item) { + s << "true"; + } else { + s << "false"; + } + return true; +} + +bool tl2::details::BoolReadBoxed(::basictl::tl_istream & s, bool& item) { + return s.bool_read(item, 0xbc799737, 0x997275b5); +} + +bool tl2::details::BoolWriteBoxed(::basictl::tl_ostream & s, bool item) { + return s.nat_write(item ? 0x997275b5 : 0xbc799737); +} + +bool tl2::BoxedArray::write_json(std::ostream& s)const { + if (!::tl2::details::BoxedArrayWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedArray::read(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedArrayRead(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedArray::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedArrayWrite(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedArray::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedArrayReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedArray::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedArrayWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::BoxedArrayReset(::tl2::BoxedArray& item) { + ::tl2::details::MyBoxedArrayReset(item.x); +} + +bool tl2::details::BoxedArrayWriteJSON(std::ostream& s, const ::tl2::BoxedArray& item) { + s << "{"; + s << "\"x\":"; + if (!::tl2::details::MyBoxedArrayWriteJSON(s, item.x)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::BoxedArrayRead(::basictl::tl_istream & s, ::tl2::BoxedArray& item) { + if (!::tl2::details::MyBoxedArrayReadBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedArrayWrite(::basictl::tl_ostream & s, const ::tl2::BoxedArray& item) { + if (!::tl2::details::MyBoxedArrayWriteBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedArrayReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedArray& item) { + if (!s.nat_read_exact_tag(0x95dcc8b7)) { return false; } + return tl2::details::BoxedArrayRead(s, item); +} + +bool tl2::details::BoxedArrayWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedArray& item) { + if (!s.nat_write(0x95dcc8b7)) { return false; } + return tl2::details::BoxedArrayWrite(s, item); +} + +bool tl2::details::BoxedArrayReadResult(::basictl::tl_istream & s, tl2::BoxedArray& item, ::tl2::MyBoxedArray& result) { + if (!::tl2::details::MyBoxedArrayReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::BoxedArrayWriteResult(::basictl::tl_ostream & s, tl2::BoxedArray& item, ::tl2::MyBoxedArray& result) { + if (!::tl2::details::MyBoxedArrayWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::BoxedArray::read_result(::basictl::tl_istream & s, ::tl2::MyBoxedArray & result) { + return tl2::details::BoxedArrayReadResult(s, *this, result); +} +bool tl2::BoxedArray::write_result(::basictl::tl_ostream & s, ::tl2::MyBoxedArray & result) { + return tl2::details::BoxedArrayWriteResult(s, *this, result); +} + +bool tl2::BoxedInt::write_json(std::ostream& s)const { + if (!::tl2::details::BoxedIntWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedInt::read(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedIntRead(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedInt::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedIntWrite(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedInt::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedIntReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedInt::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedIntWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::BoxedIntReset(::tl2::BoxedInt& item) { + item.x = 0; +} + +bool tl2::details::BoxedIntWriteJSON(std::ostream& s, const ::tl2::BoxedInt& item) { + s << "{"; + if (item.x != 0) { + s << "\"x\":"; + s << item.x; + } + s << "}"; + return true; +} + +bool tl2::details::BoxedIntRead(::basictl::tl_istream & s, ::tl2::BoxedInt& item) { + if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} + if (!s.int_read(item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedIntWrite(::basictl::tl_ostream & s, const ::tl2::BoxedInt& item) { + if (!s.nat_write(0xa8509bda)) { return false; } + if (!s.int_write(item.x)) { return false;} + return true; +} + +bool tl2::details::BoxedIntReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedInt& item) { + if (!s.nat_read_exact_tag(0x5688ebaf)) { return false; } + return tl2::details::BoxedIntRead(s, item); +} + +bool tl2::details::BoxedIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedInt& item) { + if (!s.nat_write(0x5688ebaf)) { return false; } + return tl2::details::BoxedIntWrite(s, item); +} + +bool tl2::details::BoxedIntReadResult(::basictl::tl_istream & s, tl2::BoxedInt& item, int32_t& result) { + if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} + if (!s.int_read(result)) { return false; } + return true; +} +bool tl2::details::BoxedIntWriteResult(::basictl::tl_ostream & s, tl2::BoxedInt& item, int32_t& result) { + if (!s.nat_write(0xa8509bda)) { return false; } + if (!s.int_write(result)) { return false;} + return true; +} + +bool tl2::BoxedInt::read_result(::basictl::tl_istream & s, int32_t & result) { + return tl2::details::BoxedIntReadResult(s, *this, result); +} +bool tl2::BoxedInt::write_result(::basictl::tl_ostream & s, int32_t & result) { + return tl2::details::BoxedIntWriteResult(s, *this, result); +} + +bool tl2::BoxedString::write_json(std::ostream& s)const { + if (!::tl2::details::BoxedStringWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedString::read(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedStringRead(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedString::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedStringWrite(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedString::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedStringReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedString::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedStringWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::BoxedStringReset(::tl2::BoxedString& item) { + item.x.clear(); +} + +bool tl2::details::BoxedStringWriteJSON(std::ostream& s, const ::tl2::BoxedString& item) { + s << "{"; + if (item.x.size() != 0) { + s << "\"x\":"; + s << "\"" << item.x << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::BoxedStringRead(::basictl::tl_istream & s, ::tl2::BoxedString& item) { + if (!s.nat_read_exact_tag(0xb5286e24)) { return false;} + if (!s.string_read(item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedStringWrite(::basictl::tl_ostream & s, const ::tl2::BoxedString& item) { + if (!s.nat_write(0xb5286e24)) { return false; } + if (!s.string_write(item.x)) { return false;} + return true; +} + +bool tl2::details::BoxedStringReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedString& item) { + if (!s.nat_read_exact_tag(0x548994db)) { return false; } + return tl2::details::BoxedStringRead(s, item); +} + +bool tl2::details::BoxedStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedString& item) { + if (!s.nat_write(0x548994db)) { return false; } + return tl2::details::BoxedStringWrite(s, item); +} + +bool tl2::details::BoxedStringReadResult(::basictl::tl_istream & s, tl2::BoxedString& item, std::string& result) { + if (!s.nat_read_exact_tag(0xb5286e24)) { return false;} + if (!s.string_read(result)) { return false; } + return true; +} +bool tl2::details::BoxedStringWriteResult(::basictl::tl_ostream & s, tl2::BoxedString& item, std::string& result) { + if (!s.nat_write(0xb5286e24)) { return false; } + if (!s.string_write(result)) { return false;} + return true; +} + +bool tl2::BoxedString::read_result(::basictl::tl_istream & s, std::string & result) { + return tl2::details::BoxedStringReadResult(s, *this, result); +} +bool tl2::BoxedString::write_result(::basictl::tl_ostream & s, std::string & result) { + return tl2::details::BoxedStringWriteResult(s, *this, result); +} + +bool tl2::BoxedTuple::write_json(std::ostream& s)const { + if (!::tl2::details::BoxedTupleWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTuple::read(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedTupleRead(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTuple::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedTupleWrite(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTuple::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedTupleReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTuple::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedTupleWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::BoxedTupleReset(::tl2::BoxedTuple& item) { + ::tl2::details::BuiltinTuple3IntReset(item.x); +} + +bool tl2::details::BoxedTupleWriteJSON(std::ostream& s, const ::tl2::BoxedTuple& item) { + s << "{"; + s << "\"x\":"; + if (!::tl2::details::BuiltinTuple3IntWriteJSON(s, item.x)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::BoxedTupleRead(::basictl::tl_istream & s, ::tl2::BoxedTuple& item) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTuple3IntRead(s, item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedTupleWrite(::basictl::tl_ostream & s, const ::tl2::BoxedTuple& item) { + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTuple3IntWrite(s, item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedTupleReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTuple& item) { + if (!s.nat_read_exact_tag(0x30c9d533)) { return false; } + return tl2::details::BoxedTupleRead(s, item); +} + +bool tl2::details::BoxedTupleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTuple& item) { + if (!s.nat_write(0x30c9d533)) { return false; } + return tl2::details::BoxedTupleWrite(s, item); +} + +bool tl2::details::BoxedTupleReadResult(::basictl::tl_istream & s, tl2::BoxedTuple& item, std::array& result) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTuple3IntRead(s, result)) { return false; } + return true; +} +bool tl2::details::BoxedTupleWriteResult(::basictl::tl_ostream & s, tl2::BoxedTuple& item, std::array& result) { + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTuple3IntWrite(s, result)) { return false; } + return true; +} + +bool tl2::BoxedTuple::read_result(::basictl::tl_istream & s, std::array & result) { + return tl2::details::BoxedTupleReadResult(s, *this, result); +} +bool tl2::BoxedTuple::write_result(::basictl::tl_ostream & s, std::array & result) { + return tl2::details::BoxedTupleWriteResult(s, *this, result); +} + +bool tl2::BoxedTupleSlice1::write_json(std::ostream& s)const { + if (!::tl2::details::BoxedTupleSlice1WriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice1::read(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedTupleSlice1Read(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice1::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedTupleSlice1Write(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice1::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedTupleSlice1ReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice1::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedTupleSlice1WriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::BoxedTupleSlice1Reset(::tl2::BoxedTupleSlice1& item) { + item.n = 0; + item.x.clear(); +} + +bool tl2::details::BoxedTupleSlice1WriteJSON(std::ostream& s, const ::tl2::BoxedTupleSlice1& item) { + auto add_comma = false; + s << "{"; + if (item.n != 0) { + add_comma = true; + s << "\"n\":"; + s << item.n; + } + if ((item.x.size() != 0) || (item.n != 0)) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"x\":"; + if (!::tl2::details::BuiltinTupleIntBoxedWriteJSON(s, item.x, item.n)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::BoxedTupleSlice1Read(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice1& item) { + if (!s.nat_read(item.n)) { return false; } + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTupleIntBoxedRead(s, item.x, item.n)) { return false; } + return true; +} + +bool tl2::details::BoxedTupleSlice1Write(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice1& item) { + if (!s.nat_write(item.n)) { return false;} + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTupleIntBoxedWrite(s, item.x, item.n)) { return false; } + return true; +} + +bool tl2::details::BoxedTupleSlice1ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice1& item) { + if (!s.nat_read_exact_tag(0x25230d40)) { return false; } + return tl2::details::BoxedTupleSlice1Read(s, item); +} + +bool tl2::details::BoxedTupleSlice1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice1& item) { + if (!s.nat_write(0x25230d40)) { return false; } + return tl2::details::BoxedTupleSlice1Write(s, item); +} + +bool tl2::details::BoxedTupleSlice1ReadResult(::basictl::tl_istream & s, tl2::BoxedTupleSlice1& item, std::vector& result) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTupleIntBoxedRead(s, result, item.n)) { return false; } + return true; +} +bool tl2::details::BoxedTupleSlice1WriteResult(::basictl::tl_ostream & s, tl2::BoxedTupleSlice1& item, std::vector& result) { + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTupleIntBoxedWrite(s, result, item.n)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice1::read_result(::basictl::tl_istream & s, std::vector & result) { + return tl2::details::BoxedTupleSlice1ReadResult(s, *this, result); +} +bool tl2::BoxedTupleSlice1::write_result(::basictl::tl_ostream & s, std::vector & result) { + return tl2::details::BoxedTupleSlice1WriteResult(s, *this, result); +} + +bool tl2::BoxedTupleSlice2::write_json(std::ostream& s)const { + if (!::tl2::details::BoxedTupleSlice2WriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice2::read(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedTupleSlice2Read(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice2::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedTupleSlice2Write(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice2::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedTupleSlice2ReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice2::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedTupleSlice2WriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::BoxedTupleSlice2Reset(::tl2::BoxedTupleSlice2& item) { + ::tl2::details::MyBoxedTupleSliceReset(item.x); +} + +bool tl2::details::BoxedTupleSlice2WriteJSON(std::ostream& s, const ::tl2::BoxedTupleSlice2& item) { + s << "{"; + s << "\"x\":"; + if (!::tl2::details::MyBoxedTupleSliceWriteJSON(s, item.x)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::BoxedTupleSlice2Read(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice2& item) { + if (!::tl2::details::MyBoxedTupleSliceReadBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedTupleSlice2Write(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice2& item) { + if (!::tl2::details::MyBoxedTupleSliceWriteBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedTupleSlice2ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice2& item) { + if (!s.nat_read_exact_tag(0x1cdf4705)) { return false; } + return tl2::details::BoxedTupleSlice2Read(s, item); +} + +bool tl2::details::BoxedTupleSlice2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice2& item) { + if (!s.nat_write(0x1cdf4705)) { return false; } + return tl2::details::BoxedTupleSlice2Write(s, item); +} + +bool tl2::details::BoxedTupleSlice2ReadResult(::basictl::tl_istream & s, tl2::BoxedTupleSlice2& item, ::tl2::MyBoxedTupleSlice& result) { + if (!::tl2::details::MyBoxedTupleSliceReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::BoxedTupleSlice2WriteResult(::basictl::tl_ostream & s, tl2::BoxedTupleSlice2& item, ::tl2::MyBoxedTupleSlice& result) { + if (!::tl2::details::MyBoxedTupleSliceWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice2::read_result(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice & result) { + return tl2::details::BoxedTupleSlice2ReadResult(s, *this, result); +} +bool tl2::BoxedTupleSlice2::write_result(::basictl::tl_ostream & s, ::tl2::MyBoxedTupleSlice & result) { + return tl2::details::BoxedTupleSlice2WriteResult(s, *this, result); +} + +bool tl2::BoxedTupleSlice3::write_json(std::ostream& s)const { + if (!::tl2::details::BoxedTupleSlice3WriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice3::read(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedTupleSlice3Read(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice3::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedTupleSlice3Write(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice3::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedTupleSlice3ReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice3::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedTupleSlice3WriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::BoxedTupleSlice3Reset(::tl2::BoxedTupleSlice3& item) { + item.n = 0; + item.x.clear(); +} + +bool tl2::details::BoxedTupleSlice3WriteJSON(std::ostream& s, const ::tl2::BoxedTupleSlice3& item) { + auto add_comma = false; + s << "{"; + if (item.n != 0) { + add_comma = true; + s << "\"n\":"; + s << item.n; + } + if ((item.x.size() != 0) || (item.n != 0)) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"x\":"; + if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.x, item.n)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::BoxedTupleSlice3Read(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice3& item) { + if (!s.nat_read(item.n)) { return false; } + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTupleIntRead(s, item.x, item.n)) { return false; } + return true; +} + +bool tl2::details::BoxedTupleSlice3Write(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice3& item) { + if (!s.nat_write(item.n)) { return false;} + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTupleIntWrite(s, item.x, item.n)) { return false; } + return true; +} + +bool tl2::details::BoxedTupleSlice3ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice3& item) { + if (!s.nat_read_exact_tag(0xa19b8106)) { return false; } + return tl2::details::BoxedTupleSlice3Read(s, item); +} + +bool tl2::details::BoxedTupleSlice3WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice3& item) { + if (!s.nat_write(0xa19b8106)) { return false; } + return tl2::details::BoxedTupleSlice3Write(s, item); +} + +bool tl2::details::BoxedTupleSlice3ReadResult(::basictl::tl_istream & s, tl2::BoxedTupleSlice3& item, std::vector& result) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTupleIntRead(s, result, item.n)) { return false; } + return true; +} +bool tl2::details::BoxedTupleSlice3WriteResult(::basictl::tl_ostream & s, tl2::BoxedTupleSlice3& item, std::vector& result) { + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTupleIntWrite(s, result, item.n)) { return false; } + return true; +} + +bool tl2::BoxedTupleSlice3::read_result(::basictl::tl_istream & s, std::vector & result) { + return tl2::details::BoxedTupleSlice3ReadResult(s, *this, result); +} +bool tl2::BoxedTupleSlice3::write_result(::basictl::tl_ostream & s, std::vector & result) { + return tl2::details::BoxedTupleSlice3WriteResult(s, *this, result); +} + +bool tl2::BoxedVector32::write_json(std::ostream& s)const { + if (!::tl2::details::BoxedVector32WriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedVector32::read(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedVector32Read(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedVector32::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedVector32Write(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedVector32::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedVector32ReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedVector32::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedVector32WriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::BoxedVector32Reset(::tl2::BoxedVector32& item) { + item.x.clear(); +} + +bool tl2::details::BoxedVector32WriteJSON(std::ostream& s, const ::tl2::BoxedVector32& item) { + s << "{"; + if (item.x.size() != 0) { + s << "\"x\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.x)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::BoxedVector32Read(::basictl::tl_istream & s, ::tl2::BoxedVector32& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorIntRead(s, item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedVector32Write(::basictl::tl_ostream & s, const ::tl2::BoxedVector32& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorIntWrite(s, item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedVector32ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedVector32& item) { + if (!s.nat_read_exact_tag(0xbbadef07)) { return false; } + return tl2::details::BoxedVector32Read(s, item); +} + +bool tl2::details::BoxedVector32WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedVector32& item) { + if (!s.nat_write(0xbbadef07)) { return false; } + return tl2::details::BoxedVector32Write(s, item); +} + +bool tl2::details::BoxedVector32ReadResult(::basictl::tl_istream & s, tl2::BoxedVector32& item, std::vector& result) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorIntRead(s, result)) { return false; } + return true; +} +bool tl2::details::BoxedVector32WriteResult(::basictl::tl_ostream & s, tl2::BoxedVector32& item, std::vector& result) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorIntWrite(s, result)) { return false; } + return true; +} + +bool tl2::BoxedVector32::read_result(::basictl::tl_istream & s, std::vector & result) { + return tl2::details::BoxedVector32ReadResult(s, *this, result); +} +bool tl2::BoxedVector32::write_result(::basictl::tl_ostream & s, std::vector & result) { + return tl2::details::BoxedVector32WriteResult(s, *this, result); +} + +bool tl2::BoxedVector32BoxedElem::write_json(std::ostream& s)const { + if (!::tl2::details::BoxedVector32BoxedElemWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedVector32BoxedElem::read(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedVector32BoxedElemRead(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedVector32BoxedElem::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedVector32BoxedElemWrite(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedVector32BoxedElem::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedVector32BoxedElemReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedVector32BoxedElem::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedVector32BoxedElemWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::BoxedVector32BoxedElemReset(::tl2::BoxedVector32BoxedElem& item) { + item.x.clear(); +} + +bool tl2::details::BoxedVector32BoxedElemWriteJSON(std::ostream& s, const ::tl2::BoxedVector32BoxedElem& item) { + s << "{"; + if (item.x.size() != 0) { + s << "\"x\":"; + if (!::tl2::details::BuiltinVectorIntBoxedWriteJSON(s, item.x)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::BoxedVector32BoxedElemRead(::basictl::tl_istream & s, ::tl2::BoxedVector32BoxedElem& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorIntBoxedRead(s, item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedVector32BoxedElemWrite(::basictl::tl_ostream & s, const ::tl2::BoxedVector32BoxedElem& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorIntBoxedWrite(s, item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedVector32BoxedElemReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedVector32BoxedElem& item) { + if (!s.nat_read_exact_tag(0x591cecd4)) { return false; } + return tl2::details::BoxedVector32BoxedElemRead(s, item); +} + +bool tl2::details::BoxedVector32BoxedElemWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedVector32BoxedElem& item) { + if (!s.nat_write(0x591cecd4)) { return false; } + return tl2::details::BoxedVector32BoxedElemWrite(s, item); +} + +bool tl2::details::BoxedVector32BoxedElemReadResult(::basictl::tl_istream & s, tl2::BoxedVector32BoxedElem& item, std::vector& result) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorIntBoxedRead(s, result)) { return false; } + return true; +} +bool tl2::details::BoxedVector32BoxedElemWriteResult(::basictl::tl_ostream & s, tl2::BoxedVector32BoxedElem& item, std::vector& result) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorIntBoxedWrite(s, result)) { return false; } + return true; +} + +bool tl2::BoxedVector32BoxedElem::read_result(::basictl::tl_istream & s, std::vector & result) { + return tl2::details::BoxedVector32BoxedElemReadResult(s, *this, result); +} +bool tl2::BoxedVector32BoxedElem::write_result(::basictl::tl_ostream & s, std::vector & result) { + return tl2::details::BoxedVector32BoxedElemWriteResult(s, *this, result); +} + +bool tl2::BoxedVector64::write_json(std::ostream& s)const { + if (!::tl2::details::BoxedVector64WriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedVector64::read(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedVector64Read(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedVector64::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedVector64Write(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedVector64::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::BoxedVector64ReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::BoxedVector64::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoxedVector64WriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::BoxedVector64Reset(::tl2::BoxedVector64& item) { + item.x.clear(); +} + +bool tl2::details::BoxedVector64WriteJSON(std::ostream& s, const ::tl2::BoxedVector64& item) { + s << "{"; + if (item.x.size() != 0) { + s << "\"x\":"; + if (!::tl2::details::BuiltinVectorLongBoxedWriteJSON(s, item.x)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::BoxedVector64Read(::basictl::tl_istream & s, ::tl2::BoxedVector64& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorLongBoxedRead(s, item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedVector64Write(::basictl::tl_ostream & s, const ::tl2::BoxedVector64& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorLongBoxedWrite(s, item.x)) { return false; } + return true; +} + +bool tl2::details::BoxedVector64ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedVector64& item) { + if (!s.nat_read_exact_tag(0x83659ba8)) { return false; } + return tl2::details::BoxedVector64Read(s, item); +} + +bool tl2::details::BoxedVector64WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedVector64& item) { + if (!s.nat_write(0x83659ba8)) { return false; } + return tl2::details::BoxedVector64Write(s, item); +} + +bool tl2::details::BoxedVector64ReadResult(::basictl::tl_istream & s, tl2::BoxedVector64& item, std::vector& result) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorLongBoxedRead(s, result)) { return false; } + return true; +} +bool tl2::details::BoxedVector64WriteResult(::basictl::tl_ostream & s, tl2::BoxedVector64& item, std::vector& result) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorLongBoxedWrite(s, result)) { return false; } + return true; +} + +bool tl2::BoxedVector64::read_result(::basictl::tl_istream & s, std::vector & result) { + return tl2::details::BoxedVector64ReadResult(s, *this, result); +} +bool tl2::BoxedVector64::write_result(::basictl::tl_ostream & s, std::vector & result) { + return tl2::details::BoxedVector64WriteResult(s, *this, result); +} + +void tl2::details::BuiltinTuple10IntBoxedReset(std::array& item) { + for(auto && el : item) { + el = 0; + } +} + +bool tl2::details::BuiltinTuple10IntBoxedWriteJSON(std::ostream &s, const std::array& item) { + s << "["; + size_t index = 0; + for(auto && el : item) { + s << el; + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinTuple10IntBoxedRead(::basictl::tl_istream & s, std::array& item) { + for(auto && el : item) { + if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} + if (!s.int_read(el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinTuple10IntBoxedWrite(::basictl::tl_ostream & s, const std::array& item) { + for(const auto & el : item) { + if (!s.nat_write(0xa8509bda)) { return false; } + if (!s.int_write(el)) { return false;} + } + return true; +} + +void tl2::details::BuiltinTuple2IntBoxedReset(std::array& item) { + for(auto && el : item) { + el = 0; + } +} + +bool tl2::details::BuiltinTuple2IntBoxedWriteJSON(std::ostream &s, const std::array& item) { + s << "["; + size_t index = 0; + for(auto && el : item) { + s << el; + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinTuple2IntBoxedRead(::basictl::tl_istream & s, std::array& item) { + for(auto && el : item) { + if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} + if (!s.int_read(el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinTuple2IntBoxedWrite(::basictl::tl_ostream & s, const std::array& item) { + for(const auto & el : item) { + if (!s.nat_write(0xa8509bda)) { return false; } + if (!s.int_write(el)) { return false;} + } + return true; +} + +void tl2::details::BuiltinTuple3IntReset(std::array& item) { + for(auto && el : item) { + el = 0; + } +} + +bool tl2::details::BuiltinTuple3IntWriteJSON(std::ostream &s, const std::array& item) { + s << "["; + size_t index = 0; + for(auto && el : item) { + s << el; + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinTuple3IntRead(::basictl::tl_istream & s, std::array& item) { + for(auto && el : item) { + if (!s.int_read(el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinTuple3IntWrite(::basictl::tl_ostream & s, const std::array& item) { + for(const auto & el : item) { + if (!s.int_write(el)) { return false;} + } + return true; +} + +void tl2::details::BuiltinTuple5IntReset(std::array& item) { + for(auto && el : item) { + el = 0; + } +} + +bool tl2::details::BuiltinTuple5IntWriteJSON(std::ostream &s, const std::array& item) { + s << "["; + size_t index = 0; + for(auto && el : item) { + s << el; + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinTuple5IntRead(::basictl::tl_istream & s, std::array& item) { + for(auto && el : item) { + if (!s.int_read(el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinTuple5IntWrite(::basictl::tl_ostream & s, const std::array& item) { + for(const auto & el : item) { + if (!s.int_write(el)) { return false;} + } + return true; +} + +void tl2::details::BuiltinTupleIntReset(std::vector& item) { + item.resize(0); +} + +bool tl2::details::BuiltinTupleIntWriteJSON(std::ostream & s, const std::vector& item, uint32_t nat_n) { + if (item.size() != nat_n) { + // TODO add exception + return false; + } + s << "["; + size_t index = 0; + for(const auto & el : item) { + s << el; + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinTupleIntRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { + // TODO - check length sanity + item.resize(nat_n); + for(auto && el : item) { + if (!s.int_read(el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinTupleIntWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { + if (item.size() != nat_n) + return s.set_error_sequence_length(); + for(const auto & el : item) { + if (!s.int_write(el)) { return false;} + } + return true; +} + +void tl2::details::BuiltinTupleIntBoxedReset(std::vector& item) { + item.resize(0); +} + +bool tl2::details::BuiltinTupleIntBoxedWriteJSON(std::ostream & s, const std::vector& item, uint32_t nat_n) { + if (item.size() != nat_n) { + // TODO add exception + return false; + } + s << "["; + size_t index = 0; + for(const auto & el : item) { + s << el; + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinTupleIntBoxedRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { + // TODO - check length sanity + item.resize(nat_n); + for(auto && el : item) { + if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} + if (!s.int_read(el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinTupleIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { + if (item.size() != nat_n) + return s.set_error_sequence_length(); + for(const auto & el : item) { + if (!s.nat_write(0xa8509bda)) { return false; } + if (!s.int_write(el)) { return false;} + } + return true; +} + +void tl2::details::BuiltinVectorDictionaryFieldIntReset(std::vector<::tl2::DictionaryField>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorDictionaryFieldIntWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::DictionaryFieldIntWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorDictionaryFieldIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::DictionaryFieldIntRead(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorDictionaryFieldIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::DictionaryFieldIntWrite(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultReset(std::vector<::tl2::Either>>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultWriteJSON(std::ostream & s, const std::vector<::tl2::Either>>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::EitherIntVectorService6FindWithBoundsResultWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::Either>>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::EitherIntVectorService6FindWithBoundsResultReadBoxed(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either>>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::EitherIntVectorService6FindWithBoundsResultWriteBoxed(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowReset(std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWriteJSON(std::ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::EitherService6ErrorVectorService6FindResultRowWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::EitherService6ErrorVectorService6FindResultRowReadBoxed(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::EitherService6ErrorVectorService6FindResultRowWriteBoxed(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorIntReset(std::vector& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorIntWriteJSON(std::ostream & s, const std::vector& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + s << el; + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorIntRead(::basictl::tl_istream & s, std::vector& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!s.int_read(el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorIntWrite(::basictl::tl_ostream & s, const std::vector& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!s.int_write(el)) { return false;} + } + return true; +} + +void tl2::details::BuiltinVectorIntBoxedReset(std::vector& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorIntBoxedWriteJSON(std::ostream & s, const std::vector& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + s << el; + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorIntBoxedRead(::basictl::tl_istream & s, std::vector& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} + if (!s.int_read(el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!s.nat_write(0xa8509bda)) { return false; } + if (!s.int_write(el)) { return false;} + } + return true; +} + +void tl2::details::BuiltinVectorIntegerReset(std::vector<::tl2::Integer>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorIntegerWriteJSON(std::ostream & s, const std::vector<::tl2::Integer>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::IntegerWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorIntegerRead(::basictl::tl_istream & s, std::vector<::tl2::Integer>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::IntegerRead(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorIntegerWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Integer>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::IntegerWrite(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorLongBoxedReset(std::vector& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorLongBoxedWriteJSON(std::ostream & s, const std::vector& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + s << el; + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorLongBoxedRead(::basictl::tl_istream & s, std::vector& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!s.nat_read_exact_tag(0x22076cba)) { return false;} + if (!s.long_read(el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorLongBoxedWrite(::basictl::tl_ostream & s, const std::vector& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!s.nat_write(0x22076cba)) { return false; } + if (!s.long_write(el)) { return false;} + } + return true; +} + +void tl2::details::BuiltinVectorMapStringStringReset(std::vector<::tl2::Map>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorMapStringStringWriteJSON(std::ostream & s, const std::vector<::tl2::Map>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::MapStringStringWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorMapStringStringRead(::basictl::tl_istream & s, std::vector<::tl2::Map>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::MapStringStringRead(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorMapStringStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Map>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::MapStringStringWrite(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorStringReset(std::vector& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorStringWriteJSON(std::ostream & s, const std::vector& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + s << "\"" << el << "\""; + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorStringRead(::basictl::tl_istream & s, std::vector& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!s.string_read(el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorStringWrite(::basictl::tl_ostream & s, const std::vector& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!s.string_write(el)) { return false;} + } + return true; +} + +void tl2::details::DictionaryFieldIntReset(::tl2::DictionaryField& item) { + item.key.clear(); + item.value = 0; +} + +bool tl2::details::DictionaryFieldIntWriteJSON(std::ostream& s, const ::tl2::DictionaryField& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.value != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << item.value; + } + s << "}"; + return true; +} + +bool tl2::details::DictionaryFieldIntRead(::basictl::tl_istream & s, ::tl2::DictionaryField& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.int_read(item.value)) { return false; } + return true; +} + +bool tl2::details::DictionaryFieldIntWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.int_write(item.value)) { return false;} + return true; +} + +bool tl2::details::DictionaryFieldIntReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField& item) { + if (!s.nat_read_exact_tag(0x239c1b62)) { return false; } + return tl2::details::DictionaryFieldIntRead(s, item); +} + +bool tl2::details::DictionaryFieldIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item) { + if (!s.nat_write(0x239c1b62)) { return false; } + return tl2::details::DictionaryFieldIntWrite(s, item); +} + +void tl2::details::DictionaryIntReset(::tl2::Dictionary& item) { + item.clear(); +} + +bool tl2::details::DictionaryIntWriteJSON(std::ostream& s, const ::tl2::Dictionary& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldIntWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::DictionaryIntRead(::basictl::tl_istream & s, ::tl2::Dictionary& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldIntRead(s, item)) { return false; } + return true; +} + +bool tl2::details::DictionaryIntWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldIntWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::DictionaryIntReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary& item) { + if (!s.nat_read_exact_tag(0x1f4c618f)) { return false; } + return tl2::details::DictionaryIntRead(s, item); +} + +bool tl2::details::DictionaryIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary& item) { + if (!s.nat_write(0x1f4c618f)) { return false; } + return tl2::details::DictionaryIntWrite(s, item); +} + +void tl2::details::DoubleReset(double& item) { + item = 0; +} + +bool tl2::details::DoubleWriteJSON(std::ostream& s, const double& item) { + s << item; + return true; +} + +bool tl2::details::DoubleRead(::basictl::tl_istream & s, double& item) { + if (!s.double_read(item)) { return false; } + return true; +} + +bool tl2::details::DoubleWrite(::basictl::tl_ostream & s, const double& item) { + if (!s.double_write(item)) { return false;} + return true; +} + +bool tl2::details::DoubleReadBoxed(::basictl::tl_istream & s, double& item) { + if (!s.nat_read_exact_tag(0x2210c154)) { return false; } + return tl2::details::DoubleRead(s, item); +} + +bool tl2::details::DoubleWriteBoxed(::basictl::tl_ostream & s, const double& item) { + if (!s.nat_write(0x2210c154)) { return false; } + return tl2::details::DoubleWrite(s, item); +} + +static const std::string_view EitherIntVectorService6FindWithBoundsResult_tbl_tl_name[]{"left", "right"}; +static const uint32_t EitherIntVectorService6FindWithBoundsResult_tbl_tl_tag[]{0x0a29cd5d, 0xdf3ecb3b}; + +void tl2::details::EitherIntVectorService6FindWithBoundsResultReset(::tl2::Either>& item) { + item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function +} + +bool tl2::details::EitherIntVectorService6FindWithBoundsResultWriteJSON(std::ostream & s, const ::tl2::Either>& item) { + s << "{"; + s << "\"type\":"; + s << "\"" << EitherIntVectorService6FindWithBoundsResult_tbl_tl_name[item.value.index()] << "\""; + switch (item.value.index()) { + case 0: + s << ",\"value\":"; + if (!::tl2::details::LeftIntVectorService6FindWithBoundsResultWriteJSON(s, std::get<0>(item.value))) { return false; } + break; + case 1: + s << ",\"value\":"; + if (!::tl2::details::RightIntVectorService6FindWithBoundsResultWriteJSON(s, std::get<1>(item.value))) { return false; } + break; + } + s << "}"; + return true; +} +bool tl2::details::EitherIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::Either>& item) { + uint32_t nat; + s.nat_read(nat); + switch (nat) { + case 0x0a29cd5d: + if (item.value.index() != 0) { item.value.emplace<0>(); } + if (!::tl2::details::LeftIntVectorService6FindWithBoundsResultRead(s, std::get<0>(item.value))) { return false; } + break; + case 0xdf3ecb3b: + if (item.value.index() != 1) { item.value.emplace<1>(); } + if (!::tl2::details::RightIntVectorService6FindWithBoundsResultRead(s, std::get<1>(item.value))) { return false; } + break; + default: + return s.set_error_union_tag(); + } + return true; +} + +bool tl2::details::EitherIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Either>& item) { + s.nat_write(EitherIntVectorService6FindWithBoundsResult_tbl_tl_tag[item.value.index()]); + switch (item.value.index()) { + case 0: + if (!::tl2::details::LeftIntVectorService6FindWithBoundsResultWrite(s, std::get<0>(item.value))) { return false; } + break; + case 1: + if (!::tl2::details::RightIntVectorService6FindWithBoundsResultWrite(s, std::get<1>(item.value))) { return false; } + break; + } + return true; +} + +static const std::string_view EitherService6ErrorVectorService6FindResultRow_tbl_tl_name[]{"left", "right"}; +static const uint32_t EitherService6ErrorVectorService6FindResultRow_tbl_tl_tag[]{0x0a29cd5d, 0xdf3ecb3b}; + +void tl2::details::EitherService6ErrorVectorService6FindResultRowReset(::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function +} + +bool tl2::details::EitherService6ErrorVectorService6FindResultRowWriteJSON(std::ostream & s, const ::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + s << "{"; + s << "\"type\":"; + s << "\"" << EitherService6ErrorVectorService6FindResultRow_tbl_tl_name[item.value.index()] << "\""; + switch (item.value.index()) { + case 0: + s << ",\"value\":"; + if (!::tl2::details::LeftService6ErrorVectorService6FindResultRowWriteJSON(s, std::get<0>(item.value))) { return false; } + break; + case 1: + s << ",\"value\":"; + if (!::tl2::details::RightService6ErrorVectorService6FindResultRowWriteJSON(s, std::get<1>(item.value))) { return false; } + break; + } + s << "}"; + return true; +} +bool tl2::details::EitherService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + uint32_t nat; + s.nat_read(nat); + switch (nat) { + case 0x0a29cd5d: + if (item.value.index() != 0) { item.value.emplace<0>(); } + if (!::tl2::details::LeftService6ErrorVectorService6FindResultRowRead(s, std::get<0>(item.value))) { return false; } + break; + case 0xdf3ecb3b: + if (item.value.index() != 1) { item.value.emplace<1>(); } + if (!::tl2::details::RightService6ErrorVectorService6FindResultRowRead(s, std::get<1>(item.value))) { return false; } + break; + default: + return s.set_error_union_tag(); + } + return true; +} + +bool tl2::details::EitherService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + s.nat_write(EitherService6ErrorVectorService6FindResultRow_tbl_tl_tag[item.value.index()]); + switch (item.value.index()) { + case 0: + if (!::tl2::details::LeftService6ErrorVectorService6FindResultRowWrite(s, std::get<0>(item.value))) { return false; } + break; + case 1: + if (!::tl2::details::RightService6ErrorVectorService6FindResultRowWrite(s, std::get<1>(item.value))) { return false; } + break; + } + return true; +} + +bool tl2::FieldConflict1::write_json(std::ostream& s)const { + if (!::tl2::details::FieldConflict1WriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict1::read(::basictl::tl_istream & s) { + if (!::tl2::details::FieldConflict1Read(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict1::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::FieldConflict1Write(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict1::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::FieldConflict1ReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict1::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::FieldConflict1WriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::FieldConflict1Reset(::tl2::FieldConflict1& item) { + item.x = 0; + item.set_x = 0; +} + +bool tl2::details::FieldConflict1WriteJSON(std::ostream& s, const ::tl2::FieldConflict1& item) { + auto add_comma = false; + s << "{"; + if (item.x != 0) { + add_comma = true; + s << "\"x\":"; + s << item.x; + } + if (item.set_x != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"set_x\":"; + s << item.set_x; + } + s << "}"; + return true; +} + +bool tl2::details::FieldConflict1Read(::basictl::tl_istream & s, ::tl2::FieldConflict1& item) { + if (!s.int_read(item.x)) { return false; } + if (!s.int_read(item.set_x)) { return false; } + return true; +} + +bool tl2::details::FieldConflict1Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict1& item) { + if (!s.int_write(item.x)) { return false;} + if (!s.int_write(item.set_x)) { return false;} + return true; +} + +bool tl2::details::FieldConflict1ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict1& item) { + if (!s.nat_read_exact_tag(0xf314bd09)) { return false; } + return tl2::details::FieldConflict1Read(s, item); +} + +bool tl2::details::FieldConflict1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict1& item) { + if (!s.nat_write(0xf314bd09)) { return false; } + return tl2::details::FieldConflict1Write(s, item); +} + +bool tl2::FieldConflict2::write_json(std::ostream& s)const { + if (!::tl2::details::FieldConflict2WriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict2::read(::basictl::tl_istream & s) { + if (!::tl2::details::FieldConflict2Read(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict2::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::FieldConflict2Write(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict2::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::FieldConflict2ReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict2::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::FieldConflict2WriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::FieldConflict2Reset(::tl2::FieldConflict2& item) { + item.x = 0; + item.setX = 0; +} + +bool tl2::details::FieldConflict2WriteJSON(std::ostream& s, const ::tl2::FieldConflict2& item) { + auto add_comma = false; + s << "{"; + if (item.x != 0) { + add_comma = true; + s << "\"x\":"; + s << item.x; + } + if (item.setX != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"setX\":"; + s << item.setX; + } + s << "}"; + return true; +} + +bool tl2::details::FieldConflict2Read(::basictl::tl_istream & s, ::tl2::FieldConflict2& item) { + if (!s.int_read(item.x)) { return false; } + if (!s.int_read(item.setX)) { return false; } + return true; +} + +bool tl2::details::FieldConflict2Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict2& item) { + if (!s.int_write(item.x)) { return false;} + if (!s.int_write(item.setX)) { return false;} + return true; +} + +bool tl2::details::FieldConflict2ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict2& item) { + if (!s.nat_read_exact_tag(0x1bba76b8)) { return false; } + return tl2::details::FieldConflict2Read(s, item); +} + +bool tl2::details::FieldConflict2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict2& item) { + if (!s.nat_write(0x1bba76b8)) { return false; } + return tl2::details::FieldConflict2Write(s, item); +} + +bool tl2::FieldConflict3::write_json(std::ostream& s)const { + if (!::tl2::details::FieldConflict3WriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict3::read(::basictl::tl_istream & s) { + if (!::tl2::details::FieldConflict3Read(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict3::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::FieldConflict3Write(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict3::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::FieldConflict3ReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict3::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::FieldConflict3WriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::FieldConflict3Reset(::tl2::FieldConflict3& item) { + item.x = 0; + item.SetX = 0; +} + +bool tl2::details::FieldConflict3WriteJSON(std::ostream& s, const ::tl2::FieldConflict3& item) { + auto add_comma = false; + s << "{"; + if (item.x != 0) { + add_comma = true; + s << "\"x\":"; + s << item.x; + } + if (item.SetX != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"SetX\":"; + s << item.SetX; + } + s << "}"; + return true; +} + +bool tl2::details::FieldConflict3Read(::basictl::tl_istream & s, ::tl2::FieldConflict3& item) { + if (!s.int_read(item.x)) { return false; } + if (!s.int_read(item.SetX)) { return false; } + return true; +} + +bool tl2::details::FieldConflict3Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict3& item) { + if (!s.int_write(item.x)) { return false;} + if (!s.int_write(item.SetX)) { return false;} + return true; +} + +bool tl2::details::FieldConflict3ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict3& item) { + if (!s.nat_read_exact_tag(0x2cf6e157)) { return false; } + return tl2::details::FieldConflict3Read(s, item); +} + +bool tl2::details::FieldConflict3WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict3& item) { + if (!s.nat_write(0x2cf6e157)) { return false; } + return tl2::details::FieldConflict3Write(s, item); +} + +bool tl2::FieldConflict4::write_json(std::ostream& s)const { + if (!::tl2::details::FieldConflict4WriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict4::read(::basictl::tl_istream & s) { + if (!::tl2::details::FieldConflict4Read(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict4::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::FieldConflict4Write(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict4::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::FieldConflict4ReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::FieldConflict4::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::FieldConflict4WriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::FieldConflict4Reset(::tl2::FieldConflict4& item) { + item.X = 0; + item.SetX = 0; +} + +bool tl2::details::FieldConflict4WriteJSON(std::ostream& s, const ::tl2::FieldConflict4& item) { + auto add_comma = false; + s << "{"; + if (item.X != 0) { + add_comma = true; + s << "\"X\":"; + s << item.X; + } + if (item.SetX != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"SetX\":"; + s << item.SetX; + } + s << "}"; + return true; +} + +bool tl2::details::FieldConflict4Read(::basictl::tl_istream & s, ::tl2::FieldConflict4& item) { + if (!s.int_read(item.X)) { return false; } + if (!s.int_read(item.SetX)) { return false; } + return true; +} + +bool tl2::details::FieldConflict4Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict4& item) { + if (!s.int_write(item.X)) { return false;} + if (!s.int_write(item.SetX)) { return false;} + return true; +} + +bool tl2::details::FieldConflict4ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict4& item) { + if (!s.nat_read_exact_tag(0xd93c186a)) { return false; } + return tl2::details::FieldConflict4Read(s, item); +} + +bool tl2::details::FieldConflict4WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict4& item) { + if (!s.nat_write(0xd93c186a)) { return false; } + return tl2::details::FieldConflict4Write(s, item); +} + +void tl2::details::FloatReset(float& item) { + item = 0; +} + +bool tl2::details::FloatWriteJSON(std::ostream& s, const float& item) { + s << item; + return true; +} + +bool tl2::details::FloatRead(::basictl::tl_istream & s, float& item) { + if (!s.float_read(item)) { return false; } + return true; +} + +bool tl2::details::FloatWrite(::basictl::tl_ostream & s, const float& item) { + if (!s.float_write(item)) { return false;} + return true; +} + +bool tl2::details::FloatReadBoxed(::basictl::tl_istream & s, float& item) { + if (!s.nat_read_exact_tag(0x824dab22)) { return false; } + return tl2::details::FloatRead(s, item); +} + +bool tl2::details::FloatWriteBoxed(::basictl::tl_ostream & s, const float& item) { + if (!s.nat_write(0x824dab22)) { return false; } + return tl2::details::FloatWrite(s, item); +} + +bool tl2::Get_arrays::write_json(std::ostream& s)const { + if (!::tl2::details::GetArraysWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::Get_arrays::read(::basictl::tl_istream & s) { + if (!::tl2::details::GetArraysRead(s, *this)) { return false; } + return true; +} + +bool tl2::Get_arrays::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetArraysWrite(s, *this)) { return false; } + return true; +} + +bool tl2::Get_arrays::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::GetArraysReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::Get_arrays::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetArraysWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::GetArraysReset(::tl2::Get_arrays& item) { + item.n = 0; + item.a.clear(); + ::tl2::details::BuiltinTuple5IntReset(item.b); +} + +bool tl2::details::GetArraysWriteJSON(std::ostream& s, const ::tl2::Get_arrays& item) { + auto add_comma = false; + s << "{"; + if (item.n != 0) { + add_comma = true; + s << "\"n\":"; + s << item.n; + } + if ((item.a.size() != 0) || (item.n != 0)) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"a\":"; + if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.a, item.n)) { return false; } + } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"b\":"; + if (!::tl2::details::BuiltinTuple5IntWriteJSON(s, item.b)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::GetArraysRead(::basictl::tl_istream & s, ::tl2::Get_arrays& item) { + if (!s.nat_read(item.n)) { return false; } + if (!::tl2::details::BuiltinTupleIntRead(s, item.a, item.n)) { return false; } + if (!::tl2::details::BuiltinTuple5IntRead(s, item.b)) { return false; } + return true; +} + +bool tl2::details::GetArraysWrite(::basictl::tl_ostream & s, const ::tl2::Get_arrays& item) { + if (!s.nat_write(item.n)) { return false;} + if (!::tl2::details::BuiltinTupleIntWrite(s, item.a, item.n)) { return false; } + if (!::tl2::details::BuiltinTuple5IntWrite(s, item.b)) { return false; } + return true; +} + +bool tl2::details::GetArraysReadBoxed(::basictl::tl_istream & s, ::tl2::Get_arrays& item) { + if (!s.nat_read_exact_tag(0x90658cdb)) { return false; } + return tl2::details::GetArraysRead(s, item); +} + +bool tl2::details::GetArraysWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Get_arrays& item) { + if (!s.nat_write(0x90658cdb)) { return false; } + return tl2::details::GetArraysWrite(s, item); +} + +bool tl2::details::GetArraysReadResult(::basictl::tl_istream & s, tl2::Get_arrays& item, std::array& result) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTuple5IntRead(s, result)) { return false; } + return true; +} +bool tl2::details::GetArraysWriteResult(::basictl::tl_ostream & s, tl2::Get_arrays& item, std::array& result) { + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTuple5IntWrite(s, result)) { return false; } + return true; +} + +bool tl2::Get_arrays::read_result(::basictl::tl_istream & s, std::array & result) { + return tl2::details::GetArraysReadResult(s, *this, result); +} +bool tl2::Get_arrays::write_result(::basictl::tl_ostream & s, std::array & result) { + return tl2::details::GetArraysWriteResult(s, *this, result); +} + +bool tl2::GetDouble::write_json(std::ostream& s)const { + if (!::tl2::details::GetDoubleWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::GetDouble::read(::basictl::tl_istream & s) { + if (!::tl2::details::GetDoubleRead(s, *this)) { return false; } + return true; +} + +bool tl2::GetDouble::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetDoubleWrite(s, *this)) { return false; } + return true; +} + +bool tl2::GetDouble::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::GetDoubleReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::GetDouble::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetDoubleWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::GetDoubleReset(::tl2::GetDouble& item) { + item.x = 0; +} + +bool tl2::details::GetDoubleWriteJSON(std::ostream& s, const ::tl2::GetDouble& item) { + s << "{"; + if (item.x != 0) { + s << "\"x\":"; + s << item.x; + } + s << "}"; + return true; +} + +bool tl2::details::GetDoubleRead(::basictl::tl_istream & s, ::tl2::GetDouble& item) { + if (!s.nat_read_exact_tag(0x2210c154)) { return false;} + if (!s.double_read(item.x)) { return false; } + return true; +} + +bool tl2::details::GetDoubleWrite(::basictl::tl_ostream & s, const ::tl2::GetDouble& item) { + if (!s.nat_write(0x2210c154)) { return false; } + if (!s.double_write(item.x)) { return false;} + return true; +} + +bool tl2::details::GetDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::GetDouble& item) { + if (!s.nat_read_exact_tag(0x39711d7b)) { return false; } + return tl2::details::GetDoubleRead(s, item); +} + +bool tl2::details::GetDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetDouble& item) { + if (!s.nat_write(0x39711d7b)) { return false; } + return tl2::details::GetDoubleWrite(s, item); +} + +bool tl2::details::GetDoubleReadResult(::basictl::tl_istream & s, tl2::GetDouble& item, double& result) { + if (!s.nat_read_exact_tag(0x2210c154)) { return false;} + if (!s.double_read(result)) { return false; } + return true; +} +bool tl2::details::GetDoubleWriteResult(::basictl::tl_ostream & s, tl2::GetDouble& item, double& result) { + if (!s.nat_write(0x2210c154)) { return false; } + if (!s.double_write(result)) { return false;} + return true; +} + +bool tl2::GetDouble::read_result(::basictl::tl_istream & s, double & result) { + return tl2::details::GetDoubleReadResult(s, *this, result); +} +bool tl2::GetDouble::write_result(::basictl::tl_ostream & s, double & result) { + return tl2::details::GetDoubleWriteResult(s, *this, result); +} + +bool tl2::GetFloat::write_json(std::ostream& s)const { + if (!::tl2::details::GetFloatWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::GetFloat::read(::basictl::tl_istream & s) { + if (!::tl2::details::GetFloatRead(s, *this)) { return false; } + return true; +} + +bool tl2::GetFloat::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetFloatWrite(s, *this)) { return false; } + return true; +} + +bool tl2::GetFloat::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::GetFloatReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::GetFloat::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetFloatWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::GetFloatReset(::tl2::GetFloat& item) { + item.x = 0; +} + +bool tl2::details::GetFloatWriteJSON(std::ostream& s, const ::tl2::GetFloat& item) { + s << "{"; + if (item.x != 0) { + s << "\"x\":"; + s << item.x; + } + s << "}"; + return true; +} + +bool tl2::details::GetFloatRead(::basictl::tl_istream & s, ::tl2::GetFloat& item) { + if (!s.float_read(item.x)) { return false; } + return true; +} + +bool tl2::details::GetFloatWrite(::basictl::tl_ostream & s, const ::tl2::GetFloat& item) { + if (!s.float_write(item.x)) { return false;} + return true; +} + +bool tl2::details::GetFloatReadBoxed(::basictl::tl_istream & s, ::tl2::GetFloat& item) { + if (!s.nat_read_exact_tag(0x25a7bc68)) { return false; } + return tl2::details::GetFloatRead(s, item); +} + +bool tl2::details::GetFloatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetFloat& item) { + if (!s.nat_write(0x25a7bc68)) { return false; } + return tl2::details::GetFloatWrite(s, item); +} + +bool tl2::details::GetFloatReadResult(::basictl::tl_istream & s, tl2::GetFloat& item, float& result) { + if (!s.nat_read_exact_tag(0x824dab22)) { return false;} + if (!s.float_read(result)) { return false; } + return true; +} +bool tl2::details::GetFloatWriteResult(::basictl::tl_ostream & s, tl2::GetFloat& item, float& result) { + if (!s.nat_write(0x824dab22)) { return false; } + if (!s.float_write(result)) { return false;} + return true; +} + +bool tl2::GetFloat::read_result(::basictl::tl_istream & s, float & result) { + return tl2::details::GetFloatReadResult(s, *this, result); +} +bool tl2::GetFloat::write_result(::basictl::tl_ostream & s, float & result) { + return tl2::details::GetFloatWriteResult(s, *this, result); +} + +bool tl2::GetMaybeIface::write_json(std::ostream& s)const { + if (!::tl2::details::GetMaybeIfaceWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::GetMaybeIface::read(::basictl::tl_istream & s) { + if (!::tl2::details::GetMaybeIfaceRead(s, *this)) { return false; } + return true; +} + +bool tl2::GetMaybeIface::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetMaybeIfaceWrite(s, *this)) { return false; } + return true; +} + +bool tl2::GetMaybeIface::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::GetMaybeIfaceReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::GetMaybeIface::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetMaybeIfaceWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::GetMaybeIfaceReset(::tl2::GetMaybeIface& item) { + ::tl2::details::Service1ValueReset(item.x); +} + +bool tl2::details::GetMaybeIfaceWriteJSON(std::ostream& s, const ::tl2::GetMaybeIface& item) { + s << "{"; + s << "\"x\":"; + if (!::tl2::details::Service1ValueWriteJSON(s, item.x)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::GetMaybeIfaceRead(::basictl::tl_istream & s, ::tl2::GetMaybeIface& item) { + if (!::tl2::details::Service1ValueReadBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::GetMaybeIfaceWrite(::basictl::tl_ostream & s, const ::tl2::GetMaybeIface& item) { + if (!::tl2::details::Service1ValueWriteBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::GetMaybeIfaceReadBoxed(::basictl::tl_istream & s, ::tl2::GetMaybeIface& item) { + if (!s.nat_read_exact_tag(0x6b055ae4)) { return false; } + return tl2::details::GetMaybeIfaceRead(s, item); +} + +bool tl2::details::GetMaybeIfaceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMaybeIface& item) { + if (!s.nat_write(0x6b055ae4)) { return false; } + return tl2::details::GetMaybeIfaceWrite(s, item); +} + +bool tl2::details::GetMaybeIfaceReadResult(::basictl::tl_istream & s, tl2::GetMaybeIface& item, std::optional<::tl2::service1::Value>& result) { + if (!::tl2::details::Service1ValueBoxedMaybeReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::GetMaybeIfaceWriteResult(::basictl::tl_ostream & s, tl2::GetMaybeIface& item, std::optional<::tl2::service1::Value>& result) { + if (!::tl2::details::Service1ValueBoxedMaybeWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::GetMaybeIface::read_result(::basictl::tl_istream & s, std::optional<::tl2::service1::Value> & result) { + return tl2::details::GetMaybeIfaceReadResult(s, *this, result); +} +bool tl2::GetMaybeIface::write_result(::basictl::tl_ostream & s, std::optional<::tl2::service1::Value> & result) { + return tl2::details::GetMaybeIfaceWriteResult(s, *this, result); +} + +bool tl2::GetMyDictOfInt::write_json(std::ostream& s)const { + if (!::tl2::details::GetMyDictOfIntWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::GetMyDictOfInt::read(::basictl::tl_istream & s) { + if (!::tl2::details::GetMyDictOfIntRead(s, *this)) { return false; } + return true; +} + +bool tl2::GetMyDictOfInt::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetMyDictOfIntWrite(s, *this)) { return false; } + return true; +} + +bool tl2::GetMyDictOfInt::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::GetMyDictOfIntReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::GetMyDictOfInt::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetMyDictOfIntWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::GetMyDictOfIntReset(::tl2::GetMyDictOfInt& item) { + ::tl2::details::MyDictOfIntReset(item.x); +} + +bool tl2::details::GetMyDictOfIntWriteJSON(std::ostream& s, const ::tl2::GetMyDictOfInt& item) { + s << "{"; + if (item.x.size() != 0) { + s << "\"x\":"; + if (!::tl2::details::MyDictOfIntWriteJSON(s, item.x)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::GetMyDictOfIntRead(::basictl::tl_istream & s, ::tl2::GetMyDictOfInt& item) { + if (!::tl2::details::MyDictOfIntReadBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::GetMyDictOfIntWrite(::basictl::tl_ostream & s, const ::tl2::GetMyDictOfInt& item) { + if (!::tl2::details::MyDictOfIntWriteBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::GetMyDictOfIntReadBoxed(::basictl::tl_istream & s, ::tl2::GetMyDictOfInt& item) { + if (!s.nat_read_exact_tag(0x166f962c)) { return false; } + return tl2::details::GetMyDictOfIntRead(s, item); +} + +bool tl2::details::GetMyDictOfIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMyDictOfInt& item) { + if (!s.nat_write(0x166f962c)) { return false; } + return tl2::details::GetMyDictOfIntWrite(s, item); +} + +bool tl2::details::GetMyDictOfIntReadResult(::basictl::tl_istream & s, tl2::GetMyDictOfInt& item, ::tl2::MyDictOfInt& result) { + if (!::tl2::details::MyDictOfIntReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::GetMyDictOfIntWriteResult(::basictl::tl_ostream & s, tl2::GetMyDictOfInt& item, ::tl2::MyDictOfInt& result) { + if (!::tl2::details::MyDictOfIntWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::GetMyDictOfInt::read_result(::basictl::tl_istream & s, ::tl2::MyDictOfInt & result) { + return tl2::details::GetMyDictOfIntReadResult(s, *this, result); +} +bool tl2::GetMyDictOfInt::write_result(::basictl::tl_ostream & s, ::tl2::MyDictOfInt & result) { + return tl2::details::GetMyDictOfIntWriteResult(s, *this, result); +} + +bool tl2::GetMyDouble::write_json(std::ostream& s)const { + if (!::tl2::details::GetMyDoubleWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::GetMyDouble::read(::basictl::tl_istream & s) { + if (!::tl2::details::GetMyDoubleRead(s, *this)) { return false; } + return true; +} + +bool tl2::GetMyDouble::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetMyDoubleWrite(s, *this)) { return false; } + return true; +} + +bool tl2::GetMyDouble::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::GetMyDoubleReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::GetMyDouble::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetMyDoubleWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::GetMyDoubleReset(::tl2::GetMyDouble& item) { + ::tl2::details::MyDoubleReset(item.x); +} + +bool tl2::details::GetMyDoubleWriteJSON(std::ostream& s, const ::tl2::GetMyDouble& item) { + s << "{"; + if (item.x != 0) { + s << "\"x\":"; + if (!::tl2::details::MyDoubleWriteJSON(s, item.x)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::GetMyDoubleRead(::basictl::tl_istream & s, ::tl2::GetMyDouble& item) { + if (!::tl2::details::MyDoubleRead(s, item.x)) { return false; } + return true; +} + +bool tl2::details::GetMyDoubleWrite(::basictl::tl_ostream & s, const ::tl2::GetMyDouble& item) { + if (!::tl2::details::MyDoubleWrite(s, item.x)) { return false; } + return true; +} + +bool tl2::details::GetMyDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::GetMyDouble& item) { + if (!s.nat_read_exact_tag(0xb660ad10)) { return false; } + return tl2::details::GetMyDoubleRead(s, item); +} + +bool tl2::details::GetMyDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMyDouble& item) { + if (!s.nat_write(0xb660ad10)) { return false; } + return tl2::details::GetMyDoubleWrite(s, item); +} + +bool tl2::details::GetMyDoubleReadResult(::basictl::tl_istream & s, tl2::GetMyDouble& item, ::tl2::MyDouble& result) { + if (!::tl2::details::MyDoubleReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::GetMyDoubleWriteResult(::basictl::tl_ostream & s, tl2::GetMyDouble& item, ::tl2::MyDouble& result) { + if (!::tl2::details::MyDoubleWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::GetMyDouble::read_result(::basictl::tl_istream & s, ::tl2::MyDouble & result) { + return tl2::details::GetMyDoubleReadResult(s, *this, result); +} +bool tl2::GetMyDouble::write_result(::basictl::tl_ostream & s, ::tl2::MyDouble & result) { + return tl2::details::GetMyDoubleWriteResult(s, *this, result); +} + +bool tl2::GetMyValue::write_json(std::ostream& s)const { + if (!::tl2::details::GetMyValueWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::GetMyValue::read(::basictl::tl_istream & s) { + if (!::tl2::details::GetMyValueRead(s, *this)) { return false; } + return true; +} + +bool tl2::GetMyValue::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetMyValueWrite(s, *this)) { return false; } + return true; +} + +bool tl2::GetMyValue::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::GetMyValueReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::GetMyValue::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetMyValueWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::GetMyValueReset(::tl2::GetMyValue& item) { + ::tl2::details::MyValueReset(item.x); +} + +bool tl2::details::GetMyValueWriteJSON(std::ostream& s, const ::tl2::GetMyValue& item) { + s << "{"; + s << "\"x\":"; + if (!::tl2::details::MyValueWriteJSON(s, item.x)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::GetMyValueRead(::basictl::tl_istream & s, ::tl2::GetMyValue& item) { + if (!::tl2::details::MyValueReadBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::GetMyValueWrite(::basictl::tl_ostream & s, const ::tl2::GetMyValue& item) { + if (!::tl2::details::MyValueWriteBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::GetMyValueReadBoxed(::basictl::tl_istream & s, ::tl2::GetMyValue& item) { + if (!s.nat_read_exact_tag(0xb3df27fe)) { return false; } + return tl2::details::GetMyValueRead(s, item); +} + +bool tl2::details::GetMyValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMyValue& item) { + if (!s.nat_write(0xb3df27fe)) { return false; } + return tl2::details::GetMyValueWrite(s, item); +} + +bool tl2::details::GetMyValueReadResult(::basictl::tl_istream & s, tl2::GetMyValue& item, ::tl2::MyValue& result) { + if (!::tl2::details::MyValueReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::GetMyValueWriteResult(::basictl::tl_ostream & s, tl2::GetMyValue& item, ::tl2::MyValue& result) { + if (!::tl2::details::MyValueWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::GetMyValue::read_result(::basictl::tl_istream & s, ::tl2::MyValue & result) { + return tl2::details::GetMyValueReadResult(s, *this, result); +} +bool tl2::GetMyValue::write_result(::basictl::tl_ostream & s, ::tl2::MyValue & result) { + return tl2::details::GetMyValueWriteResult(s, *this, result); +} + +bool tl2::GetNonOptNat::write_json(std::ostream& s)const { + if (!::tl2::details::GetNonOptNatWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::GetNonOptNat::read(::basictl::tl_istream & s) { + if (!::tl2::details::GetNonOptNatRead(s, *this)) { return false; } + return true; +} + +bool tl2::GetNonOptNat::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetNonOptNatWrite(s, *this)) { return false; } + return true; +} + +bool tl2::GetNonOptNat::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::GetNonOptNatReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::GetNonOptNat::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetNonOptNatWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::GetNonOptNatReset(::tl2::GetNonOptNat& item) { + item.n = 0; + item.xs.clear(); +} + +bool tl2::details::GetNonOptNatWriteJSON(std::ostream& s, const ::tl2::GetNonOptNat& item) { + auto add_comma = false; + s << "{"; + if (item.n != 0) { + add_comma = true; + s << "\"n\":"; + s << item.n; + } + if ((item.xs.size() != 0) || (item.n != 0)) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"xs\":"; + if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.xs, item.n)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::GetNonOptNatRead(::basictl::tl_istream & s, ::tl2::GetNonOptNat& item) { + if (!s.nat_read(item.n)) { return false; } + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTupleIntRead(s, item.xs, item.n)) { return false; } + return true; +} + +bool tl2::details::GetNonOptNatWrite(::basictl::tl_ostream & s, const ::tl2::GetNonOptNat& item) { + if (!s.nat_write(item.n)) { return false;} + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTupleIntWrite(s, item.xs, item.n)) { return false; } + return true; +} + +bool tl2::details::GetNonOptNatReadBoxed(::basictl::tl_istream & s, ::tl2::GetNonOptNat& item) { + if (!s.nat_read_exact_tag(0x67665961)) { return false; } + return tl2::details::GetNonOptNatRead(s, item); +} + +bool tl2::details::GetNonOptNatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetNonOptNat& item) { + if (!s.nat_write(0x67665961)) { return false; } + return tl2::details::GetNonOptNatWrite(s, item); +} + +bool tl2::details::GetNonOptNatReadResult(::basictl::tl_istream & s, tl2::GetNonOptNat& item, std::vector& result) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTupleIntRead(s, result, item.n)) { return false; } + return true; +} +bool tl2::details::GetNonOptNatWriteResult(::basictl::tl_ostream & s, tl2::GetNonOptNat& item, std::vector& result) { + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTupleIntWrite(s, result, item.n)) { return false; } + return true; +} + +bool tl2::GetNonOptNat::read_result(::basictl::tl_istream & s, std::vector & result) { + return tl2::details::GetNonOptNatReadResult(s, *this, result); +} +bool tl2::GetNonOptNat::write_result(::basictl::tl_ostream & s, std::vector & result) { + return tl2::details::GetNonOptNatWriteResult(s, *this, result); +} + +bool tl2::GetStats::write_json(std::ostream& s)const { + if (!::tl2::details::GetStatsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::GetStats::read(::basictl::tl_istream & s) { + if (!::tl2::details::GetStatsRead(s, *this)) { return false; } + return true; +} + +bool tl2::GetStats::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetStatsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::GetStats::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::GetStatsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::GetStats::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::GetStatsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::GetStatsReset(::tl2::GetStats& item) { + ::tl2::details::TasksQueueTypeStatsReset(item.x); +} + +bool tl2::details::GetStatsWriteJSON(std::ostream& s, const ::tl2::GetStats& item) { + s << "{"; + s << "\"x\":"; + if (!::tl2::details::TasksQueueTypeStatsWriteJSON(s, item.x)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::GetStatsRead(::basictl::tl_istream & s, ::tl2::GetStats& item) { + if (!::tl2::details::TasksQueueTypeStatsRead(s, item.x)) { return false; } + return true; +} + +bool tl2::details::GetStatsWrite(::basictl::tl_ostream & s, const ::tl2::GetStats& item) { + if (!::tl2::details::TasksQueueTypeStatsWrite(s, item.x)) { return false; } + return true; +} + +bool tl2::details::GetStatsReadBoxed(::basictl::tl_istream & s, ::tl2::GetStats& item) { + if (!s.nat_read_exact_tag(0xbaa6da35)) { return false; } + return tl2::details::GetStatsRead(s, item); +} + +bool tl2::details::GetStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetStats& item) { + if (!s.nat_write(0xbaa6da35)) { return false; } + return tl2::details::GetStatsWrite(s, item); +} + +bool tl2::details::GetStatsReadResult(::basictl::tl_istream & s, tl2::GetStats& item, ::tl2::tasks::QueueTypeStats& result) { + if (!::tl2::details::TasksQueueTypeStatsReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::GetStatsWriteResult(::basictl::tl_ostream & s, tl2::GetStats& item, ::tl2::tasks::QueueTypeStats& result) { + if (!::tl2::details::TasksQueueTypeStatsWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::GetStats::read_result(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats & result) { + return tl2::details::GetStatsReadResult(s, *this, result); +} +bool tl2::GetStats::write_result(::basictl::tl_ostream & s, ::tl2::tasks::QueueTypeStats & result) { + return tl2::details::GetStatsWriteResult(s, *this, result); +} + +void tl2::details::IntReset(int32_t& item) { + item = 0; +} + +bool tl2::details::IntWriteJSON(std::ostream& s, const int32_t& item) { + s << item; + return true; +} + +bool tl2::details::IntRead(::basictl::tl_istream & s, int32_t& item) { + if (!s.int_read(item)) { return false; } + return true; +} + +bool tl2::details::IntWrite(::basictl::tl_ostream & s, const int32_t& item) { + if (!s.int_write(item)) { return false;} + return true; +} + +bool tl2::details::IntReadBoxed(::basictl::tl_istream & s, int32_t& item) { + if (!s.nat_read_exact_tag(0xa8509bda)) { return false; } + return tl2::details::IntRead(s, item); +} + +bool tl2::details::IntWriteBoxed(::basictl::tl_ostream & s, const int32_t& item) { + if (!s.nat_write(0xa8509bda)) { return false; } + return tl2::details::IntWrite(s, item); +} + +bool tl2::details::IntMaybeWriteJSON(std::ostream & s, const std::optional& item) { + s << "{"; + if (item) { + s << "\"ok\":true"; + if((*item) != 0) { + s << ",\"value\":"; + s << *item; + } + } + s << "}"; + return true; +} +bool tl2::details::IntMaybeReadBoxed(::basictl::tl_istream & s, std::optional& item) { + bool has_item = false; + if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } + if (has_item) { + if (!item) { + item.emplace(); + } + if (!s.int_read(*item)) { return false; } + return true; + } + item.reset(); + return true; +} + +bool tl2::details::IntMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional& item) { + if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } + if (item) { + if (!s.int_write(*item)) { return false;} + } + return true; +} + +bool tl2::Integer::write_json(std::ostream& s)const { + if (!::tl2::details::IntegerWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::Integer::read(::basictl::tl_istream & s) { + if (!::tl2::details::IntegerRead(s, *this)) { return false; } + return true; +} + +bool tl2::Integer::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::IntegerWrite(s, *this)) { return false; } + return true; +} + +bool tl2::Integer::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::IntegerReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::Integer::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::IntegerWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::IntegerReset(::tl2::Integer& item) { + item.value = 0; +} + +bool tl2::details::IntegerWriteJSON(std::ostream& s, const ::tl2::Integer& item) { + s << "{"; + if (item.value != 0) { + s << "\"value\":"; + s << item.value; + } + s << "}"; + return true; +} + +bool tl2::details::IntegerRead(::basictl::tl_istream & s, ::tl2::Integer& item) { + if (!s.int_read(item.value)) { return false; } + return true; +} + +bool tl2::details::IntegerWrite(::basictl::tl_ostream & s, const ::tl2::Integer& item) { + if (!s.int_write(item.value)) { return false;} + return true; +} + +bool tl2::details::IntegerReadBoxed(::basictl::tl_istream & s, ::tl2::Integer& item) { + if (!s.nat_read_exact_tag(0x7e194796)) { return false; } + return tl2::details::IntegerRead(s, item); +} + +bool tl2::details::IntegerWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Integer& item) { + if (!s.nat_write(0x7e194796)) { return false; } + return tl2::details::IntegerWrite(s, item); +} + +bool tl2::Issue3498::write_json(std::ostream& s)const { + if (!::tl2::details::Issue3498WriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::Issue3498::read(::basictl::tl_istream & s) { + if (!::tl2::details::Issue3498Read(s, *this)) { return false; } + return true; +} + +bool tl2::Issue3498::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Issue3498Write(s, *this)) { return false; } + return true; +} + +bool tl2::Issue3498::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Issue3498ReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::Issue3498::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Issue3498WriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Issue3498Reset(::tl2::Issue3498& item) { + item.x.clear(); +} + +bool tl2::details::Issue3498WriteJSON(std::ostream& s, const ::tl2::Issue3498& item) { + s << "{"; + if (item.x.size() != 0) { + s << "\"x\":"; + if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWriteJSON(s, item.x)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Issue3498Read(::basictl::tl_istream & s, ::tl2::Issue3498& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowRead(s, item.x)) { return false; } + return true; +} + +bool tl2::details::Issue3498Write(::basictl::tl_ostream & s, const ::tl2::Issue3498& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWrite(s, item.x)) { return false; } + return true; +} + +bool tl2::details::Issue3498ReadBoxed(::basictl::tl_istream & s, ::tl2::Issue3498& item) { + if (!s.nat_read_exact_tag(0xf54b7b0a)) { return false; } + return tl2::details::Issue3498Read(s, item); +} + +bool tl2::details::Issue3498WriteBoxed(::basictl::tl_ostream & s, const ::tl2::Issue3498& item) { + if (!s.nat_write(0xf54b7b0a)) { return false; } + return tl2::details::Issue3498Write(s, item); +} + +void tl2::details::LeftIntVectorService6FindWithBoundsResultReset(::tl2::Left>& item) { + item.value = 0; +} + +bool tl2::details::LeftIntVectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const ::tl2::Left>& item) { + s << "{"; + if (item.value != 0) { + s << "\"value\":"; + s << item.value; + } + s << "}"; + return true; +} + +bool tl2::details::LeftIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, ::tl2::Left>& item) { + if (!s.int_read(item.value)) { return false; } + return true; +} + +bool tl2::details::LeftIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const ::tl2::Left>& item) { + if (!s.int_write(item.value)) { return false;} + return true; +} + +bool tl2::details::LeftIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::Left>& item) { + if (!s.nat_read_exact_tag(0x0a29cd5d)) { return false; } + return tl2::details::LeftIntVectorService6FindWithBoundsResultRead(s, item); +} + +bool tl2::details::LeftIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Left>& item) { + if (!s.nat_write(0x0a29cd5d)) { return false; } + return tl2::details::LeftIntVectorService6FindWithBoundsResultWrite(s, item); +} + +void tl2::details::LeftService6ErrorVectorService6FindResultRowReset(::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + ::tl2::details::Service6ErrorReset(item.value); +} + +bool tl2::details::LeftService6ErrorVectorService6FindResultRowWriteJSON(std::ostream& s, const ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + s << "{"; + s << "\"value\":"; + if (!::tl2::details::Service6ErrorWriteJSON(s, item.value)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::LeftService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + if (!::tl2::details::Service6ErrorRead(s, item.value)) { return false; } + return true; +} + +bool tl2::details::LeftService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + if (!::tl2::details::Service6ErrorWrite(s, item.value)) { return false; } + return true; +} + +bool tl2::details::LeftService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + if (!s.nat_read_exact_tag(0x0a29cd5d)) { return false; } + return tl2::details::LeftService6ErrorVectorService6FindResultRowRead(s, item); +} + +bool tl2::details::LeftService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + if (!s.nat_write(0x0a29cd5d)) { return false; } + return tl2::details::LeftService6ErrorVectorService6FindResultRowWrite(s, item); +} + +void tl2::details::LongReset(int64_t& item) { + item = 0; +} + +bool tl2::details::LongWriteJSON(std::ostream& s, const int64_t& item) { + s << item; + return true; +} + +bool tl2::details::LongRead(::basictl::tl_istream & s, int64_t& item) { + if (!s.long_read(item)) { return false; } + return true; +} + +bool tl2::details::LongWrite(::basictl::tl_ostream & s, const int64_t& item) { + if (!s.long_write(item)) { return false;} + return true; +} + +bool tl2::details::LongReadBoxed(::basictl::tl_istream & s, int64_t& item) { + if (!s.nat_read_exact_tag(0x22076cba)) { return false; } + return tl2::details::LongRead(s, item); +} + +bool tl2::details::LongWriteBoxed(::basictl::tl_ostream & s, const int64_t& item) { + if (!s.nat_write(0x22076cba)) { return false; } + return tl2::details::LongWrite(s, item); +} + +void tl2::details::MapStringStringReset(::tl2::Map& item) { + item.key.clear(); + item.value.clear(); +} + +bool tl2::details::MapStringStringWriteJSON(std::ostream& s, const ::tl2::Map& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.value.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << "\"" << item.value << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::MapStringStringRead(::basictl::tl_istream & s, ::tl2::Map& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.string_read(item.value)) { return false; } + return true; +} + +bool tl2::details::MapStringStringWrite(::basictl::tl_ostream & s, const ::tl2::Map& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.string_write(item.value)) { return false;} + return true; +} + +bool tl2::details::MapStringStringReadBoxed(::basictl::tl_istream & s, ::tl2::Map& item) { + if (!s.nat_read_exact_tag(0x79c473a4)) { return false; } + return tl2::details::MapStringStringRead(s, item); +} + +bool tl2::details::MapStringStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Map& item) { + if (!s.nat_write(0x79c473a4)) { return false; } + return tl2::details::MapStringStringWrite(s, item); +} + +void tl2::details::MyAnonMcValueReset(::tl2::MyAnonMcValue& item) { + ::tl2::details::Service1ValueReset(item); +} + +bool tl2::details::MyAnonMcValueWriteJSON(std::ostream& s, const ::tl2::MyAnonMcValue& item) { + if (!::tl2::details::Service1ValueWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::MyAnonMcValueRead(::basictl::tl_istream & s, ::tl2::MyAnonMcValue& item) { + if (!::tl2::details::Service1ValueReadBoxed(s, item)) { return false; } + return true; +} + +bool tl2::details::MyAnonMcValueWrite(::basictl::tl_ostream & s, const ::tl2::MyAnonMcValue& item) { + if (!::tl2::details::Service1ValueWriteBoxed(s, item)) { return false; } + return true; +} + +bool tl2::details::MyAnonMcValueReadBoxed(::basictl::tl_istream & s, ::tl2::MyAnonMcValue& item) { + if (!s.nat_read_exact_tag(0x569310db)) { return false; } + return tl2::details::MyAnonMcValueRead(s, item); +} + +bool tl2::details::MyAnonMcValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyAnonMcValue& item) { + if (!s.nat_write(0x569310db)) { return false; } + return tl2::details::MyAnonMcValueWrite(s, item); +} + +bool tl2::MyBoxedArray::write_json(std::ostream& s)const { + if (!::tl2::details::MyBoxedArrayWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::MyBoxedArray::read(::basictl::tl_istream & s) { + if (!::tl2::details::MyBoxedArrayRead(s, *this)) { return false; } + return true; +} + +bool tl2::MyBoxedArray::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyBoxedArrayWrite(s, *this)) { return false; } + return true; +} + +bool tl2::MyBoxedArray::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::MyBoxedArrayReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::MyBoxedArray::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyBoxedArrayWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::MyBoxedArrayReset(::tl2::MyBoxedArray& item) { + ::tl2::details::BuiltinTuple2IntBoxedReset(item.data); +} + +bool tl2::details::MyBoxedArrayWriteJSON(std::ostream& s, const ::tl2::MyBoxedArray& item) { + s << "{"; + s << "\"data\":"; + if (!::tl2::details::BuiltinTuple2IntBoxedWriteJSON(s, item.data)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::MyBoxedArrayRead(::basictl::tl_istream & s, ::tl2::MyBoxedArray& item) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTuple2IntBoxedRead(s, item.data)) { return false; } + return true; +} + +bool tl2::details::MyBoxedArrayWrite(::basictl::tl_ostream & s, const ::tl2::MyBoxedArray& item) { + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTuple2IntBoxedWrite(s, item.data)) { return false; } + return true; +} + +bool tl2::details::MyBoxedArrayReadBoxed(::basictl::tl_istream & s, ::tl2::MyBoxedArray& item) { + if (!s.nat_read_exact_tag(0x288f64f0)) { return false; } + return tl2::details::MyBoxedArrayRead(s, item); +} + +bool tl2::details::MyBoxedArrayWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyBoxedArray& item) { + if (!s.nat_write(0x288f64f0)) { return false; } + return tl2::details::MyBoxedArrayWrite(s, item); +} + +bool tl2::MyBoxedTupleSlice::write_json(std::ostream& s)const { + if (!::tl2::details::MyBoxedTupleSliceWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::MyBoxedTupleSlice::read(::basictl::tl_istream & s) { + if (!::tl2::details::MyBoxedTupleSliceRead(s, *this)) { return false; } + return true; +} + +bool tl2::MyBoxedTupleSlice::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyBoxedTupleSliceWrite(s, *this)) { return false; } + return true; +} + +bool tl2::MyBoxedTupleSlice::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::MyBoxedTupleSliceReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::MyBoxedTupleSlice::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyBoxedTupleSliceWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::MyBoxedTupleSliceReset(::tl2::MyBoxedTupleSlice& item) { + item.n = 0; + item.data.clear(); +} + +bool tl2::details::MyBoxedTupleSliceWriteJSON(std::ostream& s, const ::tl2::MyBoxedTupleSlice& item) { + auto add_comma = false; + s << "{"; + if (item.n != 0) { + add_comma = true; + s << "\"n\":"; + s << item.n; + } + if ((item.data.size() != 0) || (item.n != 0)) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"data\":"; + if (!::tl2::details::BuiltinTupleIntBoxedWriteJSON(s, item.data, item.n)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::MyBoxedTupleSliceRead(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice& item) { + if (!s.nat_read(item.n)) { return false; } + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTupleIntBoxedRead(s, item.data, item.n)) { return false; } + return true; +} + +bool tl2::details::MyBoxedTupleSliceWrite(::basictl::tl_ostream & s, const ::tl2::MyBoxedTupleSlice& item) { + if (!s.nat_write(item.n)) { return false;} + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTupleIntBoxedWrite(s, item.data, item.n)) { return false; } + return true; +} + +bool tl2::details::MyBoxedTupleSliceReadBoxed(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice& item) { + if (!s.nat_read_exact_tag(0x25d1a1be)) { return false; } + return tl2::details::MyBoxedTupleSliceRead(s, item); +} + +bool tl2::details::MyBoxedTupleSliceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyBoxedTupleSlice& item) { + if (!s.nat_write(0x25d1a1be)) { return false; } + return tl2::details::MyBoxedTupleSliceWrite(s, item); +} + +bool tl2::MyBoxedVectorSlice::write_json(std::ostream& s)const { + if (!::tl2::details::MyBoxedVectorSliceWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::MyBoxedVectorSlice::read(::basictl::tl_istream & s) { + if (!::tl2::details::MyBoxedVectorSliceRead(s, *this)) { return false; } + return true; +} + +bool tl2::MyBoxedVectorSlice::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyBoxedVectorSliceWrite(s, *this)) { return false; } + return true; +} + +bool tl2::MyBoxedVectorSlice::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::MyBoxedVectorSliceReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::MyBoxedVectorSlice::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyBoxedVectorSliceWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::MyBoxedVectorSliceReset(::tl2::MyBoxedVectorSlice& item) { + item.data.clear(); +} + +bool tl2::details::MyBoxedVectorSliceWriteJSON(std::ostream& s, const ::tl2::MyBoxedVectorSlice& item) { + s << "{"; + if (item.data.size() != 0) { + s << "\"data\":"; + if (!::tl2::details::BuiltinVectorIntBoxedWriteJSON(s, item.data)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::MyBoxedVectorSliceRead(::basictl::tl_istream & s, ::tl2::MyBoxedVectorSlice& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorIntBoxedRead(s, item.data)) { return false; } + return true; +} + +bool tl2::details::MyBoxedVectorSliceWrite(::basictl::tl_ostream & s, const ::tl2::MyBoxedVectorSlice& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorIntBoxedWrite(s, item.data)) { return false; } + return true; +} + +bool tl2::details::MyBoxedVectorSliceReadBoxed(::basictl::tl_istream & s, ::tl2::MyBoxedVectorSlice& item) { + if (!s.nat_read_exact_tag(0x57d164bb)) { return false; } + return tl2::details::MyBoxedVectorSliceRead(s, item); +} + +bool tl2::details::MyBoxedVectorSliceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyBoxedVectorSlice& item) { + if (!s.nat_write(0x57d164bb)) { return false; } + return tl2::details::MyBoxedVectorSliceWrite(s, item); +} + +void tl2::details::MyDictOfIntReset(::tl2::MyDictOfInt& item) { + ::tl2::details::DictionaryIntReset(item); +} + +bool tl2::details::MyDictOfIntWriteJSON(std::ostream& s, const ::tl2::MyDictOfInt& item) { + if (!::tl2::details::DictionaryIntWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::MyDictOfIntRead(::basictl::tl_istream & s, ::tl2::MyDictOfInt& item) { + if (!::tl2::details::DictionaryIntRead(s, item)) { return false; } + return true; +} + +bool tl2::details::MyDictOfIntWrite(::basictl::tl_ostream & s, const ::tl2::MyDictOfInt& item) { + if (!::tl2::details::DictionaryIntWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::MyDictOfIntReadBoxed(::basictl::tl_istream & s, ::tl2::MyDictOfInt& item) { + if (!s.nat_read_exact_tag(0xb8019a3d)) { return false; } + return tl2::details::MyDictOfIntRead(s, item); +} + +bool tl2::details::MyDictOfIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyDictOfInt& item) { + if (!s.nat_write(0xb8019a3d)) { return false; } + return tl2::details::MyDictOfIntWrite(s, item); +} + +void tl2::details::MyDoubleReset(::tl2::MyDouble& item) { + item = 0; +} + +bool tl2::details::MyDoubleWriteJSON(std::ostream& s, const ::tl2::MyDouble& item) { + s << item; + return true; +} + +bool tl2::details::MyDoubleRead(::basictl::tl_istream & s, ::tl2::MyDouble& item) { + if (!s.nat_read_exact_tag(0x2210c154)) { return false;} + if (!s.double_read(item)) { return false; } + return true; +} + +bool tl2::details::MyDoubleWrite(::basictl::tl_ostream & s, const ::tl2::MyDouble& item) { + if (!s.nat_write(0x2210c154)) { return false; } + if (!s.double_write(item)) { return false;} + return true; +} + +bool tl2::details::MyDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::MyDouble& item) { + if (!s.nat_read_exact_tag(0x90a6c726)) { return false; } + return tl2::details::MyDoubleRead(s, item); +} + +bool tl2::details::MyDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyDouble& item) { + if (!s.nat_write(0x90a6c726)) { return false; } + return tl2::details::MyDoubleWrite(s, item); +} + +bool tl2::MyInt::write_json(std::ostream& s)const { + if (!::tl2::details::MyIntWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::MyInt::read(::basictl::tl_istream & s) { + if (!::tl2::details::MyIntRead(s, *this)) { return false; } + return true; +} + +bool tl2::MyInt::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyIntWrite(s, *this)) { return false; } + return true; +} + +bool tl2::MyInt::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::MyIntReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::MyInt::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyIntWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::MyIntReset(::tl2::MyInt& item) { + item.val1 = 0; +} + +bool tl2::details::MyIntWriteJSON(std::ostream& s, const ::tl2::MyInt& item) { + s << "{"; + if (item.val1 != 0) { + s << "\"val1\":"; + s << item.val1; + } + s << "}"; + return true; +} + +bool tl2::details::MyIntRead(::basictl::tl_istream & s, ::tl2::MyInt& item) { + if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} + if (!s.int_read(item.val1)) { return false; } + return true; +} + +bool tl2::details::MyIntWrite(::basictl::tl_ostream & s, const ::tl2::MyInt& item) { + if (!s.nat_write(0xa8509bda)) { return false; } + if (!s.int_write(item.val1)) { return false;} + return true; +} + +bool tl2::details::MyIntReadBoxed(::basictl::tl_istream & s, ::tl2::MyInt& item) { + if (!s.nat_read_exact_tag(0xc12375b7)) { return false; } + return tl2::details::MyIntRead(s, item); +} + +bool tl2::details::MyIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyInt& item) { + if (!s.nat_write(0xc12375b7)) { return false; } + return tl2::details::MyIntWrite(s, item); +} + +void tl2::details::MyMaybe1Reset(::tl2::MyMaybe1& item) { + item.reset(); +} + +bool tl2::details::MyMaybe1WriteJSON(std::ostream& s, const ::tl2::MyMaybe1& item) { + if (!::tl2::details::MyTuple10MaybeWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::MyMaybe1Read(::basictl::tl_istream & s, ::tl2::MyMaybe1& item) { + if (!::tl2::details::MyTuple10MaybeReadBoxed(s, item)) { return false; } + return true; +} + +bool tl2::details::MyMaybe1Write(::basictl::tl_ostream & s, const ::tl2::MyMaybe1& item) { + if (!::tl2::details::MyTuple10MaybeWriteBoxed(s, item)) { return false; } + return true; +} + +bool tl2::details::MyMaybe1ReadBoxed(::basictl::tl_istream & s, ::tl2::MyMaybe1& item) { + if (!s.nat_read_exact_tag(0x32c541fe)) { return false; } + return tl2::details::MyMaybe1Read(s, item); +} + +bool tl2::details::MyMaybe1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMaybe1& item) { + if (!s.nat_write(0x32c541fe)) { return false; } + return tl2::details::MyMaybe1Write(s, item); +} + +void tl2::details::MyMaybe2Reset(::tl2::MyMaybe2& item) { + item.reset(); +} + +bool tl2::details::MyMaybe2WriteJSON(std::ostream& s, const ::tl2::MyMaybe2& item) { + if (!::tl2::details::MyTuple10MaybeWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::MyMaybe2Read(::basictl::tl_istream & s, ::tl2::MyMaybe2& item) { + if (!::tl2::details::MyTuple10MaybeReadBoxed(s, item)) { return false; } + return true; +} + +bool tl2::details::MyMaybe2Write(::basictl::tl_ostream & s, const ::tl2::MyMaybe2& item) { + if (!::tl2::details::MyTuple10MaybeWriteBoxed(s, item)) { return false; } + return true; +} + +bool tl2::details::MyMaybe2ReadBoxed(::basictl::tl_istream & s, ::tl2::MyMaybe2& item) { + if (!s.nat_read_exact_tag(0xef6d355c)) { return false; } + return tl2::details::MyMaybe2Read(s, item); +} + +bool tl2::details::MyMaybe2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMaybe2& item) { + if (!s.nat_write(0xef6d355c)) { return false; } + return tl2::details::MyMaybe2Write(s, item); +} + +bool tl2::MyMcValue::write_json(std::ostream& s)const { + if (!::tl2::details::MyMcValueWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::MyMcValue::read(::basictl::tl_istream & s) { + if (!::tl2::details::MyMcValueRead(s, *this)) { return false; } + return true; +} + +bool tl2::MyMcValue::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyMcValueWrite(s, *this)) { return false; } + return true; +} + +bool tl2::MyMcValue::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::MyMcValueReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::MyMcValue::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyMcValueWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::MyMcValueReset(::tl2::MyMcValue& item) { + ::tl2::details::Service1ValueReset(item.x); +} + +bool tl2::details::MyMcValueWriteJSON(std::ostream& s, const ::tl2::MyMcValue& item) { + s << "{"; + s << "\"x\":"; + if (!::tl2::details::Service1ValueWriteJSON(s, item.x)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::MyMcValueRead(::basictl::tl_istream & s, ::tl2::MyMcValue& item) { + if (!::tl2::details::Service1ValueReadBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::MyMcValueWrite(::basictl::tl_ostream & s, const ::tl2::MyMcValue& item) { + if (!::tl2::details::Service1ValueWriteBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::MyMcValueReadBoxed(::basictl::tl_istream & s, ::tl2::MyMcValue& item) { + if (!s.nat_read_exact_tag(0xe2ffd978)) { return false; } + return tl2::details::MyMcValueRead(s, item); +} + +bool tl2::details::MyMcValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMcValue& item) { + if (!s.nat_write(0xe2ffd978)) { return false; } + return tl2::details::MyMcValueWrite(s, item); +} + +bool tl2::MyMcValueTuple::write_json(std::ostream& s)const { + if (!::tl2::details::MyMcValueTupleWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::MyMcValueTuple::read(::basictl::tl_istream & s) { + if (!::tl2::details::MyMcValueTupleRead(s, *this)) { return false; } + return true; +} + +bool tl2::MyMcValueTuple::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyMcValueTupleWrite(s, *this)) { return false; } + return true; +} + +bool tl2::MyMcValueTuple::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::MyMcValueTupleReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::MyMcValueTuple::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyMcValueTupleWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::MyMcValueTupleReset(::tl2::MyMcValueTuple& item) { + ::tl2::details::BuiltinTuple3Service1ValueReset(item.xs); +} + +bool tl2::details::MyMcValueTupleWriteJSON(std::ostream& s, const ::tl2::MyMcValueTuple& item) { + s << "{"; + s << "\"xs\":"; + if (!::tl2::details::BuiltinTuple3Service1ValueWriteJSON(s, item.xs)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::MyMcValueTupleRead(::basictl::tl_istream & s, ::tl2::MyMcValueTuple& item) { + if (!::tl2::details::BuiltinTuple3Service1ValueRead(s, item.xs)) { return false; } + return true; +} + +bool tl2::details::MyMcValueTupleWrite(::basictl::tl_ostream & s, const ::tl2::MyMcValueTuple& item) { + if (!::tl2::details::BuiltinTuple3Service1ValueWrite(s, item.xs)) { return false; } + return true; +} + +bool tl2::details::MyMcValueTupleReadBoxed(::basictl::tl_istream & s, ::tl2::MyMcValueTuple& item) { + if (!s.nat_read_exact_tag(0x1287d116)) { return false; } + return tl2::details::MyMcValueTupleRead(s, item); +} + +bool tl2::details::MyMcValueTupleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMcValueTuple& item) { + if (!s.nat_write(0x1287d116)) { return false; } + return tl2::details::MyMcValueTupleWrite(s, item); +} + +bool tl2::MyMcValueVector::write_json(std::ostream& s)const { + if (!::tl2::details::MyMcValueVectorWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::MyMcValueVector::read(::basictl::tl_istream & s) { + if (!::tl2::details::MyMcValueVectorRead(s, *this)) { return false; } + return true; +} + +bool tl2::MyMcValueVector::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyMcValueVectorWrite(s, *this)) { return false; } + return true; +} + +bool tl2::MyMcValueVector::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::MyMcValueVectorReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::MyMcValueVector::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyMcValueVectorWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::MyMcValueVectorReset(::tl2::MyMcValueVector& item) { + item.xs.clear(); +} + +bool tl2::details::MyMcValueVectorWriteJSON(std::ostream& s, const ::tl2::MyMcValueVector& item) { + s << "{"; + if (item.xs.size() != 0) { + s << "\"xs\":"; + if (!::tl2::details::BuiltinVectorService1ValueWriteJSON(s, item.xs)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::MyMcValueVectorRead(::basictl::tl_istream & s, ::tl2::MyMcValueVector& item) { + if (!::tl2::details::BuiltinVectorService1ValueRead(s, item.xs)) { return false; } + return true; +} + +bool tl2::details::MyMcValueVectorWrite(::basictl::tl_ostream & s, const ::tl2::MyMcValueVector& item) { + if (!::tl2::details::BuiltinVectorService1ValueWrite(s, item.xs)) { return false; } + return true; +} + +bool tl2::details::MyMcValueVectorReadBoxed(::basictl::tl_istream & s, ::tl2::MyMcValueVector& item) { + if (!s.nat_read_exact_tag(0x761d6d58)) { return false; } + return tl2::details::MyMcValueVectorRead(s, item); +} + +bool tl2::details::MyMcValueVectorWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMcValueVector& item) { + if (!s.nat_write(0x761d6d58)) { return false; } + return tl2::details::MyMcValueVectorWrite(s, item); +} + +bool tl2::MyString::write_json(std::ostream& s)const { + if (!::tl2::details::MyStringWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::MyString::read(::basictl::tl_istream & s) { + if (!::tl2::details::MyStringRead(s, *this)) { return false; } + return true; +} + +bool tl2::MyString::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyStringWrite(s, *this)) { return false; } + return true; +} + +bool tl2::MyString::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::MyStringReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::MyString::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyStringWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::MyStringReset(::tl2::MyString& item) { + item.val2.clear(); +} + +bool tl2::details::MyStringWriteJSON(std::ostream& s, const ::tl2::MyString& item) { + s << "{"; + if (item.val2.size() != 0) { + s << "\"val2\":"; + s << "\"" << item.val2 << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::MyStringRead(::basictl::tl_istream & s, ::tl2::MyString& item) { + if (!s.nat_read_exact_tag(0xb5286e24)) { return false;} + if (!s.string_read(item.val2)) { return false; } + return true; +} + +bool tl2::details::MyStringWrite(::basictl::tl_ostream & s, const ::tl2::MyString& item) { + if (!s.nat_write(0xb5286e24)) { return false; } + if (!s.string_write(item.val2)) { return false;} + return true; +} + +bool tl2::details::MyStringReadBoxed(::basictl::tl_istream & s, ::tl2::MyString& item) { + if (!s.nat_read_exact_tag(0xc8bfa969)) { return false; } + return tl2::details::MyStringRead(s, item); +} + +bool tl2::details::MyStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyString& item) { + if (!s.nat_write(0xc8bfa969)) { return false; } + return tl2::details::MyStringWrite(s, item); +} + +void tl2::details::MyTuple10Reset(::tl2::MyTuplen<10>& item) { + ::tl2::details::BuiltinTuple10IntBoxedReset(item); +} + +bool tl2::details::MyTuple10WriteJSON(std::ostream& s, const ::tl2::MyTuplen<10>& item) { + if (!::tl2::details::BuiltinTuple10IntBoxedWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::MyTuple10Read(::basictl::tl_istream & s, ::tl2::MyTuplen<10>& item) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTuple10IntBoxedRead(s, item)) { return false; } + return true; +} + +bool tl2::details::MyTuple10Write(::basictl::tl_ostream & s, const ::tl2::MyTuplen<10>& item) { + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTuple10IntBoxedWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::MyTuple10ReadBoxed(::basictl::tl_istream & s, ::tl2::MyTuplen<10>& item) { + if (!s.nat_read_exact_tag(0x62c51172)) { return false; } + return tl2::details::MyTuple10Read(s, item); +} + +bool tl2::details::MyTuple10WriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyTuplen<10>& item) { + if (!s.nat_write(0x62c51172)) { return false; } + return tl2::details::MyTuple10Write(s, item); +} + +bool tl2::details::MyTuple10MaybeWriteJSON(std::ostream & s, const std::optional<::tl2::MyTuplen<10>>& item) { + s << "{"; + if (item) { + s << "\"ok\":true"; + s << ",\"value\":"; + if (!::tl2::details::MyTuple10WriteJSON(s, *item)) { return false; } + } + s << "}"; + return true; +} +bool tl2::details::MyTuple10MaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::MyTuplen<10>>& item) { + bool has_item = false; + if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } + if (has_item) { + if (!item) { + item.emplace(); + } + if (!::tl2::details::MyTuple10Read(s, *item)) { return false; } + return true; + } + item.reset(); + return true; +} + +bool tl2::details::MyTuple10MaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::MyTuplen<10>>& item) { + if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } + if (item) { + if (!::tl2::details::MyTuple10Write(s, *item)) { return false; } + } + return true; +} + +bool tl2::MyTwoDicts::write_json(std::ostream& s)const { + if (!::tl2::details::MyTwoDictsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::MyTwoDicts::read(::basictl::tl_istream & s) { + if (!::tl2::details::MyTwoDictsRead(s, *this)) { return false; } + return true; +} + +bool tl2::MyTwoDicts::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyTwoDictsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::MyTwoDicts::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::MyTwoDictsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::MyTwoDicts::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyTwoDictsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::MyTwoDictsReset(::tl2::MyTwoDicts& item) { + ::tl2::details::DictionaryIntReset(item.a); + ::tl2::details::DictionaryIntReset(item.b); +} + +bool tl2::details::MyTwoDictsWriteJSON(std::ostream& s, const ::tl2::MyTwoDicts& item) { + auto add_comma = false; + s << "{"; + if (item.a.size() != 0) { + add_comma = true; + s << "\"a\":"; + if (!::tl2::details::DictionaryIntWriteJSON(s, item.a)) { return false; } + } + if (item.b.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"b\":"; + if (!::tl2::details::DictionaryIntWriteJSON(s, item.b)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::MyTwoDictsRead(::basictl::tl_istream & s, ::tl2::MyTwoDicts& item) { + if (!::tl2::details::DictionaryIntRead(s, item.a)) { return false; } + if (!::tl2::details::DictionaryIntRead(s, item.b)) { return false; } + return true; +} + +bool tl2::details::MyTwoDictsWrite(::basictl::tl_ostream & s, const ::tl2::MyTwoDicts& item) { + if (!::tl2::details::DictionaryIntWrite(s, item.a)) { return false; } + if (!::tl2::details::DictionaryIntWrite(s, item.b)) { return false; } + return true; +} + +bool tl2::details::MyTwoDictsReadBoxed(::basictl::tl_istream & s, ::tl2::MyTwoDicts& item) { + if (!s.nat_read_exact_tag(0xa859581d)) { return false; } + return tl2::details::MyTwoDictsRead(s, item); +} + +bool tl2::details::MyTwoDictsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyTwoDicts& item) { + if (!s.nat_write(0xa859581d)) { return false; } + return tl2::details::MyTwoDictsWrite(s, item); +} + +static const std::string_view MyValue_tbl_tl_name[]{"myInt", "myString"}; +static const uint32_t MyValue_tbl_tl_tag[]{0xc12375b7, 0xc8bfa969}; + +bool tl2::MyValue::write_json(std::ostream & s)const { + if (!::tl2::details::MyValueWriteJSON(s, *this)) { return false; } + return true; +} +bool tl2::MyValue::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::MyValueReadBoxed(s, *this)) { return false; } + return true; +} +bool tl2::MyValue::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::MyValueWriteBoxed(s, *this)) { return false; } + return true; +} +std::string_view tl2::MyValue::tl_name() const { + return MyValue_tbl_tl_name[value.index()]; +} +uint32_t tl2::MyValue::tl_tag() const { + return MyValue_tbl_tl_tag[value.index()]; +} + + +void tl2::details::MyValueReset(::tl2::MyValue& item) { + item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function +} + +bool tl2::details::MyValueWriteJSON(std::ostream & s, const ::tl2::MyValue& item) { + s << "{"; + s << "\"type\":"; + s << "\"" << MyValue_tbl_tl_name[item.value.index()] << "\""; + switch (item.value.index()) { + case 0: + s << ",\"value\":"; + if (!::tl2::details::MyIntWriteJSON(s, std::get<0>(item.value))) { return false; } + break; + case 1: + s << ",\"value\":"; + if (!::tl2::details::MyStringWriteJSON(s, std::get<1>(item.value))) { return false; } + break; + } + s << "}"; + return true; +} +bool tl2::details::MyValueReadBoxed(::basictl::tl_istream & s, ::tl2::MyValue& item) { + uint32_t nat; + s.nat_read(nat); + switch (nat) { + case 0xc12375b7: + if (item.value.index() != 0) { item.value.emplace<0>(); } + if (!::tl2::details::MyIntRead(s, std::get<0>(item.value))) { return false; } + break; + case 0xc8bfa969: + if (item.value.index() != 1) { item.value.emplace<1>(); } + if (!::tl2::details::MyStringRead(s, std::get<1>(item.value))) { return false; } + break; + default: + return s.set_error_union_tag(); + } + return true; +} + +bool tl2::details::MyValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyValue& item) { + s.nat_write(MyValue_tbl_tl_tag[item.value.index()]); + switch (item.value.index()) { + case 0: + if (!::tl2::details::MyIntWrite(s, std::get<0>(item.value))) { return false; } + break; + case 1: + if (!::tl2::details::MyStringWrite(s, std::get<1>(item.value))) { return false; } + break; + } + return true; +} + +bool tl2::NonOptNat::write_json(std::ostream& s)const { + if (!::tl2::details::NonOptNatWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::NonOptNat::read(::basictl::tl_istream & s) { + if (!::tl2::details::NonOptNatRead(s, *this)) { return false; } + return true; +} + +bool tl2::NonOptNat::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::NonOptNatWrite(s, *this)) { return false; } + return true; +} + +bool tl2::NonOptNat::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::NonOptNatReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::NonOptNat::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::NonOptNatWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::NonOptNatReset(::tl2::NonOptNat& item) { + item.n = 0; + item.xs.clear(); +} + +bool tl2::details::NonOptNatWriteJSON(std::ostream& s, const ::tl2::NonOptNat& item) { + auto add_comma = false; + s << "{"; + if (item.n != 0) { + add_comma = true; + s << "\"n\":"; + s << item.n; + } + if ((item.xs.size() != 0) || (item.n != 0)) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"xs\":"; + if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.xs, item.n)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::NonOptNatRead(::basictl::tl_istream & s, ::tl2::NonOptNat& item) { + if (!s.nat_read(item.n)) { return false; } + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTupleIntRead(s, item.xs, item.n)) { return false; } + return true; +} + +bool tl2::details::NonOptNatWrite(::basictl::tl_ostream & s, const ::tl2::NonOptNat& item) { + if (!s.nat_write(item.n)) { return false;} + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTupleIntWrite(s, item.xs, item.n)) { return false; } + return true; +} + +bool tl2::details::NonOptNatReadBoxed(::basictl::tl_istream & s, ::tl2::NonOptNat& item) { + if (!s.nat_read_exact_tag(0x45366605)) { return false; } + return tl2::details::NonOptNatRead(s, item); +} + +bool tl2::details::NonOptNatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::NonOptNat& item) { + if (!s.nat_write(0x45366605)) { return false; } + return tl2::details::NonOptNatWrite(s, item); +} + +void tl2::details::RightIntVectorService6FindWithBoundsResultReset(::tl2::Right>& item) { + item.value.clear(); +} + +bool tl2::details::RightIntVectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const ::tl2::Right>& item) { + s << "{"; + if (item.value.size() != 0) { + s << "\"value\":"; + if (!::tl2::details::BuiltinVectorService6FindWithBoundsResultWriteJSON(s, item.value)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::RightIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, ::tl2::Right>& item) { + if (!::tl2::details::BuiltinVectorService6FindWithBoundsResultRead(s, item.value)) { return false; } + return true; +} + +bool tl2::details::RightIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const ::tl2::Right>& item) { + if (!::tl2::details::BuiltinVectorService6FindWithBoundsResultWrite(s, item.value)) { return false; } + return true; +} + +bool tl2::details::RightIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::Right>& item) { + if (!s.nat_read_exact_tag(0xdf3ecb3b)) { return false; } + return tl2::details::RightIntVectorService6FindWithBoundsResultRead(s, item); +} + +bool tl2::details::RightIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Right>& item) { + if (!s.nat_write(0xdf3ecb3b)) { return false; } + return tl2::details::RightIntVectorService6FindWithBoundsResultWrite(s, item); +} + +void tl2::details::RightService6ErrorVectorService6FindResultRowReset(::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + item.value.clear(); +} + +bool tl2::details::RightService6ErrorVectorService6FindResultRowWriteJSON(std::ostream& s, const ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + s << "{"; + if (item.value.size() != 0) { + s << "\"value\":"; + if (!::tl2::details::BuiltinVectorService6FindResultRowWriteJSON(s, item.value)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::RightService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + if (!::tl2::details::BuiltinVectorService6FindResultRowRead(s, item.value)) { return false; } + return true; +} + +bool tl2::details::RightService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + if (!::tl2::details::BuiltinVectorService6FindResultRowWrite(s, item.value)) { return false; } + return true; +} + +bool tl2::details::RightService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + if (!s.nat_read_exact_tag(0xdf3ecb3b)) { return false; } + return tl2::details::RightService6ErrorVectorService6FindResultRowRead(s, item); +} + +bool tl2::details::RightService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { + if (!s.nat_write(0xdf3ecb3b)) { return false; } + return tl2::details::RightService6ErrorVectorService6FindResultRowWrite(s, item); +} + +bool tl2::RpcInvokeReqExtra::write_json(std::ostream& s)const { + if (!::tl2::details::RpcInvokeReqExtraWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::RpcInvokeReqExtra::read(::basictl::tl_istream & s) { + if (!::tl2::details::RpcInvokeReqExtraRead(s, *this)) { return false; } + return true; +} + +bool tl2::RpcInvokeReqExtra::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::RpcInvokeReqExtraWrite(s, *this)) { return false; } + return true; +} + +bool tl2::RpcInvokeReqExtra::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::RpcInvokeReqExtraReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::RpcInvokeReqExtra::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::RpcInvokeReqExtraWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::RpcInvokeReqExtraReset(::tl2::RpcInvokeReqExtra& item) { + item.fields_mask = 0; + ::tl2::details::TrueReset(item.query); + ::tl2::details::TrueReset(item.sort); + ::tl2::details::TrueReset(item.sort_reverse); + item.wait_binlog_pos = 0; + item.string_forward_keys.clear(); +} + +bool tl2::details::RpcInvokeReqExtraWriteJSON(std::ostream& s, const ::tl2::RpcInvokeReqExtra& item) { + auto add_comma = false; + s << "{"; + if (item.fields_mask != 0) { + add_comma = true; + s << "\"fields_mask\":"; + s << item.fields_mask; + } + if ((item.fields_mask & (1<<0)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"query\":"; + if (!::tl2::details::TrueWriteJSON(s, item.query)) { return false; } + } + if ((item.fields_mask & (1<<1)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"sort\":"; + if (!::tl2::details::TrueWriteJSON(s, item.sort)) { return false; } + } + if ((item.fields_mask & (1<<2)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"sort_reverse\":"; + if (!::tl2::details::TrueWriteJSON(s, item.sort_reverse)) { return false; } + } + if ((item.fields_mask & (1<<16)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"wait_binlog_pos\":"; + s << item.wait_binlog_pos; + } + if ((item.fields_mask & (1<<18)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"string_forward_keys\":"; + if (!::tl2::details::BuiltinVectorStringWriteJSON(s, item.string_forward_keys)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::RpcInvokeReqExtraRead(::basictl::tl_istream & s, ::tl2::RpcInvokeReqExtra& item) { + if (!s.nat_read(item.fields_mask)) { return false; } + if ((item.fields_mask & (1<<0)) != 0) { + if (!::tl2::details::TrueRead(s, item.query)) { return false; } + } else { + ::tl2::details::TrueReset(item.query); + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!::tl2::details::TrueRead(s, item.sort)) { return false; } + } else { + ::tl2::details::TrueReset(item.sort); + } + if ((item.fields_mask & (1<<2)) != 0) { + if (!::tl2::details::TrueRead(s, item.sort_reverse)) { return false; } + } else { + ::tl2::details::TrueReset(item.sort_reverse); + } + if ((item.fields_mask & (1<<16)) != 0) { + if (!s.long_read(item.wait_binlog_pos)) { return false; } + } else { + item.wait_binlog_pos = 0; + } + if ((item.fields_mask & (1<<18)) != 0) { + if (!::tl2::details::BuiltinVectorStringRead(s, item.string_forward_keys)) { return false; } + } else { + item.string_forward_keys.clear(); + } + return true; +} + +bool tl2::details::RpcInvokeReqExtraWrite(::basictl::tl_ostream & s, const ::tl2::RpcInvokeReqExtra& item) { + if (!s.nat_write(item.fields_mask)) { return false;} + if ((item.fields_mask & (1<<0)) != 0) { + if (!::tl2::details::TrueWrite(s, item.query)) { return false; } + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!::tl2::details::TrueWrite(s, item.sort)) { return false; } + } + if ((item.fields_mask & (1<<2)) != 0) { + if (!::tl2::details::TrueWrite(s, item.sort_reverse)) { return false; } + } + if ((item.fields_mask & (1<<16)) != 0) { + if (!s.long_write(item.wait_binlog_pos)) { return false;} + } + if ((item.fields_mask & (1<<18)) != 0) { + if (!::tl2::details::BuiltinVectorStringWrite(s, item.string_forward_keys)) { return false; } + } + return true; +} + +bool tl2::details::RpcInvokeReqExtraReadBoxed(::basictl::tl_istream & s, ::tl2::RpcInvokeReqExtra& item) { + if (!s.nat_read_exact_tag(0xf3ef81a9)) { return false; } + return tl2::details::RpcInvokeReqExtraRead(s, item); +} + +bool tl2::details::RpcInvokeReqExtraWriteBoxed(::basictl::tl_ostream & s, const ::tl2::RpcInvokeReqExtra& item) { + if (!s.nat_write(0xf3ef81a9)) { return false; } + return tl2::details::RpcInvokeReqExtraWrite(s, item); +} + +bool tl2::StatOne::write_json(std::ostream& s)const { + if (!::tl2::details::StatOneWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::StatOne::read(::basictl::tl_istream & s) { + if (!::tl2::details::StatOneRead(s, *this)) { return false; } + return true; +} + +bool tl2::StatOne::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::StatOneWrite(s, *this)) { return false; } + return true; +} + +bool tl2::StatOne::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::StatOneReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::StatOne::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::StatOneWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::StatOneReset(::tl2::StatOne& item) { + item.key.clear(); + item.value.clear(); +} + +bool tl2::details::StatOneWriteJSON(std::ostream& s, const ::tl2::StatOne& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.value.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << "\"" << item.value << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::StatOneRead(::basictl::tl_istream & s, ::tl2::StatOne& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.string_read(item.value)) { return false; } + return true; +} + +bool tl2::details::StatOneWrite(::basictl::tl_ostream & s, const ::tl2::StatOne& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.string_write(item.value)) { return false;} + return true; +} + +bool tl2::details::StatOneReadBoxed(::basictl::tl_istream & s, ::tl2::StatOne& item) { + if (!s.nat_read_exact_tag(0x74b0604b)) { return false; } + return tl2::details::StatOneRead(s, item); +} + +bool tl2::details::StatOneWriteBoxed(::basictl::tl_ostream & s, const ::tl2::StatOne& item) { + if (!s.nat_write(0x74b0604b)) { return false; } + return tl2::details::StatOneWrite(s, item); +} + +void tl2::details::StringReset(std::string& item) { + item.clear(); +} + +bool tl2::details::StringWriteJSON(std::ostream& s, const std::string& item) { + s << "\"" << item << "\""; + return true; +} + +bool tl2::details::StringRead(::basictl::tl_istream & s, std::string& item) { + if (!s.string_read(item)) { return false; } + return true; +} + +bool tl2::details::StringWrite(::basictl::tl_ostream & s, const std::string& item) { + if (!s.string_write(item)) { return false;} + return true; +} + +bool tl2::details::StringReadBoxed(::basictl::tl_istream & s, std::string& item) { + if (!s.nat_read_exact_tag(0xb5286e24)) { return false; } + return tl2::details::StringRead(s, item); +} + +bool tl2::details::StringWriteBoxed(::basictl::tl_ostream & s, const std::string& item) { + if (!s.nat_write(0xb5286e24)) { return false; } + return tl2::details::StringWrite(s, item); +} + +bool tl2::True::write_json(std::ostream& s)const { + if (!::tl2::details::TrueWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::True::read(::basictl::tl_istream & s) { + if (!::tl2::details::TrueRead(s, *this)) { return false; } + return true; +} + +bool tl2::True::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TrueWrite(s, *this)) { return false; } + return true; +} + +bool tl2::True::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TrueReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::True::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TrueWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TrueReset(::tl2::True& item) { +} + +bool tl2::details::TrueWriteJSON(std::ostream& s, const ::tl2::True& item) { + s << "true"; + return true; +} + +bool tl2::details::TrueRead(::basictl::tl_istream & s, ::tl2::True& item) { + return true; +} + +bool tl2::details::TrueWrite(::basictl::tl_ostream & s, const ::tl2::True& item) { + return true; +} + +bool tl2::details::TrueReadBoxed(::basictl::tl_istream & s, ::tl2::True& item) { + if (!s.nat_read_exact_tag(0x3fedd339)) { return false; } + return tl2::details::TrueRead(s, item); +} + +bool tl2::details::TrueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::True& item) { + if (!s.nat_write(0x3fedd339)) { return false; } + return tl2::details::TrueWrite(s, item); +} + +void tl2::details::TupleIntReset(std::vector& item) { + item.clear(); +} + +bool tl2::details::TupleIntWriteJSON(std::ostream& s, const std::vector& item, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item, nat_n)) { return false; } + return true; +} + +bool tl2::details::TupleIntRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleIntRead(s, item, nat_n)) { return false; } + return true; +} + +bool tl2::details::TupleIntWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleIntWrite(s, item, nat_n)) { return false; } + return true; +} + +bool tl2::details::TupleIntReadBoxed(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false; } + return tl2::details::TupleIntRead(s, item, nat_n); +} + +bool tl2::details::TupleIntWriteBoxed(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { + if (!s.nat_write(0x9770768a)) { return false; } + return tl2::details::TupleIntWrite(s, item, nat_n); +} + +void tl2::details::TupleInt3Reset(std::array& item) { + ::tl2::details::BuiltinTuple3IntReset(item); +} + +bool tl2::details::TupleInt3WriteJSON(std::ostream& s, const std::array& item) { + if (!::tl2::details::BuiltinTuple3IntWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleInt3Read(::basictl::tl_istream & s, std::array& item) { + if (!::tl2::details::BuiltinTuple3IntRead(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleInt3Write(::basictl::tl_ostream & s, const std::array& item) { + if (!::tl2::details::BuiltinTuple3IntWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleInt3ReadBoxed(::basictl::tl_istream & s, std::array& item) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false; } + return tl2::details::TupleInt3Read(s, item); +} + +bool tl2::details::TupleInt3WriteBoxed(::basictl::tl_ostream & s, const std::array& item) { + if (!s.nat_write(0x9770768a)) { return false; } + return tl2::details::TupleInt3Write(s, item); +} + +void tl2::details::TupleInt5Reset(std::array& item) { + ::tl2::details::BuiltinTuple5IntReset(item); +} + +bool tl2::details::TupleInt5WriteJSON(std::ostream& s, const std::array& item) { + if (!::tl2::details::BuiltinTuple5IntWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleInt5Read(::basictl::tl_istream & s, std::array& item) { + if (!::tl2::details::BuiltinTuple5IntRead(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleInt5Write(::basictl::tl_ostream & s, const std::array& item) { + if (!::tl2::details::BuiltinTuple5IntWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleInt5ReadBoxed(::basictl::tl_istream & s, std::array& item) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false; } + return tl2::details::TupleInt5Read(s, item); +} + +bool tl2::details::TupleInt5WriteBoxed(::basictl::tl_ostream & s, const std::array& item) { + if (!s.nat_write(0x9770768a)) { return false; } + return tl2::details::TupleInt5Write(s, item); +} + +void tl2::details::TupleIntBoxedReset(std::vector& item) { + item.clear(); +} + +bool tl2::details::TupleIntBoxedWriteJSON(std::ostream& s, const std::vector& item, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleIntBoxedWriteJSON(s, item, nat_n)) { return false; } + return true; +} + +bool tl2::details::TupleIntBoxedRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleIntBoxedRead(s, item, nat_n)) { return false; } + return true; +} + +bool tl2::details::TupleIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleIntBoxedWrite(s, item, nat_n)) { return false; } + return true; +} + +bool tl2::details::TupleIntBoxedReadBoxed(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false; } + return tl2::details::TupleIntBoxedRead(s, item, nat_n); +} + +bool tl2::details::TupleIntBoxedWriteBoxed(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { + if (!s.nat_write(0x9770768a)) { return false; } + return tl2::details::TupleIntBoxedWrite(s, item, nat_n); +} + +void tl2::details::TupleIntBoxed10Reset(std::array& item) { + ::tl2::details::BuiltinTuple10IntBoxedReset(item); +} + +bool tl2::details::TupleIntBoxed10WriteJSON(std::ostream& s, const std::array& item) { + if (!::tl2::details::BuiltinTuple10IntBoxedWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleIntBoxed10Read(::basictl::tl_istream & s, std::array& item) { + if (!::tl2::details::BuiltinTuple10IntBoxedRead(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleIntBoxed10Write(::basictl::tl_ostream & s, const std::array& item) { + if (!::tl2::details::BuiltinTuple10IntBoxedWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleIntBoxed10ReadBoxed(::basictl::tl_istream & s, std::array& item) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false; } + return tl2::details::TupleIntBoxed10Read(s, item); +} + +bool tl2::details::TupleIntBoxed10WriteBoxed(::basictl::tl_ostream & s, const std::array& item) { + if (!s.nat_write(0x9770768a)) { return false; } + return tl2::details::TupleIntBoxed10Write(s, item); +} + +void tl2::details::TupleIntBoxed2Reset(std::array& item) { + ::tl2::details::BuiltinTuple2IntBoxedReset(item); +} + +bool tl2::details::TupleIntBoxed2WriteJSON(std::ostream& s, const std::array& item) { + if (!::tl2::details::BuiltinTuple2IntBoxedWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleIntBoxed2Read(::basictl::tl_istream & s, std::array& item) { + if (!::tl2::details::BuiltinTuple2IntBoxedRead(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleIntBoxed2Write(::basictl::tl_ostream & s, const std::array& item) { + if (!::tl2::details::BuiltinTuple2IntBoxedWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleIntBoxed2ReadBoxed(::basictl::tl_istream & s, std::array& item) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false; } + return tl2::details::TupleIntBoxed2Read(s, item); +} + +bool tl2::details::TupleIntBoxed2WriteBoxed(::basictl::tl_ostream & s, const std::array& item) { + if (!s.nat_write(0x9770768a)) { return false; } + return tl2::details::TupleIntBoxed2Write(s, item); +} + +void tl2::details::TupleService1Value3Reset(std::array<::tl2::service1::Value, 3>& item) { + ::tl2::details::BuiltinTuple3Service1ValueReset(item); +} + +bool tl2::details::TupleService1Value3WriteJSON(std::ostream& s, const std::array<::tl2::service1::Value, 3>& item) { + if (!::tl2::details::BuiltinTuple3Service1ValueWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleService1Value3Read(::basictl::tl_istream & s, std::array<::tl2::service1::Value, 3>& item) { + if (!::tl2::details::BuiltinTuple3Service1ValueRead(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleService1Value3Write(::basictl::tl_ostream & s, const std::array<::tl2::service1::Value, 3>& item) { + if (!::tl2::details::BuiltinTuple3Service1ValueWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::TupleService1Value3ReadBoxed(::basictl::tl_istream & s, std::array<::tl2::service1::Value, 3>& item) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false; } + return tl2::details::TupleService1Value3Read(s, item); +} + +bool tl2::details::TupleService1Value3WriteBoxed(::basictl::tl_ostream & s, const std::array<::tl2::service1::Value, 3>& item) { + if (!s.nat_write(0x9770768a)) { return false; } + return tl2::details::TupleService1Value3Write(s, item); +} + +void tl2::details::TupleService2CounterSetReset(std::vector<::tl2::service2::CounterSet>& item) { + item.clear(); +} + +bool tl2::details::TupleService2CounterSetWriteJSON(std::ostream& s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleService2CounterSetWriteJSON(s, item, nat_n, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } + return true; +} + +bool tl2::details::TupleService2CounterSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleService2CounterSetRead(s, item, nat_n, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } + return true; +} + +bool tl2::details::TupleService2CounterSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleService2CounterSetWrite(s, item, nat_n, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } + return true; +} + +bool tl2::details::TupleService2CounterSetReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false; } + return tl2::details::TupleService2CounterSetRead(s, item, nat_tintCountersNum, nat_tfloatCountersNum, nat_n); +} + +bool tl2::details::TupleService2CounterSetWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { + if (!s.nat_write(0x9770768a)) { return false; } + return tl2::details::TupleService2CounterSetWrite(s, item, nat_tintCountersNum, nat_tfloatCountersNum, nat_n); +} + +void tl2::details::VectorDictionaryFieldIntReset(std::vector<::tl2::DictionaryField>& item) { + item.clear(); +} + +bool tl2::details::VectorDictionaryFieldIntWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldIntWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorDictionaryFieldIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldIntRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorDictionaryFieldIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldIntWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorDictionaryFieldIntReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorDictionaryFieldIntRead(s, item); +} + +bool tl2::details::VectorDictionaryFieldIntWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorDictionaryFieldIntWrite(s, item); +} + +void tl2::details::VectorEitherIntVectorService6FindWithBoundsResultReset(std::vector<::tl2::Either>>& item) { + item.clear(); +} + +bool tl2::details::VectorEitherIntVectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const std::vector<::tl2::Either>>& item) { + if (!::tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorEitherIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::Either>>& item) { + if (!::tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorEitherIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either>>& item) { + if (!::tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorEitherIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Either>>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorEitherIntVectorService6FindWithBoundsResultRead(s, item); +} + +bool tl2::details::VectorEitherIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Either>>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorEitherIntVectorService6FindWithBoundsResultWrite(s, item); +} + +void tl2::details::VectorEitherService6ErrorVectorService6FindResultRowReset(std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { + item.clear(); +} + +bool tl2::details::VectorEitherService6ErrorVectorService6FindResultRowWriteJSON(std::ostream& s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { + if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorEitherService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { + if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorEitherService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { + if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorEitherService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorEitherService6ErrorVectorService6FindResultRowRead(s, item); +} + +bool tl2::details::VectorEitherService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorEitherService6ErrorVectorService6FindResultRowWrite(s, item); +} + +void tl2::details::VectorIntReset(std::vector& item) { + item.clear(); +} + +bool tl2::details::VectorIntWriteJSON(std::ostream& s, const std::vector& item) { + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorIntRead(::basictl::tl_istream & s, std::vector& item) { + if (!::tl2::details::BuiltinVectorIntRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorIntWrite(::basictl::tl_ostream & s, const std::vector& item) { + if (!::tl2::details::BuiltinVectorIntWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorIntReadBoxed(::basictl::tl_istream & s, std::vector& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorIntRead(s, item); +} + +bool tl2::details::VectorIntWriteBoxed(::basictl::tl_ostream & s, const std::vector& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorIntWrite(s, item); +} + +void tl2::details::VectorIntBoxedReset(std::vector& item) { + item.clear(); +} + +bool tl2::details::VectorIntBoxedWriteJSON(std::ostream& s, const std::vector& item) { + if (!::tl2::details::BuiltinVectorIntBoxedWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorIntBoxedRead(::basictl::tl_istream & s, std::vector& item) { + if (!::tl2::details::BuiltinVectorIntBoxedRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item) { + if (!::tl2::details::BuiltinVectorIntBoxedWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorIntBoxedReadBoxed(::basictl::tl_istream & s, std::vector& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorIntBoxedRead(s, item); +} + +bool tl2::details::VectorIntBoxedWriteBoxed(::basictl::tl_ostream & s, const std::vector& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorIntBoxedWrite(s, item); +} + +void tl2::details::VectorIntegerReset(std::vector<::tl2::Integer>& item) { + item.clear(); +} + +bool tl2::details::VectorIntegerWriteJSON(std::ostream& s, const std::vector<::tl2::Integer>& item) { + if (!::tl2::details::BuiltinVectorIntegerWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorIntegerRead(::basictl::tl_istream & s, std::vector<::tl2::Integer>& item) { + if (!::tl2::details::BuiltinVectorIntegerRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorIntegerWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Integer>& item) { + if (!::tl2::details::BuiltinVectorIntegerWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorIntegerReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Integer>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorIntegerRead(s, item); +} + +bool tl2::details::VectorIntegerWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Integer>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorIntegerWrite(s, item); +} + +void tl2::details::VectorLongBoxedReset(std::vector& item) { + item.clear(); +} + +bool tl2::details::VectorLongBoxedWriteJSON(std::ostream& s, const std::vector& item) { + if (!::tl2::details::BuiltinVectorLongBoxedWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorLongBoxedRead(::basictl::tl_istream & s, std::vector& item) { + if (!::tl2::details::BuiltinVectorLongBoxedRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorLongBoxedWrite(::basictl::tl_ostream & s, const std::vector& item) { + if (!::tl2::details::BuiltinVectorLongBoxedWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorLongBoxedReadBoxed(::basictl::tl_istream & s, std::vector& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorLongBoxedRead(s, item); +} + +bool tl2::details::VectorLongBoxedWriteBoxed(::basictl::tl_ostream & s, const std::vector& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorLongBoxedWrite(s, item); +} + +void tl2::details::VectorMapStringStringReset(std::vector<::tl2::Map>& item) { + item.clear(); +} + +bool tl2::details::VectorMapStringStringWriteJSON(std::ostream& s, const std::vector<::tl2::Map>& item) { + if (!::tl2::details::BuiltinVectorMapStringStringWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorMapStringStringRead(::basictl::tl_istream & s, std::vector<::tl2::Map>& item) { + if (!::tl2::details::BuiltinVectorMapStringStringRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorMapStringStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Map>& item) { + if (!::tl2::details::BuiltinVectorMapStringStringWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorMapStringStringReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Map>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorMapStringStringRead(s, item); +} + +bool tl2::details::VectorMapStringStringWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Map>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorMapStringStringWrite(s, item); +} + +void tl2::details::VectorService1ValueReset(std::vector<::tl2::service1::Value>& item) { + item.clear(); +} + +bool tl2::details::VectorService1ValueWriteJSON(std::ostream& s, const std::vector<::tl2::service1::Value>& item) { + if (!::tl2::details::BuiltinVectorService1ValueWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::service1::Value>& item) { + if (!::tl2::details::BuiltinVectorService1ValueRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service1::Value>& item) { + if (!::tl2::details::BuiltinVectorService1ValueWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService1ValueReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service1::Value>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorService1ValueRead(s, item); +} + +bool tl2::details::VectorService1ValueWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service1::Value>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorService1ValueWrite(s, item); +} + +void tl2::details::VectorService6FindResultRowReset(std::vector<::tl2::service6::FindResultRow>& item) { + item.clear(); +} + +bool tl2::details::VectorService6FindResultRowWriteJSON(std::ostream& s, const std::vector<::tl2::service6::FindResultRow>& item) { + if (!::tl2::details::BuiltinVectorService6FindResultRowWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindResultRow>& item) { + if (!::tl2::details::BuiltinVectorService6FindResultRowRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindResultRow>& item) { + if (!::tl2::details::BuiltinVectorService6FindResultRowWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service6::FindResultRow>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorService6FindResultRowRead(s, item); +} + +bool tl2::details::VectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindResultRow>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorService6FindResultRowWrite(s, item); +} + +void tl2::details::VectorService6FindWithBoundsResultReset(std::vector<::tl2::service6::FindWithBoundsResult>& item) { + item.clear(); +} + +bool tl2::details::VectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const std::vector<::tl2::service6::FindWithBoundsResult>& item) { + if (!::tl2::details::BuiltinVectorService6FindWithBoundsResultWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindWithBoundsResult>& item) { + if (!::tl2::details::BuiltinVectorService6FindWithBoundsResultRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item) { + if (!::tl2::details::BuiltinVectorService6FindWithBoundsResultWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service6::FindWithBoundsResult>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorService6FindWithBoundsResultRead(s, item); +} + +bool tl2::details::VectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorService6FindWithBoundsResultWrite(s, item); +} + +void tl2::details::VectorStringReset(std::vector& item) { + item.clear(); +} + +bool tl2::details::VectorStringWriteJSON(std::ostream& s, const std::vector& item) { + if (!::tl2::details::BuiltinVectorStringWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorStringRead(::basictl::tl_istream & s, std::vector& item) { + if (!::tl2::details::BuiltinVectorStringRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorStringWrite(::basictl::tl_ostream & s, const std::vector& item) { + if (!::tl2::details::BuiltinVectorStringWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorStringReadBoxed(::basictl::tl_istream & s, std::vector& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorStringRead(s, item); +} + +bool tl2::details::VectorStringWriteBoxed(::basictl::tl_ostream & s, const std::vector& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorStringWrite(s, item); +} + +void tl2::details::VectorTasksQueueTypeInfoReset(std::vector<::tl2::tasks::QueueTypeInfo>& item) { + item.clear(); +} + +bool tl2::details::VectorTasksQueueTypeInfoWriteJSON(std::ostream& s, const std::vector<::tl2::tasks::QueueTypeInfo>& item) { + if (!::tl2::details::BuiltinVectorTasksQueueTypeInfoWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorTasksQueueTypeInfoRead(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo>& item) { + if (!::tl2::details::BuiltinVectorTasksQueueTypeInfoRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorTasksQueueTypeInfoWrite(::basictl::tl_ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item) { + if (!::tl2::details::BuiltinVectorTasksQueueTypeInfoWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorTasksQueueTypeInfoReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorTasksQueueTypeInfoRead(s, item); +} + +bool tl2::details::VectorTasksQueueTypeInfoWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorTasksQueueTypeInfoWrite(s, item); +} + +bool tl2::WithFloat::write_json(std::ostream& s)const { + if (!::tl2::details::WithFloatWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::WithFloat::read(::basictl::tl_istream & s) { + if (!::tl2::details::WithFloatRead(s, *this)) { return false; } + return true; +} + +bool tl2::WithFloat::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::WithFloatWrite(s, *this)) { return false; } + return true; +} + +bool tl2::WithFloat::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::WithFloatReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::WithFloat::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::WithFloatWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::WithFloatReset(::tl2::WithFloat& item) { + item.x = 0; + item.y = 0; + item.z = 0; +} + +bool tl2::details::WithFloatWriteJSON(std::ostream& s, const ::tl2::WithFloat& item) { + auto add_comma = false; + s << "{"; + if (item.x != 0) { + add_comma = true; + s << "\"x\":"; + s << item.x; + } + if (item.y != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"y\":"; + s << item.y; + } + if (item.z != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"z\":"; + s << item.z; + } + s << "}"; + return true; +} + +bool tl2::details::WithFloatRead(::basictl::tl_istream & s, ::tl2::WithFloat& item) { + if (!s.float_read(item.x)) { return false; } + if (!s.nat_read_exact_tag(0x824dab22)) { return false;} + if (!s.float_read(item.y)) { return false; } + if (!s.float_read(item.z)) { return false; } + return true; +} + +bool tl2::details::WithFloatWrite(::basictl::tl_ostream & s, const ::tl2::WithFloat& item) { + if (!s.float_write(item.x)) { return false;} + if (!s.nat_write(0x824dab22)) { return false; } + if (!s.float_write(item.y)) { return false;} + if (!s.float_write(item.z)) { return false;} + return true; +} + +bool tl2::details::WithFloatReadBoxed(::basictl::tl_istream & s, ::tl2::WithFloat& item) { + if (!s.nat_read_exact_tag(0x071b8685)) { return false; } + return tl2::details::WithFloatRead(s, item); +} + +bool tl2::details::WithFloatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::WithFloat& item) { + if (!s.nat_write(0x071b8685)) { return false; } + return tl2::details::WithFloatWrite(s, item); +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedArray.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedArray.h new file mode 100644 index 00000000..43dacd56 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedArray.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myBoxedArray.h" + + +namespace tl2 { +struct BoxedArray { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x95dcc8b7; } + + ::tl2::MyBoxedArray x{}; + + std::string_view tl_name() const { return "boxedArray"; } + uint32_t tl_tag() const { return 0x95dcc8b7; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::MyBoxedArray & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::MyBoxedArray & result); + + friend std::ostream& operator<<(std::ostream& s, const BoxedArray& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedInt.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedInt.h new file mode 100644 index 00000000..dd104292 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedInt.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct BoxedInt { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x5688ebaf; } + + int32_t x = 0; + + std::string_view tl_name() const { return "boxedInt"; } + uint32_t tl_tag() const { return 0x5688ebaf; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, int32_t & result); + bool write_result(::basictl::tl_ostream & s, int32_t & result); + + friend std::ostream& operator<<(std::ostream& s, const BoxedInt& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedString.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedString.h new file mode 100644 index 00000000..66cdcf3a --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedString.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct BoxedString { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x548994db; } + + std::string x; + + std::string_view tl_name() const { return "boxedString"; } + uint32_t tl_tag() const { return 0x548994db; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::string & result); + bool write_result(::basictl::tl_ostream & s, std::string & result); + + friend std::ostream& operator<<(std::ostream& s, const BoxedString& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTuple.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTuple.h new file mode 100644 index 00000000..146872cc --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTuple.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct BoxedTuple { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x30c9d533; } + + std::array x{}; + + std::string_view tl_name() const { return "boxedTuple"; } + uint32_t tl_tag() const { return 0x30c9d533; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::array & result); + bool write_result(::basictl::tl_ostream & s, std::array & result); + + friend std::ostream& operator<<(std::ostream& s, const BoxedTuple& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTupleSlice1.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTupleSlice1.h new file mode 100644 index 00000000..cd4da067 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTupleSlice1.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct BoxedTupleSlice1 { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x25230d40; } + + uint32_t n = 0; + std::vector x; + + std::string_view tl_name() const { return "boxedTupleSlice1"; } + uint32_t tl_tag() const { return 0x25230d40; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector & result); + bool write_result(::basictl::tl_ostream & s, std::vector & result); + + friend std::ostream& operator<<(std::ostream& s, const BoxedTupleSlice1& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTupleSlice2.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTupleSlice2.h new file mode 100644 index 00000000..2402df05 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTupleSlice2.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myBoxedTupleSlice.h" + + +namespace tl2 { +struct BoxedTupleSlice2 { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x1cdf4705; } + + ::tl2::MyBoxedTupleSlice x{}; + + std::string_view tl_name() const { return "boxedTupleSlice2"; } + uint32_t tl_tag() const { return 0x1cdf4705; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::MyBoxedTupleSlice & result); + + friend std::ostream& operator<<(std::ostream& s, const BoxedTupleSlice2& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTupleSlice3.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTupleSlice3.h new file mode 100644 index 00000000..9e0b0fcf --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedTupleSlice3.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct BoxedTupleSlice3 { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xa19b8106; } + + uint32_t n = 0; + std::vector x; + + std::string_view tl_name() const { return "boxedTupleSlice3"; } + uint32_t tl_tag() const { return 0xa19b8106; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector & result); + bool write_result(::basictl::tl_ostream & s, std::vector & result); + + friend std::ostream& operator<<(std::ostream& s, const BoxedTupleSlice3& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedVector32.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedVector32.h new file mode 100644 index 00000000..6dd4c142 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedVector32.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct BoxedVector32 { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xbbadef07; } + + std::vector x; + + std::string_view tl_name() const { return "boxedVector32"; } + uint32_t tl_tag() const { return 0xbbadef07; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector & result); + bool write_result(::basictl::tl_ostream & s, std::vector & result); + + friend std::ostream& operator<<(std::ostream& s, const BoxedVector32& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedVector32BoxedElem.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedVector32BoxedElem.h new file mode 100644 index 00000000..711e5d28 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedVector32BoxedElem.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct BoxedVector32BoxedElem { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x591cecd4; } + + std::vector x; + + std::string_view tl_name() const { return "boxedVector32BoxedElem"; } + uint32_t tl_tag() const { return 0x591cecd4; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector & result); + bool write_result(::basictl::tl_ostream & s, std::vector & result); + + friend std::ostream& operator<<(std::ostream& s, const BoxedVector32BoxedElem& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedVector64.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedVector64.h new file mode 100644 index 00000000..ffbfacaa --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/boxedVector64.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct BoxedVector64 { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x83659ba8; } + + std::vector x; + + std::string_view tl_name() const { return "boxedVector64"; } + uint32_t tl_tag() const { return 0x83659ba8; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector & result); + bool write_result(::basictl::tl_ostream & s, std::vector & result); + + friend std::ostream& operator<<(std::ostream& s, const BoxedVector64& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getDouble.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getDouble.h new file mode 100644 index 00000000..a3c61778 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getDouble.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct GetDouble { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x39711d7b; } + + double x = 0; + + std::string_view tl_name() const { return "getDouble"; } + uint32_t tl_tag() const { return 0x39711d7b; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, double & result); + bool write_result(::basictl::tl_ostream & s, double & result); + + friend std::ostream& operator<<(std::ostream& s, const GetDouble& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getFloat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getFloat.h new file mode 100644 index 00000000..2b0121a1 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getFloat.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct GetFloat { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x25a7bc68; } + + float x = 0; + + std::string_view tl_name() const { return "getFloat"; } + uint32_t tl_tag() const { return 0x25a7bc68; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, float & result); + bool write_result(::basictl::tl_ostream & s, float & result); + + friend std::ostream& operator<<(std::ostream& s, const GetFloat& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMaybeIface.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMaybeIface.h new file mode 100644 index 00000000..6491eb64 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMaybeIface.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../service1/types/service1.Value.h" + + +namespace tl2 { +struct GetMaybeIface { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x6b055ae4; } + + ::tl2::service1::Value x; + + std::string_view tl_name() const { return "getMaybeIface"; } + uint32_t tl_tag() const { return 0x6b055ae4; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::optional<::tl2::service1::Value> & result); + bool write_result(::basictl::tl_ostream & s, std::optional<::tl2::service1::Value> & result); + + friend std::ostream& operator<<(std::ostream& s, const GetMaybeIface& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMyDictOfInt.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMyDictOfInt.h new file mode 100644 index 00000000..606d2997 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMyDictOfInt.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myDictOfInt.h" + + +namespace tl2 { +struct GetMyDictOfInt { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x166f962c; } + + ::tl2::MyDictOfInt x{}; + + std::string_view tl_name() const { return "getMyDictOfInt"; } + uint32_t tl_tag() const { return 0x166f962c; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::MyDictOfInt & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::MyDictOfInt & result); + + friend std::ostream& operator<<(std::ostream& s, const GetMyDictOfInt& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMyDouble.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMyDouble.h new file mode 100644 index 00000000..2ad91f30 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMyDouble.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myDouble.h" + + +namespace tl2 { +struct GetMyDouble { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xb660ad10; } + + ::tl2::MyDouble x{}; + + std::string_view tl_name() const { return "getMyDouble"; } + uint32_t tl_tag() const { return 0xb660ad10; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::MyDouble & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::MyDouble & result); + + friend std::ostream& operator<<(std::ostream& s, const GetMyDouble& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMyValue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMyValue.h new file mode 100644 index 00000000..2a0743f6 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getMyValue.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/MyValue.h" + + +namespace tl2 { +struct GetMyValue { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xb3df27fe; } + + ::tl2::MyValue x; + + std::string_view tl_name() const { return "getMyValue"; } + uint32_t tl_tag() const { return 0xb3df27fe; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::MyValue & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::MyValue & result); + + friend std::ostream& operator<<(std::ostream& s, const GetMyValue& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getNonOptNat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getNonOptNat.h new file mode 100644 index 00000000..b37f886f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getNonOptNat.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct GetNonOptNat { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x67665961; } + + uint32_t n = 0; + std::vector xs; + + std::string_view tl_name() const { return "getNonOptNat"; } + uint32_t tl_tag() const { return 0x67665961; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector & result); + bool write_result(::basictl::tl_ostream & s, std::vector & result); + + friend std::ostream& operator<<(std::ostream& s, const GetNonOptNat& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getStats.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getStats.h new file mode 100644 index 00000000..d304f701 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/getStats.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../tasks/types/tasks.queueTypeStats.h" + + +namespace tl2 { +struct GetStats { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xbaa6da35; } + + ::tl2::tasks::QueueTypeStats x{}; + + std::string_view tl_name() const { return "getStats"; } + uint32_t tl_tag() const { return 0xbaa6da35; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::tasks::QueueTypeStats & result); + + friend std::ostream& operator<<(std::ostream& s, const GetStats& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/get_arrays.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/get_arrays.h new file mode 100644 index 00000000..9a18828e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/functions/get_arrays.h @@ -0,0 +1,36 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct Get_arrays { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x90658cdb; } + + uint32_t n = 0; + std::vector a; + std::array b{}; + + std::string_view tl_name() const { return "get_arrays"; } + uint32_t tl_tag() const { return 0x90658cdb; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::array & result); + bool write_result(::basictl::tl_ostream & s, std::array & result); + + friend std::ostream& operator<<(std::ostream& s, const Get_arrays& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/Bool.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/Bool.h new file mode 100644 index 00000000..eefa029c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/Bool.h @@ -0,0 +1,13 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/Bool.h" + +namespace tl2 { namespace details { + +bool BoolWriteJSON(std::ostream & s, bool item); +bool BoolReadBoxed(::basictl::tl_istream & s, bool& item); +bool BoolWriteBoxed(::basictl::tl_ostream & s, bool item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/Either.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/Either.h new file mode 100644 index 00000000..0e056ed5 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/Either.h @@ -0,0 +1,48 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/Either.h" +#include "../../service6/types/service6.findWithBoundsResult.h" +#include "../../service6/types/service6.findResultRow.h" +#include "../../service6/types/service6.error.h" + +namespace tl2 { namespace details { + +void BuiltinVectorEitherIntVectorService6FindWithBoundsResultReset(std::vector<::tl2::Either>>& item); + +bool BuiltinVectorEitherIntVectorService6FindWithBoundsResultWriteJSON(std::ostream & s, const std::vector<::tl2::Either>>& item); +bool BuiltinVectorEitherIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::Either>>& item); +bool BuiltinVectorEitherIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either>>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void BuiltinVectorEitherService6ErrorVectorService6FindResultRowReset(std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); + +bool BuiltinVectorEitherService6ErrorVectorService6FindResultRowWriteJSON(std::ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); +bool BuiltinVectorEitherService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); +bool BuiltinVectorEitherService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void EitherIntVectorService6FindWithBoundsResultReset(::tl2::Either>& item); + +bool EitherIntVectorService6FindWithBoundsResultWriteJSON(std::ostream & s, const ::tl2::Either>& item); +bool EitherIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::Either>& item); +bool EitherIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Either>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void EitherService6ErrorVectorService6FindResultRowReset(::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); + +bool EitherService6ErrorVectorService6FindResultRowWriteJSON(std::ostream & s, const ::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); +bool EitherService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); +bool EitherService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/MyValue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/MyValue.h new file mode 100644 index 00000000..5f0f0059 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/MyValue.h @@ -0,0 +1,15 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/MyValue.h" + +namespace tl2 { namespace details { + +void MyValueReset(::tl2::MyValue& item); + +bool MyValueWriteJSON(std::ostream & s, const ::tl2::MyValue& item); +bool MyValueReadBoxed(::basictl::tl_istream & s, ::tl2::MyValue& item); +bool MyValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyValue& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/benchObject.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/benchObject.h new file mode 100644 index 00000000..dc9681e2 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/benchObject.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/benchObject.h" + +namespace tl2 { namespace details { + +void BenchObjectReset(::tl2::BenchObject& item); + +bool BenchObjectWriteJSON(std::ostream& s, const ::tl2::BenchObject& item); +bool BenchObjectRead(::basictl::tl_istream & s, ::tl2::BenchObject& item); +bool BenchObjectWrite(::basictl::tl_ostream & s, const ::tl2::BenchObject& item); +bool BenchObjectReadBoxed(::basictl::tl_istream & s, ::tl2::BenchObject& item); +bool BenchObjectWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BenchObject& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedArray.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedArray.h new file mode 100644 index 00000000..ecad2d09 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedArray.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/boxedArray.h" +#include "../types/myBoxedArray.h" + +namespace tl2 { namespace details { + +void BoxedArrayReset(::tl2::BoxedArray& item); + +bool BoxedArrayWriteJSON(std::ostream& s, const ::tl2::BoxedArray& item); +bool BoxedArrayRead(::basictl::tl_istream & s, ::tl2::BoxedArray& item); +bool BoxedArrayWrite(::basictl::tl_ostream & s, const ::tl2::BoxedArray& item); +bool BoxedArrayReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedArray& item); +bool BoxedArrayWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedArray& item); + +bool BoxedArrayReadResult(::basictl::tl_istream & s, ::tl2::BoxedArray& item, ::tl2::MyBoxedArray& result); +bool BoxedArrayWriteResult(::basictl::tl_ostream & s, ::tl2::BoxedArray& item, ::tl2::MyBoxedArray& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedInt.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedInt.h new file mode 100644 index 00000000..c8e7f38b --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedInt.h @@ -0,0 +1,20 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/boxedInt.h" + +namespace tl2 { namespace details { + +void BoxedIntReset(::tl2::BoxedInt& item); + +bool BoxedIntWriteJSON(std::ostream& s, const ::tl2::BoxedInt& item); +bool BoxedIntRead(::basictl::tl_istream & s, ::tl2::BoxedInt& item); +bool BoxedIntWrite(::basictl::tl_ostream & s, const ::tl2::BoxedInt& item); +bool BoxedIntReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedInt& item); +bool BoxedIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedInt& item); + +bool BoxedIntReadResult(::basictl::tl_istream & s, ::tl2::BoxedInt& item, int32_t& result); +bool BoxedIntWriteResult(::basictl::tl_ostream & s, ::tl2::BoxedInt& item, int32_t& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedString.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedString.h new file mode 100644 index 00000000..ba83875f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedString.h @@ -0,0 +1,20 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/boxedString.h" + +namespace tl2 { namespace details { + +void BoxedStringReset(::tl2::BoxedString& item); + +bool BoxedStringWriteJSON(std::ostream& s, const ::tl2::BoxedString& item); +bool BoxedStringRead(::basictl::tl_istream & s, ::tl2::BoxedString& item); +bool BoxedStringWrite(::basictl::tl_ostream & s, const ::tl2::BoxedString& item); +bool BoxedStringReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedString& item); +bool BoxedStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedString& item); + +bool BoxedStringReadResult(::basictl::tl_istream & s, ::tl2::BoxedString& item, std::string& result); +bool BoxedStringWriteResult(::basictl::tl_ostream & s, ::tl2::BoxedString& item, std::string& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTuple.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTuple.h new file mode 100644 index 00000000..024a869e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTuple.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/boxedTuple.h" +#include "../types/int.h" + +namespace tl2 { namespace details { + +void BoxedTupleReset(::tl2::BoxedTuple& item); + +bool BoxedTupleWriteJSON(std::ostream& s, const ::tl2::BoxedTuple& item); +bool BoxedTupleRead(::basictl::tl_istream & s, ::tl2::BoxedTuple& item); +bool BoxedTupleWrite(::basictl::tl_ostream & s, const ::tl2::BoxedTuple& item); +bool BoxedTupleReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTuple& item); +bool BoxedTupleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTuple& item); + +bool BoxedTupleReadResult(::basictl::tl_istream & s, ::tl2::BoxedTuple& item, std::array& result); +bool BoxedTupleWriteResult(::basictl::tl_ostream & s, ::tl2::BoxedTuple& item, std::array& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTupleSlice1.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTupleSlice1.h new file mode 100644 index 00000000..d0a179e8 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTupleSlice1.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/boxedTupleSlice1.h" +#include "../types/int.h" + +namespace tl2 { namespace details { + +void BoxedTupleSlice1Reset(::tl2::BoxedTupleSlice1& item); + +bool BoxedTupleSlice1WriteJSON(std::ostream& s, const ::tl2::BoxedTupleSlice1& item); +bool BoxedTupleSlice1Read(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice1& item); +bool BoxedTupleSlice1Write(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice1& item); +bool BoxedTupleSlice1ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice1& item); +bool BoxedTupleSlice1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice1& item); + +bool BoxedTupleSlice1ReadResult(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice1& item, std::vector& result); +bool BoxedTupleSlice1WriteResult(::basictl::tl_ostream & s, ::tl2::BoxedTupleSlice1& item, std::vector& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTupleSlice2.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTupleSlice2.h new file mode 100644 index 00000000..cc4da623 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTupleSlice2.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/boxedTupleSlice2.h" +#include "../types/myBoxedTupleSlice.h" + +namespace tl2 { namespace details { + +void BoxedTupleSlice2Reset(::tl2::BoxedTupleSlice2& item); + +bool BoxedTupleSlice2WriteJSON(std::ostream& s, const ::tl2::BoxedTupleSlice2& item); +bool BoxedTupleSlice2Read(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice2& item); +bool BoxedTupleSlice2Write(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice2& item); +bool BoxedTupleSlice2ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice2& item); +bool BoxedTupleSlice2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice2& item); + +bool BoxedTupleSlice2ReadResult(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice2& item, ::tl2::MyBoxedTupleSlice& result); +bool BoxedTupleSlice2WriteResult(::basictl::tl_ostream & s, ::tl2::BoxedTupleSlice2& item, ::tl2::MyBoxedTupleSlice& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTupleSlice3.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTupleSlice3.h new file mode 100644 index 00000000..213e8202 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedTupleSlice3.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/boxedTupleSlice3.h" +#include "../types/int.h" + +namespace tl2 { namespace details { + +void BoxedTupleSlice3Reset(::tl2::BoxedTupleSlice3& item); + +bool BoxedTupleSlice3WriteJSON(std::ostream& s, const ::tl2::BoxedTupleSlice3& item); +bool BoxedTupleSlice3Read(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice3& item); +bool BoxedTupleSlice3Write(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice3& item); +bool BoxedTupleSlice3ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice3& item); +bool BoxedTupleSlice3WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice3& item); + +bool BoxedTupleSlice3ReadResult(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice3& item, std::vector& result); +bool BoxedTupleSlice3WriteResult(::basictl::tl_ostream & s, ::tl2::BoxedTupleSlice3& item, std::vector& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedVector32.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedVector32.h new file mode 100644 index 00000000..c61850df --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedVector32.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/boxedVector32.h" +#include "../types/int.h" + +namespace tl2 { namespace details { + +void BoxedVector32Reset(::tl2::BoxedVector32& item); + +bool BoxedVector32WriteJSON(std::ostream& s, const ::tl2::BoxedVector32& item); +bool BoxedVector32Read(::basictl::tl_istream & s, ::tl2::BoxedVector32& item); +bool BoxedVector32Write(::basictl::tl_ostream & s, const ::tl2::BoxedVector32& item); +bool BoxedVector32ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedVector32& item); +bool BoxedVector32WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedVector32& item); + +bool BoxedVector32ReadResult(::basictl::tl_istream & s, ::tl2::BoxedVector32& item, std::vector& result); +bool BoxedVector32WriteResult(::basictl::tl_ostream & s, ::tl2::BoxedVector32& item, std::vector& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedVector32BoxedElem.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedVector32BoxedElem.h new file mode 100644 index 00000000..f811ab64 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedVector32BoxedElem.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/boxedVector32BoxedElem.h" +#include "../types/int.h" + +namespace tl2 { namespace details { + +void BoxedVector32BoxedElemReset(::tl2::BoxedVector32BoxedElem& item); + +bool BoxedVector32BoxedElemWriteJSON(std::ostream& s, const ::tl2::BoxedVector32BoxedElem& item); +bool BoxedVector32BoxedElemRead(::basictl::tl_istream & s, ::tl2::BoxedVector32BoxedElem& item); +bool BoxedVector32BoxedElemWrite(::basictl::tl_ostream & s, const ::tl2::BoxedVector32BoxedElem& item); +bool BoxedVector32BoxedElemReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedVector32BoxedElem& item); +bool BoxedVector32BoxedElemWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedVector32BoxedElem& item); + +bool BoxedVector32BoxedElemReadResult(::basictl::tl_istream & s, ::tl2::BoxedVector32BoxedElem& item, std::vector& result); +bool BoxedVector32BoxedElemWriteResult(::basictl::tl_ostream & s, ::tl2::BoxedVector32BoxedElem& item, std::vector& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedVector64.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedVector64.h new file mode 100644 index 00000000..56e736d1 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/boxedVector64.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/boxedVector64.h" +#include "../types/long.h" + +namespace tl2 { namespace details { + +void BoxedVector64Reset(::tl2::BoxedVector64& item); + +bool BoxedVector64WriteJSON(std::ostream& s, const ::tl2::BoxedVector64& item); +bool BoxedVector64Read(::basictl::tl_istream & s, ::tl2::BoxedVector64& item); +bool BoxedVector64Write(::basictl::tl_ostream & s, const ::tl2::BoxedVector64& item); +bool BoxedVector64ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedVector64& item); +bool BoxedVector64WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedVector64& item); + +bool BoxedVector64ReadResult(::basictl::tl_istream & s, ::tl2::BoxedVector64& item, std::vector& result); +bool BoxedVector64WriteResult(::basictl::tl_ostream & s, ::tl2::BoxedVector64& item, std::vector& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/dictionary.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/dictionary.h new file mode 100644 index 00000000..0fcc4ba3 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/dictionary.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/dictionary.h" + +namespace tl2 { namespace details { + +void DictionaryIntReset(::tl2::Dictionary& item); + +bool DictionaryIntWriteJSON(std::ostream& s, const ::tl2::Dictionary& item); +bool DictionaryIntRead(::basictl::tl_istream & s, ::tl2::Dictionary& item); +bool DictionaryIntWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary& item); +bool DictionaryIntReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary& item); +bool DictionaryIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/dictionaryField.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/dictionaryField.h new file mode 100644 index 00000000..613f7123 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/dictionaryField.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/dictionaryField.h" + +namespace tl2 { namespace details { + +void BuiltinVectorDictionaryFieldIntReset(std::vector<::tl2::DictionaryField>& item); + +bool BuiltinVectorDictionaryFieldIntWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField>& item); +bool BuiltinVectorDictionaryFieldIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item); +bool BuiltinVectorDictionaryFieldIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void DictionaryFieldIntReset(::tl2::DictionaryField& item); + +bool DictionaryFieldIntWriteJSON(std::ostream& s, const ::tl2::DictionaryField& item); +bool DictionaryFieldIntRead(::basictl::tl_istream & s, ::tl2::DictionaryField& item); +bool DictionaryFieldIntWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item); +bool DictionaryFieldIntReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField& item); +bool DictionaryFieldIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/double.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/double.h new file mode 100644 index 00000000..53e4728d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/double.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/double.h" + +namespace tl2 { namespace details { + +void DoubleReset(double& item); + +bool DoubleWriteJSON(std::ostream& s, const double& item); +bool DoubleRead(::basictl::tl_istream & s, double& item); +bool DoubleWrite(::basictl::tl_ostream & s, const double& item); +bool DoubleReadBoxed(::basictl::tl_istream & s, double& item); +bool DoubleWriteBoxed(::basictl::tl_ostream & s, const double& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict1.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict1.h new file mode 100644 index 00000000..d3f9eba1 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict1.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/fieldConflict1.h" + +namespace tl2 { namespace details { + +void FieldConflict1Reset(::tl2::FieldConflict1& item); + +bool FieldConflict1WriteJSON(std::ostream& s, const ::tl2::FieldConflict1& item); +bool FieldConflict1Read(::basictl::tl_istream & s, ::tl2::FieldConflict1& item); +bool FieldConflict1Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict1& item); +bool FieldConflict1ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict1& item); +bool FieldConflict1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict1& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict2.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict2.h new file mode 100644 index 00000000..51f35091 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict2.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/fieldConflict2.h" + +namespace tl2 { namespace details { + +void FieldConflict2Reset(::tl2::FieldConflict2& item); + +bool FieldConflict2WriteJSON(std::ostream& s, const ::tl2::FieldConflict2& item); +bool FieldConflict2Read(::basictl::tl_istream & s, ::tl2::FieldConflict2& item); +bool FieldConflict2Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict2& item); +bool FieldConflict2ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict2& item); +bool FieldConflict2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict2& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict3.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict3.h new file mode 100644 index 00000000..d3a9093b --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict3.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/fieldConflict3.h" + +namespace tl2 { namespace details { + +void FieldConflict3Reset(::tl2::FieldConflict3& item); + +bool FieldConflict3WriteJSON(std::ostream& s, const ::tl2::FieldConflict3& item); +bool FieldConflict3Read(::basictl::tl_istream & s, ::tl2::FieldConflict3& item); +bool FieldConflict3Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict3& item); +bool FieldConflict3ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict3& item); +bool FieldConflict3WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict3& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict4.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict4.h new file mode 100644 index 00000000..6018d8ec --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/fieldConflict4.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/fieldConflict4.h" + +namespace tl2 { namespace details { + +void FieldConflict4Reset(::tl2::FieldConflict4& item); + +bool FieldConflict4WriteJSON(std::ostream& s, const ::tl2::FieldConflict4& item); +bool FieldConflict4Read(::basictl::tl_istream & s, ::tl2::FieldConflict4& item); +bool FieldConflict4Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict4& item); +bool FieldConflict4ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict4& item); +bool FieldConflict4WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict4& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/float.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/float.h new file mode 100644 index 00000000..e81db01c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/float.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/float.h" + +namespace tl2 { namespace details { + +void FloatReset(float& item); + +bool FloatWriteJSON(std::ostream& s, const float& item); +bool FloatRead(::basictl::tl_istream & s, float& item); +bool FloatWrite(::basictl::tl_ostream & s, const float& item); +bool FloatReadBoxed(::basictl::tl_istream & s, float& item); +bool FloatWriteBoxed(::basictl::tl_ostream & s, const float& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getDouble.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getDouble.h new file mode 100644 index 00000000..80f64a84 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getDouble.h @@ -0,0 +1,20 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/getDouble.h" + +namespace tl2 { namespace details { + +void GetDoubleReset(::tl2::GetDouble& item); + +bool GetDoubleWriteJSON(std::ostream& s, const ::tl2::GetDouble& item); +bool GetDoubleRead(::basictl::tl_istream & s, ::tl2::GetDouble& item); +bool GetDoubleWrite(::basictl::tl_ostream & s, const ::tl2::GetDouble& item); +bool GetDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::GetDouble& item); +bool GetDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetDouble& item); + +bool GetDoubleReadResult(::basictl::tl_istream & s, ::tl2::GetDouble& item, double& result); +bool GetDoubleWriteResult(::basictl::tl_ostream & s, ::tl2::GetDouble& item, double& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getFloat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getFloat.h new file mode 100644 index 00000000..de175960 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getFloat.h @@ -0,0 +1,20 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/getFloat.h" + +namespace tl2 { namespace details { + +void GetFloatReset(::tl2::GetFloat& item); + +bool GetFloatWriteJSON(std::ostream& s, const ::tl2::GetFloat& item); +bool GetFloatRead(::basictl::tl_istream & s, ::tl2::GetFloat& item); +bool GetFloatWrite(::basictl::tl_ostream & s, const ::tl2::GetFloat& item); +bool GetFloatReadBoxed(::basictl::tl_istream & s, ::tl2::GetFloat& item); +bool GetFloatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetFloat& item); + +bool GetFloatReadResult(::basictl::tl_istream & s, ::tl2::GetFloat& item, float& result); +bool GetFloatWriteResult(::basictl::tl_ostream & s, ::tl2::GetFloat& item, float& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMaybeIface.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMaybeIface.h new file mode 100644 index 00000000..1f857d9e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMaybeIface.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/getMaybeIface.h" +#include "../../service1/types/service1.Value.h" + +namespace tl2 { namespace details { + +void GetMaybeIfaceReset(::tl2::GetMaybeIface& item); + +bool GetMaybeIfaceWriteJSON(std::ostream& s, const ::tl2::GetMaybeIface& item); +bool GetMaybeIfaceRead(::basictl::tl_istream & s, ::tl2::GetMaybeIface& item); +bool GetMaybeIfaceWrite(::basictl::tl_ostream & s, const ::tl2::GetMaybeIface& item); +bool GetMaybeIfaceReadBoxed(::basictl::tl_istream & s, ::tl2::GetMaybeIface& item); +bool GetMaybeIfaceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMaybeIface& item); + +bool GetMaybeIfaceReadResult(::basictl::tl_istream & s, ::tl2::GetMaybeIface& item, std::optional<::tl2::service1::Value>& result); +bool GetMaybeIfaceWriteResult(::basictl::tl_ostream & s, ::tl2::GetMaybeIface& item, std::optional<::tl2::service1::Value>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMyDictOfInt.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMyDictOfInt.h new file mode 100644 index 00000000..fe826a8e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMyDictOfInt.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/getMyDictOfInt.h" +#include "../types/myDictOfInt.h" + +namespace tl2 { namespace details { + +void GetMyDictOfIntReset(::tl2::GetMyDictOfInt& item); + +bool GetMyDictOfIntWriteJSON(std::ostream& s, const ::tl2::GetMyDictOfInt& item); +bool GetMyDictOfIntRead(::basictl::tl_istream & s, ::tl2::GetMyDictOfInt& item); +bool GetMyDictOfIntWrite(::basictl::tl_ostream & s, const ::tl2::GetMyDictOfInt& item); +bool GetMyDictOfIntReadBoxed(::basictl::tl_istream & s, ::tl2::GetMyDictOfInt& item); +bool GetMyDictOfIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMyDictOfInt& item); + +bool GetMyDictOfIntReadResult(::basictl::tl_istream & s, ::tl2::GetMyDictOfInt& item, ::tl2::MyDictOfInt& result); +bool GetMyDictOfIntWriteResult(::basictl::tl_ostream & s, ::tl2::GetMyDictOfInt& item, ::tl2::MyDictOfInt& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMyDouble.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMyDouble.h new file mode 100644 index 00000000..00ffa52f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMyDouble.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/getMyDouble.h" +#include "../types/myDouble.h" + +namespace tl2 { namespace details { + +void GetMyDoubleReset(::tl2::GetMyDouble& item); + +bool GetMyDoubleWriteJSON(std::ostream& s, const ::tl2::GetMyDouble& item); +bool GetMyDoubleRead(::basictl::tl_istream & s, ::tl2::GetMyDouble& item); +bool GetMyDoubleWrite(::basictl::tl_ostream & s, const ::tl2::GetMyDouble& item); +bool GetMyDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::GetMyDouble& item); +bool GetMyDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMyDouble& item); + +bool GetMyDoubleReadResult(::basictl::tl_istream & s, ::tl2::GetMyDouble& item, ::tl2::MyDouble& result); +bool GetMyDoubleWriteResult(::basictl::tl_ostream & s, ::tl2::GetMyDouble& item, ::tl2::MyDouble& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMyValue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMyValue.h new file mode 100644 index 00000000..d5ccdf09 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getMyValue.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/getMyValue.h" +#include "../types/MyValue.h" + +namespace tl2 { namespace details { + +void GetMyValueReset(::tl2::GetMyValue& item); + +bool GetMyValueWriteJSON(std::ostream& s, const ::tl2::GetMyValue& item); +bool GetMyValueRead(::basictl::tl_istream & s, ::tl2::GetMyValue& item); +bool GetMyValueWrite(::basictl::tl_ostream & s, const ::tl2::GetMyValue& item); +bool GetMyValueReadBoxed(::basictl::tl_istream & s, ::tl2::GetMyValue& item); +bool GetMyValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMyValue& item); + +bool GetMyValueReadResult(::basictl::tl_istream & s, ::tl2::GetMyValue& item, ::tl2::MyValue& result); +bool GetMyValueWriteResult(::basictl::tl_ostream & s, ::tl2::GetMyValue& item, ::tl2::MyValue& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getNonOptNat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getNonOptNat.h new file mode 100644 index 00000000..da07e303 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getNonOptNat.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/getNonOptNat.h" +#include "../types/int.h" + +namespace tl2 { namespace details { + +void GetNonOptNatReset(::tl2::GetNonOptNat& item); + +bool GetNonOptNatWriteJSON(std::ostream& s, const ::tl2::GetNonOptNat& item); +bool GetNonOptNatRead(::basictl::tl_istream & s, ::tl2::GetNonOptNat& item); +bool GetNonOptNatWrite(::basictl::tl_ostream & s, const ::tl2::GetNonOptNat& item); +bool GetNonOptNatReadBoxed(::basictl::tl_istream & s, ::tl2::GetNonOptNat& item); +bool GetNonOptNatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetNonOptNat& item); + +bool GetNonOptNatReadResult(::basictl::tl_istream & s, ::tl2::GetNonOptNat& item, std::vector& result); +bool GetNonOptNatWriteResult(::basictl::tl_ostream & s, ::tl2::GetNonOptNat& item, std::vector& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getStats.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getStats.h new file mode 100644 index 00000000..edda2691 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/getStats.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/getStats.h" +#include "../../tasks/types/tasks.queueTypeStats.h" + +namespace tl2 { namespace details { + +void GetStatsReset(::tl2::GetStats& item); + +bool GetStatsWriteJSON(std::ostream& s, const ::tl2::GetStats& item); +bool GetStatsRead(::basictl::tl_istream & s, ::tl2::GetStats& item); +bool GetStatsWrite(::basictl::tl_ostream & s, const ::tl2::GetStats& item); +bool GetStatsReadBoxed(::basictl::tl_istream & s, ::tl2::GetStats& item); +bool GetStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetStats& item); + +bool GetStatsReadResult(::basictl::tl_istream & s, ::tl2::GetStats& item, ::tl2::tasks::QueueTypeStats& result); +bool GetStatsWriteResult(::basictl::tl_ostream & s, ::tl2::GetStats& item, ::tl2::tasks::QueueTypeStats& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/get_arrays.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/get_arrays.h new file mode 100644 index 00000000..0179094b --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/get_arrays.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/get_arrays.h" +#include "../types/int.h" + +namespace tl2 { namespace details { + +void GetArraysReset(::tl2::Get_arrays& item); + +bool GetArraysWriteJSON(std::ostream& s, const ::tl2::Get_arrays& item); +bool GetArraysRead(::basictl::tl_istream & s, ::tl2::Get_arrays& item); +bool GetArraysWrite(::basictl::tl_ostream & s, const ::tl2::Get_arrays& item); +bool GetArraysReadBoxed(::basictl::tl_istream & s, ::tl2::Get_arrays& item); +bool GetArraysWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Get_arrays& item); + +bool GetArraysReadResult(::basictl::tl_istream & s, ::tl2::Get_arrays& item, std::array& result); +bool GetArraysWriteResult(::basictl::tl_ostream & s, ::tl2::Get_arrays& item, std::array& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/int.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/int.h new file mode 100644 index 00000000..2be5f839 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/int.h @@ -0,0 +1,107 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/int.h" + +namespace tl2 { namespace details { + +void BuiltinTuple10IntBoxedReset(std::array& item); + +bool BuiltinTuple10IntBoxedWriteJSON(std::ostream & s, const std::array& item); +bool BuiltinTuple10IntBoxedRead(::basictl::tl_istream & s, std::array& item); +bool BuiltinTuple10IntBoxedWrite(::basictl::tl_ostream & s, const std::array& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void BuiltinTuple2IntBoxedReset(std::array& item); + +bool BuiltinTuple2IntBoxedWriteJSON(std::ostream & s, const std::array& item); +bool BuiltinTuple2IntBoxedRead(::basictl::tl_istream & s, std::array& item); +bool BuiltinTuple2IntBoxedWrite(::basictl::tl_ostream & s, const std::array& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void BuiltinTuple3IntReset(std::array& item); + +bool BuiltinTuple3IntWriteJSON(std::ostream & s, const std::array& item); +bool BuiltinTuple3IntRead(::basictl::tl_istream & s, std::array& item); +bool BuiltinTuple3IntWrite(::basictl::tl_ostream & s, const std::array& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void BuiltinTuple5IntReset(std::array& item); + +bool BuiltinTuple5IntWriteJSON(std::ostream & s, const std::array& item); +bool BuiltinTuple5IntRead(::basictl::tl_istream & s, std::array& item); +bool BuiltinTuple5IntWrite(::basictl::tl_ostream & s, const std::array& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void BuiltinTupleIntReset(std::vector& item); + +bool BuiltinTupleIntWriteJSON(std::ostream & s, const std::vector& item, uint32_t nat_n); +bool BuiltinTupleIntRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); +bool BuiltinTupleIntWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void BuiltinTupleIntBoxedReset(std::vector& item); + +bool BuiltinTupleIntBoxedWriteJSON(std::ostream & s, const std::vector& item, uint32_t nat_n); +bool BuiltinTupleIntBoxedRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); +bool BuiltinTupleIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void BuiltinVectorIntReset(std::vector& item); + +bool BuiltinVectorIntWriteJSON(std::ostream & s, const std::vector& item); +bool BuiltinVectorIntRead(::basictl::tl_istream & s, std::vector& item); +bool BuiltinVectorIntWrite(::basictl::tl_ostream & s, const std::vector& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void BuiltinVectorIntBoxedReset(std::vector& item); + +bool BuiltinVectorIntBoxedWriteJSON(std::ostream & s, const std::vector& item); +bool BuiltinVectorIntBoxedRead(::basictl::tl_istream & s, std::vector& item); +bool BuiltinVectorIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void IntReset(int32_t& item); + +bool IntWriteJSON(std::ostream& s, const int32_t& item); +bool IntRead(::basictl::tl_istream & s, int32_t& item); +bool IntWrite(::basictl::tl_ostream & s, const int32_t& item); +bool IntReadBoxed(::basictl::tl_istream & s, int32_t& item); +bool IntWriteBoxed(::basictl::tl_ostream & s, const int32_t& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +bool IntMaybeWriteJSON(std::ostream & s, const std::optional& item); + +bool IntMaybeReadBoxed(::basictl::tl_istream & s, std::optional& item); +bool IntMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional& item); + + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/integer.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/integer.h new file mode 100644 index 00000000..d44dbcbb --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/integer.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/integer.h" + +namespace tl2 { namespace details { + +void BuiltinVectorIntegerReset(std::vector<::tl2::Integer>& item); + +bool BuiltinVectorIntegerWriteJSON(std::ostream & s, const std::vector<::tl2::Integer>& item); +bool BuiltinVectorIntegerRead(::basictl::tl_istream & s, std::vector<::tl2::Integer>& item); +bool BuiltinVectorIntegerWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Integer>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void IntegerReset(::tl2::Integer& item); + +bool IntegerWriteJSON(std::ostream& s, const ::tl2::Integer& item); +bool IntegerRead(::basictl::tl_istream & s, ::tl2::Integer& item); +bool IntegerWrite(::basictl::tl_ostream & s, const ::tl2::Integer& item); +bool IntegerReadBoxed(::basictl::tl_istream & s, ::tl2::Integer& item); +bool IntegerWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Integer& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/issue3498.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/issue3498.h new file mode 100644 index 00000000..8f22e92a --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/issue3498.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/issue3498.h" + +namespace tl2 { namespace details { + +void Issue3498Reset(::tl2::Issue3498& item); + +bool Issue3498WriteJSON(std::ostream& s, const ::tl2::Issue3498& item); +bool Issue3498Read(::basictl::tl_istream & s, ::tl2::Issue3498& item); +bool Issue3498Write(::basictl::tl_ostream & s, const ::tl2::Issue3498& item); +bool Issue3498ReadBoxed(::basictl::tl_istream & s, ::tl2::Issue3498& item); +bool Issue3498WriteBoxed(::basictl::tl_ostream & s, const ::tl2::Issue3498& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/left.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/left.h new file mode 100644 index 00000000..e1c51d57 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/left.h @@ -0,0 +1,32 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/left.h" +#include "../../service6/types/service6.findWithBoundsResult.h" +#include "../../service6/types/service6.findResultRow.h" +#include "../../service6/types/service6.error.h" + +namespace tl2 { namespace details { + +void LeftIntVectorService6FindWithBoundsResultReset(::tl2::Left>& item); + +bool LeftIntVectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const ::tl2::Left>& item); +bool LeftIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, ::tl2::Left>& item); +bool LeftIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const ::tl2::Left>& item); +bool LeftIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::Left>& item); +bool LeftIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Left>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void LeftService6ErrorVectorService6FindResultRowReset(::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); + +bool LeftService6ErrorVectorService6FindResultRowWriteJSON(std::ostream& s, const ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); +bool LeftService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); +bool LeftService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); +bool LeftService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); +bool LeftService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/long.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/long.h new file mode 100644 index 00000000..d49ed6f7 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/long.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/long.h" + +namespace tl2 { namespace details { + +void BuiltinVectorLongBoxedReset(std::vector& item); + +bool BuiltinVectorLongBoxedWriteJSON(std::ostream & s, const std::vector& item); +bool BuiltinVectorLongBoxedRead(::basictl::tl_istream & s, std::vector& item); +bool BuiltinVectorLongBoxedWrite(::basictl::tl_ostream & s, const std::vector& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void LongReset(int64_t& item); + +bool LongWriteJSON(std::ostream& s, const int64_t& item); +bool LongRead(::basictl::tl_istream & s, int64_t& item); +bool LongWrite(::basictl::tl_ostream & s, const int64_t& item); +bool LongReadBoxed(::basictl::tl_istream & s, int64_t& item); +bool LongWriteBoxed(::basictl::tl_ostream & s, const int64_t& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/map.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/map.h new file mode 100644 index 00000000..4adc0cd2 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/map.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/map.h" + +namespace tl2 { namespace details { + +void BuiltinVectorMapStringStringReset(std::vector<::tl2::Map>& item); + +bool BuiltinVectorMapStringStringWriteJSON(std::ostream & s, const std::vector<::tl2::Map>& item); +bool BuiltinVectorMapStringStringRead(::basictl::tl_istream & s, std::vector<::tl2::Map>& item); +bool BuiltinVectorMapStringStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Map>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void MapStringStringReset(::tl2::Map& item); + +bool MapStringStringWriteJSON(std::ostream& s, const ::tl2::Map& item); +bool MapStringStringRead(::basictl::tl_istream & s, ::tl2::Map& item); +bool MapStringStringWrite(::basictl::tl_ostream & s, const ::tl2::Map& item); +bool MapStringStringReadBoxed(::basictl::tl_istream & s, ::tl2::Map& item); +bool MapStringStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Map& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myAnonMcValue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myAnonMcValue.h new file mode 100644 index 00000000..a8d6ff09 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myAnonMcValue.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myAnonMcValue.h" + +namespace tl2 { namespace details { + +void MyAnonMcValueReset(::tl2::MyAnonMcValue& item); + +bool MyAnonMcValueWriteJSON(std::ostream& s, const ::tl2::MyAnonMcValue& item); +bool MyAnonMcValueRead(::basictl::tl_istream & s, ::tl2::MyAnonMcValue& item); +bool MyAnonMcValueWrite(::basictl::tl_ostream & s, const ::tl2::MyAnonMcValue& item); +bool MyAnonMcValueReadBoxed(::basictl::tl_istream & s, ::tl2::MyAnonMcValue& item); +bool MyAnonMcValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyAnonMcValue& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myBoxedArray.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myBoxedArray.h new file mode 100644 index 00000000..1323cdc6 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myBoxedArray.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myBoxedArray.h" + +namespace tl2 { namespace details { + +void MyBoxedArrayReset(::tl2::MyBoxedArray& item); + +bool MyBoxedArrayWriteJSON(std::ostream& s, const ::tl2::MyBoxedArray& item); +bool MyBoxedArrayRead(::basictl::tl_istream & s, ::tl2::MyBoxedArray& item); +bool MyBoxedArrayWrite(::basictl::tl_ostream & s, const ::tl2::MyBoxedArray& item); +bool MyBoxedArrayReadBoxed(::basictl::tl_istream & s, ::tl2::MyBoxedArray& item); +bool MyBoxedArrayWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyBoxedArray& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myBoxedTupleSlice.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myBoxedTupleSlice.h new file mode 100644 index 00000000..b44047b6 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myBoxedTupleSlice.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myBoxedTupleSlice.h" + +namespace tl2 { namespace details { + +void MyBoxedTupleSliceReset(::tl2::MyBoxedTupleSlice& item); + +bool MyBoxedTupleSliceWriteJSON(std::ostream& s, const ::tl2::MyBoxedTupleSlice& item); +bool MyBoxedTupleSliceRead(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice& item); +bool MyBoxedTupleSliceWrite(::basictl::tl_ostream & s, const ::tl2::MyBoxedTupleSlice& item); +bool MyBoxedTupleSliceReadBoxed(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice& item); +bool MyBoxedTupleSliceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyBoxedTupleSlice& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myBoxedVectorSlice.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myBoxedVectorSlice.h new file mode 100644 index 00000000..e3af7c43 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myBoxedVectorSlice.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myBoxedVectorSlice.h" + +namespace tl2 { namespace details { + +void MyBoxedVectorSliceReset(::tl2::MyBoxedVectorSlice& item); + +bool MyBoxedVectorSliceWriteJSON(std::ostream& s, const ::tl2::MyBoxedVectorSlice& item); +bool MyBoxedVectorSliceRead(::basictl::tl_istream & s, ::tl2::MyBoxedVectorSlice& item); +bool MyBoxedVectorSliceWrite(::basictl::tl_ostream & s, const ::tl2::MyBoxedVectorSlice& item); +bool MyBoxedVectorSliceReadBoxed(::basictl::tl_istream & s, ::tl2::MyBoxedVectorSlice& item); +bool MyBoxedVectorSliceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyBoxedVectorSlice& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myDictOfInt.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myDictOfInt.h new file mode 100644 index 00000000..6a105e09 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myDictOfInt.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myDictOfInt.h" + +namespace tl2 { namespace details { + +void MyDictOfIntReset(::tl2::MyDictOfInt& item); + +bool MyDictOfIntWriteJSON(std::ostream& s, const ::tl2::MyDictOfInt& item); +bool MyDictOfIntRead(::basictl::tl_istream & s, ::tl2::MyDictOfInt& item); +bool MyDictOfIntWrite(::basictl::tl_ostream & s, const ::tl2::MyDictOfInt& item); +bool MyDictOfIntReadBoxed(::basictl::tl_istream & s, ::tl2::MyDictOfInt& item); +bool MyDictOfIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyDictOfInt& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myDouble.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myDouble.h new file mode 100644 index 00000000..8240dbf1 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myDouble.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myDouble.h" + +namespace tl2 { namespace details { + +void MyDoubleReset(::tl2::MyDouble& item); + +bool MyDoubleWriteJSON(std::ostream& s, const ::tl2::MyDouble& item); +bool MyDoubleRead(::basictl::tl_istream & s, ::tl2::MyDouble& item); +bool MyDoubleWrite(::basictl::tl_ostream & s, const ::tl2::MyDouble& item); +bool MyDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::MyDouble& item); +bool MyDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyDouble& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myInt.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myInt.h new file mode 100644 index 00000000..b81dea39 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myInt.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myInt.h" + +namespace tl2 { namespace details { + +void MyIntReset(::tl2::MyInt& item); + +bool MyIntWriteJSON(std::ostream& s, const ::tl2::MyInt& item); +bool MyIntRead(::basictl::tl_istream & s, ::tl2::MyInt& item); +bool MyIntWrite(::basictl::tl_ostream & s, const ::tl2::MyInt& item); +bool MyIntReadBoxed(::basictl::tl_istream & s, ::tl2::MyInt& item); +bool MyIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyInt& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMaybe1.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMaybe1.h new file mode 100644 index 00000000..51bfdfb1 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMaybe1.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myMaybe1.h" + +namespace tl2 { namespace details { + +void MyMaybe1Reset(::tl2::MyMaybe1& item); + +bool MyMaybe1WriteJSON(std::ostream& s, const ::tl2::MyMaybe1& item); +bool MyMaybe1Read(::basictl::tl_istream & s, ::tl2::MyMaybe1& item); +bool MyMaybe1Write(::basictl::tl_ostream & s, const ::tl2::MyMaybe1& item); +bool MyMaybe1ReadBoxed(::basictl::tl_istream & s, ::tl2::MyMaybe1& item); +bool MyMaybe1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMaybe1& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMaybe2.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMaybe2.h new file mode 100644 index 00000000..2d6dfd1b --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMaybe2.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myMaybe2.h" + +namespace tl2 { namespace details { + +void MyMaybe2Reset(::tl2::MyMaybe2& item); + +bool MyMaybe2WriteJSON(std::ostream& s, const ::tl2::MyMaybe2& item); +bool MyMaybe2Read(::basictl::tl_istream & s, ::tl2::MyMaybe2& item); +bool MyMaybe2Write(::basictl::tl_ostream & s, const ::tl2::MyMaybe2& item); +bool MyMaybe2ReadBoxed(::basictl::tl_istream & s, ::tl2::MyMaybe2& item); +bool MyMaybe2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMaybe2& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMcValue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMcValue.h new file mode 100644 index 00000000..c982221a --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMcValue.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myMcValue.h" + +namespace tl2 { namespace details { + +void MyMcValueReset(::tl2::MyMcValue& item); + +bool MyMcValueWriteJSON(std::ostream& s, const ::tl2::MyMcValue& item); +bool MyMcValueRead(::basictl::tl_istream & s, ::tl2::MyMcValue& item); +bool MyMcValueWrite(::basictl::tl_ostream & s, const ::tl2::MyMcValue& item); +bool MyMcValueReadBoxed(::basictl::tl_istream & s, ::tl2::MyMcValue& item); +bool MyMcValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMcValue& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMcValueTuple.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMcValueTuple.h new file mode 100644 index 00000000..c3ea0442 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMcValueTuple.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myMcValueTuple.h" + +namespace tl2 { namespace details { + +void MyMcValueTupleReset(::tl2::MyMcValueTuple& item); + +bool MyMcValueTupleWriteJSON(std::ostream& s, const ::tl2::MyMcValueTuple& item); +bool MyMcValueTupleRead(::basictl::tl_istream & s, ::tl2::MyMcValueTuple& item); +bool MyMcValueTupleWrite(::basictl::tl_ostream & s, const ::tl2::MyMcValueTuple& item); +bool MyMcValueTupleReadBoxed(::basictl::tl_istream & s, ::tl2::MyMcValueTuple& item); +bool MyMcValueTupleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMcValueTuple& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMcValueVector.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMcValueVector.h new file mode 100644 index 00000000..cea2937a --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myMcValueVector.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myMcValueVector.h" + +namespace tl2 { namespace details { + +void MyMcValueVectorReset(::tl2::MyMcValueVector& item); + +bool MyMcValueVectorWriteJSON(std::ostream& s, const ::tl2::MyMcValueVector& item); +bool MyMcValueVectorRead(::basictl::tl_istream & s, ::tl2::MyMcValueVector& item); +bool MyMcValueVectorWrite(::basictl::tl_ostream & s, const ::tl2::MyMcValueVector& item); +bool MyMcValueVectorReadBoxed(::basictl::tl_istream & s, ::tl2::MyMcValueVector& item); +bool MyMcValueVectorWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMcValueVector& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myString.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myString.h new file mode 100644 index 00000000..02ff20d1 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myString.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myString.h" + +namespace tl2 { namespace details { + +void MyStringReset(::tl2::MyString& item); + +bool MyStringWriteJSON(std::ostream& s, const ::tl2::MyString& item); +bool MyStringRead(::basictl::tl_istream & s, ::tl2::MyString& item); +bool MyStringWrite(::basictl::tl_ostream & s, const ::tl2::MyString& item); +bool MyStringReadBoxed(::basictl::tl_istream & s, ::tl2::MyString& item); +bool MyStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyString& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myTuple.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myTuple.h new file mode 100644 index 00000000..b00e2cab --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myTuple.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myTuple.h" + +namespace tl2 { namespace details { + +void MyTuple10Reset(::tl2::MyTuplen<10>& item); + +bool MyTuple10WriteJSON(std::ostream& s, const ::tl2::MyTuplen<10>& item); +bool MyTuple10Read(::basictl::tl_istream & s, ::tl2::MyTuplen<10>& item); +bool MyTuple10Write(::basictl::tl_ostream & s, const ::tl2::MyTuplen<10>& item); +bool MyTuple10ReadBoxed(::basictl::tl_istream & s, ::tl2::MyTuplen<10>& item); +bool MyTuple10WriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyTuplen<10>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +bool MyTuple10MaybeWriteJSON(std::ostream & s, const std::optional<::tl2::MyTuplen<10>>& item); + +bool MyTuple10MaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::MyTuplen<10>>& item); +bool MyTuple10MaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::MyTuplen<10>>& item); + + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myTwoDicts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myTwoDicts.h new file mode 100644 index 00000000..f4eaf5a0 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/myTwoDicts.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/myTwoDicts.h" + +namespace tl2 { namespace details { + +void MyTwoDictsReset(::tl2::MyTwoDicts& item); + +bool MyTwoDictsWriteJSON(std::ostream& s, const ::tl2::MyTwoDicts& item); +bool MyTwoDictsRead(::basictl::tl_istream & s, ::tl2::MyTwoDicts& item); +bool MyTwoDictsWrite(::basictl::tl_ostream & s, const ::tl2::MyTwoDicts& item); +bool MyTwoDictsReadBoxed(::basictl::tl_istream & s, ::tl2::MyTwoDicts& item); +bool MyTwoDictsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyTwoDicts& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/nonOptNat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/nonOptNat.h new file mode 100644 index 00000000..946e9073 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/nonOptNat.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/nonOptNat.h" + +namespace tl2 { namespace details { + +void NonOptNatReset(::tl2::NonOptNat& item); + +bool NonOptNatWriteJSON(std::ostream& s, const ::tl2::NonOptNat& item); +bool NonOptNatRead(::basictl::tl_istream & s, ::tl2::NonOptNat& item); +bool NonOptNatWrite(::basictl::tl_ostream & s, const ::tl2::NonOptNat& item); +bool NonOptNatReadBoxed(::basictl::tl_istream & s, ::tl2::NonOptNat& item); +bool NonOptNatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::NonOptNat& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/right.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/right.h new file mode 100644 index 00000000..4f94aa7c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/right.h @@ -0,0 +1,32 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/right.h" +#include "../../service6/types/service6.findWithBoundsResult.h" +#include "../../service6/types/service6.findResultRow.h" +#include "../../service6/types/service6.error.h" + +namespace tl2 { namespace details { + +void RightIntVectorService6FindWithBoundsResultReset(::tl2::Right>& item); + +bool RightIntVectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const ::tl2::Right>& item); +bool RightIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, ::tl2::Right>& item); +bool RightIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const ::tl2::Right>& item); +bool RightIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::Right>& item); +bool RightIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Right>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void RightService6ErrorVectorService6FindResultRowReset(::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); + +bool RightService6ErrorVectorService6FindResultRowWriteJSON(std::ostream& s, const ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); +bool RightService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); +bool RightService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); +bool RightService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); +bool RightService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/rpcInvokeReqExtra.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/rpcInvokeReqExtra.h new file mode 100644 index 00000000..053b420c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/rpcInvokeReqExtra.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/rpcInvokeReqExtra.h" + +namespace tl2 { namespace details { + +void RpcInvokeReqExtraReset(::tl2::RpcInvokeReqExtra& item); + +bool RpcInvokeReqExtraWriteJSON(std::ostream& s, const ::tl2::RpcInvokeReqExtra& item); +bool RpcInvokeReqExtraRead(::basictl::tl_istream & s, ::tl2::RpcInvokeReqExtra& item); +bool RpcInvokeReqExtraWrite(::basictl::tl_ostream & s, const ::tl2::RpcInvokeReqExtra& item); +bool RpcInvokeReqExtraReadBoxed(::basictl::tl_istream & s, ::tl2::RpcInvokeReqExtra& item); +bool RpcInvokeReqExtraWriteBoxed(::basictl::tl_ostream & s, const ::tl2::RpcInvokeReqExtra& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/statOne.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/statOne.h new file mode 100644 index 00000000..fb292415 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/statOne.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/statOne.h" + +namespace tl2 { namespace details { + +void StatOneReset(::tl2::StatOne& item); + +bool StatOneWriteJSON(std::ostream& s, const ::tl2::StatOne& item); +bool StatOneRead(::basictl::tl_istream & s, ::tl2::StatOne& item); +bool StatOneWrite(::basictl::tl_ostream & s, const ::tl2::StatOne& item); +bool StatOneReadBoxed(::basictl::tl_istream & s, ::tl2::StatOne& item); +bool StatOneWriteBoxed(::basictl::tl_ostream & s, const ::tl2::StatOne& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/string.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/string.h new file mode 100644 index 00000000..3e185c33 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/string.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/string.h" + +namespace tl2 { namespace details { + +void BuiltinVectorStringReset(std::vector& item); + +bool BuiltinVectorStringWriteJSON(std::ostream & s, const std::vector& item); +bool BuiltinVectorStringRead(::basictl::tl_istream & s, std::vector& item); +bool BuiltinVectorStringWrite(::basictl::tl_ostream & s, const std::vector& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void StringReset(std::string& item); + +bool StringWriteJSON(std::ostream& s, const std::string& item); +bool StringRead(::basictl::tl_istream & s, std::string& item); +bool StringWrite(::basictl::tl_ostream & s, const std::string& item); +bool StringReadBoxed(::basictl::tl_istream & s, std::string& item); +bool StringWriteBoxed(::basictl::tl_ostream & s, const std::string& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/true.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/true.h new file mode 100644 index 00000000..063edd9e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/true.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/true.h" + +namespace tl2 { namespace details { + +void TrueReset(::tl2::True& item); + +bool TrueWriteJSON(std::ostream& s, const ::tl2::True& item); +bool TrueRead(::basictl::tl_istream & s, ::tl2::True& item); +bool TrueWrite(::basictl::tl_ostream & s, const ::tl2::True& item); +bool TrueReadBoxed(::basictl::tl_istream & s, ::tl2::True& item); +bool TrueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::True& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/tuple.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/tuple.h new file mode 100644 index 00000000..3a983dea --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/tuple.h @@ -0,0 +1,104 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tuple.h" +#include "../../service2/types/service2.counterSet.h" +#include "../../service1/types/service1.Value.h" +#include "../types/int.h" + +namespace tl2 { namespace details { + +void TupleIntReset(std::vector& item); + +bool TupleIntWriteJSON(std::ostream& s, const std::vector& item, uint32_t nat_n); +bool TupleIntRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); +bool TupleIntWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); +bool TupleIntReadBoxed(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); +bool TupleIntWriteBoxed(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void TupleInt3Reset(std::array& item); + +bool TupleInt3WriteJSON(std::ostream& s, const std::array& item); +bool TupleInt3Read(::basictl::tl_istream & s, std::array& item); +bool TupleInt3Write(::basictl::tl_ostream & s, const std::array& item); +bool TupleInt3ReadBoxed(::basictl::tl_istream & s, std::array& item); +bool TupleInt3WriteBoxed(::basictl::tl_ostream & s, const std::array& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void TupleInt5Reset(std::array& item); + +bool TupleInt5WriteJSON(std::ostream& s, const std::array& item); +bool TupleInt5Read(::basictl::tl_istream & s, std::array& item); +bool TupleInt5Write(::basictl::tl_ostream & s, const std::array& item); +bool TupleInt5ReadBoxed(::basictl::tl_istream & s, std::array& item); +bool TupleInt5WriteBoxed(::basictl::tl_ostream & s, const std::array& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void TupleIntBoxedReset(std::vector& item); + +bool TupleIntBoxedWriteJSON(std::ostream& s, const std::vector& item, uint32_t nat_n); +bool TupleIntBoxedRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); +bool TupleIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); +bool TupleIntBoxedReadBoxed(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); +bool TupleIntBoxedWriteBoxed(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void TupleIntBoxed10Reset(std::array& item); + +bool TupleIntBoxed10WriteJSON(std::ostream& s, const std::array& item); +bool TupleIntBoxed10Read(::basictl::tl_istream & s, std::array& item); +bool TupleIntBoxed10Write(::basictl::tl_ostream & s, const std::array& item); +bool TupleIntBoxed10ReadBoxed(::basictl::tl_istream & s, std::array& item); +bool TupleIntBoxed10WriteBoxed(::basictl::tl_ostream & s, const std::array& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void TupleIntBoxed2Reset(std::array& item); + +bool TupleIntBoxed2WriteJSON(std::ostream& s, const std::array& item); +bool TupleIntBoxed2Read(::basictl::tl_istream & s, std::array& item); +bool TupleIntBoxed2Write(::basictl::tl_ostream & s, const std::array& item); +bool TupleIntBoxed2ReadBoxed(::basictl::tl_istream & s, std::array& item); +bool TupleIntBoxed2WriteBoxed(::basictl::tl_ostream & s, const std::array& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void TupleService1Value3Reset(std::array<::tl2::service1::Value, 3>& item); + +bool TupleService1Value3WriteJSON(std::ostream& s, const std::array<::tl2::service1::Value, 3>& item); +bool TupleService1Value3Read(::basictl::tl_istream & s, std::array<::tl2::service1::Value, 3>& item); +bool TupleService1Value3Write(::basictl::tl_ostream & s, const std::array<::tl2::service1::Value, 3>& item); +bool TupleService1Value3ReadBoxed(::basictl::tl_istream & s, std::array<::tl2::service1::Value, 3>& item); +bool TupleService1Value3WriteBoxed(::basictl::tl_ostream & s, const std::array<::tl2::service1::Value, 3>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void TupleService2CounterSetReset(std::vector<::tl2::service2::CounterSet>& item); + +bool TupleService2CounterSetWriteJSON(std::ostream& s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); +bool TupleService2CounterSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); +bool TupleService2CounterSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); +bool TupleService2CounterSetReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); +bool TupleService2CounterSetWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/vector.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/vector.h new file mode 100644 index 00000000..02cf3bc4 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/vector.h @@ -0,0 +1,173 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/vector.h" +#include "../../tasks/types/tasks.queueTypeInfo.h" +#include "../../service6/types/service6.findWithBoundsResult.h" +#include "../types/map.h" +#include "../../service6/types/service6.findResultRow.h" +#include "../../service6/types/service6.error.h" +#include "../../service1/types/service1.Value.h" +#include "../types/Either.h" +#include "../types/dictionaryField.h" +#include "../types/string.h" +#include "../types/long.h" +#include "../types/integer.h" +#include "../types/int.h" + +namespace tl2 { namespace details { + +void VectorDictionaryFieldIntReset(std::vector<::tl2::DictionaryField>& item); + +bool VectorDictionaryFieldIntWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField>& item); +bool VectorDictionaryFieldIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item); +bool VectorDictionaryFieldIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item); +bool VectorDictionaryFieldIntReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item); +bool VectorDictionaryFieldIntWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorEitherIntVectorService6FindWithBoundsResultReset(std::vector<::tl2::Either>>& item); + +bool VectorEitherIntVectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const std::vector<::tl2::Either>>& item); +bool VectorEitherIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::Either>>& item); +bool VectorEitherIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either>>& item); +bool VectorEitherIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Either>>& item); +bool VectorEitherIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Either>>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorEitherService6ErrorVectorService6FindResultRowReset(std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); + +bool VectorEitherService6ErrorVectorService6FindResultRowWriteJSON(std::ostream& s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); +bool VectorEitherService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); +bool VectorEitherService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); +bool VectorEitherService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); +bool VectorEitherService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorIntReset(std::vector& item); + +bool VectorIntWriteJSON(std::ostream& s, const std::vector& item); +bool VectorIntRead(::basictl::tl_istream & s, std::vector& item); +bool VectorIntWrite(::basictl::tl_ostream & s, const std::vector& item); +bool VectorIntReadBoxed(::basictl::tl_istream & s, std::vector& item); +bool VectorIntWriteBoxed(::basictl::tl_ostream & s, const std::vector& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorIntBoxedReset(std::vector& item); + +bool VectorIntBoxedWriteJSON(std::ostream& s, const std::vector& item); +bool VectorIntBoxedRead(::basictl::tl_istream & s, std::vector& item); +bool VectorIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item); +bool VectorIntBoxedReadBoxed(::basictl::tl_istream & s, std::vector& item); +bool VectorIntBoxedWriteBoxed(::basictl::tl_ostream & s, const std::vector& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorIntegerReset(std::vector<::tl2::Integer>& item); + +bool VectorIntegerWriteJSON(std::ostream& s, const std::vector<::tl2::Integer>& item); +bool VectorIntegerRead(::basictl::tl_istream & s, std::vector<::tl2::Integer>& item); +bool VectorIntegerWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Integer>& item); +bool VectorIntegerReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Integer>& item); +bool VectorIntegerWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Integer>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorLongBoxedReset(std::vector& item); + +bool VectorLongBoxedWriteJSON(std::ostream& s, const std::vector& item); +bool VectorLongBoxedRead(::basictl::tl_istream & s, std::vector& item); +bool VectorLongBoxedWrite(::basictl::tl_ostream & s, const std::vector& item); +bool VectorLongBoxedReadBoxed(::basictl::tl_istream & s, std::vector& item); +bool VectorLongBoxedWriteBoxed(::basictl::tl_ostream & s, const std::vector& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorMapStringStringReset(std::vector<::tl2::Map>& item); + +bool VectorMapStringStringWriteJSON(std::ostream& s, const std::vector<::tl2::Map>& item); +bool VectorMapStringStringRead(::basictl::tl_istream & s, std::vector<::tl2::Map>& item); +bool VectorMapStringStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Map>& item); +bool VectorMapStringStringReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Map>& item); +bool VectorMapStringStringWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Map>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorService1ValueReset(std::vector<::tl2::service1::Value>& item); + +bool VectorService1ValueWriteJSON(std::ostream& s, const std::vector<::tl2::service1::Value>& item); +bool VectorService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::service1::Value>& item); +bool VectorService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service1::Value>& item); +bool VectorService1ValueReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service1::Value>& item); +bool VectorService1ValueWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service1::Value>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorService6FindResultRowReset(std::vector<::tl2::service6::FindResultRow>& item); + +bool VectorService6FindResultRowWriteJSON(std::ostream& s, const std::vector<::tl2::service6::FindResultRow>& item); +bool VectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindResultRow>& item); +bool VectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindResultRow>& item); +bool VectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service6::FindResultRow>& item); +bool VectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindResultRow>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorService6FindWithBoundsResultReset(std::vector<::tl2::service6::FindWithBoundsResult>& item); + +bool VectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const std::vector<::tl2::service6::FindWithBoundsResult>& item); +bool VectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindWithBoundsResult>& item); +bool VectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item); +bool VectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service6::FindWithBoundsResult>& item); +bool VectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorStringReset(std::vector& item); + +bool VectorStringWriteJSON(std::ostream& s, const std::vector& item); +bool VectorStringRead(::basictl::tl_istream & s, std::vector& item); +bool VectorStringWrite(::basictl::tl_ostream & s, const std::vector& item); +bool VectorStringReadBoxed(::basictl::tl_istream & s, std::vector& item); +bool VectorStringWriteBoxed(::basictl::tl_ostream & s, const std::vector& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorTasksQueueTypeInfoReset(std::vector<::tl2::tasks::QueueTypeInfo>& item); + +bool VectorTasksQueueTypeInfoWriteJSON(std::ostream& s, const std::vector<::tl2::tasks::QueueTypeInfo>& item); +bool VectorTasksQueueTypeInfoRead(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo>& item); +bool VectorTasksQueueTypeInfoWrite(::basictl::tl_ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item); +bool VectorTasksQueueTypeInfoReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo>& item); +bool VectorTasksQueueTypeInfoWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/withFloat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/withFloat.h new file mode 100644 index 00000000..796d585f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/headers/withFloat.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/withFloat.h" + +namespace tl2 { namespace details { + +void WithFloatReset(::tl2::WithFloat& item); + +bool WithFloatWriteJSON(std::ostream& s, const ::tl2::WithFloat& item); +bool WithFloatRead(::basictl::tl_istream & s, ::tl2::WithFloat& item); +bool WithFloatWrite(::basictl::tl_ostream & s, const ::tl2::WithFloat& item); +bool WithFloatReadBoxed(::basictl::tl_istream & s, ::tl2::WithFloat& item); +bool WithFloatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::WithFloat& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/Bool.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/Bool.h new file mode 100644 index 00000000..042d0d00 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/Bool.h @@ -0,0 +1,11 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { + + enum { BoolFalse = 0xbc799737, BoolTrue = 0x997275b5 }; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/Either.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/Either.h new file mode 100644 index 00000000..f22c6f85 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/Either.h @@ -0,0 +1,22 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "right.h" +#include "left.h" + + +namespace tl2 { +template +struct Either { + std::variant<::tl2::Left, ::tl2::Right> value; + + bool is_left() const { return value.index() == 0; } + bool is_right() const { return value.index() == 1; } + + + std::string_view tl_name() const; + uint32_t tl_tag() const; +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/MyValue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/MyValue.h new file mode 100644 index 00000000..7cc7e540 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/MyValue.h @@ -0,0 +1,26 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "myString.h" +#include "myInt.h" + + +namespace tl2 { +struct MyValue { + std::variant<::tl2::MyInt, ::tl2::MyString> value; + + bool is_myInt() const { return value.index() == 0; } + bool is_myString() const { return value.index() == 1; } + + + std::string_view tl_name() const; + uint32_t tl_tag() const; + + bool write_json(std::ostream& s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/benchObject.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/benchObject.h new file mode 100644 index 00000000..f4a08945 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/benchObject.h @@ -0,0 +1,30 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "integer.h" + + +namespace tl2 { +struct BenchObject { + std::vector xs; + std::vector<::tl2::Integer> ys; + + std::string_view tl_name() const { return "benchObject"; } + uint32_t tl_tag() const { return 0xb697e865; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const BenchObject& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/boolStat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/boolStat.h new file mode 100644 index 00000000..d086f041 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/boolStat.h @@ -0,0 +1,30 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct BoolStat { + int32_t statTrue = 0; + int32_t statFalse = 0; + int32_t statUnknown = 0; + + std::string_view tl_name() const { return "boolStat"; } + uint32_t tl_tag() const { return 0x92cbcbfa; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const BoolStat& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/dictionary.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/dictionary.h new file mode 100644 index 00000000..cf94d40d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/dictionary.h @@ -0,0 +1,11 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "dictionaryField.h" + + +namespace tl2 { +template +using Dictionary = std::vector<::tl2::DictionaryField>; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/dictionaryField.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/dictionaryField.h new file mode 100644 index 00000000..632a156f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/dictionaryField.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +template +struct DictionaryField { + std::string key; + t value{}; + + std::string_view tl_name() const { return "dictionaryField"; } + uint32_t tl_tag() const { return 0x239c1b62; } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/double.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/double.h new file mode 100644 index 00000000..56dc28d0 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/double.h @@ -0,0 +1,9 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +using Double = double; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict1.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict1.h new file mode 100644 index 00000000..9e20905a --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict1.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct FieldConflict1 { + int32_t x = 0; + int32_t set_x = 0; + + std::string_view tl_name() const { return "fieldConflict1"; } + uint32_t tl_tag() const { return 0xf314bd09; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const FieldConflict1& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict2.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict2.h new file mode 100644 index 00000000..03e18313 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict2.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct FieldConflict2 { + int32_t x = 0; + int32_t setX = 0; + + std::string_view tl_name() const { return "fieldConflict2"; } + uint32_t tl_tag() const { return 0x1bba76b8; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const FieldConflict2& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict3.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict3.h new file mode 100644 index 00000000..d04e8e0d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict3.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct FieldConflict3 { + int32_t x = 0; + int32_t SetX = 0; + + std::string_view tl_name() const { return "fieldConflict3"; } + uint32_t tl_tag() const { return 0x2cf6e157; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const FieldConflict3& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict4.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict4.h new file mode 100644 index 00000000..05af1ab3 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/fieldConflict4.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct FieldConflict4 { + int32_t X = 0; + int32_t SetX = 0; + + std::string_view tl_name() const { return "fieldConflict4"; } + uint32_t tl_tag() const { return 0xd93c186a; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const FieldConflict4& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/float.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/float.h new file mode 100644 index 00000000..d5c79b15 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/float.h @@ -0,0 +1,9 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +using Float = float; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/int.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/int.h new file mode 100644 index 00000000..a6e1c339 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/int.h @@ -0,0 +1,9 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +using Int = int32_t; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/integer.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/integer.h new file mode 100644 index 00000000..b8001ce0 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/integer.h @@ -0,0 +1,28 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct Integer { + int32_t value = 0; + + std::string_view tl_name() const { return "integer"; } + uint32_t tl_tag() const { return 0x7e194796; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const Integer& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/issue3498.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/issue3498.h new file mode 100644 index 00000000..1ffa6a6b --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/issue3498.h @@ -0,0 +1,31 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../service6/types/service6.findResultRow.h" +#include "../../service6/types/service6.error.h" +#include "Either.h" + + +namespace tl2 { +struct Issue3498 { + std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> x; + + std::string_view tl_name() const { return "issue3498"; } + uint32_t tl_tag() const { return 0xf54b7b0a; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const Issue3498& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/left.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/left.h new file mode 100644 index 00000000..a98838bb --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/left.h @@ -0,0 +1,16 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +template +struct Left { + X value{}; + + std::string_view tl_name() const { return "left"; } + uint32_t tl_tag() const { return 0x0a29cd5d; } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/long.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/long.h new file mode 100644 index 00000000..94e630dd --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/long.h @@ -0,0 +1,9 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +using Long = int64_t; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/map.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/map.h new file mode 100644 index 00000000..060a0bc4 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/map.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +template +struct Map { + X key{}; + Y value{}; + + std::string_view tl_name() const { return "map"; } + uint32_t tl_tag() const { return 0x79c473a4; } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myAnonMcValue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myAnonMcValue.h new file mode 100644 index 00000000..ef28fa3d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myAnonMcValue.h @@ -0,0 +1,10 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../service1/types/service1.Value.h" + + +namespace tl2 { +using MyAnonMcValue = ::tl2::service1::Value; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myBoxedArray.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myBoxedArray.h new file mode 100644 index 00000000..c7757d55 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myBoxedArray.h @@ -0,0 +1,28 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct MyBoxedArray { + std::array data{}; + + std::string_view tl_name() const { return "myBoxedArray"; } + uint32_t tl_tag() const { return 0x288f64f0; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const MyBoxedArray& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myBoxedTupleSlice.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myBoxedTupleSlice.h new file mode 100644 index 00000000..8f65cfc4 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myBoxedTupleSlice.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct MyBoxedTupleSlice { + uint32_t n = 0; + std::vector data; + + std::string_view tl_name() const { return "myBoxedTupleSlice"; } + uint32_t tl_tag() const { return 0x25d1a1be; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const MyBoxedTupleSlice& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myBoxedVectorSlice.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myBoxedVectorSlice.h new file mode 100644 index 00000000..485054f1 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myBoxedVectorSlice.h @@ -0,0 +1,28 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct MyBoxedVectorSlice { + std::vector data; + + std::string_view tl_name() const { return "myBoxedVectorSlice"; } + uint32_t tl_tag() const { return 0x57d164bb; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const MyBoxedVectorSlice& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myDictOfInt.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myDictOfInt.h new file mode 100644 index 00000000..92f5b3f4 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myDictOfInt.h @@ -0,0 +1,10 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "dictionary.h" + + +namespace tl2 { +using MyDictOfInt = ::tl2::Dictionary; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myDouble.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myDouble.h new file mode 100644 index 00000000..458135e3 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myDouble.h @@ -0,0 +1,9 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +using MyDouble = double; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myInt.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myInt.h new file mode 100644 index 00000000..ebb7b942 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myInt.h @@ -0,0 +1,28 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct MyInt { + int32_t val1 = 0; + + std::string_view tl_name() const { return "myInt"; } + uint32_t tl_tag() const { return 0xc12375b7; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const MyInt& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMaybe1.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMaybe1.h new file mode 100644 index 00000000..a0857e79 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMaybe1.h @@ -0,0 +1,10 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "myTuple.h" + + +namespace tl2 { +using MyMaybe1 = std::optional<::tl2::MyTuplen<10>>; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMaybe2.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMaybe2.h new file mode 100644 index 00000000..ee19cb9d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMaybe2.h @@ -0,0 +1,10 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "myTuple.h" + + +namespace tl2 { +using MyMaybe2 = std::optional<::tl2::MyTuplen<10>>; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMcValue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMcValue.h new file mode 100644 index 00000000..e37fffd0 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMcValue.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../service1/types/service1.Value.h" + + +namespace tl2 { +struct MyMcValue { + ::tl2::service1::Value x; + + std::string_view tl_name() const { return "myMcValue"; } + uint32_t tl_tag() const { return 0xe2ffd978; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const MyMcValue& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMcValueTuple.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMcValueTuple.h new file mode 100644 index 00000000..9c094929 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMcValueTuple.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../service1/types/service1.Value.h" + + +namespace tl2 { +struct MyMcValueTuple { + std::array<::tl2::service1::Value, 3> xs{}; + + std::string_view tl_name() const { return "myMcValueTuple"; } + uint32_t tl_tag() const { return 0x1287d116; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const MyMcValueTuple& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMcValueVector.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMcValueVector.h new file mode 100644 index 00000000..cc001558 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myMcValueVector.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../service1/types/service1.Value.h" + + +namespace tl2 { +struct MyMcValueVector { + std::vector<::tl2::service1::Value> xs; + + std::string_view tl_name() const { return "myMcValueVector"; } + uint32_t tl_tag() const { return 0x761d6d58; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const MyMcValueVector& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myString.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myString.h new file mode 100644 index 00000000..fdb5866f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myString.h @@ -0,0 +1,28 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct MyString { + std::string val2; + + std::string_view tl_name() const { return "myString"; } + uint32_t tl_tag() const { return 0xc8bfa969; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const MyString& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myTuple.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myTuple.h new file mode 100644 index 00000000..2e45e3dd --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myTuple.h @@ -0,0 +1,10 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +template +using MyTuplen = std::array; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myTwoDicts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myTwoDicts.h new file mode 100644 index 00000000..9843e889 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/myTwoDicts.h @@ -0,0 +1,30 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "dictionary.h" + + +namespace tl2 { +struct MyTwoDicts { + ::tl2::Dictionary a{}; + ::tl2::Dictionary b{}; + + std::string_view tl_name() const { return "myTwoDicts"; } + uint32_t tl_tag() const { return 0xa859581d; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const MyTwoDicts& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/nonOptNat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/nonOptNat.h new file mode 100644 index 00000000..37991c82 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/nonOptNat.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct NonOptNat { + uint32_t n = 0; + std::vector xs; + + std::string_view tl_name() const { return "nonOptNat"; } + uint32_t tl_tag() const { return 0x45366605; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const NonOptNat& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/right.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/right.h new file mode 100644 index 00000000..db1126d7 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/right.h @@ -0,0 +1,16 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +template +struct Right { + Y value{}; + + std::string_view tl_name() const { return "right"; } + uint32_t tl_tag() const { return 0xdf3ecb3b; } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/rpcInvokeReqExtra.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/rpcInvokeReqExtra.h new file mode 100644 index 00000000..172ac80c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/rpcInvokeReqExtra.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "true.h" + + +namespace tl2 { +struct RpcInvokeReqExtra { + uint32_t fields_mask = 0; + ::tl2::True query{}; + ::tl2::True sort{}; + ::tl2::True sort_reverse{}; + int64_t wait_binlog_pos = 0; + std::vector string_forward_keys; + + std::string_view tl_name() const { return "rpcInvokeReqExtra"; } + uint32_t tl_tag() const { return 0xf3ef81a9; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const RpcInvokeReqExtra& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/statOne.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/statOne.h new file mode 100644 index 00000000..d48348ad --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/statOne.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct StatOne { + std::string key; + std::string value; + + std::string_view tl_name() const { return "statOne"; } + uint32_t tl_tag() const { return 0x74b0604b; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const StatOne& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/string.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/string.h new file mode 100644 index 00000000..ead7023d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/string.h @@ -0,0 +1,9 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +using String = std::string; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/true.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/true.h new file mode 100644 index 00000000..44a8b5ab --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/true.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct True { + + std::string_view tl_name() const { return "true"; } + uint32_t tl_tag() const { return 0x3fedd339; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const True& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/tuple.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/tuple.h new file mode 100644 index 00000000..cd74d116 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/tuple.h @@ -0,0 +1,15 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +template +using Tuple = std::vector; +} // namespace tl2 + +namespace tl2 { +template +using Tuplen = std::array; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/vector.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/vector.h new file mode 100644 index 00000000..4663fb39 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/vector.h @@ -0,0 +1,10 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +template +using Vector = std::vector; +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/withFloat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/withFloat.h new file mode 100644 index 00000000..7e80e2fe --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/types/withFloat.h @@ -0,0 +1,30 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { +struct WithFloat { + float x = 0; + float y = 0; + float z = 0; + + std::string_view tl_name() const { return "withFloat"; } + uint32_t tl_tag() const { return 0x071b8685; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const WithFloat& rhs) { + rhs.write_json(s); + return s; + } +}; + +} // namespace tl2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/details.cpp new file mode 100644 index 00000000..46d42886 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/details.cpp @@ -0,0 +1,303 @@ +#include "headers/antispam.PatternFull.h" +#include "headers/antispam.patternNotFound.h" +#include "headers/antispam.patternFound.h" +#include "headers/antispam.getPattern.h" + + +bool tl2::antispam::GetPattern::write_json(std::ostream& s)const { + if (!::tl2::details::AntispamGetPatternWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::antispam::GetPattern::read(::basictl::tl_istream & s) { + if (!::tl2::details::AntispamGetPatternRead(s, *this)) { return false; } + return true; +} + +bool tl2::antispam::GetPattern::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::AntispamGetPatternWrite(s, *this)) { return false; } + return true; +} + +bool tl2::antispam::GetPattern::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::AntispamGetPatternReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::antispam::GetPattern::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::AntispamGetPatternWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::AntispamGetPatternReset(::tl2::antispam::GetPattern& item) { + item.id = 0; +} + +bool tl2::details::AntispamGetPatternWriteJSON(std::ostream& s, const ::tl2::antispam::GetPattern& item) { + s << "{"; + if (item.id != 0) { + s << "\"id\":"; + s << item.id; + } + s << "}"; + return true; +} + +bool tl2::details::AntispamGetPatternRead(::basictl::tl_istream & s, ::tl2::antispam::GetPattern& item) { + if (!s.int_read(item.id)) { return false; } + return true; +} + +bool tl2::details::AntispamGetPatternWrite(::basictl::tl_ostream & s, const ::tl2::antispam::GetPattern& item) { + if (!s.int_write(item.id)) { return false;} + return true; +} + +bool tl2::details::AntispamGetPatternReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::GetPattern& item) { + if (!s.nat_read_exact_tag(0x3de14136)) { return false; } + return tl2::details::AntispamGetPatternRead(s, item); +} + +bool tl2::details::AntispamGetPatternWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::GetPattern& item) { + if (!s.nat_write(0x3de14136)) { return false; } + return tl2::details::AntispamGetPatternWrite(s, item); +} + +bool tl2::details::AntispamGetPatternReadResult(::basictl::tl_istream & s, tl2::antispam::GetPattern& item, ::tl2::antispam::PatternFull& result) { + if (!::tl2::details::AntispamPatternFullReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::AntispamGetPatternWriteResult(::basictl::tl_ostream & s, tl2::antispam::GetPattern& item, ::tl2::antispam::PatternFull& result) { + if (!::tl2::details::AntispamPatternFullWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::antispam::GetPattern::read_result(::basictl::tl_istream & s, ::tl2::antispam::PatternFull & result) { + return tl2::details::AntispamGetPatternReadResult(s, *this, result); +} +bool tl2::antispam::GetPattern::write_result(::basictl::tl_ostream & s, ::tl2::antispam::PatternFull & result) { + return tl2::details::AntispamGetPatternWriteResult(s, *this, result); +} + +bool tl2::antispam::PatternFound::write_json(std::ostream& s)const { + if (!::tl2::details::AntispamPatternFoundWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::antispam::PatternFound::read(::basictl::tl_istream & s) { + if (!::tl2::details::AntispamPatternFoundRead(s, *this)) { return false; } + return true; +} + +bool tl2::antispam::PatternFound::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::AntispamPatternFoundWrite(s, *this)) { return false; } + return true; +} + +bool tl2::antispam::PatternFound::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::AntispamPatternFoundReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::antispam::PatternFound::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::AntispamPatternFoundWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::AntispamPatternFoundReset(::tl2::antispam::PatternFound& item) { + item.ip = 0; + item.uahash = 0; + item.flags = 0; + item.type = 0; + item.text.clear(); +} + +bool tl2::details::AntispamPatternFoundWriteJSON(std::ostream& s, const ::tl2::antispam::PatternFound& item) { + auto add_comma = false; + s << "{"; + if (item.ip != 0) { + add_comma = true; + s << "\"ip\":"; + s << item.ip; + } + if (item.uahash != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"uahash\":"; + s << item.uahash; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.type != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.text.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"text\":"; + s << "\"" << item.text << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::AntispamPatternFoundRead(::basictl::tl_istream & s, ::tl2::antispam::PatternFound& item) { + if (!s.int_read(item.ip)) { return false; } + if (!s.int_read(item.uahash)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!s.int_read(item.type)) { return false; } + if (!s.string_read(item.text)) { return false; } + return true; +} + +bool tl2::details::AntispamPatternFoundWrite(::basictl::tl_ostream & s, const ::tl2::antispam::PatternFound& item) { + if (!s.int_write(item.ip)) { return false;} + if (!s.int_write(item.uahash)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!s.int_write(item.type)) { return false;} + if (!s.string_write(item.text)) { return false;} + return true; +} + +bool tl2::details::AntispamPatternFoundReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::PatternFound& item) { + if (!s.nat_read_exact_tag(0xa7688492)) { return false; } + return tl2::details::AntispamPatternFoundRead(s, item); +} + +bool tl2::details::AntispamPatternFoundWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::PatternFound& item) { + if (!s.nat_write(0xa7688492)) { return false; } + return tl2::details::AntispamPatternFoundWrite(s, item); +} + +static const std::string_view AntispamPatternFull_tbl_tl_name[]{"antispam.patternFound", "antispam.patternNotFound"}; +static const uint32_t AntispamPatternFull_tbl_tl_tag[]{0xa7688492, 0x2c22e225}; + +bool tl2::antispam::PatternFull::write_json(std::ostream & s)const { + if (!::tl2::details::AntispamPatternFullWriteJSON(s, *this)) { return false; } + return true; +} +bool tl2::antispam::PatternFull::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::AntispamPatternFullReadBoxed(s, *this)) { return false; } + return true; +} +bool tl2::antispam::PatternFull::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::AntispamPatternFullWriteBoxed(s, *this)) { return false; } + return true; +} +std::string_view tl2::antispam::PatternFull::tl_name() const { + return AntispamPatternFull_tbl_tl_name[value.index()]; +} +uint32_t tl2::antispam::PatternFull::tl_tag() const { + return AntispamPatternFull_tbl_tl_tag[value.index()]; +} + + +void tl2::details::AntispamPatternFullReset(::tl2::antispam::PatternFull& item) { + item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function +} + +bool tl2::details::AntispamPatternFullWriteJSON(std::ostream & s, const ::tl2::antispam::PatternFull& item) { + s << "{"; + s << "\"type\":"; + s << "\"" << AntispamPatternFull_tbl_tl_name[item.value.index()] << "\""; + switch (item.value.index()) { + case 0: + s << ",\"value\":"; + if (!::tl2::details::AntispamPatternFoundWriteJSON(s, std::get<0>(item.value))) { return false; } + break; + } + s << "}"; + return true; +} +bool tl2::details::AntispamPatternFullReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::PatternFull& item) { + uint32_t nat; + s.nat_read(nat); + switch (nat) { + case 0xa7688492: + if (item.value.index() != 0) { item.value.emplace<0>(); } + if (!::tl2::details::AntispamPatternFoundRead(s, std::get<0>(item.value))) { return false; } + break; + case 0x2c22e225: + if (item.value.index() != 1) { item.value.emplace<1>(); } + break; + default: + return s.set_error_union_tag(); + } + return true; +} + +bool tl2::details::AntispamPatternFullWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::PatternFull& item) { + s.nat_write(AntispamPatternFull_tbl_tl_tag[item.value.index()]); + switch (item.value.index()) { + case 0: + if (!::tl2::details::AntispamPatternFoundWrite(s, std::get<0>(item.value))) { return false; } + break; + } + return true; +} + +bool tl2::antispam::PatternNotFound::write_json(std::ostream& s)const { + if (!::tl2::details::AntispamPatternNotFoundWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::antispam::PatternNotFound::read(::basictl::tl_istream & s) { + if (!::tl2::details::AntispamPatternNotFoundRead(s, *this)) { return false; } + return true; +} + +bool tl2::antispam::PatternNotFound::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::AntispamPatternNotFoundWrite(s, *this)) { return false; } + return true; +} + +bool tl2::antispam::PatternNotFound::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::AntispamPatternNotFoundReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::antispam::PatternNotFound::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::AntispamPatternNotFoundWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::AntispamPatternNotFoundReset(::tl2::antispam::PatternNotFound& item) { +} + +bool tl2::details::AntispamPatternNotFoundWriteJSON(std::ostream& s, const ::tl2::antispam::PatternNotFound& item) { + s << "true"; + return true; +} + +bool tl2::details::AntispamPatternNotFoundRead(::basictl::tl_istream & s, ::tl2::antispam::PatternNotFound& item) { + return true; +} + +bool tl2::details::AntispamPatternNotFoundWrite(::basictl::tl_ostream & s, const ::tl2::antispam::PatternNotFound& item) { + return true; +} + +bool tl2::details::AntispamPatternNotFoundReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::PatternNotFound& item) { + if (!s.nat_read_exact_tag(0x2c22e225)) { return false; } + return tl2::details::AntispamPatternNotFoundRead(s, item); +} + +bool tl2::details::AntispamPatternNotFoundWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::PatternNotFound& item) { + if (!s.nat_write(0x2c22e225)) { return false; } + return tl2::details::AntispamPatternNotFoundWrite(s, item); +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/functions/antispam.getPattern.h b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/functions/antispam.getPattern.h new file mode 100644 index 00000000..9b9a6851 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/functions/antispam.getPattern.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/antispam.PatternFull.h" + + +namespace tl2 { namespace antispam { +struct GetPattern { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x3de14136; } + + int32_t id = 0; + + std::string_view tl_name() const { return "antispam.getPattern"; } + uint32_t tl_tag() const { return 0x3de14136; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::antispam::PatternFull & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::antispam::PatternFull & result); + + friend std::ostream& operator<<(std::ostream& s, const GetPattern& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::antispam + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.PatternFull.h b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.PatternFull.h new file mode 100644 index 00000000..ee01d6c0 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.PatternFull.h @@ -0,0 +1,15 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/antispam.PatternFull.h" + +namespace tl2 { namespace details { + +void AntispamPatternFullReset(::tl2::antispam::PatternFull& item); + +bool AntispamPatternFullWriteJSON(std::ostream & s, const ::tl2::antispam::PatternFull& item); +bool AntispamPatternFullReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::PatternFull& item); +bool AntispamPatternFullWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::PatternFull& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.getPattern.h b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.getPattern.h new file mode 100644 index 00000000..d7b6195f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.getPattern.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/antispam.getPattern.h" +#include "../types/antispam.PatternFull.h" + +namespace tl2 { namespace details { + +void AntispamGetPatternReset(::tl2::antispam::GetPattern& item); + +bool AntispamGetPatternWriteJSON(std::ostream& s, const ::tl2::antispam::GetPattern& item); +bool AntispamGetPatternRead(::basictl::tl_istream & s, ::tl2::antispam::GetPattern& item); +bool AntispamGetPatternWrite(::basictl::tl_ostream & s, const ::tl2::antispam::GetPattern& item); +bool AntispamGetPatternReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::GetPattern& item); +bool AntispamGetPatternWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::GetPattern& item); + +bool AntispamGetPatternReadResult(::basictl::tl_istream & s, ::tl2::antispam::GetPattern& item, ::tl2::antispam::PatternFull& result); +bool AntispamGetPatternWriteResult(::basictl::tl_ostream & s, ::tl2::antispam::GetPattern& item, ::tl2::antispam::PatternFull& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.patternFound.h b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.patternFound.h new file mode 100644 index 00000000..816b41f5 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.patternFound.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/antispam.patternFound.h" + +namespace tl2 { namespace details { + +void AntispamPatternFoundReset(::tl2::antispam::PatternFound& item); + +bool AntispamPatternFoundWriteJSON(std::ostream& s, const ::tl2::antispam::PatternFound& item); +bool AntispamPatternFoundRead(::basictl::tl_istream & s, ::tl2::antispam::PatternFound& item); +bool AntispamPatternFoundWrite(::basictl::tl_ostream & s, const ::tl2::antispam::PatternFound& item); +bool AntispamPatternFoundReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::PatternFound& item); +bool AntispamPatternFoundWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::PatternFound& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.patternNotFound.h b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.patternNotFound.h new file mode 100644 index 00000000..540e1e73 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/headers/antispam.patternNotFound.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/antispam.patternNotFound.h" + +namespace tl2 { namespace details { + +void AntispamPatternNotFoundReset(::tl2::antispam::PatternNotFound& item); + +bool AntispamPatternNotFoundWriteJSON(std::ostream& s, const ::tl2::antispam::PatternNotFound& item); +bool AntispamPatternNotFoundRead(::basictl::tl_istream & s, ::tl2::antispam::PatternNotFound& item); +bool AntispamPatternNotFoundWrite(::basictl::tl_ostream & s, const ::tl2::antispam::PatternNotFound& item); +bool AntispamPatternNotFoundReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::PatternNotFound& item); +bool AntispamPatternNotFoundWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::PatternNotFound& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/types/antispam.PatternFull.h b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/types/antispam.PatternFull.h new file mode 100644 index 00000000..ea90c392 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/types/antispam.PatternFull.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "antispam.patternNotFound.h" +#include "antispam.patternFound.h" + + +namespace tl2 { namespace antispam { +struct PatternFull { + std::variant<::tl2::antispam::PatternFound, ::tl2::antispam::PatternNotFound> value; + + bool is_patternFound() const { return value.index() == 0; } + bool is_patternNotFound() const { return value.index() == 1; } + + void set_patternNotFound() { value.emplace<1>(); } + + std::string_view tl_name() const; + uint32_t tl_tag() const; + + bool write_json(std::ostream& s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; +}; + +}} // namespace tl2::antispam + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/types/antispam.patternFound.h b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/types/antispam.patternFound.h new file mode 100644 index 00000000..7669e29d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/types/antispam.patternFound.h @@ -0,0 +1,32 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace antispam { +struct PatternFound { + int32_t ip = 0; + int32_t uahash = 0; + int32_t flags = 0; + int32_t type = 0; + std::string text; + + std::string_view tl_name() const { return "antispam.patternFound"; } + uint32_t tl_tag() const { return 0xa7688492; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const PatternFound& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::antispam + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/types/antispam.patternNotFound.h b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/types/antispam.patternNotFound.h new file mode 100644 index 00000000..738e727b --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/types/antispam.patternNotFound.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace antispam { +struct PatternNotFound { + + std::string_view tl_name() const { return "antispam.patternNotFound"; } + uint32_t tl_tag() const { return 0x2c22e225; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const PatternNotFound& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::antispam + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/details.cpp new file mode 100644 index 00000000..3422796f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/details.cpp @@ -0,0 +1,149 @@ +#include "headers/pkg2.t2.h" +#include "headers/pkg2.t1.h" +#include "headers/pkg2.foo.h" + + +bool tl2::pkg2::Foo::write_json(std::ostream& s)const { + if (!::tl2::details::Pkg2FooWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::pkg2::Foo::read(::basictl::tl_istream & s) { + if (!::tl2::details::Pkg2FooRead(s, *this)) { return false; } + return true; +} + +bool tl2::pkg2::Foo::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Pkg2FooWrite(s, *this)) { return false; } + return true; +} + +bool tl2::pkg2::Foo::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Pkg2FooReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::pkg2::Foo::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Pkg2FooWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Pkg2FooReset(::tl2::pkg2::Foo& item) { + item.x = 0; +} + +bool tl2::details::Pkg2FooWriteJSON(std::ostream& s, const ::tl2::pkg2::Foo& item) { + s << "{"; + if (item.x != 0) { + s << "\"x\":"; + s << item.x; + } + s << "}"; + return true; +} + +bool tl2::details::Pkg2FooRead(::basictl::tl_istream & s, ::tl2::pkg2::Foo& item) { + if (!s.int_read(item.x)) { return false; } + return true; +} + +bool tl2::details::Pkg2FooWrite(::basictl::tl_ostream & s, const ::tl2::pkg2::Foo& item) { + if (!s.int_write(item.x)) { return false;} + return true; +} + +bool tl2::details::Pkg2FooReadBoxed(::basictl::tl_istream & s, ::tl2::pkg2::Foo& item) { + if (!s.nat_read_exact_tag(0xe144703d)) { return false; } + return tl2::details::Pkg2FooRead(s, item); +} + +bool tl2::details::Pkg2FooWriteBoxed(::basictl::tl_ostream & s, const ::tl2::pkg2::Foo& item) { + if (!s.nat_write(0xe144703d)) { return false; } + return tl2::details::Pkg2FooWrite(s, item); +} + +bool tl2::pkg2::T1::write_json(std::ostream& s)const { + if (!::tl2::details::Pkg2T1WriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::pkg2::T1::read(::basictl::tl_istream & s) { + if (!::tl2::details::Pkg2T1Read(s, *this)) { return false; } + return true; +} + +bool tl2::pkg2::T1::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Pkg2T1Write(s, *this)) { return false; } + return true; +} + +bool tl2::pkg2::T1::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Pkg2T1ReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::pkg2::T1::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Pkg2T1WriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Pkg2T1Reset(::tl2::pkg2::T1& item) { + ::tl2::details::Pkg2FooReset(item.x); +} + +bool tl2::details::Pkg2T1WriteJSON(std::ostream& s, const ::tl2::pkg2::T1& item) { + s << "{"; + s << "\"x\":"; + if (!::tl2::details::Pkg2FooWriteJSON(s, item.x)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::Pkg2T1Read(::basictl::tl_istream & s, ::tl2::pkg2::T1& item) { + if (!::tl2::details::Pkg2FooReadBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::Pkg2T1Write(::basictl::tl_ostream & s, const ::tl2::pkg2::T1& item) { + if (!::tl2::details::Pkg2FooWriteBoxed(s, item.x)) { return false; } + return true; +} + +bool tl2::details::Pkg2T1ReadBoxed(::basictl::tl_istream & s, ::tl2::pkg2::T1& item) { + if (!s.nat_read_exact_tag(0x638206ec)) { return false; } + return tl2::details::Pkg2T1Read(s, item); +} + +bool tl2::details::Pkg2T1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::pkg2::T1& item) { + if (!s.nat_write(0x638206ec)) { return false; } + return tl2::details::Pkg2T1Write(s, item); +} + +void tl2::details::Pkg2T2Reset(::tl2::pkg2::T2& item) { + ::tl2::details::Pkg2FooReset(item); +} + +bool tl2::details::Pkg2T2WriteJSON(std::ostream& s, const ::tl2::pkg2::T2& item) { + if (!::tl2::details::Pkg2FooWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::Pkg2T2Read(::basictl::tl_istream & s, ::tl2::pkg2::T2& item) { + if (!::tl2::details::Pkg2FooRead(s, item)) { return false; } + return true; +} + +bool tl2::details::Pkg2T2Write(::basictl::tl_ostream & s, const ::tl2::pkg2::T2& item) { + if (!::tl2::details::Pkg2FooWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::Pkg2T2ReadBoxed(::basictl::tl_istream & s, ::tl2::pkg2::T2& item) { + if (!s.nat_read_exact_tag(0xd6e5af9c)) { return false; } + return tl2::details::Pkg2T2Read(s, item); +} + +bool tl2::details::Pkg2T2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::pkg2::T2& item) { + if (!s.nat_write(0xd6e5af9c)) { return false; } + return tl2::details::Pkg2T2Write(s, item); +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/headers/pkg2.foo.h b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/headers/pkg2.foo.h new file mode 100644 index 00000000..e0c337d3 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/headers/pkg2.foo.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/pkg2.foo.h" + +namespace tl2 { namespace details { + +void Pkg2FooReset(::tl2::pkg2::Foo& item); + +bool Pkg2FooWriteJSON(std::ostream& s, const ::tl2::pkg2::Foo& item); +bool Pkg2FooRead(::basictl::tl_istream & s, ::tl2::pkg2::Foo& item); +bool Pkg2FooWrite(::basictl::tl_ostream & s, const ::tl2::pkg2::Foo& item); +bool Pkg2FooReadBoxed(::basictl::tl_istream & s, ::tl2::pkg2::Foo& item); +bool Pkg2FooWriteBoxed(::basictl::tl_ostream & s, const ::tl2::pkg2::Foo& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/headers/pkg2.t1.h b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/headers/pkg2.t1.h new file mode 100644 index 00000000..03511a9d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/headers/pkg2.t1.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/pkg2.t1.h" + +namespace tl2 { namespace details { + +void Pkg2T1Reset(::tl2::pkg2::T1& item); + +bool Pkg2T1WriteJSON(std::ostream& s, const ::tl2::pkg2::T1& item); +bool Pkg2T1Read(::basictl::tl_istream & s, ::tl2::pkg2::T1& item); +bool Pkg2T1Write(::basictl::tl_ostream & s, const ::tl2::pkg2::T1& item); +bool Pkg2T1ReadBoxed(::basictl::tl_istream & s, ::tl2::pkg2::T1& item); +bool Pkg2T1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::pkg2::T1& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/headers/pkg2.t2.h b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/headers/pkg2.t2.h new file mode 100644 index 00000000..7fd929e7 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/headers/pkg2.t2.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/pkg2.t2.h" + +namespace tl2 { namespace details { + +void Pkg2T2Reset(::tl2::pkg2::T2& item); + +bool Pkg2T2WriteJSON(std::ostream& s, const ::tl2::pkg2::T2& item); +bool Pkg2T2Read(::basictl::tl_istream & s, ::tl2::pkg2::T2& item); +bool Pkg2T2Write(::basictl::tl_ostream & s, const ::tl2::pkg2::T2& item); +bool Pkg2T2ReadBoxed(::basictl::tl_istream & s, ::tl2::pkg2::T2& item); +bool Pkg2T2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::pkg2::T2& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/types/pkg2.foo.h b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/types/pkg2.foo.h new file mode 100644 index 00000000..98f6a2e7 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/types/pkg2.foo.h @@ -0,0 +1,28 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace pkg2 { +struct Foo { + int32_t x = 0; + + std::string_view tl_name() const { return "pkg2.foo"; } + uint32_t tl_tag() const { return 0xe144703d; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const Foo& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::pkg2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/types/pkg2.t1.h b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/types/pkg2.t1.h new file mode 100644 index 00000000..0bcdfddc --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/types/pkg2.t1.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "pkg2.foo.h" + + +namespace tl2 { namespace pkg2 { +struct T1 { + ::tl2::pkg2::Foo x{}; + + std::string_view tl_name() const { return "pkg2.t1"; } + uint32_t tl_tag() const { return 0x638206ec; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const T1& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::pkg2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/types/pkg2.t2.h b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/types/pkg2.t2.h new file mode 100644 index 00000000..c55e3d9a --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/types/pkg2.t2.h @@ -0,0 +1,10 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "pkg2.foo.h" + + +namespace tl2 { namespace pkg2 { +using T2 = ::tl2::pkg2::Foo; +}} // namespace tl2::pkg2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/details.cpp new file mode 100644 index 00000000..533f8c29 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/details.cpp @@ -0,0 +1,3447 @@ +#include "headers/service1_vector.h" +#include "headers/service1.Value.h" +#include "headers/service1.touch.h" +#include "headers/service1.setOrIncr.h" +#include "headers/service1.set.h" +#include "headers/service1.replaceOrIncr.h" +#include "headers/service1.replace.h" +#include "headers/service1.keysStat.h" +#include "headers/service1.incr.h" +#include "headers/service1.getWildcardWithFlags.h" +#include "headers/service1.getWildcardList.h" +#include "headers/service1.getWildcardDict.h" +#include "headers/service1.getWildcard.h" +#include "headers/service1.getKeysStatPeriods.h" +#include "headers/service1.getKeysStat.h" +#include "headers/service1.getExpireTime.h" +#include "headers/service1.get.h" +#include "headers/service1.exists.h" +#include "headers/service1.enableKeysStat.h" +#include "headers/service1.enableExpiration.h" +#include "headers/service1.disableKeysStat.h" +#include "headers/service1.disableExpiration.h" +#include "headers/service1.delete.h" +#include "headers/service1.decr.h" +#include "headers/service1.cas.h" +#include "headers/service1.append.h" +#include "headers/service1.addOrIncr.h" +#include "headers/service1.addOrGet.h" +#include "headers/service1.add.h" +#include "../__common_namespace/headers/int.h" +#include "headers/service1.strvalueWithTime.h" +#include "headers/service1.strvalue.h" +#include "headers/service1.not_found.h" +#include "headers/service1.longvalueWithTime.h" +#include "headers/service1.longvalue.h" +#include "headers/service1_dictionary.h" +#include "../__common_namespace/headers/dictionary.h" +#include "headers/service1_dictionaryField.h" +#include "../__common_namespace/headers/string.h" +#include "../__common_namespace/headers/map.h" +#include "../__common_namespace/headers/Bool.h" + + +void tl2::details::BuiltinTuple3Service1ValueReset(std::array<::tl2::service1::Value, 3>& item) { + for(auto && el : item) { + ::tl2::details::Service1ValueReset(el); + } +} + +bool tl2::details::BuiltinTuple3Service1ValueWriteJSON(std::ostream &s, const std::array<::tl2::service1::Value, 3>& item) { + s << "["; + size_t index = 0; + for(auto && el : item) { + if (!::tl2::details::Service1ValueWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinTuple3Service1ValueRead(::basictl::tl_istream & s, std::array<::tl2::service1::Value, 3>& item) { + for(auto && el : item) { + if (!::tl2::details::Service1ValueReadBoxed(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinTuple3Service1ValueWrite(::basictl::tl_ostream & s, const std::array<::tl2::service1::Value, 3>& item) { + for(const auto & el : item) { + if (!::tl2::details::Service1ValueWriteBoxed(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorDictionaryFieldDictionaryIntReset(std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorDictionaryFieldDictionaryIntWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::DictionaryFieldDictionaryIntWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorDictionaryFieldDictionaryIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::DictionaryFieldDictionaryIntRead(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorDictionaryFieldDictionaryIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::DictionaryFieldDictionaryIntWrite(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorDictionaryFieldService1ValueReset(std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorDictionaryFieldService1ValueWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::DictionaryFieldService1ValueWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorDictionaryFieldService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::DictionaryFieldService1ValueRead(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorDictionaryFieldService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::DictionaryFieldService1ValueWrite(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorDictionaryFieldStringReset(std::vector<::tl2::DictionaryField>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorDictionaryFieldStringWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::DictionaryFieldStringWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorDictionaryFieldStringRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::DictionaryFieldStringRead(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorDictionaryFieldStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::DictionaryFieldStringWrite(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorService1ValueReset(std::vector<::tl2::service1::Value>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorService1ValueWriteJSON(std::ostream & s, const std::vector<::tl2::service1::Value>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::Service1ValueWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::service1::Value>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::Service1ValueReadBoxed(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service1::Value>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::Service1ValueWriteBoxed(s, el)) { return false; } + } + return true; +} + +void tl2::details::DictionaryDictionaryIntReset(::tl2::Dictionary<::tl2::Dictionary>& item) { + item.clear(); +} + +bool tl2::details::DictionaryDictionaryIntWriteJSON(std::ostream& s, const ::tl2::Dictionary<::tl2::Dictionary>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldDictionaryIntWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::DictionaryDictionaryIntRead(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::Dictionary>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldDictionaryIntRead(s, item)) { return false; } + return true; +} + +bool tl2::details::DictionaryDictionaryIntWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::Dictionary>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldDictionaryIntWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::DictionaryDictionaryIntReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::Dictionary>& item) { + if (!s.nat_read_exact_tag(0x1f4c618f)) { return false; } + return tl2::details::DictionaryDictionaryIntRead(s, item); +} + +bool tl2::details::DictionaryDictionaryIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::Dictionary>& item) { + if (!s.nat_write(0x1f4c618f)) { return false; } + return tl2::details::DictionaryDictionaryIntWrite(s, item); +} + +void tl2::details::DictionaryFieldDictionaryIntReset(::tl2::DictionaryField<::tl2::Dictionary>& item) { + item.key.clear(); + ::tl2::details::DictionaryIntReset(item.value); +} + +bool tl2::details::DictionaryFieldDictionaryIntWriteJSON(std::ostream& s, const ::tl2::DictionaryField<::tl2::Dictionary>& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.value.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + if (!::tl2::details::DictionaryIntWriteJSON(s, item.value)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::DictionaryFieldDictionaryIntRead(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::Dictionary>& item) { + if (!s.string_read(item.key)) { return false; } + if (!::tl2::details::DictionaryIntRead(s, item.value)) { return false; } + return true; +} + +bool tl2::details::DictionaryFieldDictionaryIntWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::Dictionary>& item) { + if (!s.string_write(item.key)) { return false;} + if (!::tl2::details::DictionaryIntWrite(s, item.value)) { return false; } + return true; +} + +bool tl2::details::DictionaryFieldDictionaryIntReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::Dictionary>& item) { + if (!s.nat_read_exact_tag(0x239c1b62)) { return false; } + return tl2::details::DictionaryFieldDictionaryIntRead(s, item); +} + +bool tl2::details::DictionaryFieldDictionaryIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::Dictionary>& item) { + if (!s.nat_write(0x239c1b62)) { return false; } + return tl2::details::DictionaryFieldDictionaryIntWrite(s, item); +} + +void tl2::details::DictionaryFieldService1ValueReset(::tl2::DictionaryField<::tl2::service1::Value>& item) { + item.key.clear(); + ::tl2::details::Service1ValueReset(item.value); +} + +bool tl2::details::DictionaryFieldService1ValueWriteJSON(std::ostream& s, const ::tl2::DictionaryField<::tl2::service1::Value>& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + if (!::tl2::details::Service1ValueWriteJSON(s, item.value)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::DictionaryFieldService1ValueRead(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::service1::Value>& item) { + if (!s.string_read(item.key)) { return false; } + if (!::tl2::details::Service1ValueReadBoxed(s, item.value)) { return false; } + return true; +} + +bool tl2::details::DictionaryFieldService1ValueWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::service1::Value>& item) { + if (!s.string_write(item.key)) { return false;} + if (!::tl2::details::Service1ValueWriteBoxed(s, item.value)) { return false; } + return true; +} + +bool tl2::details::DictionaryFieldService1ValueReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::service1::Value>& item) { + if (!s.nat_read_exact_tag(0x239c1b62)) { return false; } + return tl2::details::DictionaryFieldService1ValueRead(s, item); +} + +bool tl2::details::DictionaryFieldService1ValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::service1::Value>& item) { + if (!s.nat_write(0x239c1b62)) { return false; } + return tl2::details::DictionaryFieldService1ValueWrite(s, item); +} + +void tl2::details::DictionaryFieldStringReset(::tl2::DictionaryField& item) { + item.key.clear(); + item.value.clear(); +} + +bool tl2::details::DictionaryFieldStringWriteJSON(std::ostream& s, const ::tl2::DictionaryField& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.value.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << "\"" << item.value << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::DictionaryFieldStringRead(::basictl::tl_istream & s, ::tl2::DictionaryField& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.string_read(item.value)) { return false; } + return true; +} + +bool tl2::details::DictionaryFieldStringWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.string_write(item.value)) { return false;} + return true; +} + +bool tl2::details::DictionaryFieldStringReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField& item) { + if (!s.nat_read_exact_tag(0x239c1b62)) { return false; } + return tl2::details::DictionaryFieldStringRead(s, item); +} + +bool tl2::details::DictionaryFieldStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item) { + if (!s.nat_write(0x239c1b62)) { return false; } + return tl2::details::DictionaryFieldStringWrite(s, item); +} + +void tl2::details::DictionaryService1ValueReset(::tl2::Dictionary<::tl2::service1::Value>& item) { + item.clear(); +} + +bool tl2::details::DictionaryService1ValueWriteJSON(std::ostream& s, const ::tl2::Dictionary<::tl2::service1::Value>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldService1ValueWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::DictionaryService1ValueRead(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldService1ValueRead(s, item)) { return false; } + return true; +} + +bool tl2::details::DictionaryService1ValueWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::service1::Value>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldService1ValueWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::DictionaryService1ValueReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value>& item) { + if (!s.nat_read_exact_tag(0x1f4c618f)) { return false; } + return tl2::details::DictionaryService1ValueRead(s, item); +} + +bool tl2::details::DictionaryService1ValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::service1::Value>& item) { + if (!s.nat_write(0x1f4c618f)) { return false; } + return tl2::details::DictionaryService1ValueWrite(s, item); +} + +void tl2::details::DictionaryStringReset(::tl2::Dictionary& item) { + item.clear(); +} + +bool tl2::details::DictionaryStringWriteJSON(std::ostream& s, const ::tl2::Dictionary& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldStringWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::DictionaryStringRead(::basictl::tl_istream & s, ::tl2::Dictionary& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldStringRead(s, item)) { return false; } + return true; +} + +bool tl2::details::DictionaryStringWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldStringWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::DictionaryStringReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary& item) { + if (!s.nat_read_exact_tag(0x1f4c618f)) { return false; } + return tl2::details::DictionaryStringRead(s, item); +} + +bool tl2::details::DictionaryStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary& item) { + if (!s.nat_write(0x1f4c618f)) { return false; } + return tl2::details::DictionaryStringWrite(s, item); +} + +bool tl2::service1::Add::write_json(std::ostream& s)const { + if (!::tl2::details::Service1AddWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Add::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1AddRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Add::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1AddWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Add::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1AddReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Add::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1AddWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1AddReset(::tl2::service1::Add& item) { + item.key.clear(); + item.flags = 0; + item.delay = 0; + item.value.clear(); +} + +bool tl2::details::Service1AddWriteJSON(std::ostream& s, const ::tl2::service1::Add& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.delay != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"delay\":"; + s << item.delay; + } + if (item.value.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << "\"" << item.value << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1AddRead(::basictl::tl_istream & s, ::tl2::service1::Add& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!s.int_read(item.delay)) { return false; } + if (!s.string_read(item.value)) { return false; } + return true; +} + +bool tl2::details::Service1AddWrite(::basictl::tl_ostream & s, const ::tl2::service1::Add& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!s.int_write(item.delay)) { return false;} + if (!s.string_write(item.value)) { return false;} + return true; +} + +bool tl2::details::Service1AddReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Add& item) { + if (!s.nat_read_exact_tag(0x481df8be)) { return false; } + return tl2::details::Service1AddRead(s, item); +} + +bool tl2::details::Service1AddWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Add& item) { + if (!s.nat_write(0x481df8be)) { return false; } + return tl2::details::Service1AddWrite(s, item); +} + +bool tl2::details::Service1AddReadResult(::basictl::tl_istream & s, tl2::service1::Add& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1AddWriteResult(::basictl::tl_ostream & s, tl2::service1::Add& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::Add::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service1AddReadResult(s, *this, result); +} +bool tl2::service1::Add::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service1AddWriteResult(s, *this, result); +} + +bool tl2::service1::AddOrGet::write_json(std::ostream& s)const { + if (!::tl2::details::Service1AddOrGetWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::AddOrGet::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1AddOrGetRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::AddOrGet::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1AddOrGetWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::AddOrGet::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1AddOrGetReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::AddOrGet::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1AddOrGetWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1AddOrGetReset(::tl2::service1::AddOrGet& item) { + item.key.clear(); + item.flags = 0; + item.delay = 0; + item.value.clear(); +} + +bool tl2::details::Service1AddOrGetWriteJSON(std::ostream& s, const ::tl2::service1::AddOrGet& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.delay != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"delay\":"; + s << item.delay; + } + if (item.value.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << "\"" << item.value << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1AddOrGetRead(::basictl::tl_istream & s, ::tl2::service1::AddOrGet& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!s.int_read(item.delay)) { return false; } + if (!s.string_read(item.value)) { return false; } + return true; +} + +bool tl2::details::Service1AddOrGetWrite(::basictl::tl_ostream & s, const ::tl2::service1::AddOrGet& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!s.int_write(item.delay)) { return false;} + if (!s.string_write(item.value)) { return false;} + return true; +} + +bool tl2::details::Service1AddOrGetReadBoxed(::basictl::tl_istream & s, ::tl2::service1::AddOrGet& item) { + if (!s.nat_read_exact_tag(0x6a42faad)) { return false; } + return tl2::details::Service1AddOrGetRead(s, item); +} + +bool tl2::details::Service1AddOrGetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::AddOrGet& item) { + if (!s.nat_write(0x6a42faad)) { return false; } + return tl2::details::Service1AddOrGetWrite(s, item); +} + +bool tl2::details::Service1AddOrGetReadResult(::basictl::tl_istream & s, tl2::service1::AddOrGet& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1AddOrGetWriteResult(::basictl::tl_ostream & s, tl2::service1::AddOrGet& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::AddOrGet::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1AddOrGetReadResult(s, *this, result); +} +bool tl2::service1::AddOrGet::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1AddOrGetWriteResult(s, *this, result); +} + +bool tl2::service1::AddOrIncr::write_json(std::ostream& s)const { + if (!::tl2::details::Service1AddOrIncrWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::AddOrIncr::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1AddOrIncrRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::AddOrIncr::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1AddOrIncrWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::AddOrIncr::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1AddOrIncrReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::AddOrIncr::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1AddOrIncrWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1AddOrIncrReset(::tl2::service1::AddOrIncr& item) { + item.key.clear(); + item.flags = 0; + item.delay = 0; + item.value = 0; +} + +bool tl2::details::Service1AddOrIncrWriteJSON(std::ostream& s, const ::tl2::service1::AddOrIncr& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.delay != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"delay\":"; + s << item.delay; + } + if (item.value != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << item.value; + } + s << "}"; + return true; +} + +bool tl2::details::Service1AddOrIncrRead(::basictl::tl_istream & s, ::tl2::service1::AddOrIncr& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!s.int_read(item.delay)) { return false; } + if (!s.long_read(item.value)) { return false; } + return true; +} + +bool tl2::details::Service1AddOrIncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::AddOrIncr& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!s.int_write(item.delay)) { return false;} + if (!s.long_write(item.value)) { return false;} + return true; +} + +bool tl2::details::Service1AddOrIncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::AddOrIncr& item) { + if (!s.nat_read_exact_tag(0x90c4b402)) { return false; } + return tl2::details::Service1AddOrIncrRead(s, item); +} + +bool tl2::details::Service1AddOrIncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::AddOrIncr& item) { + if (!s.nat_write(0x90c4b402)) { return false; } + return tl2::details::Service1AddOrIncrWrite(s, item); +} + +bool tl2::details::Service1AddOrIncrReadResult(::basictl::tl_istream & s, tl2::service1::AddOrIncr& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1AddOrIncrWriteResult(::basictl::tl_ostream & s, tl2::service1::AddOrIncr& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::AddOrIncr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1AddOrIncrReadResult(s, *this, result); +} +bool tl2::service1::AddOrIncr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1AddOrIncrWriteResult(s, *this, result); +} + +bool tl2::service1::Append::write_json(std::ostream& s)const { + if (!::tl2::details::Service1AppendWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Append::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1AppendRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Append::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1AppendWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Append::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1AppendReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Append::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1AppendWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1AppendReset(::tl2::service1::Append& item) { + item.key.clear(); + item.flags = 0; + item.delay = 0; + item.suffix.clear(); +} + +bool tl2::details::Service1AppendWriteJSON(std::ostream& s, const ::tl2::service1::Append& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.delay != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"delay\":"; + s << item.delay; + } + if (item.suffix.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"suffix\":"; + s << "\"" << item.suffix << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1AppendRead(::basictl::tl_istream & s, ::tl2::service1::Append& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!s.int_read(item.delay)) { return false; } + if (!s.string_read(item.suffix)) { return false; } + return true; +} + +bool tl2::details::Service1AppendWrite(::basictl::tl_ostream & s, const ::tl2::service1::Append& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!s.int_write(item.delay)) { return false;} + if (!s.string_write(item.suffix)) { return false;} + return true; +} + +bool tl2::details::Service1AppendReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Append& item) { + if (!s.nat_read_exact_tag(0x04dec671)) { return false; } + return tl2::details::Service1AppendRead(s, item); +} + +bool tl2::details::Service1AppendWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Append& item) { + if (!s.nat_write(0x04dec671)) { return false; } + return tl2::details::Service1AppendWrite(s, item); +} + +bool tl2::details::Service1AppendReadResult(::basictl::tl_istream & s, tl2::service1::Append& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1AppendWriteResult(::basictl::tl_ostream & s, tl2::service1::Append& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::Append::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service1AppendReadResult(s, *this, result); +} +bool tl2::service1::Append::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service1AppendWriteResult(s, *this, result); +} + +bool tl2::service1::Cas::write_json(std::ostream& s)const { + if (!::tl2::details::Service1CasWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Cas::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1CasRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Cas::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1CasWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Cas::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1CasReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Cas::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1CasWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1CasReset(::tl2::service1::Cas& item) { + item.key.clear(); + item.flags = 0; + item.delay = 0; + item.casToken.clear(); + item.newValue.clear(); +} + +bool tl2::details::Service1CasWriteJSON(std::ostream& s, const ::tl2::service1::Cas& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.delay != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"delay\":"; + s << item.delay; + } + if (item.casToken.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"casToken\":"; + s << "\"" << item.casToken << "\""; + } + if (item.newValue.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"newValue\":"; + s << "\"" << item.newValue << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1CasRead(::basictl::tl_istream & s, ::tl2::service1::Cas& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!s.int_read(item.delay)) { return false; } + if (!s.string_read(item.casToken)) { return false; } + if (!s.string_read(item.newValue)) { return false; } + return true; +} + +bool tl2::details::Service1CasWrite(::basictl::tl_ostream & s, const ::tl2::service1::Cas& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!s.int_write(item.delay)) { return false;} + if (!s.string_write(item.casToken)) { return false;} + if (!s.string_write(item.newValue)) { return false;} + return true; +} + +bool tl2::details::Service1CasReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Cas& item) { + if (!s.nat_read_exact_tag(0x51851964)) { return false; } + return tl2::details::Service1CasRead(s, item); +} + +bool tl2::details::Service1CasWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Cas& item) { + if (!s.nat_write(0x51851964)) { return false; } + return tl2::details::Service1CasWrite(s, item); +} + +bool tl2::details::Service1CasReadResult(::basictl::tl_istream & s, tl2::service1::Cas& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1CasWriteResult(::basictl::tl_ostream & s, tl2::service1::Cas& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::Cas::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service1CasReadResult(s, *this, result); +} +bool tl2::service1::Cas::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service1CasWriteResult(s, *this, result); +} + +bool tl2::service1::Decr::write_json(std::ostream& s)const { + if (!::tl2::details::Service1DecrWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Decr::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1DecrRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Decr::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1DecrWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Decr::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1DecrReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Decr::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1DecrWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1DecrReset(::tl2::service1::Decr& item) { + item.key.clear(); + item.value = 0; +} + +bool tl2::details::Service1DecrWriteJSON(std::ostream& s, const ::tl2::service1::Decr& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.value != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << item.value; + } + s << "}"; + return true; +} + +bool tl2::details::Service1DecrRead(::basictl::tl_istream & s, ::tl2::service1::Decr& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.long_read(item.value)) { return false; } + return true; +} + +bool tl2::details::Service1DecrWrite(::basictl::tl_ostream & s, const ::tl2::service1::Decr& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.long_write(item.value)) { return false;} + return true; +} + +bool tl2::details::Service1DecrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Decr& item) { + if (!s.nat_read_exact_tag(0xeb179ce7)) { return false; } + return tl2::details::Service1DecrRead(s, item); +} + +bool tl2::details::Service1DecrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Decr& item) { + if (!s.nat_write(0xeb179ce7)) { return false; } + return tl2::details::Service1DecrWrite(s, item); +} + +bool tl2::details::Service1DecrReadResult(::basictl::tl_istream & s, tl2::service1::Decr& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1DecrWriteResult(::basictl::tl_ostream & s, tl2::service1::Decr& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::Decr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1DecrReadResult(s, *this, result); +} +bool tl2::service1::Decr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1DecrWriteResult(s, *this, result); +} + +bool tl2::service1::Delete::write_json(std::ostream& s)const { + if (!::tl2::details::Service1DeleteWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Delete::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1DeleteRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Delete::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1DeleteWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Delete::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1DeleteReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Delete::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1DeleteWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1DeleteReset(::tl2::service1::Delete& item) { + item.key.clear(); +} + +bool tl2::details::Service1DeleteWriteJSON(std::ostream& s, const ::tl2::service1::Delete& item) { + s << "{"; + if (item.key.size() != 0) { + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1DeleteRead(::basictl::tl_istream & s, ::tl2::service1::Delete& item) { + if (!s.string_read(item.key)) { return false; } + return true; +} + +bool tl2::details::Service1DeleteWrite(::basictl::tl_ostream & s, const ::tl2::service1::Delete& item) { + if (!s.string_write(item.key)) { return false;} + return true; +} + +bool tl2::details::Service1DeleteReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Delete& item) { + if (!s.nat_read_exact_tag(0x83277767)) { return false; } + return tl2::details::Service1DeleteRead(s, item); +} + +bool tl2::details::Service1DeleteWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Delete& item) { + if (!s.nat_write(0x83277767)) { return false; } + return tl2::details::Service1DeleteWrite(s, item); +} + +bool tl2::details::Service1DeleteReadResult(::basictl::tl_istream & s, tl2::service1::Delete& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1DeleteWriteResult(::basictl::tl_ostream & s, tl2::service1::Delete& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::Delete::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service1DeleteReadResult(s, *this, result); +} +bool tl2::service1::Delete::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service1DeleteWriteResult(s, *this, result); +} + +bool tl2::service1::DisableExpiration::write_json(std::ostream& s)const { + if (!::tl2::details::Service1DisableExpirationWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::DisableExpiration::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1DisableExpirationRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::DisableExpiration::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1DisableExpirationWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::DisableExpiration::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1DisableExpirationReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::DisableExpiration::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1DisableExpirationWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1DisableExpirationReset(::tl2::service1::DisableExpiration& item) { + item.prefix.clear(); +} + +bool tl2::details::Service1DisableExpirationWriteJSON(std::ostream& s, const ::tl2::service1::DisableExpiration& item) { + s << "{"; + if (item.prefix.size() != 0) { + s << "\"prefix\":"; + s << "\"" << item.prefix << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1DisableExpirationRead(::basictl::tl_istream & s, ::tl2::service1::DisableExpiration& item) { + if (!s.string_read(item.prefix)) { return false; } + return true; +} + +bool tl2::details::Service1DisableExpirationWrite(::basictl::tl_ostream & s, const ::tl2::service1::DisableExpiration& item) { + if (!s.string_write(item.prefix)) { return false;} + return true; +} + +bool tl2::details::Service1DisableExpirationReadBoxed(::basictl::tl_istream & s, ::tl2::service1::DisableExpiration& item) { + if (!s.nat_read_exact_tag(0xf1c39c2d)) { return false; } + return tl2::details::Service1DisableExpirationRead(s, item); +} + +bool tl2::details::Service1DisableExpirationWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::DisableExpiration& item) { + if (!s.nat_write(0xf1c39c2d)) { return false; } + return tl2::details::Service1DisableExpirationWrite(s, item); +} + +bool tl2::details::Service1DisableExpirationReadResult(::basictl::tl_istream & s, tl2::service1::DisableExpiration& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1DisableExpirationWriteResult(::basictl::tl_ostream & s, tl2::service1::DisableExpiration& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::DisableExpiration::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service1DisableExpirationReadResult(s, *this, result); +} +bool tl2::service1::DisableExpiration::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service1DisableExpirationWriteResult(s, *this, result); +} + +bool tl2::service1::DisableKeysStat::write_json(std::ostream& s)const { + if (!::tl2::details::Service1DisableKeysStatWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::DisableKeysStat::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1DisableKeysStatRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::DisableKeysStat::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1DisableKeysStatWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::DisableKeysStat::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1DisableKeysStatReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::DisableKeysStat::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1DisableKeysStatWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1DisableKeysStatReset(::tl2::service1::DisableKeysStat& item) { + item.period = 0; +} + +bool tl2::details::Service1DisableKeysStatWriteJSON(std::ostream& s, const ::tl2::service1::DisableKeysStat& item) { + s << "{"; + if (item.period != 0) { + s << "\"period\":"; + s << item.period; + } + s << "}"; + return true; +} + +bool tl2::details::Service1DisableKeysStatRead(::basictl::tl_istream & s, ::tl2::service1::DisableKeysStat& item) { + if (!s.int_read(item.period)) { return false; } + return true; +} + +bool tl2::details::Service1DisableKeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::DisableKeysStat& item) { + if (!s.int_write(item.period)) { return false;} + return true; +} + +bool tl2::details::Service1DisableKeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::DisableKeysStat& item) { + if (!s.nat_read_exact_tag(0x79d6160f)) { return false; } + return tl2::details::Service1DisableKeysStatRead(s, item); +} + +bool tl2::details::Service1DisableKeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::DisableKeysStat& item) { + if (!s.nat_write(0x79d6160f)) { return false; } + return tl2::details::Service1DisableKeysStatWrite(s, item); +} + +bool tl2::details::Service1DisableKeysStatReadResult(::basictl::tl_istream & s, tl2::service1::DisableKeysStat& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1DisableKeysStatWriteResult(::basictl::tl_ostream & s, tl2::service1::DisableKeysStat& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::DisableKeysStat::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service1DisableKeysStatReadResult(s, *this, result); +} +bool tl2::service1::DisableKeysStat::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service1DisableKeysStatWriteResult(s, *this, result); +} + +bool tl2::service1::EnableExpiration::write_json(std::ostream& s)const { + if (!::tl2::details::Service1EnableExpirationWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::EnableExpiration::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1EnableExpirationRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::EnableExpiration::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1EnableExpirationWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::EnableExpiration::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1EnableExpirationReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::EnableExpiration::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1EnableExpirationWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1EnableExpirationReset(::tl2::service1::EnableExpiration& item) { + item.prefix.clear(); +} + +bool tl2::details::Service1EnableExpirationWriteJSON(std::ostream& s, const ::tl2::service1::EnableExpiration& item) { + s << "{"; + if (item.prefix.size() != 0) { + s << "\"prefix\":"; + s << "\"" << item.prefix << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1EnableExpirationRead(::basictl::tl_istream & s, ::tl2::service1::EnableExpiration& item) { + if (!s.string_read(item.prefix)) { return false; } + return true; +} + +bool tl2::details::Service1EnableExpirationWrite(::basictl::tl_ostream & s, const ::tl2::service1::EnableExpiration& item) { + if (!s.string_write(item.prefix)) { return false;} + return true; +} + +bool tl2::details::Service1EnableExpirationReadBoxed(::basictl::tl_istream & s, ::tl2::service1::EnableExpiration& item) { + if (!s.nat_read_exact_tag(0x2b51ad67)) { return false; } + return tl2::details::Service1EnableExpirationRead(s, item); +} + +bool tl2::details::Service1EnableExpirationWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::EnableExpiration& item) { + if (!s.nat_write(0x2b51ad67)) { return false; } + return tl2::details::Service1EnableExpirationWrite(s, item); +} + +bool tl2::details::Service1EnableExpirationReadResult(::basictl::tl_istream & s, tl2::service1::EnableExpiration& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1EnableExpirationWriteResult(::basictl::tl_ostream & s, tl2::service1::EnableExpiration& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::EnableExpiration::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service1EnableExpirationReadResult(s, *this, result); +} +bool tl2::service1::EnableExpiration::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service1EnableExpirationWriteResult(s, *this, result); +} + +bool tl2::service1::EnableKeysStat::write_json(std::ostream& s)const { + if (!::tl2::details::Service1EnableKeysStatWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::EnableKeysStat::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1EnableKeysStatRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::EnableKeysStat::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1EnableKeysStatWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::EnableKeysStat::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1EnableKeysStatReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::EnableKeysStat::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1EnableKeysStatWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1EnableKeysStatReset(::tl2::service1::EnableKeysStat& item) { + item.period = 0; +} + +bool tl2::details::Service1EnableKeysStatWriteJSON(std::ostream& s, const ::tl2::service1::EnableKeysStat& item) { + s << "{"; + if (item.period != 0) { + s << "\"period\":"; + s << item.period; + } + s << "}"; + return true; +} + +bool tl2::details::Service1EnableKeysStatRead(::basictl::tl_istream & s, ::tl2::service1::EnableKeysStat& item) { + if (!s.int_read(item.period)) { return false; } + return true; +} + +bool tl2::details::Service1EnableKeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::EnableKeysStat& item) { + if (!s.int_write(item.period)) { return false;} + return true; +} + +bool tl2::details::Service1EnableKeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::EnableKeysStat& item) { + if (!s.nat_read_exact_tag(0x29a7090e)) { return false; } + return tl2::details::Service1EnableKeysStatRead(s, item); +} + +bool tl2::details::Service1EnableKeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::EnableKeysStat& item) { + if (!s.nat_write(0x29a7090e)) { return false; } + return tl2::details::Service1EnableKeysStatWrite(s, item); +} + +bool tl2::details::Service1EnableKeysStatReadResult(::basictl::tl_istream & s, tl2::service1::EnableKeysStat& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1EnableKeysStatWriteResult(::basictl::tl_ostream & s, tl2::service1::EnableKeysStat& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::EnableKeysStat::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service1EnableKeysStatReadResult(s, *this, result); +} +bool tl2::service1::EnableKeysStat::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service1EnableKeysStatWriteResult(s, *this, result); +} + +bool tl2::service1::Exists::write_json(std::ostream& s)const { + if (!::tl2::details::Service1ExistsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Exists::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1ExistsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Exists::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1ExistsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Exists::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1ExistsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Exists::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1ExistsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1ExistsReset(::tl2::service1::Exists& item) { + item.key.clear(); +} + +bool tl2::details::Service1ExistsWriteJSON(std::ostream& s, const ::tl2::service1::Exists& item) { + s << "{"; + if (item.key.size() != 0) { + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1ExistsRead(::basictl::tl_istream & s, ::tl2::service1::Exists& item) { + if (!s.string_read(item.key)) { return false; } + return true; +} + +bool tl2::details::Service1ExistsWrite(::basictl::tl_ostream & s, const ::tl2::service1::Exists& item) { + if (!s.string_write(item.key)) { return false;} + return true; +} + +bool tl2::details::Service1ExistsReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Exists& item) { + if (!s.nat_read_exact_tag(0xe0284c9e)) { return false; } + return tl2::details::Service1ExistsRead(s, item); +} + +bool tl2::details::Service1ExistsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Exists& item) { + if (!s.nat_write(0xe0284c9e)) { return false; } + return tl2::details::Service1ExistsWrite(s, item); +} + +bool tl2::details::Service1ExistsReadResult(::basictl::tl_istream & s, tl2::service1::Exists& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1ExistsWriteResult(::basictl::tl_ostream & s, tl2::service1::Exists& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::Exists::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service1ExistsReadResult(s, *this, result); +} +bool tl2::service1::Exists::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service1ExistsWriteResult(s, *this, result); +} + +bool tl2::service1::Get::write_json(std::ostream& s)const { + if (!::tl2::details::Service1GetWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Get::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Get::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Get::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Get::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1GetReset(::tl2::service1::Get& item) { + item.key.clear(); +} + +bool tl2::details::Service1GetWriteJSON(std::ostream& s, const ::tl2::service1::Get& item) { + s << "{"; + if (item.key.size() != 0) { + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1GetRead(::basictl::tl_istream & s, ::tl2::service1::Get& item) { + if (!s.string_read(item.key)) { return false; } + return true; +} + +bool tl2::details::Service1GetWrite(::basictl::tl_ostream & s, const ::tl2::service1::Get& item) { + if (!s.string_write(item.key)) { return false;} + return true; +} + +bool tl2::details::Service1GetReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Get& item) { + if (!s.nat_read_exact_tag(0x29099b19)) { return false; } + return tl2::details::Service1GetRead(s, item); +} + +bool tl2::details::Service1GetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Get& item) { + if (!s.nat_write(0x29099b19)) { return false; } + return tl2::details::Service1GetWrite(s, item); +} + +bool tl2::details::Service1GetReadResult(::basictl::tl_istream & s, tl2::service1::Get& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1GetWriteResult(::basictl::tl_ostream & s, tl2::service1::Get& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::Get::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1GetReadResult(s, *this, result); +} +bool tl2::service1::Get::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1GetWriteResult(s, *this, result); +} + +bool tl2::service1::GetExpireTime::write_json(std::ostream& s)const { + if (!::tl2::details::Service1GetExpireTimeWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetExpireTime::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetExpireTimeRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetExpireTime::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetExpireTimeWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetExpireTime::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetExpireTimeReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetExpireTime::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetExpireTimeWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1GetExpireTimeReset(::tl2::service1::GetExpireTime& item) { + item.key.clear(); +} + +bool tl2::details::Service1GetExpireTimeWriteJSON(std::ostream& s, const ::tl2::service1::GetExpireTime& item) { + s << "{"; + if (item.key.size() != 0) { + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1GetExpireTimeRead(::basictl::tl_istream & s, ::tl2::service1::GetExpireTime& item) { + if (!s.string_read(item.key)) { return false; } + return true; +} + +bool tl2::details::Service1GetExpireTimeWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetExpireTime& item) { + if (!s.string_write(item.key)) { return false;} + return true; +} + +bool tl2::details::Service1GetExpireTimeReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetExpireTime& item) { + if (!s.nat_read_exact_tag(0x5a731070)) { return false; } + return tl2::details::Service1GetExpireTimeRead(s, item); +} + +bool tl2::details::Service1GetExpireTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetExpireTime& item) { + if (!s.nat_write(0x5a731070)) { return false; } + return tl2::details::Service1GetExpireTimeWrite(s, item); +} + +bool tl2::details::Service1GetExpireTimeReadResult(::basictl::tl_istream & s, tl2::service1::GetExpireTime& item, std::optional& result) { + if (!::tl2::details::IntMaybeReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1GetExpireTimeWriteResult(::basictl::tl_ostream & s, tl2::service1::GetExpireTime& item, std::optional& result) { + if (!::tl2::details::IntMaybeWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::GetExpireTime::read_result(::basictl::tl_istream & s, std::optional & result) { + return tl2::details::Service1GetExpireTimeReadResult(s, *this, result); +} +bool tl2::service1::GetExpireTime::write_result(::basictl::tl_ostream & s, std::optional & result) { + return tl2::details::Service1GetExpireTimeWriteResult(s, *this, result); +} + +bool tl2::service1::GetKeysStat::write_json(std::ostream& s)const { + if (!::tl2::details::Service1GetKeysStatWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetKeysStat::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetKeysStatRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetKeysStat::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetKeysStatWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetKeysStat::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetKeysStatReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetKeysStat::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetKeysStatWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1GetKeysStatReset(::tl2::service1::GetKeysStat& item) { + item.period = 0; +} + +bool tl2::details::Service1GetKeysStatWriteJSON(std::ostream& s, const ::tl2::service1::GetKeysStat& item) { + s << "{"; + if (item.period != 0) { + s << "\"period\":"; + s << item.period; + } + s << "}"; + return true; +} + +bool tl2::details::Service1GetKeysStatRead(::basictl::tl_istream & s, ::tl2::service1::GetKeysStat& item) { + if (!s.int_read(item.period)) { return false; } + return true; +} + +bool tl2::details::Service1GetKeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStat& item) { + if (!s.int_write(item.period)) { return false;} + return true; +} + +bool tl2::details::Service1GetKeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetKeysStat& item) { + if (!s.nat_read_exact_tag(0x06cecd58)) { return false; } + return tl2::details::Service1GetKeysStatRead(s, item); +} + +bool tl2::details::Service1GetKeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStat& item) { + if (!s.nat_write(0x06cecd58)) { return false; } + return tl2::details::Service1GetKeysStatWrite(s, item); +} + +bool tl2::details::Service1GetKeysStatReadResult(::basictl::tl_istream & s, tl2::service1::GetKeysStat& item, std::optional<::tl2::service1::KeysStat>& result) { + if (!::tl2::details::Service1KeysStatMaybeReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1GetKeysStatWriteResult(::basictl::tl_ostream & s, tl2::service1::GetKeysStat& item, std::optional<::tl2::service1::KeysStat>& result) { + if (!::tl2::details::Service1KeysStatMaybeWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::GetKeysStat::read_result(::basictl::tl_istream & s, std::optional<::tl2::service1::KeysStat> & result) { + return tl2::details::Service1GetKeysStatReadResult(s, *this, result); +} +bool tl2::service1::GetKeysStat::write_result(::basictl::tl_ostream & s, std::optional<::tl2::service1::KeysStat> & result) { + return tl2::details::Service1GetKeysStatWriteResult(s, *this, result); +} + +bool tl2::service1::GetKeysStatPeriods::write_json(std::ostream& s)const { + if (!::tl2::details::Service1GetKeysStatPeriodsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetKeysStatPeriods::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetKeysStatPeriodsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetKeysStatPeriods::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetKeysStatPeriodsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetKeysStatPeriods::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetKeysStatPeriodsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetKeysStatPeriods::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetKeysStatPeriodsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1GetKeysStatPeriodsReset(::tl2::service1::GetKeysStatPeriods& item) { +} + +bool tl2::details::Service1GetKeysStatPeriodsWriteJSON(std::ostream& s, const ::tl2::service1::GetKeysStatPeriods& item) { + s << "true"; + return true; +} + +bool tl2::details::Service1GetKeysStatPeriodsRead(::basictl::tl_istream & s, ::tl2::service1::GetKeysStatPeriods& item) { + return true; +} + +bool tl2::details::Service1GetKeysStatPeriodsWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStatPeriods& item) { + return true; +} + +bool tl2::details::Service1GetKeysStatPeriodsReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetKeysStatPeriods& item) { + if (!s.nat_read_exact_tag(0x8cdf39e3)) { return false; } + return tl2::details::Service1GetKeysStatPeriodsRead(s, item); +} + +bool tl2::details::Service1GetKeysStatPeriodsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStatPeriods& item) { + if (!s.nat_write(0x8cdf39e3)) { return false; } + return tl2::details::Service1GetKeysStatPeriodsWrite(s, item); +} + +bool tl2::details::Service1GetKeysStatPeriodsReadResult(::basictl::tl_istream & s, tl2::service1::GetKeysStatPeriods& item, std::vector& result) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorIntRead(s, result)) { return false; } + return true; +} +bool tl2::details::Service1GetKeysStatPeriodsWriteResult(::basictl::tl_ostream & s, tl2::service1::GetKeysStatPeriods& item, std::vector& result) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorIntWrite(s, result)) { return false; } + return true; +} + +bool tl2::service1::GetKeysStatPeriods::read_result(::basictl::tl_istream & s, std::vector & result) { + return tl2::details::Service1GetKeysStatPeriodsReadResult(s, *this, result); +} +bool tl2::service1::GetKeysStatPeriods::write_result(::basictl::tl_ostream & s, std::vector & result) { + return tl2::details::Service1GetKeysStatPeriodsWriteResult(s, *this, result); +} + +bool tl2::service1::GetWildcard::write_json(std::ostream& s)const { + if (!::tl2::details::Service1GetWildcardWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcard::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetWildcardRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcard::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetWildcardWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcard::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetWildcardReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcard::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetWildcardWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1GetWildcardReset(::tl2::service1::GetWildcard& item) { + item.prefix.clear(); +} + +bool tl2::details::Service1GetWildcardWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcard& item) { + s << "{"; + if (item.prefix.size() != 0) { + s << "\"prefix\":"; + s << "\"" << item.prefix << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1GetWildcardRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcard& item) { + if (!s.string_read(item.prefix)) { return false; } + return true; +} + +bool tl2::details::Service1GetWildcardWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcard& item) { + if (!s.string_write(item.prefix)) { return false;} + return true; +} + +bool tl2::details::Service1GetWildcardReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcard& item) { + if (!s.nat_read_exact_tag(0x2f2abf13)) { return false; } + return tl2::details::Service1GetWildcardRead(s, item); +} + +bool tl2::details::Service1GetWildcardWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcard& item) { + if (!s.nat_write(0x2f2abf13)) { return false; } + return tl2::details::Service1GetWildcardWrite(s, item); +} + +bool tl2::details::Service1GetWildcardReadResult(::basictl::tl_istream & s, tl2::service1::GetWildcard& item, std::vector<::tl2::Map>& result) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorMapStringStringRead(s, result)) { return false; } + return true; +} +bool tl2::details::Service1GetWildcardWriteResult(::basictl::tl_ostream & s, tl2::service1::GetWildcard& item, std::vector<::tl2::Map>& result) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorMapStringStringWrite(s, result)) { return false; } + return true; +} + +bool tl2::service1::GetWildcard::read_result(::basictl::tl_istream & s, std::vector<::tl2::Map> & result) { + return tl2::details::Service1GetWildcardReadResult(s, *this, result); +} +bool tl2::service1::GetWildcard::write_result(::basictl::tl_ostream & s, std::vector<::tl2::Map> & result) { + return tl2::details::Service1GetWildcardWriteResult(s, *this, result); +} + +bool tl2::service1::GetWildcardDict::write_json(std::ostream& s)const { + if (!::tl2::details::Service1GetWildcardDictWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardDict::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetWildcardDictRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardDict::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetWildcardDictWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardDict::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetWildcardDictReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardDict::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetWildcardDictWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1GetWildcardDictReset(::tl2::service1::GetWildcardDict& item) { + item.prefix.clear(); +} + +bool tl2::details::Service1GetWildcardDictWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcardDict& item) { + s << "{"; + if (item.prefix.size() != 0) { + s << "\"prefix\":"; + s << "\"" << item.prefix << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1GetWildcardDictRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcardDict& item) { + if (!s.string_read(item.prefix)) { return false; } + return true; +} + +bool tl2::details::Service1GetWildcardDictWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardDict& item) { + if (!s.string_write(item.prefix)) { return false;} + return true; +} + +bool tl2::details::Service1GetWildcardDictReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcardDict& item) { + if (!s.nat_read_exact_tag(0x72bbc81b)) { return false; } + return tl2::details::Service1GetWildcardDictRead(s, item); +} + +bool tl2::details::Service1GetWildcardDictWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardDict& item) { + if (!s.nat_write(0x72bbc81b)) { return false; } + return tl2::details::Service1GetWildcardDictWrite(s, item); +} + +bool tl2::details::Service1GetWildcardDictReadResult(::basictl::tl_istream & s, tl2::service1::GetWildcardDict& item, ::tl2::Dictionary& result) { + if (!::tl2::details::DictionaryStringReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1GetWildcardDictWriteResult(::basictl::tl_ostream & s, tl2::service1::GetWildcardDict& item, ::tl2::Dictionary& result) { + if (!::tl2::details::DictionaryStringWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardDict::read_result(::basictl::tl_istream & s, ::tl2::Dictionary & result) { + return tl2::details::Service1GetWildcardDictReadResult(s, *this, result); +} +bool tl2::service1::GetWildcardDict::write_result(::basictl::tl_ostream & s, ::tl2::Dictionary & result) { + return tl2::details::Service1GetWildcardDictWriteResult(s, *this, result); +} + +bool tl2::service1::GetWildcardList::write_json(std::ostream& s)const { + if (!::tl2::details::Service1GetWildcardListWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardList::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetWildcardListRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardList::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetWildcardListWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardList::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetWildcardListReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardList::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetWildcardListWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1GetWildcardListReset(::tl2::service1::GetWildcardList& item) { + item.prefix.clear(); +} + +bool tl2::details::Service1GetWildcardListWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcardList& item) { + s << "{"; + if (item.prefix.size() != 0) { + s << "\"prefix\":"; + s << "\"" << item.prefix << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1GetWildcardListRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcardList& item) { + if (!s.string_read(item.prefix)) { return false; } + return true; +} + +bool tl2::details::Service1GetWildcardListWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardList& item) { + if (!s.string_write(item.prefix)) { return false;} + return true; +} + +bool tl2::details::Service1GetWildcardListReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcardList& item) { + if (!s.nat_read_exact_tag(0x56b6ead4)) { return false; } + return tl2::details::Service1GetWildcardListRead(s, item); +} + +bool tl2::details::Service1GetWildcardListWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardList& item) { + if (!s.nat_write(0x56b6ead4)) { return false; } + return tl2::details::Service1GetWildcardListWrite(s, item); +} + +bool tl2::details::Service1GetWildcardListReadResult(::basictl::tl_istream & s, tl2::service1::GetWildcardList& item, std::vector& result) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorStringRead(s, result)) { return false; } + return true; +} +bool tl2::details::Service1GetWildcardListWriteResult(::basictl::tl_ostream & s, tl2::service1::GetWildcardList& item, std::vector& result) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorStringWrite(s, result)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardList::read_result(::basictl::tl_istream & s, std::vector & result) { + return tl2::details::Service1GetWildcardListReadResult(s, *this, result); +} +bool tl2::service1::GetWildcardList::write_result(::basictl::tl_ostream & s, std::vector & result) { + return tl2::details::Service1GetWildcardListWriteResult(s, *this, result); +} + +bool tl2::service1::GetWildcardWithFlags::write_json(std::ostream& s)const { + if (!::tl2::details::Service1GetWildcardWithFlagsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardWithFlags::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetWildcardWithFlagsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardWithFlags::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetWildcardWithFlagsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardWithFlags::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1GetWildcardWithFlagsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardWithFlags::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1GetWildcardWithFlagsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1GetWildcardWithFlagsReset(::tl2::service1::GetWildcardWithFlags& item) { + item.prefix.clear(); +} + +bool tl2::details::Service1GetWildcardWithFlagsWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcardWithFlags& item) { + s << "{"; + if (item.prefix.size() != 0) { + s << "\"prefix\":"; + s << "\"" << item.prefix << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1GetWildcardWithFlagsRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcardWithFlags& item) { + if (!s.string_read(item.prefix)) { return false; } + return true; +} + +bool tl2::details::Service1GetWildcardWithFlagsWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardWithFlags& item) { + if (!s.string_write(item.prefix)) { return false;} + return true; +} + +bool tl2::details::Service1GetWildcardWithFlagsReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcardWithFlags& item) { + if (!s.nat_read_exact_tag(0x5f6a1f78)) { return false; } + return tl2::details::Service1GetWildcardWithFlagsRead(s, item); +} + +bool tl2::details::Service1GetWildcardWithFlagsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardWithFlags& item) { + if (!s.nat_write(0x5f6a1f78)) { return false; } + return tl2::details::Service1GetWildcardWithFlagsWrite(s, item); +} + +bool tl2::details::Service1GetWildcardWithFlagsReadResult(::basictl::tl_istream & s, tl2::service1::GetWildcardWithFlags& item, ::tl2::Dictionary<::tl2::service1::Value>& result) { + if (!::tl2::details::DictionaryService1ValueReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1GetWildcardWithFlagsWriteResult(::basictl::tl_ostream & s, tl2::service1::GetWildcardWithFlags& item, ::tl2::Dictionary<::tl2::service1::Value>& result) { + if (!::tl2::details::DictionaryService1ValueWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::GetWildcardWithFlags::read_result(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value> & result) { + return tl2::details::Service1GetWildcardWithFlagsReadResult(s, *this, result); +} +bool tl2::service1::GetWildcardWithFlags::write_result(::basictl::tl_ostream & s, ::tl2::Dictionary<::tl2::service1::Value> & result) { + return tl2::details::Service1GetWildcardWithFlagsWriteResult(s, *this, result); +} + +bool tl2::service1::Incr::write_json(std::ostream& s)const { + if (!::tl2::details::Service1IncrWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Incr::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1IncrRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Incr::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1IncrWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Incr::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1IncrReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Incr::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1IncrWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1IncrReset(::tl2::service1::Incr& item) { + item.key.clear(); + item.value = 0; +} + +bool tl2::details::Service1IncrWriteJSON(std::ostream& s, const ::tl2::service1::Incr& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.value != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << item.value; + } + s << "}"; + return true; +} + +bool tl2::details::Service1IncrRead(::basictl::tl_istream & s, ::tl2::service1::Incr& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.long_read(item.value)) { return false; } + return true; +} + +bool tl2::details::Service1IncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::Incr& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.long_write(item.value)) { return false;} + return true; +} + +bool tl2::details::Service1IncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Incr& item) { + if (!s.nat_read_exact_tag(0x0f96b56e)) { return false; } + return tl2::details::Service1IncrRead(s, item); +} + +bool tl2::details::Service1IncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Incr& item) { + if (!s.nat_write(0x0f96b56e)) { return false; } + return tl2::details::Service1IncrWrite(s, item); +} + +bool tl2::details::Service1IncrReadResult(::basictl::tl_istream & s, tl2::service1::Incr& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1IncrWriteResult(::basictl::tl_ostream & s, tl2::service1::Incr& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::Incr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1IncrReadResult(s, *this, result); +} +bool tl2::service1::Incr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1IncrWriteResult(s, *this, result); +} + +bool tl2::service1::KeysStat::write_json(std::ostream& s)const { + if (!::tl2::details::Service1KeysStatWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::KeysStat::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1KeysStatRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::KeysStat::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1KeysStatWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::KeysStat::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1KeysStatReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::KeysStat::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1KeysStatWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1KeysStatReset(::tl2::service1::KeysStat& item) { + item.start_time = 0; + ::tl2::details::DictionaryDictionaryIntReset(item.keys_tops); +} + +bool tl2::details::Service1KeysStatWriteJSON(std::ostream& s, const ::tl2::service1::KeysStat& item) { + auto add_comma = false; + s << "{"; + if (item.start_time != 0) { + add_comma = true; + s << "\"start_time\":"; + s << item.start_time; + } + if (item.keys_tops.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"keys_tops\":"; + if (!::tl2::details::DictionaryDictionaryIntWriteJSON(s, item.keys_tops)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service1KeysStatRead(::basictl::tl_istream & s, ::tl2::service1::KeysStat& item) { + if (!s.int_read(item.start_time)) { return false; } + if (!::tl2::details::DictionaryDictionaryIntRead(s, item.keys_tops)) { return false; } + return true; +} + +bool tl2::details::Service1KeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::KeysStat& item) { + if (!s.int_write(item.start_time)) { return false;} + if (!::tl2::details::DictionaryDictionaryIntWrite(s, item.keys_tops)) { return false; } + return true; +} + +bool tl2::details::Service1KeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::KeysStat& item) { + if (!s.nat_read_exact_tag(0xf0f6bc68)) { return false; } + return tl2::details::Service1KeysStatRead(s, item); +} + +bool tl2::details::Service1KeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::KeysStat& item) { + if (!s.nat_write(0xf0f6bc68)) { return false; } + return tl2::details::Service1KeysStatWrite(s, item); +} + +bool tl2::details::Service1KeysStatMaybeWriteJSON(std::ostream & s, const std::optional<::tl2::service1::KeysStat>& item) { + s << "{"; + if (item) { + s << "\"ok\":true"; + s << ",\"value\":"; + if (!::tl2::details::Service1KeysStatWriteJSON(s, *item)) { return false; } + } + s << "}"; + return true; +} +bool tl2::details::Service1KeysStatMaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::service1::KeysStat>& item) { + bool has_item = false; + if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } + if (has_item) { + if (!item) { + item.emplace(); + } + if (!::tl2::details::Service1KeysStatRead(s, *item)) { return false; } + return true; + } + item.reset(); + return true; +} + +bool tl2::details::Service1KeysStatMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::service1::KeysStat>& item) { + if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } + if (item) { + if (!::tl2::details::Service1KeysStatWrite(s, *item)) { return false; } + } + return true; +} + +bool tl2::service1::Longvalue::write_json(std::ostream& s)const { + if (!::tl2::details::Service1LongvalueWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Longvalue::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1LongvalueRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Longvalue::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1LongvalueWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Longvalue::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1LongvalueReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Longvalue::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1LongvalueWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1LongvalueReset(::tl2::service1::Longvalue& item) { + item.value = 0; + item.flags = 0; +} + +bool tl2::details::Service1LongvalueWriteJSON(std::ostream& s, const ::tl2::service1::Longvalue& item) { + auto add_comma = false; + s << "{"; + if (item.value != 0) { + add_comma = true; + s << "\"value\":"; + s << item.value; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + s << "}"; + return true; +} + +bool tl2::details::Service1LongvalueRead(::basictl::tl_istream & s, ::tl2::service1::Longvalue& item) { + if (!s.long_read(item.value)) { return false; } + if (!s.int_read(item.flags)) { return false; } + return true; +} + +bool tl2::details::Service1LongvalueWrite(::basictl::tl_ostream & s, const ::tl2::service1::Longvalue& item) { + if (!s.long_write(item.value)) { return false;} + if (!s.int_write(item.flags)) { return false;} + return true; +} + +bool tl2::details::Service1LongvalueReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Longvalue& item) { + if (!s.nat_read_exact_tag(0x082e0945)) { return false; } + return tl2::details::Service1LongvalueRead(s, item); +} + +bool tl2::details::Service1LongvalueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Longvalue& item) { + if (!s.nat_write(0x082e0945)) { return false; } + return tl2::details::Service1LongvalueWrite(s, item); +} + +bool tl2::service1::LongvalueWithTime::write_json(std::ostream& s)const { + if (!::tl2::details::Service1LongvalueWithTimeWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::LongvalueWithTime::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1LongvalueWithTimeRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::LongvalueWithTime::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1LongvalueWithTimeWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::LongvalueWithTime::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1LongvalueWithTimeReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::LongvalueWithTime::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1LongvalueWithTimeWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1LongvalueWithTimeReset(::tl2::service1::LongvalueWithTime& item) { + item.value = 0; + item.flags = 0; + item.modificationTime = 0; +} + +bool tl2::details::Service1LongvalueWithTimeWriteJSON(std::ostream& s, const ::tl2::service1::LongvalueWithTime& item) { + auto add_comma = false; + s << "{"; + if (item.value != 0) { + add_comma = true; + s << "\"value\":"; + s << item.value; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.modificationTime != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"modificationTime\":"; + s << item.modificationTime; + } + s << "}"; + return true; +} + +bool tl2::details::Service1LongvalueWithTimeRead(::basictl::tl_istream & s, ::tl2::service1::LongvalueWithTime& item) { + if (!s.long_read(item.value)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!s.int_read(item.modificationTime)) { return false; } + return true; +} + +bool tl2::details::Service1LongvalueWithTimeWrite(::basictl::tl_ostream & s, const ::tl2::service1::LongvalueWithTime& item) { + if (!s.long_write(item.value)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!s.int_write(item.modificationTime)) { return false;} + return true; +} + +bool tl2::details::Service1LongvalueWithTimeReadBoxed(::basictl::tl_istream & s, ::tl2::service1::LongvalueWithTime& item) { + if (!s.nat_read_exact_tag(0xa04606ec)) { return false; } + return tl2::details::Service1LongvalueWithTimeRead(s, item); +} + +bool tl2::details::Service1LongvalueWithTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::LongvalueWithTime& item) { + if (!s.nat_write(0xa04606ec)) { return false; } + return tl2::details::Service1LongvalueWithTimeWrite(s, item); +} + +bool tl2::service1::Not_found::write_json(std::ostream& s)const { + if (!::tl2::details::Service1NotFoundWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Not_found::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1NotFoundRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Not_found::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1NotFoundWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Not_found::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1NotFoundReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Not_found::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1NotFoundWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1NotFoundReset(::tl2::service1::Not_found& item) { +} + +bool tl2::details::Service1NotFoundWriteJSON(std::ostream& s, const ::tl2::service1::Not_found& item) { + s << "true"; + return true; +} + +bool tl2::details::Service1NotFoundRead(::basictl::tl_istream & s, ::tl2::service1::Not_found& item) { + return true; +} + +bool tl2::details::Service1NotFoundWrite(::basictl::tl_ostream & s, const ::tl2::service1::Not_found& item) { + return true; +} + +bool tl2::details::Service1NotFoundReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Not_found& item) { + if (!s.nat_read_exact_tag(0x1d670b96)) { return false; } + return tl2::details::Service1NotFoundRead(s, item); +} + +bool tl2::details::Service1NotFoundWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Not_found& item) { + if (!s.nat_write(0x1d670b96)) { return false; } + return tl2::details::Service1NotFoundWrite(s, item); +} + +bool tl2::service1::Replace::write_json(std::ostream& s)const { + if (!::tl2::details::Service1ReplaceWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Replace::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1ReplaceRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Replace::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1ReplaceWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Replace::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1ReplaceReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Replace::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1ReplaceWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1ReplaceReset(::tl2::service1::Replace& item) { + item.key.clear(); + item.flags = 0; + item.delay = 0; + item.value.clear(); +} + +bool tl2::details::Service1ReplaceWriteJSON(std::ostream& s, const ::tl2::service1::Replace& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.delay != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"delay\":"; + s << item.delay; + } + if (item.value.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << "\"" << item.value << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1ReplaceRead(::basictl::tl_istream & s, ::tl2::service1::Replace& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!s.int_read(item.delay)) { return false; } + if (!s.string_read(item.value)) { return false; } + return true; +} + +bool tl2::details::Service1ReplaceWrite(::basictl::tl_ostream & s, const ::tl2::service1::Replace& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!s.int_write(item.delay)) { return false;} + if (!s.string_write(item.value)) { return false;} + return true; +} + +bool tl2::details::Service1ReplaceReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Replace& item) { + if (!s.nat_read_exact_tag(0x7f2c447d)) { return false; } + return tl2::details::Service1ReplaceRead(s, item); +} + +bool tl2::details::Service1ReplaceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Replace& item) { + if (!s.nat_write(0x7f2c447d)) { return false; } + return tl2::details::Service1ReplaceWrite(s, item); +} + +bool tl2::details::Service1ReplaceReadResult(::basictl::tl_istream & s, tl2::service1::Replace& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1ReplaceWriteResult(::basictl::tl_ostream & s, tl2::service1::Replace& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::Replace::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service1ReplaceReadResult(s, *this, result); +} +bool tl2::service1::Replace::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service1ReplaceWriteResult(s, *this, result); +} + +bool tl2::service1::ReplaceOrIncr::write_json(std::ostream& s)const { + if (!::tl2::details::Service1ReplaceOrIncrWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::ReplaceOrIncr::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1ReplaceOrIncrRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::ReplaceOrIncr::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1ReplaceOrIncrWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::ReplaceOrIncr::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1ReplaceOrIncrReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::ReplaceOrIncr::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1ReplaceOrIncrWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1ReplaceOrIncrReset(::tl2::service1::ReplaceOrIncr& item) { + item.key.clear(); + item.flags = 0; + item.delay = 0; + item.value = 0; +} + +bool tl2::details::Service1ReplaceOrIncrWriteJSON(std::ostream& s, const ::tl2::service1::ReplaceOrIncr& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.delay != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"delay\":"; + s << item.delay; + } + if (item.value != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << item.value; + } + s << "}"; + return true; +} + +bool tl2::details::Service1ReplaceOrIncrRead(::basictl::tl_istream & s, ::tl2::service1::ReplaceOrIncr& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!s.int_read(item.delay)) { return false; } + if (!s.long_read(item.value)) { return false; } + return true; +} + +bool tl2::details::Service1ReplaceOrIncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::ReplaceOrIncr& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!s.int_write(item.delay)) { return false;} + if (!s.long_write(item.value)) { return false;} + return true; +} + +bool tl2::details::Service1ReplaceOrIncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::ReplaceOrIncr& item) { + if (!s.nat_read_exact_tag(0x9d1bdcfd)) { return false; } + return tl2::details::Service1ReplaceOrIncrRead(s, item); +} + +bool tl2::details::Service1ReplaceOrIncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::ReplaceOrIncr& item) { + if (!s.nat_write(0x9d1bdcfd)) { return false; } + return tl2::details::Service1ReplaceOrIncrWrite(s, item); +} + +bool tl2::details::Service1ReplaceOrIncrReadResult(::basictl::tl_istream & s, tl2::service1::ReplaceOrIncr& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1ReplaceOrIncrWriteResult(::basictl::tl_ostream & s, tl2::service1::ReplaceOrIncr& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::ReplaceOrIncr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1ReplaceOrIncrReadResult(s, *this, result); +} +bool tl2::service1::ReplaceOrIncr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1ReplaceOrIncrWriteResult(s, *this, result); +} + +bool tl2::service1::Set::write_json(std::ostream& s)const { + if (!::tl2::details::Service1SetWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Set::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1SetRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Set::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1SetWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Set::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1SetReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Set::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1SetWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1SetReset(::tl2::service1::Set& item) { + item.key.clear(); + item.flags = 0; + item.delay = 0; + item.value.clear(); +} + +bool tl2::details::Service1SetWriteJSON(std::ostream& s, const ::tl2::service1::Set& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.delay != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"delay\":"; + s << item.delay; + } + if (item.value.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << "\"" << item.value << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service1SetRead(::basictl::tl_istream & s, ::tl2::service1::Set& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!s.int_read(item.delay)) { return false; } + if (!s.string_read(item.value)) { return false; } + return true; +} + +bool tl2::details::Service1SetWrite(::basictl::tl_ostream & s, const ::tl2::service1::Set& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!s.int_write(item.delay)) { return false;} + if (!s.string_write(item.value)) { return false;} + return true; +} + +bool tl2::details::Service1SetReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Set& item) { + if (!s.nat_read_exact_tag(0x05ae5f66)) { return false; } + return tl2::details::Service1SetRead(s, item); +} + +bool tl2::details::Service1SetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Set& item) { + if (!s.nat_write(0x05ae5f66)) { return false; } + return tl2::details::Service1SetWrite(s, item); +} + +bool tl2::details::Service1SetReadResult(::basictl::tl_istream & s, tl2::service1::Set& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1SetWriteResult(::basictl::tl_ostream & s, tl2::service1::Set& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::Set::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service1SetReadResult(s, *this, result); +} +bool tl2::service1::Set::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service1SetWriteResult(s, *this, result); +} + +bool tl2::service1::SetOrIncr::write_json(std::ostream& s)const { + if (!::tl2::details::Service1SetOrIncrWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::SetOrIncr::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1SetOrIncrRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::SetOrIncr::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1SetOrIncrWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::SetOrIncr::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1SetOrIncrReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::SetOrIncr::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1SetOrIncrWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1SetOrIncrReset(::tl2::service1::SetOrIncr& item) { + item.key.clear(); + item.flags = 0; + item.delay = 0; + item.value = 0; +} + +bool tl2::details::Service1SetOrIncrWriteJSON(std::ostream& s, const ::tl2::service1::SetOrIncr& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.delay != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"delay\":"; + s << item.delay; + } + if (item.value != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"value\":"; + s << item.value; + } + s << "}"; + return true; +} + +bool tl2::details::Service1SetOrIncrRead(::basictl::tl_istream & s, ::tl2::service1::SetOrIncr& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!s.int_read(item.delay)) { return false; } + if (!s.long_read(item.value)) { return false; } + return true; +} + +bool tl2::details::Service1SetOrIncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::SetOrIncr& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!s.int_write(item.delay)) { return false;} + if (!s.long_write(item.value)) { return false;} + return true; +} + +bool tl2::details::Service1SetOrIncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::SetOrIncr& item) { + if (!s.nat_read_exact_tag(0x772e390d)) { return false; } + return tl2::details::Service1SetOrIncrRead(s, item); +} + +bool tl2::details::Service1SetOrIncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::SetOrIncr& item) { + if (!s.nat_write(0x772e390d)) { return false; } + return tl2::details::Service1SetOrIncrWrite(s, item); +} + +bool tl2::details::Service1SetOrIncrReadResult(::basictl::tl_istream & s, tl2::service1::SetOrIncr& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1SetOrIncrWriteResult(::basictl::tl_ostream & s, tl2::service1::SetOrIncr& item, ::tl2::service1::Value& result) { + if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::SetOrIncr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1SetOrIncrReadResult(s, *this, result); +} +bool tl2::service1::SetOrIncr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { + return tl2::details::Service1SetOrIncrWriteResult(s, *this, result); +} + +bool tl2::service1::Strvalue::write_json(std::ostream& s)const { + if (!::tl2::details::Service1StrvalueWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Strvalue::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1StrvalueRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Strvalue::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1StrvalueWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Strvalue::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1StrvalueReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Strvalue::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1StrvalueWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1StrvalueReset(::tl2::service1::Strvalue& item) { + item.value.clear(); + item.flags = 0; +} + +bool tl2::details::Service1StrvalueWriteJSON(std::ostream& s, const ::tl2::service1::Strvalue& item) { + auto add_comma = false; + s << "{"; + if (item.value.size() != 0) { + add_comma = true; + s << "\"value\":"; + s << "\"" << item.value << "\""; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + s << "}"; + return true; +} + +bool tl2::details::Service1StrvalueRead(::basictl::tl_istream & s, ::tl2::service1::Strvalue& item) { + if (!s.string_read(item.value)) { return false; } + if (!s.int_read(item.flags)) { return false; } + return true; +} + +bool tl2::details::Service1StrvalueWrite(::basictl::tl_ostream & s, const ::tl2::service1::Strvalue& item) { + if (!s.string_write(item.value)) { return false;} + if (!s.int_write(item.flags)) { return false;} + return true; +} + +bool tl2::details::Service1StrvalueReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Strvalue& item) { + if (!s.nat_read_exact_tag(0x5faa0c52)) { return false; } + return tl2::details::Service1StrvalueRead(s, item); +} + +bool tl2::details::Service1StrvalueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Strvalue& item) { + if (!s.nat_write(0x5faa0c52)) { return false; } + return tl2::details::Service1StrvalueWrite(s, item); +} + +bool tl2::service1::StrvalueWithTime::write_json(std::ostream& s)const { + if (!::tl2::details::Service1StrvalueWithTimeWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::StrvalueWithTime::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1StrvalueWithTimeRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::StrvalueWithTime::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1StrvalueWithTimeWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::StrvalueWithTime::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1StrvalueWithTimeReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::StrvalueWithTime::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1StrvalueWithTimeWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1StrvalueWithTimeReset(::tl2::service1::StrvalueWithTime& item) { + item.value.clear(); + item.flags = 0; + item.modificationTime = 0; +} + +bool tl2::details::Service1StrvalueWithTimeWriteJSON(std::ostream& s, const ::tl2::service1::StrvalueWithTime& item) { + auto add_comma = false; + s << "{"; + if (item.value.size() != 0) { + add_comma = true; + s << "\"value\":"; + s << "\"" << item.value << "\""; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.modificationTime != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"modificationTime\":"; + s << item.modificationTime; + } + s << "}"; + return true; +} + +bool tl2::details::Service1StrvalueWithTimeRead(::basictl::tl_istream & s, ::tl2::service1::StrvalueWithTime& item) { + if (!s.string_read(item.value)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!s.int_read(item.modificationTime)) { return false; } + return true; +} + +bool tl2::details::Service1StrvalueWithTimeWrite(::basictl::tl_ostream & s, const ::tl2::service1::StrvalueWithTime& item) { + if (!s.string_write(item.value)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!s.int_write(item.modificationTime)) { return false;} + return true; +} + +bool tl2::details::Service1StrvalueWithTimeReadBoxed(::basictl::tl_istream & s, ::tl2::service1::StrvalueWithTime& item) { + if (!s.nat_read_exact_tag(0x98b1a484)) { return false; } + return tl2::details::Service1StrvalueWithTimeRead(s, item); +} + +bool tl2::details::Service1StrvalueWithTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::StrvalueWithTime& item) { + if (!s.nat_write(0x98b1a484)) { return false; } + return tl2::details::Service1StrvalueWithTimeWrite(s, item); +} + +bool tl2::service1::Touch::write_json(std::ostream& s)const { + if (!::tl2::details::Service1TouchWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Touch::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service1TouchRead(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Touch::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1TouchWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Touch::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1TouchReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service1::Touch::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1TouchWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service1TouchReset(::tl2::service1::Touch& item) { + item.key.clear(); + item.delay = 0; +} + +bool tl2::details::Service1TouchWriteJSON(std::ostream& s, const ::tl2::service1::Touch& item) { + auto add_comma = false; + s << "{"; + if (item.key.size() != 0) { + add_comma = true; + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + if (item.delay != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"delay\":"; + s << item.delay; + } + s << "}"; + return true; +} + +bool tl2::details::Service1TouchRead(::basictl::tl_istream & s, ::tl2::service1::Touch& item) { + if (!s.string_read(item.key)) { return false; } + if (!s.int_read(item.delay)) { return false; } + return true; +} + +bool tl2::details::Service1TouchWrite(::basictl::tl_ostream & s, const ::tl2::service1::Touch& item) { + if (!s.string_write(item.key)) { return false;} + if (!s.int_write(item.delay)) { return false;} + return true; +} + +bool tl2::details::Service1TouchReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Touch& item) { + if (!s.nat_read_exact_tag(0xb737aa03)) { return false; } + return tl2::details::Service1TouchRead(s, item); +} + +bool tl2::details::Service1TouchWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Touch& item) { + if (!s.nat_write(0xb737aa03)) { return false; } + return tl2::details::Service1TouchWrite(s, item); +} + +bool tl2::details::Service1TouchReadResult(::basictl::tl_istream & s, tl2::service1::Touch& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service1TouchWriteResult(::basictl::tl_ostream & s, tl2::service1::Touch& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service1::Touch::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service1TouchReadResult(s, *this, result); +} +bool tl2::service1::Touch::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service1TouchWriteResult(s, *this, result); +} + +static const std::string_view Service1Value_tbl_tl_name[]{"service1.not_found", "service1.strvalue", "service1.longvalue", "service1.strvalueWithTime", "service1.longvalueWithTime"}; +static const uint32_t Service1Value_tbl_tl_tag[]{0x1d670b96, 0x5faa0c52, 0x082e0945, 0x98b1a484, 0xa04606ec}; + +bool tl2::service1::Value::write_json(std::ostream & s)const { + if (!::tl2::details::Service1ValueWriteJSON(s, *this)) { return false; } + return true; +} +bool tl2::service1::Value::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service1ValueReadBoxed(s, *this)) { return false; } + return true; +} +bool tl2::service1::Value::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service1ValueWriteBoxed(s, *this)) { return false; } + return true; +} +std::string_view tl2::service1::Value::tl_name() const { + return Service1Value_tbl_tl_name[value.index()]; +} +uint32_t tl2::service1::Value::tl_tag() const { + return Service1Value_tbl_tl_tag[value.index()]; +} + + +void tl2::details::Service1ValueReset(::tl2::service1::Value& item) { + item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function +} + +bool tl2::details::Service1ValueWriteJSON(std::ostream & s, const ::tl2::service1::Value& item) { + s << "{"; + s << "\"type\":"; + s << "\"" << Service1Value_tbl_tl_name[item.value.index()] << "\""; + switch (item.value.index()) { + case 1: + s << ",\"value\":"; + if (!::tl2::details::Service1StrvalueWriteJSON(s, std::get<1>(item.value))) { return false; } + break; + case 2: + s << ",\"value\":"; + if (!::tl2::details::Service1LongvalueWriteJSON(s, std::get<2>(item.value))) { return false; } + break; + case 3: + s << ",\"value\":"; + if (!::tl2::details::Service1StrvalueWithTimeWriteJSON(s, std::get<3>(item.value))) { return false; } + break; + case 4: + s << ",\"value\":"; + if (!::tl2::details::Service1LongvalueWithTimeWriteJSON(s, std::get<4>(item.value))) { return false; } + break; + } + s << "}"; + return true; +} +bool tl2::details::Service1ValueReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Value& item) { + uint32_t nat; + s.nat_read(nat); + switch (nat) { + case 0x1d670b96: + if (item.value.index() != 0) { item.value.emplace<0>(); } + break; + case 0x5faa0c52: + if (item.value.index() != 1) { item.value.emplace<1>(); } + if (!::tl2::details::Service1StrvalueRead(s, std::get<1>(item.value))) { return false; } + break; + case 0x082e0945: + if (item.value.index() != 2) { item.value.emplace<2>(); } + if (!::tl2::details::Service1LongvalueRead(s, std::get<2>(item.value))) { return false; } + break; + case 0x98b1a484: + if (item.value.index() != 3) { item.value.emplace<3>(); } + if (!::tl2::details::Service1StrvalueWithTimeRead(s, std::get<3>(item.value))) { return false; } + break; + case 0xa04606ec: + if (item.value.index() != 4) { item.value.emplace<4>(); } + if (!::tl2::details::Service1LongvalueWithTimeRead(s, std::get<4>(item.value))) { return false; } + break; + default: + return s.set_error_union_tag(); + } + return true; +} + +bool tl2::details::Service1ValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Value& item) { + s.nat_write(Service1Value_tbl_tl_tag[item.value.index()]); + switch (item.value.index()) { + case 1: + if (!::tl2::details::Service1StrvalueWrite(s, std::get<1>(item.value))) { return false; } + break; + case 2: + if (!::tl2::details::Service1LongvalueWrite(s, std::get<2>(item.value))) { return false; } + break; + case 3: + if (!::tl2::details::Service1StrvalueWithTimeWrite(s, std::get<3>(item.value))) { return false; } + break; + case 4: + if (!::tl2::details::Service1LongvalueWithTimeWrite(s, std::get<4>(item.value))) { return false; } + break; + } + return true; +} + +bool tl2::details::Service1ValueBoxedMaybeWriteJSON(std::ostream & s, const std::optional<::tl2::service1::Value>& item) { + s << "{"; + if (item) { + s << "\"ok\":true"; + s << ",\"value\":"; + if (!::tl2::details::Service1ValueWriteJSON(s, *item)) { return false; } + } + s << "}"; + return true; +} +bool tl2::details::Service1ValueBoxedMaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::service1::Value>& item) { + bool has_item = false; + if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } + if (has_item) { + if (!item) { + item.emplace(); + } + if (!::tl2::details::Service1ValueReadBoxed(s, *item)) { return false; } + return true; + } + item.reset(); + return true; +} + +bool tl2::details::Service1ValueBoxedMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::service1::Value>& item) { + if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } + if (item) { + if (!::tl2::details::Service1ValueWriteBoxed(s, *item)) { return false; } + } + return true; +} + +void tl2::details::VectorDictionaryFieldDictionaryIntReset(std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { + item.clear(); +} + +bool tl2::details::VectorDictionaryFieldDictionaryIntWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldDictionaryIntWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorDictionaryFieldDictionaryIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldDictionaryIntRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorDictionaryFieldDictionaryIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldDictionaryIntWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorDictionaryFieldDictionaryIntReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorDictionaryFieldDictionaryIntRead(s, item); +} + +bool tl2::details::VectorDictionaryFieldDictionaryIntWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorDictionaryFieldDictionaryIntWrite(s, item); +} + +void tl2::details::VectorDictionaryFieldService1ValueReset(std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { + item.clear(); +} + +bool tl2::details::VectorDictionaryFieldService1ValueWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldService1ValueWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorDictionaryFieldService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldService1ValueRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorDictionaryFieldService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldService1ValueWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorDictionaryFieldService1ValueReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorDictionaryFieldService1ValueRead(s, item); +} + +bool tl2::details::VectorDictionaryFieldService1ValueWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorDictionaryFieldService1ValueWrite(s, item); +} + +void tl2::details::VectorDictionaryFieldStringReset(std::vector<::tl2::DictionaryField>& item) { + item.clear(); +} + +bool tl2::details::VectorDictionaryFieldStringWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldStringWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorDictionaryFieldStringRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldStringRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorDictionaryFieldStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item) { + if (!::tl2::details::BuiltinVectorDictionaryFieldStringWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorDictionaryFieldStringReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorDictionaryFieldStringRead(s, item); +} + +bool tl2::details::VectorDictionaryFieldStringWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorDictionaryFieldStringWrite(s, item); +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.add.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.add.h new file mode 100644 index 00000000..25a0c413 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.add.h @@ -0,0 +1,37 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct Add { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x481df8be; } + + std::string key; + int32_t flags = 0; + int32_t delay = 0; + std::string value; + + std::string_view tl_name() const { return "service1.add"; } + uint32_t tl_tag() const { return 0x481df8be; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const Add& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.addOrGet.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.addOrGet.h new file mode 100644 index 00000000..be8a1b11 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.addOrGet.h @@ -0,0 +1,38 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.Value.h" + + +namespace tl2 { namespace service1 { +struct AddOrGet { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x6a42faad; } + + std::string key; + int32_t flags = 0; + int32_t delay = 0; + std::string value; + + std::string_view tl_name() const { return "service1.addOrGet"; } + uint32_t tl_tag() const { return 0x6a42faad; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); + + friend std::ostream& operator<<(std::ostream& s, const AddOrGet& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.addOrIncr.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.addOrIncr.h new file mode 100644 index 00000000..5b2e7fe9 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.addOrIncr.h @@ -0,0 +1,38 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.Value.h" + + +namespace tl2 { namespace service1 { +struct AddOrIncr { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x90c4b402; } + + std::string key; + int32_t flags = 0; + int32_t delay = 0; + int64_t value = 0; + + std::string_view tl_name() const { return "service1.addOrIncr"; } + uint32_t tl_tag() const { return 0x90c4b402; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); + + friend std::ostream& operator<<(std::ostream& s, const AddOrIncr& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.append.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.append.h new file mode 100644 index 00000000..6cdcb3f3 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.append.h @@ -0,0 +1,37 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct Append { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x04dec671; } + + std::string key; + int32_t flags = 0; + int32_t delay = 0; + std::string suffix; + + std::string_view tl_name() const { return "service1.append"; } + uint32_t tl_tag() const { return 0x04dec671; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const Append& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.cas.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.cas.h new file mode 100644 index 00000000..ace8b29a --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.cas.h @@ -0,0 +1,38 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct Cas { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x51851964; } + + std::string key; + int32_t flags = 0; + int32_t delay = 0; + std::string casToken; + std::string newValue; + + std::string_view tl_name() const { return "service1.cas"; } + uint32_t tl_tag() const { return 0x51851964; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const Cas& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.decr.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.decr.h new file mode 100644 index 00000000..89712592 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.decr.h @@ -0,0 +1,36 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.Value.h" + + +namespace tl2 { namespace service1 { +struct Decr { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xeb179ce7; } + + std::string key; + int64_t value = 0; + + std::string_view tl_name() const { return "service1.decr"; } + uint32_t tl_tag() const { return 0xeb179ce7; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); + + friend std::ostream& operator<<(std::ostream& s, const Decr& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.delete.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.delete.h new file mode 100644 index 00000000..b0e6217c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.delete.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct Delete { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x83277767; } + + std::string key; + + std::string_view tl_name() const { return "service1.delete"; } + uint32_t tl_tag() const { return 0x83277767; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const Delete& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.disableExpiration.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.disableExpiration.h new file mode 100644 index 00000000..e7a57d3d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.disableExpiration.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct DisableExpiration { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xf1c39c2d; } + + std::string prefix; + + std::string_view tl_name() const { return "service1.disableExpiration"; } + uint32_t tl_tag() const { return 0xf1c39c2d; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const DisableExpiration& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.disableKeysStat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.disableKeysStat.h new file mode 100644 index 00000000..551b94b2 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.disableKeysStat.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct DisableKeysStat { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x79d6160f; } + + int32_t period = 0; + + std::string_view tl_name() const { return "service1.disableKeysStat"; } + uint32_t tl_tag() const { return 0x79d6160f; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const DisableKeysStat& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.enableExpiration.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.enableExpiration.h new file mode 100644 index 00000000..64811123 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.enableExpiration.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct EnableExpiration { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x2b51ad67; } + + std::string prefix; + + std::string_view tl_name() const { return "service1.enableExpiration"; } + uint32_t tl_tag() const { return 0x2b51ad67; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const EnableExpiration& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.enableKeysStat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.enableKeysStat.h new file mode 100644 index 00000000..f3be149b --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.enableKeysStat.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct EnableKeysStat { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x29a7090e; } + + int32_t period = 0; + + std::string_view tl_name() const { return "service1.enableKeysStat"; } + uint32_t tl_tag() const { return 0x29a7090e; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const EnableKeysStat& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.exists.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.exists.h new file mode 100644 index 00000000..8e00f459 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.exists.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct Exists { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xe0284c9e; } + + std::string key; + + std::string_view tl_name() const { return "service1.exists"; } + uint32_t tl_tag() const { return 0xe0284c9e; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const Exists& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.get.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.get.h new file mode 100644 index 00000000..349d18bb --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.get.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.Value.h" + + +namespace tl2 { namespace service1 { +struct Get { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x29099b19; } + + std::string key; + + std::string_view tl_name() const { return "service1.get"; } + uint32_t tl_tag() const { return 0x29099b19; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); + + friend std::ostream& operator<<(std::ostream& s, const Get& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getExpireTime.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getExpireTime.h new file mode 100644 index 00000000..85e0be3a --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getExpireTime.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct GetExpireTime { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x5a731070; } + + std::string key; + + std::string_view tl_name() const { return "service1.getExpireTime"; } + uint32_t tl_tag() const { return 0x5a731070; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::optional & result); + bool write_result(::basictl::tl_ostream & s, std::optional & result); + + friend std::ostream& operator<<(std::ostream& s, const GetExpireTime& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getKeysStat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getKeysStat.h new file mode 100644 index 00000000..1e503444 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getKeysStat.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.keysStat.h" + + +namespace tl2 { namespace service1 { +struct GetKeysStat { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x06cecd58; } + + int32_t period = 0; + + std::string_view tl_name() const { return "service1.getKeysStat"; } + uint32_t tl_tag() const { return 0x06cecd58; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::optional<::tl2::service1::KeysStat> & result); + bool write_result(::basictl::tl_ostream & s, std::optional<::tl2::service1::KeysStat> & result); + + friend std::ostream& operator<<(std::ostream& s, const GetKeysStat& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getKeysStatPeriods.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getKeysStatPeriods.h new file mode 100644 index 00000000..229e5912 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getKeysStatPeriods.h @@ -0,0 +1,33 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct GetKeysStatPeriods { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x8cdf39e3; } + + + std::string_view tl_name() const { return "service1.getKeysStatPeriods"; } + uint32_t tl_tag() const { return 0x8cdf39e3; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector & result); + bool write_result(::basictl::tl_ostream & s, std::vector & result); + + friend std::ostream& operator<<(std::ostream& s, const GetKeysStatPeriods& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcard.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcard.h new file mode 100644 index 00000000..dcb7a3f0 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcard.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/map.h" + + +namespace tl2 { namespace service1 { +struct GetWildcard { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x2f2abf13; } + + std::string prefix; + + std::string_view tl_name() const { return "service1.getWildcard"; } + uint32_t tl_tag() const { return 0x2f2abf13; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector<::tl2::Map> & result); + bool write_result(::basictl::tl_ostream & s, std::vector<::tl2::Map> & result); + + friend std::ostream& operator<<(std::ostream& s, const GetWildcard& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcardDict.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcardDict.h new file mode 100644 index 00000000..7e64d48e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcardDict.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionary.h" + + +namespace tl2 { namespace service1 { +struct GetWildcardDict { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x72bbc81b; } + + std::string prefix; + + std::string_view tl_name() const { return "service1.getWildcardDict"; } + uint32_t tl_tag() const { return 0x72bbc81b; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::Dictionary & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::Dictionary & result); + + friend std::ostream& operator<<(std::ostream& s, const GetWildcardDict& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcardList.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcardList.h new file mode 100644 index 00000000..0042e9b5 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcardList.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct GetWildcardList { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x56b6ead4; } + + std::string prefix; + + std::string_view tl_name() const { return "service1.getWildcardList"; } + uint32_t tl_tag() const { return 0x56b6ead4; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector & result); + bool write_result(::basictl::tl_ostream & s, std::vector & result); + + friend std::ostream& operator<<(std::ostream& s, const GetWildcardList& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcardWithFlags.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcardWithFlags.h new file mode 100644 index 00000000..8e7119fe --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.getWildcardWithFlags.h @@ -0,0 +1,36 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.Value.h" +#include "../../__common_namespace/types/dictionary.h" + + +namespace tl2 { namespace service1 { +struct GetWildcardWithFlags { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x5f6a1f78; } + + std::string prefix; + + std::string_view tl_name() const { return "service1.getWildcardWithFlags"; } + uint32_t tl_tag() const { return 0x5f6a1f78; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value> & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::Dictionary<::tl2::service1::Value> & result); + + friend std::ostream& operator<<(std::ostream& s, const GetWildcardWithFlags& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.incr.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.incr.h new file mode 100644 index 00000000..086ccfc2 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.incr.h @@ -0,0 +1,36 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.Value.h" + + +namespace tl2 { namespace service1 { +struct Incr { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x0f96b56e; } + + std::string key; + int64_t value = 0; + + std::string_view tl_name() const { return "service1.incr"; } + uint32_t tl_tag() const { return 0x0f96b56e; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); + + friend std::ostream& operator<<(std::ostream& s, const Incr& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.replace.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.replace.h new file mode 100644 index 00000000..42cc1e51 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.replace.h @@ -0,0 +1,37 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct Replace { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x7f2c447d; } + + std::string key; + int32_t flags = 0; + int32_t delay = 0; + std::string value; + + std::string_view tl_name() const { return "service1.replace"; } + uint32_t tl_tag() const { return 0x7f2c447d; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const Replace& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.replaceOrIncr.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.replaceOrIncr.h new file mode 100644 index 00000000..e801460f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.replaceOrIncr.h @@ -0,0 +1,38 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.Value.h" + + +namespace tl2 { namespace service1 { +struct ReplaceOrIncr { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x9d1bdcfd; } + + std::string key; + int32_t flags = 0; + int32_t delay = 0; + int64_t value = 0; + + std::string_view tl_name() const { return "service1.replaceOrIncr"; } + uint32_t tl_tag() const { return 0x9d1bdcfd; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); + + friend std::ostream& operator<<(std::ostream& s, const ReplaceOrIncr& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.set.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.set.h new file mode 100644 index 00000000..d82c80ff --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.set.h @@ -0,0 +1,37 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct Set { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x05ae5f66; } + + std::string key; + int32_t flags = 0; + int32_t delay = 0; + std::string value; + + std::string_view tl_name() const { return "service1.set"; } + uint32_t tl_tag() const { return 0x05ae5f66; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const Set& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.setOrIncr.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.setOrIncr.h new file mode 100644 index 00000000..38886e5e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.setOrIncr.h @@ -0,0 +1,38 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.Value.h" + + +namespace tl2 { namespace service1 { +struct SetOrIncr { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x772e390d; } + + std::string key; + int32_t flags = 0; + int32_t delay = 0; + int64_t value = 0; + + std::string_view tl_name() const { return "service1.setOrIncr"; } + uint32_t tl_tag() const { return 0x772e390d; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); + + friend std::ostream& operator<<(std::ostream& s, const SetOrIncr& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.touch.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.touch.h new file mode 100644 index 00000000..2a0cc2b2 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/functions/service1.touch.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct Touch { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xb737aa03; } + + std::string key; + int32_t delay = 0; + + std::string_view tl_name() const { return "service1.touch"; } + uint32_t tl_tag() const { return 0xb737aa03; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const Touch& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.Value.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.Value.h new file mode 100644 index 00000000..5857884e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.Value.h @@ -0,0 +1,45 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.Value.h" + +namespace tl2 { namespace details { + +void BuiltinTuple3Service1ValueReset(std::array<::tl2::service1::Value, 3>& item); + +bool BuiltinTuple3Service1ValueWriteJSON(std::ostream & s, const std::array<::tl2::service1::Value, 3>& item); +bool BuiltinTuple3Service1ValueRead(::basictl::tl_istream & s, std::array<::tl2::service1::Value, 3>& item); +bool BuiltinTuple3Service1ValueWrite(::basictl::tl_ostream & s, const std::array<::tl2::service1::Value, 3>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void BuiltinVectorService1ValueReset(std::vector<::tl2::service1::Value>& item); + +bool BuiltinVectorService1ValueWriteJSON(std::ostream & s, const std::vector<::tl2::service1::Value>& item); +bool BuiltinVectorService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::service1::Value>& item); +bool BuiltinVectorService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service1::Value>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void Service1ValueReset(::tl2::service1::Value& item); + +bool Service1ValueWriteJSON(std::ostream & s, const ::tl2::service1::Value& item); +bool Service1ValueReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Value& item); +bool Service1ValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Value& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +bool Service1ValueBoxedMaybeWriteJSON(std::ostream & s, const std::optional<::tl2::service1::Value>& item); + +bool Service1ValueBoxedMaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::service1::Value>& item); +bool Service1ValueBoxedMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::service1::Value>& item); + + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.add.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.add.h new file mode 100644 index 00000000..244b7bf8 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.add.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.add.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service1AddReset(::tl2::service1::Add& item); + +bool Service1AddWriteJSON(std::ostream& s, const ::tl2::service1::Add& item); +bool Service1AddRead(::basictl::tl_istream & s, ::tl2::service1::Add& item); +bool Service1AddWrite(::basictl::tl_ostream & s, const ::tl2::service1::Add& item); +bool Service1AddReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Add& item); +bool Service1AddWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Add& item); + +bool Service1AddReadResult(::basictl::tl_istream & s, ::tl2::service1::Add& item, bool& result); +bool Service1AddWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Add& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.addOrGet.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.addOrGet.h new file mode 100644 index 00000000..495eef75 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.addOrGet.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.addOrGet.h" +#include "../types/service1.Value.h" + +namespace tl2 { namespace details { + +void Service1AddOrGetReset(::tl2::service1::AddOrGet& item); + +bool Service1AddOrGetWriteJSON(std::ostream& s, const ::tl2::service1::AddOrGet& item); +bool Service1AddOrGetRead(::basictl::tl_istream & s, ::tl2::service1::AddOrGet& item); +bool Service1AddOrGetWrite(::basictl::tl_ostream & s, const ::tl2::service1::AddOrGet& item); +bool Service1AddOrGetReadBoxed(::basictl::tl_istream & s, ::tl2::service1::AddOrGet& item); +bool Service1AddOrGetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::AddOrGet& item); + +bool Service1AddOrGetReadResult(::basictl::tl_istream & s, ::tl2::service1::AddOrGet& item, ::tl2::service1::Value& result); +bool Service1AddOrGetWriteResult(::basictl::tl_ostream & s, ::tl2::service1::AddOrGet& item, ::tl2::service1::Value& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.addOrIncr.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.addOrIncr.h new file mode 100644 index 00000000..24cfde70 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.addOrIncr.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.addOrIncr.h" +#include "../types/service1.Value.h" + +namespace tl2 { namespace details { + +void Service1AddOrIncrReset(::tl2::service1::AddOrIncr& item); + +bool Service1AddOrIncrWriteJSON(std::ostream& s, const ::tl2::service1::AddOrIncr& item); +bool Service1AddOrIncrRead(::basictl::tl_istream & s, ::tl2::service1::AddOrIncr& item); +bool Service1AddOrIncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::AddOrIncr& item); +bool Service1AddOrIncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::AddOrIncr& item); +bool Service1AddOrIncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::AddOrIncr& item); + +bool Service1AddOrIncrReadResult(::basictl::tl_istream & s, ::tl2::service1::AddOrIncr& item, ::tl2::service1::Value& result); +bool Service1AddOrIncrWriteResult(::basictl::tl_ostream & s, ::tl2::service1::AddOrIncr& item, ::tl2::service1::Value& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.append.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.append.h new file mode 100644 index 00000000..af66bf9c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.append.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.append.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service1AppendReset(::tl2::service1::Append& item); + +bool Service1AppendWriteJSON(std::ostream& s, const ::tl2::service1::Append& item); +bool Service1AppendRead(::basictl::tl_istream & s, ::tl2::service1::Append& item); +bool Service1AppendWrite(::basictl::tl_ostream & s, const ::tl2::service1::Append& item); +bool Service1AppendReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Append& item); +bool Service1AppendWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Append& item); + +bool Service1AppendReadResult(::basictl::tl_istream & s, ::tl2::service1::Append& item, bool& result); +bool Service1AppendWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Append& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.cas.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.cas.h new file mode 100644 index 00000000..be15ef77 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.cas.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.cas.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service1CasReset(::tl2::service1::Cas& item); + +bool Service1CasWriteJSON(std::ostream& s, const ::tl2::service1::Cas& item); +bool Service1CasRead(::basictl::tl_istream & s, ::tl2::service1::Cas& item); +bool Service1CasWrite(::basictl::tl_ostream & s, const ::tl2::service1::Cas& item); +bool Service1CasReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Cas& item); +bool Service1CasWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Cas& item); + +bool Service1CasReadResult(::basictl::tl_istream & s, ::tl2::service1::Cas& item, bool& result); +bool Service1CasWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Cas& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.decr.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.decr.h new file mode 100644 index 00000000..c1cc2f8e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.decr.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.decr.h" +#include "../types/service1.Value.h" + +namespace tl2 { namespace details { + +void Service1DecrReset(::tl2::service1::Decr& item); + +bool Service1DecrWriteJSON(std::ostream& s, const ::tl2::service1::Decr& item); +bool Service1DecrRead(::basictl::tl_istream & s, ::tl2::service1::Decr& item); +bool Service1DecrWrite(::basictl::tl_ostream & s, const ::tl2::service1::Decr& item); +bool Service1DecrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Decr& item); +bool Service1DecrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Decr& item); + +bool Service1DecrReadResult(::basictl::tl_istream & s, ::tl2::service1::Decr& item, ::tl2::service1::Value& result); +bool Service1DecrWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Decr& item, ::tl2::service1::Value& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.delete.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.delete.h new file mode 100644 index 00000000..a17a23e2 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.delete.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.delete.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service1DeleteReset(::tl2::service1::Delete& item); + +bool Service1DeleteWriteJSON(std::ostream& s, const ::tl2::service1::Delete& item); +bool Service1DeleteRead(::basictl::tl_istream & s, ::tl2::service1::Delete& item); +bool Service1DeleteWrite(::basictl::tl_ostream & s, const ::tl2::service1::Delete& item); +bool Service1DeleteReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Delete& item); +bool Service1DeleteWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Delete& item); + +bool Service1DeleteReadResult(::basictl::tl_istream & s, ::tl2::service1::Delete& item, bool& result); +bool Service1DeleteWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Delete& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.disableExpiration.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.disableExpiration.h new file mode 100644 index 00000000..67c6a653 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.disableExpiration.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.disableExpiration.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service1DisableExpirationReset(::tl2::service1::DisableExpiration& item); + +bool Service1DisableExpirationWriteJSON(std::ostream& s, const ::tl2::service1::DisableExpiration& item); +bool Service1DisableExpirationRead(::basictl::tl_istream & s, ::tl2::service1::DisableExpiration& item); +bool Service1DisableExpirationWrite(::basictl::tl_ostream & s, const ::tl2::service1::DisableExpiration& item); +bool Service1DisableExpirationReadBoxed(::basictl::tl_istream & s, ::tl2::service1::DisableExpiration& item); +bool Service1DisableExpirationWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::DisableExpiration& item); + +bool Service1DisableExpirationReadResult(::basictl::tl_istream & s, ::tl2::service1::DisableExpiration& item, bool& result); +bool Service1DisableExpirationWriteResult(::basictl::tl_ostream & s, ::tl2::service1::DisableExpiration& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.disableKeysStat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.disableKeysStat.h new file mode 100644 index 00000000..0e6f63bd --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.disableKeysStat.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.disableKeysStat.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service1DisableKeysStatReset(::tl2::service1::DisableKeysStat& item); + +bool Service1DisableKeysStatWriteJSON(std::ostream& s, const ::tl2::service1::DisableKeysStat& item); +bool Service1DisableKeysStatRead(::basictl::tl_istream & s, ::tl2::service1::DisableKeysStat& item); +bool Service1DisableKeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::DisableKeysStat& item); +bool Service1DisableKeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::DisableKeysStat& item); +bool Service1DisableKeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::DisableKeysStat& item); + +bool Service1DisableKeysStatReadResult(::basictl::tl_istream & s, ::tl2::service1::DisableKeysStat& item, bool& result); +bool Service1DisableKeysStatWriteResult(::basictl::tl_ostream & s, ::tl2::service1::DisableKeysStat& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.enableExpiration.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.enableExpiration.h new file mode 100644 index 00000000..98e2311c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.enableExpiration.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.enableExpiration.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service1EnableExpirationReset(::tl2::service1::EnableExpiration& item); + +bool Service1EnableExpirationWriteJSON(std::ostream& s, const ::tl2::service1::EnableExpiration& item); +bool Service1EnableExpirationRead(::basictl::tl_istream & s, ::tl2::service1::EnableExpiration& item); +bool Service1EnableExpirationWrite(::basictl::tl_ostream & s, const ::tl2::service1::EnableExpiration& item); +bool Service1EnableExpirationReadBoxed(::basictl::tl_istream & s, ::tl2::service1::EnableExpiration& item); +bool Service1EnableExpirationWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::EnableExpiration& item); + +bool Service1EnableExpirationReadResult(::basictl::tl_istream & s, ::tl2::service1::EnableExpiration& item, bool& result); +bool Service1EnableExpirationWriteResult(::basictl::tl_ostream & s, ::tl2::service1::EnableExpiration& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.enableKeysStat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.enableKeysStat.h new file mode 100644 index 00000000..0c69709d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.enableKeysStat.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.enableKeysStat.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service1EnableKeysStatReset(::tl2::service1::EnableKeysStat& item); + +bool Service1EnableKeysStatWriteJSON(std::ostream& s, const ::tl2::service1::EnableKeysStat& item); +bool Service1EnableKeysStatRead(::basictl::tl_istream & s, ::tl2::service1::EnableKeysStat& item); +bool Service1EnableKeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::EnableKeysStat& item); +bool Service1EnableKeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::EnableKeysStat& item); +bool Service1EnableKeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::EnableKeysStat& item); + +bool Service1EnableKeysStatReadResult(::basictl::tl_istream & s, ::tl2::service1::EnableKeysStat& item, bool& result); +bool Service1EnableKeysStatWriteResult(::basictl::tl_ostream & s, ::tl2::service1::EnableKeysStat& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.exists.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.exists.h new file mode 100644 index 00000000..c71b3307 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.exists.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.exists.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service1ExistsReset(::tl2::service1::Exists& item); + +bool Service1ExistsWriteJSON(std::ostream& s, const ::tl2::service1::Exists& item); +bool Service1ExistsRead(::basictl::tl_istream & s, ::tl2::service1::Exists& item); +bool Service1ExistsWrite(::basictl::tl_ostream & s, const ::tl2::service1::Exists& item); +bool Service1ExistsReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Exists& item); +bool Service1ExistsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Exists& item); + +bool Service1ExistsReadResult(::basictl::tl_istream & s, ::tl2::service1::Exists& item, bool& result); +bool Service1ExistsWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Exists& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.get.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.get.h new file mode 100644 index 00000000..05b4b3b4 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.get.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.get.h" +#include "../types/service1.Value.h" + +namespace tl2 { namespace details { + +void Service1GetReset(::tl2::service1::Get& item); + +bool Service1GetWriteJSON(std::ostream& s, const ::tl2::service1::Get& item); +bool Service1GetRead(::basictl::tl_istream & s, ::tl2::service1::Get& item); +bool Service1GetWrite(::basictl::tl_ostream & s, const ::tl2::service1::Get& item); +bool Service1GetReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Get& item); +bool Service1GetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Get& item); + +bool Service1GetReadResult(::basictl::tl_istream & s, ::tl2::service1::Get& item, ::tl2::service1::Value& result); +bool Service1GetWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Get& item, ::tl2::service1::Value& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getExpireTime.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getExpireTime.h new file mode 100644 index 00000000..4b70a72e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getExpireTime.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.getExpireTime.h" +#include "../../__common_namespace/types/int.h" + +namespace tl2 { namespace details { + +void Service1GetExpireTimeReset(::tl2::service1::GetExpireTime& item); + +bool Service1GetExpireTimeWriteJSON(std::ostream& s, const ::tl2::service1::GetExpireTime& item); +bool Service1GetExpireTimeRead(::basictl::tl_istream & s, ::tl2::service1::GetExpireTime& item); +bool Service1GetExpireTimeWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetExpireTime& item); +bool Service1GetExpireTimeReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetExpireTime& item); +bool Service1GetExpireTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetExpireTime& item); + +bool Service1GetExpireTimeReadResult(::basictl::tl_istream & s, ::tl2::service1::GetExpireTime& item, std::optional& result); +bool Service1GetExpireTimeWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetExpireTime& item, std::optional& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getKeysStat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getKeysStat.h new file mode 100644 index 00000000..49ec464c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getKeysStat.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.getKeysStat.h" +#include "../types/service1.keysStat.h" + +namespace tl2 { namespace details { + +void Service1GetKeysStatReset(::tl2::service1::GetKeysStat& item); + +bool Service1GetKeysStatWriteJSON(std::ostream& s, const ::tl2::service1::GetKeysStat& item); +bool Service1GetKeysStatRead(::basictl::tl_istream & s, ::tl2::service1::GetKeysStat& item); +bool Service1GetKeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStat& item); +bool Service1GetKeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetKeysStat& item); +bool Service1GetKeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStat& item); + +bool Service1GetKeysStatReadResult(::basictl::tl_istream & s, ::tl2::service1::GetKeysStat& item, std::optional<::tl2::service1::KeysStat>& result); +bool Service1GetKeysStatWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetKeysStat& item, std::optional<::tl2::service1::KeysStat>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getKeysStatPeriods.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getKeysStatPeriods.h new file mode 100644 index 00000000..cd4ec7d1 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getKeysStatPeriods.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.getKeysStatPeriods.h" +#include "../../__common_namespace/types/int.h" + +namespace tl2 { namespace details { + +void Service1GetKeysStatPeriodsReset(::tl2::service1::GetKeysStatPeriods& item); + +bool Service1GetKeysStatPeriodsWriteJSON(std::ostream& s, const ::tl2::service1::GetKeysStatPeriods& item); +bool Service1GetKeysStatPeriodsRead(::basictl::tl_istream & s, ::tl2::service1::GetKeysStatPeriods& item); +bool Service1GetKeysStatPeriodsWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStatPeriods& item); +bool Service1GetKeysStatPeriodsReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetKeysStatPeriods& item); +bool Service1GetKeysStatPeriodsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStatPeriods& item); + +bool Service1GetKeysStatPeriodsReadResult(::basictl::tl_istream & s, ::tl2::service1::GetKeysStatPeriods& item, std::vector& result); +bool Service1GetKeysStatPeriodsWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetKeysStatPeriods& item, std::vector& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcard.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcard.h new file mode 100644 index 00000000..ede824dc --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcard.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.getWildcard.h" +#include "../../__common_namespace/types/map.h" + +namespace tl2 { namespace details { + +void Service1GetWildcardReset(::tl2::service1::GetWildcard& item); + +bool Service1GetWildcardWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcard& item); +bool Service1GetWildcardRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcard& item); +bool Service1GetWildcardWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcard& item); +bool Service1GetWildcardReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcard& item); +bool Service1GetWildcardWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcard& item); + +bool Service1GetWildcardReadResult(::basictl::tl_istream & s, ::tl2::service1::GetWildcard& item, std::vector<::tl2::Map>& result); +bool Service1GetWildcardWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetWildcard& item, std::vector<::tl2::Map>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcardDict.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcardDict.h new file mode 100644 index 00000000..ba3af632 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcardDict.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.getWildcardDict.h" +#include "../../__common_namespace/types/dictionary.h" + +namespace tl2 { namespace details { + +void Service1GetWildcardDictReset(::tl2::service1::GetWildcardDict& item); + +bool Service1GetWildcardDictWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcardDict& item); +bool Service1GetWildcardDictRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcardDict& item); +bool Service1GetWildcardDictWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardDict& item); +bool Service1GetWildcardDictReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcardDict& item); +bool Service1GetWildcardDictWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardDict& item); + +bool Service1GetWildcardDictReadResult(::basictl::tl_istream & s, ::tl2::service1::GetWildcardDict& item, ::tl2::Dictionary& result); +bool Service1GetWildcardDictWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetWildcardDict& item, ::tl2::Dictionary& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcardList.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcardList.h new file mode 100644 index 00000000..728844b5 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcardList.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.getWildcardList.h" +#include "../../__common_namespace/types/string.h" + +namespace tl2 { namespace details { + +void Service1GetWildcardListReset(::tl2::service1::GetWildcardList& item); + +bool Service1GetWildcardListWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcardList& item); +bool Service1GetWildcardListRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcardList& item); +bool Service1GetWildcardListWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardList& item); +bool Service1GetWildcardListReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcardList& item); +bool Service1GetWildcardListWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardList& item); + +bool Service1GetWildcardListReadResult(::basictl::tl_istream & s, ::tl2::service1::GetWildcardList& item, std::vector& result); +bool Service1GetWildcardListWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetWildcardList& item, std::vector& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcardWithFlags.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcardWithFlags.h new file mode 100644 index 00000000..2b3b85a7 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.getWildcardWithFlags.h @@ -0,0 +1,22 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.getWildcardWithFlags.h" +#include "../types/service1.Value.h" +#include "../../__common_namespace/types/dictionary.h" + +namespace tl2 { namespace details { + +void Service1GetWildcardWithFlagsReset(::tl2::service1::GetWildcardWithFlags& item); + +bool Service1GetWildcardWithFlagsWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcardWithFlags& item); +bool Service1GetWildcardWithFlagsRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcardWithFlags& item); +bool Service1GetWildcardWithFlagsWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardWithFlags& item); +bool Service1GetWildcardWithFlagsReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcardWithFlags& item); +bool Service1GetWildcardWithFlagsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardWithFlags& item); + +bool Service1GetWildcardWithFlagsReadResult(::basictl::tl_istream & s, ::tl2::service1::GetWildcardWithFlags& item, ::tl2::Dictionary<::tl2::service1::Value>& result); +bool Service1GetWildcardWithFlagsWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetWildcardWithFlags& item, ::tl2::Dictionary<::tl2::service1::Value>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.incr.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.incr.h new file mode 100644 index 00000000..ce81b6c0 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.incr.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.incr.h" +#include "../types/service1.Value.h" + +namespace tl2 { namespace details { + +void Service1IncrReset(::tl2::service1::Incr& item); + +bool Service1IncrWriteJSON(std::ostream& s, const ::tl2::service1::Incr& item); +bool Service1IncrRead(::basictl::tl_istream & s, ::tl2::service1::Incr& item); +bool Service1IncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::Incr& item); +bool Service1IncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Incr& item); +bool Service1IncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Incr& item); + +bool Service1IncrReadResult(::basictl::tl_istream & s, ::tl2::service1::Incr& item, ::tl2::service1::Value& result); +bool Service1IncrWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Incr& item, ::tl2::service1::Value& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.keysStat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.keysStat.h new file mode 100644 index 00000000..376b8fc0 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.keysStat.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.keysStat.h" + +namespace tl2 { namespace details { + +void Service1KeysStatReset(::tl2::service1::KeysStat& item); + +bool Service1KeysStatWriteJSON(std::ostream& s, const ::tl2::service1::KeysStat& item); +bool Service1KeysStatRead(::basictl::tl_istream & s, ::tl2::service1::KeysStat& item); +bool Service1KeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::KeysStat& item); +bool Service1KeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::KeysStat& item); +bool Service1KeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::KeysStat& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +bool Service1KeysStatMaybeWriteJSON(std::ostream & s, const std::optional<::tl2::service1::KeysStat>& item); + +bool Service1KeysStatMaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::service1::KeysStat>& item); +bool Service1KeysStatMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::service1::KeysStat>& item); + + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.longvalue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.longvalue.h new file mode 100644 index 00000000..13630e78 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.longvalue.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.longvalue.h" + +namespace tl2 { namespace details { + +void Service1LongvalueReset(::tl2::service1::Longvalue& item); + +bool Service1LongvalueWriteJSON(std::ostream& s, const ::tl2::service1::Longvalue& item); +bool Service1LongvalueRead(::basictl::tl_istream & s, ::tl2::service1::Longvalue& item); +bool Service1LongvalueWrite(::basictl::tl_ostream & s, const ::tl2::service1::Longvalue& item); +bool Service1LongvalueReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Longvalue& item); +bool Service1LongvalueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Longvalue& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.longvalueWithTime.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.longvalueWithTime.h new file mode 100644 index 00000000..6f8fc354 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.longvalueWithTime.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.longvalueWithTime.h" + +namespace tl2 { namespace details { + +void Service1LongvalueWithTimeReset(::tl2::service1::LongvalueWithTime& item); + +bool Service1LongvalueWithTimeWriteJSON(std::ostream& s, const ::tl2::service1::LongvalueWithTime& item); +bool Service1LongvalueWithTimeRead(::basictl::tl_istream & s, ::tl2::service1::LongvalueWithTime& item); +bool Service1LongvalueWithTimeWrite(::basictl::tl_ostream & s, const ::tl2::service1::LongvalueWithTime& item); +bool Service1LongvalueWithTimeReadBoxed(::basictl::tl_istream & s, ::tl2::service1::LongvalueWithTime& item); +bool Service1LongvalueWithTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::LongvalueWithTime& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.not_found.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.not_found.h new file mode 100644 index 00000000..14bc5702 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.not_found.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.not_found.h" + +namespace tl2 { namespace details { + +void Service1NotFoundReset(::tl2::service1::Not_found& item); + +bool Service1NotFoundWriteJSON(std::ostream& s, const ::tl2::service1::Not_found& item); +bool Service1NotFoundRead(::basictl::tl_istream & s, ::tl2::service1::Not_found& item); +bool Service1NotFoundWrite(::basictl::tl_ostream & s, const ::tl2::service1::Not_found& item); +bool Service1NotFoundReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Not_found& item); +bool Service1NotFoundWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Not_found& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.replace.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.replace.h new file mode 100644 index 00000000..b0e31648 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.replace.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.replace.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service1ReplaceReset(::tl2::service1::Replace& item); + +bool Service1ReplaceWriteJSON(std::ostream& s, const ::tl2::service1::Replace& item); +bool Service1ReplaceRead(::basictl::tl_istream & s, ::tl2::service1::Replace& item); +bool Service1ReplaceWrite(::basictl::tl_ostream & s, const ::tl2::service1::Replace& item); +bool Service1ReplaceReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Replace& item); +bool Service1ReplaceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Replace& item); + +bool Service1ReplaceReadResult(::basictl::tl_istream & s, ::tl2::service1::Replace& item, bool& result); +bool Service1ReplaceWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Replace& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.replaceOrIncr.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.replaceOrIncr.h new file mode 100644 index 00000000..db2e3b1c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.replaceOrIncr.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.replaceOrIncr.h" +#include "../types/service1.Value.h" + +namespace tl2 { namespace details { + +void Service1ReplaceOrIncrReset(::tl2::service1::ReplaceOrIncr& item); + +bool Service1ReplaceOrIncrWriteJSON(std::ostream& s, const ::tl2::service1::ReplaceOrIncr& item); +bool Service1ReplaceOrIncrRead(::basictl::tl_istream & s, ::tl2::service1::ReplaceOrIncr& item); +bool Service1ReplaceOrIncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::ReplaceOrIncr& item); +bool Service1ReplaceOrIncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::ReplaceOrIncr& item); +bool Service1ReplaceOrIncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::ReplaceOrIncr& item); + +bool Service1ReplaceOrIncrReadResult(::basictl::tl_istream & s, ::tl2::service1::ReplaceOrIncr& item, ::tl2::service1::Value& result); +bool Service1ReplaceOrIncrWriteResult(::basictl::tl_ostream & s, ::tl2::service1::ReplaceOrIncr& item, ::tl2::service1::Value& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.set.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.set.h new file mode 100644 index 00000000..4f28cf96 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.set.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.set.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service1SetReset(::tl2::service1::Set& item); + +bool Service1SetWriteJSON(std::ostream& s, const ::tl2::service1::Set& item); +bool Service1SetRead(::basictl::tl_istream & s, ::tl2::service1::Set& item); +bool Service1SetWrite(::basictl::tl_ostream & s, const ::tl2::service1::Set& item); +bool Service1SetReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Set& item); +bool Service1SetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Set& item); + +bool Service1SetReadResult(::basictl::tl_istream & s, ::tl2::service1::Set& item, bool& result); +bool Service1SetWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Set& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.setOrIncr.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.setOrIncr.h new file mode 100644 index 00000000..d49c701c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.setOrIncr.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.setOrIncr.h" +#include "../types/service1.Value.h" + +namespace tl2 { namespace details { + +void Service1SetOrIncrReset(::tl2::service1::SetOrIncr& item); + +bool Service1SetOrIncrWriteJSON(std::ostream& s, const ::tl2::service1::SetOrIncr& item); +bool Service1SetOrIncrRead(::basictl::tl_istream & s, ::tl2::service1::SetOrIncr& item); +bool Service1SetOrIncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::SetOrIncr& item); +bool Service1SetOrIncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::SetOrIncr& item); +bool Service1SetOrIncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::SetOrIncr& item); + +bool Service1SetOrIncrReadResult(::basictl::tl_istream & s, ::tl2::service1::SetOrIncr& item, ::tl2::service1::Value& result); +bool Service1SetOrIncrWriteResult(::basictl::tl_ostream & s, ::tl2::service1::SetOrIncr& item, ::tl2::service1::Value& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.strvalue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.strvalue.h new file mode 100644 index 00000000..c161c76f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.strvalue.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.strvalue.h" + +namespace tl2 { namespace details { + +void Service1StrvalueReset(::tl2::service1::Strvalue& item); + +bool Service1StrvalueWriteJSON(std::ostream& s, const ::tl2::service1::Strvalue& item); +bool Service1StrvalueRead(::basictl::tl_istream & s, ::tl2::service1::Strvalue& item); +bool Service1StrvalueWrite(::basictl::tl_ostream & s, const ::tl2::service1::Strvalue& item); +bool Service1StrvalueReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Strvalue& item); +bool Service1StrvalueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Strvalue& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.strvalueWithTime.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.strvalueWithTime.h new file mode 100644 index 00000000..71d32395 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.strvalueWithTime.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service1.strvalueWithTime.h" + +namespace tl2 { namespace details { + +void Service1StrvalueWithTimeReset(::tl2::service1::StrvalueWithTime& item); + +bool Service1StrvalueWithTimeWriteJSON(std::ostream& s, const ::tl2::service1::StrvalueWithTime& item); +bool Service1StrvalueWithTimeRead(::basictl::tl_istream & s, ::tl2::service1::StrvalueWithTime& item); +bool Service1StrvalueWithTimeWrite(::basictl::tl_ostream & s, const ::tl2::service1::StrvalueWithTime& item); +bool Service1StrvalueWithTimeReadBoxed(::basictl::tl_istream & s, ::tl2::service1::StrvalueWithTime& item); +bool Service1StrvalueWithTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::StrvalueWithTime& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.touch.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.touch.h new file mode 100644 index 00000000..6fe4fdcc --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1.touch.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service1.touch.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service1TouchReset(::tl2::service1::Touch& item); + +bool Service1TouchWriteJSON(std::ostream& s, const ::tl2::service1::Touch& item); +bool Service1TouchRead(::basictl::tl_istream & s, ::tl2::service1::Touch& item); +bool Service1TouchWrite(::basictl::tl_ostream & s, const ::tl2::service1::Touch& item); +bool Service1TouchReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Touch& item); +bool Service1TouchWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Touch& item); + +bool Service1TouchReadResult(::basictl::tl_istream & s, ::tl2::service1::Touch& item, bool& result); +bool Service1TouchWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Touch& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1_dictionary.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1_dictionary.h new file mode 100644 index 00000000..e0e42d01 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1_dictionary.h @@ -0,0 +1,42 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionary.h" +#include "../types/service1.Value.h" + +namespace tl2 { namespace details { + +void DictionaryDictionaryIntReset(::tl2::Dictionary<::tl2::Dictionary>& item); + +bool DictionaryDictionaryIntWriteJSON(std::ostream& s, const ::tl2::Dictionary<::tl2::Dictionary>& item); +bool DictionaryDictionaryIntRead(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::Dictionary>& item); +bool DictionaryDictionaryIntWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::Dictionary>& item); +bool DictionaryDictionaryIntReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::Dictionary>& item); +bool DictionaryDictionaryIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::Dictionary>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void DictionaryService1ValueReset(::tl2::Dictionary<::tl2::service1::Value>& item); + +bool DictionaryService1ValueWriteJSON(std::ostream& s, const ::tl2::Dictionary<::tl2::service1::Value>& item); +bool DictionaryService1ValueRead(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value>& item); +bool DictionaryService1ValueWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::service1::Value>& item); +bool DictionaryService1ValueReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value>& item); +bool DictionaryService1ValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::service1::Value>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void DictionaryStringReset(::tl2::Dictionary& item); + +bool DictionaryStringWriteJSON(std::ostream& s, const ::tl2::Dictionary& item); +bool DictionaryStringRead(::basictl::tl_istream & s, ::tl2::Dictionary& item); +bool DictionaryStringWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary& item); +bool DictionaryStringReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary& item); +bool DictionaryStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1_dictionaryField.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1_dictionaryField.h new file mode 100644 index 00000000..e0092847 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1_dictionaryField.h @@ -0,0 +1,73 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionaryField.h" +#include "../types/service1.Value.h" +#include "../../__common_namespace/types/dictionary.h" + +namespace tl2 { namespace details { + +void BuiltinVectorDictionaryFieldDictionaryIntReset(std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); + +bool BuiltinVectorDictionaryFieldDictionaryIntWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); +bool BuiltinVectorDictionaryFieldDictionaryIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); +bool BuiltinVectorDictionaryFieldDictionaryIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void BuiltinVectorDictionaryFieldService1ValueReset(std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); + +bool BuiltinVectorDictionaryFieldService1ValueWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); +bool BuiltinVectorDictionaryFieldService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); +bool BuiltinVectorDictionaryFieldService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void BuiltinVectorDictionaryFieldStringReset(std::vector<::tl2::DictionaryField>& item); + +bool BuiltinVectorDictionaryFieldStringWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField>& item); +bool BuiltinVectorDictionaryFieldStringRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item); +bool BuiltinVectorDictionaryFieldStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void DictionaryFieldDictionaryIntReset(::tl2::DictionaryField<::tl2::Dictionary>& item); + +bool DictionaryFieldDictionaryIntWriteJSON(std::ostream& s, const ::tl2::DictionaryField<::tl2::Dictionary>& item); +bool DictionaryFieldDictionaryIntRead(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::Dictionary>& item); +bool DictionaryFieldDictionaryIntWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::Dictionary>& item); +bool DictionaryFieldDictionaryIntReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::Dictionary>& item); +bool DictionaryFieldDictionaryIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::Dictionary>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void DictionaryFieldService1ValueReset(::tl2::DictionaryField<::tl2::service1::Value>& item); + +bool DictionaryFieldService1ValueWriteJSON(std::ostream& s, const ::tl2::DictionaryField<::tl2::service1::Value>& item); +bool DictionaryFieldService1ValueRead(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::service1::Value>& item); +bool DictionaryFieldService1ValueWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::service1::Value>& item); +bool DictionaryFieldService1ValueReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::service1::Value>& item); +bool DictionaryFieldService1ValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::service1::Value>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void DictionaryFieldStringReset(::tl2::DictionaryField& item); + +bool DictionaryFieldStringWriteJSON(std::ostream& s, const ::tl2::DictionaryField& item); +bool DictionaryFieldStringRead(::basictl::tl_istream & s, ::tl2::DictionaryField& item); +bool DictionaryFieldStringWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item); +bool DictionaryFieldStringReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField& item); +bool DictionaryFieldStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1_vector.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1_vector.h new file mode 100644 index 00000000..4b4f7cdd --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/headers/service1_vector.h @@ -0,0 +1,44 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/vector.h" +#include "../types/service1.Value.h" +#include "../../__common_namespace/types/dictionary.h" +#include "../../__common_namespace/types/dictionaryField.h" + +namespace tl2 { namespace details { + +void VectorDictionaryFieldDictionaryIntReset(std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); + +bool VectorDictionaryFieldDictionaryIntWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); +bool VectorDictionaryFieldDictionaryIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); +bool VectorDictionaryFieldDictionaryIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); +bool VectorDictionaryFieldDictionaryIntReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); +bool VectorDictionaryFieldDictionaryIntWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorDictionaryFieldService1ValueReset(std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); + +bool VectorDictionaryFieldService1ValueWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); +bool VectorDictionaryFieldService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); +bool VectorDictionaryFieldService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); +bool VectorDictionaryFieldService1ValueReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); +bool VectorDictionaryFieldService1ValueWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorDictionaryFieldStringReset(std::vector<::tl2::DictionaryField>& item); + +bool VectorDictionaryFieldStringWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField>& item); +bool VectorDictionaryFieldStringRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item); +bool VectorDictionaryFieldStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item); +bool VectorDictionaryFieldStringReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item); +bool VectorDictionaryFieldStringWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.Value.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.Value.h new file mode 100644 index 00000000..d3559976 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.Value.h @@ -0,0 +1,33 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "service1.strvalueWithTime.h" +#include "service1.strvalue.h" +#include "service1.not_found.h" +#include "service1.longvalueWithTime.h" +#include "service1.longvalue.h" + + +namespace tl2 { namespace service1 { +struct Value { + std::variant<::tl2::service1::Not_found, ::tl2::service1::Strvalue, ::tl2::service1::Longvalue, ::tl2::service1::StrvalueWithTime, ::tl2::service1::LongvalueWithTime> value; + + bool is_not_found() const { return value.index() == 0; } + bool is_strvalue() const { return value.index() == 1; } + bool is_longvalue() const { return value.index() == 2; } + bool is_strvalueWithTime() const { return value.index() == 3; } + bool is_longvalueWithTime() const { return value.index() == 4; } + + void set_not_found() { value.emplace<0>(); } + + std::string_view tl_name() const; + uint32_t tl_tag() const; + + bool write_json(std::ostream& s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.keysStat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.keysStat.h new file mode 100644 index 00000000..809f8535 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.keysStat.h @@ -0,0 +1,30 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/dictionary.h" + + +namespace tl2 { namespace service1 { +struct KeysStat { + int32_t start_time = 0; + ::tl2::Dictionary<::tl2::Dictionary> keys_tops{}; + + std::string_view tl_name() const { return "service1.keysStat"; } + uint32_t tl_tag() const { return 0xf0f6bc68; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const KeysStat& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.longvalue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.longvalue.h new file mode 100644 index 00000000..4ca41a5e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.longvalue.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct Longvalue { + int64_t value = 0; + int32_t flags = 0; + + std::string_view tl_name() const { return "service1.longvalue"; } + uint32_t tl_tag() const { return 0x082e0945; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const Longvalue& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.longvalueWithTime.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.longvalueWithTime.h new file mode 100644 index 00000000..98cb4330 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.longvalueWithTime.h @@ -0,0 +1,30 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct LongvalueWithTime { + int64_t value = 0; + int32_t flags = 0; + int32_t modificationTime = 0; + + std::string_view tl_name() const { return "service1.longvalueWithTime"; } + uint32_t tl_tag() const { return 0xa04606ec; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const LongvalueWithTime& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.not_found.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.not_found.h new file mode 100644 index 00000000..604e2cd8 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.not_found.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct Not_found { + + std::string_view tl_name() const { return "service1.not_found"; } + uint32_t tl_tag() const { return 0x1d670b96; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const Not_found& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.strvalue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.strvalue.h new file mode 100644 index 00000000..382496da --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.strvalue.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct Strvalue { + std::string value; + int32_t flags = 0; + + std::string_view tl_name() const { return "service1.strvalue"; } + uint32_t tl_tag() const { return 0x5faa0c52; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const Strvalue& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.strvalueWithTime.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.strvalueWithTime.h new file mode 100644 index 00000000..a2cad69d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/types/service1.strvalueWithTime.h @@ -0,0 +1,30 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service1 { +struct StrvalueWithTime { + std::string value; + int32_t flags = 0; + int32_t modificationTime = 0; + + std::string_view tl_name() const { return "service1.strvalueWithTime"; } + uint32_t tl_tag() const { return 0x98b1a484; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const StrvalueWithTime& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service1 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/details.cpp new file mode 100644 index 00000000..9a0d5551 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/details.cpp @@ -0,0 +1,760 @@ +#include "headers/service2_tuple.h" +#include "headers/service2.setObjectTtl.h" +#include "headers/service2.set.h" +#include "headers/service2.addOrIncrMany.h" +#include "headers/service2.deltaSet.h" +#include "headers/service2.objectId.h" +#include "headers/service2.counterSet.h" +#include "../__common_namespace/headers/true.h" +#include "../__common_namespace/headers/int.h" +#include "headers/service2_double.h" + + +void tl2::details::BuiltinTupleDoubleReset(std::vector& item) { + item.resize(0); +} + +bool tl2::details::BuiltinTupleDoubleWriteJSON(std::ostream & s, const std::vector& item, uint32_t nat_n) { + if (item.size() != nat_n) { + // TODO add exception + return false; + } + s << "["; + size_t index = 0; + for(const auto & el : item) { + s << el; + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinTupleDoubleRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { + // TODO - check length sanity + item.resize(nat_n); + for(auto && el : item) { + if (!s.double_read(el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinTupleDoubleWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { + if (item.size() != nat_n) + return s.set_error_sequence_length(); + for(const auto & el : item) { + if (!s.double_write(el)) { return false;} + } + return true; +} + +void tl2::details::BuiltinTupleService2CounterSetReset(std::vector<::tl2::service2::CounterSet>& item) { + item.resize(0); +} + +bool tl2::details::BuiltinTupleService2CounterSetWriteJSON(std::ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_n, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum) { + if (item.size() != nat_n) { + // TODO add exception + return false; + } + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::Service2CounterSetWriteJSON(s, el, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinTupleService2CounterSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_n, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum) { + // TODO - check length sanity + item.resize(nat_n); + for(auto && el : item) { + if (!::tl2::details::Service2CounterSetRead(s, el, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinTupleService2CounterSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_n, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum) { + if (item.size() != nat_n) + return s.set_error_sequence_length(); + for(const auto & el : item) { + if (!::tl2::details::Service2CounterSetWrite(s, el, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } + } + return true; +} + +void tl2::details::BuiltinTupleService2DeltaSetReset(std::vector<::tl2::service2::DeltaSet>& item) { + item.resize(0); +} + +bool tl2::details::BuiltinTupleService2DeltaSetWriteJSON(std::ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_n, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum) { + if (item.size() != nat_n) { + // TODO add exception + return false; + } + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::Service2DeltaSetWriteJSON(s, el, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinTupleService2DeltaSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_n, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum) { + // TODO - check length sanity + item.resize(nat_n); + for(auto && el : item) { + if (!::tl2::details::Service2DeltaSetRead(s, el, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinTupleService2DeltaSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_n, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum) { + if (item.size() != nat_n) + return s.set_error_sequence_length(); + for(const auto & el : item) { + if (!::tl2::details::Service2DeltaSetWrite(s, el, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } + } + return true; +} + +bool tl2::service2::AddOrIncrMany::write_json(std::ostream& s)const { + if (!::tl2::details::Service2AddOrIncrManyWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service2::AddOrIncrMany::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service2AddOrIncrManyRead(s, *this)) { return false; } + return true; +} + +bool tl2::service2::AddOrIncrMany::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service2AddOrIncrManyWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service2::AddOrIncrMany::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service2AddOrIncrManyReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service2::AddOrIncrMany::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service2AddOrIncrManyWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service2AddOrIncrManyReset(::tl2::service2::AddOrIncrMany& item) { + item.objectIdLength = 0; + item.intCountersNum = 0; + item.floatCountersNum = 0; + item.objectsNum = 0; + item.intCounters.clear(); + item.floatCounters.clear(); + item.deltas.clear(); +} + +bool tl2::details::Service2AddOrIncrManyWriteJSON(std::ostream& s, const ::tl2::service2::AddOrIncrMany& item) { + auto add_comma = false; + s << "{"; + if (item.objectIdLength != 0) { + add_comma = true; + s << "\"objectIdLength\":"; + s << item.objectIdLength; + } + if (item.intCountersNum != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"intCountersNum\":"; + s << item.intCountersNum; + } + if (item.floatCountersNum != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"floatCountersNum\":"; + s << item.floatCountersNum; + } + if (item.objectsNum != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"objectsNum\":"; + s << item.objectsNum; + } + if ((item.intCounters.size() != 0) || (item.intCountersNum != 0)) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"intCounters\":"; + if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.intCounters, item.intCountersNum)) { return false; } + } + if ((item.floatCounters.size() != 0) || (item.floatCountersNum != 0)) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"floatCounters\":"; + if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.floatCounters, item.floatCountersNum)) { return false; } + } + if ((item.deltas.size() != 0) || (item.objectIdLength != 0)) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"deltas\":"; + if (!::tl2::details::BuiltinTupleService2DeltaSetWriteJSON(s, item.deltas, item.objectsNum, item.objectIdLength, item.intCountersNum, item.floatCountersNum)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service2AddOrIncrManyRead(::basictl::tl_istream & s, ::tl2::service2::AddOrIncrMany& item) { + if (!s.nat_read(item.objectIdLength)) { return false; } + if (!s.nat_read(item.intCountersNum)) { return false; } + if (!s.nat_read(item.floatCountersNum)) { return false; } + if (!s.nat_read(item.objectsNum)) { return false; } + if (!::tl2::details::BuiltinTupleIntRead(s, item.intCounters, item.intCountersNum)) { return false; } + if (!::tl2::details::BuiltinTupleIntRead(s, item.floatCounters, item.floatCountersNum)) { return false; } + if (!::tl2::details::BuiltinTupleService2DeltaSetRead(s, item.deltas, item.objectsNum, item.objectIdLength, item.intCountersNum, item.floatCountersNum)) { return false; } + return true; +} + +bool tl2::details::Service2AddOrIncrManyWrite(::basictl::tl_ostream & s, const ::tl2::service2::AddOrIncrMany& item) { + if (!s.nat_write(item.objectIdLength)) { return false;} + if (!s.nat_write(item.intCountersNum)) { return false;} + if (!s.nat_write(item.floatCountersNum)) { return false;} + if (!s.nat_write(item.objectsNum)) { return false;} + if (!::tl2::details::BuiltinTupleIntWrite(s, item.intCounters, item.intCountersNum)) { return false; } + if (!::tl2::details::BuiltinTupleIntWrite(s, item.floatCounters, item.floatCountersNum)) { return false; } + if (!::tl2::details::BuiltinTupleService2DeltaSetWrite(s, item.deltas, item.objectsNum, item.objectIdLength, item.intCountersNum, item.floatCountersNum)) { return false; } + return true; +} + +bool tl2::details::Service2AddOrIncrManyReadBoxed(::basictl::tl_istream & s, ::tl2::service2::AddOrIncrMany& item) { + if (!s.nat_read_exact_tag(0x5aa52489)) { return false; } + return tl2::details::Service2AddOrIncrManyRead(s, item); +} + +bool tl2::details::Service2AddOrIncrManyWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::AddOrIncrMany& item) { + if (!s.nat_write(0x5aa52489)) { return false; } + return tl2::details::Service2AddOrIncrManyWrite(s, item); +} + +bool tl2::details::Service2AddOrIncrManyReadResult(::basictl::tl_istream & s, tl2::service2::AddOrIncrMany& item, std::vector<::tl2::service2::CounterSet>& result) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false;} + if (!::tl2::details::BuiltinTupleService2CounterSetRead(s, result, item.objectsNum, item.intCountersNum, item.floatCountersNum)) { return false; } + return true; +} +bool tl2::details::Service2AddOrIncrManyWriteResult(::basictl::tl_ostream & s, tl2::service2::AddOrIncrMany& item, std::vector<::tl2::service2::CounterSet>& result) { + if (!s.nat_write(0x9770768a)) { return false; } + if (!::tl2::details::BuiltinTupleService2CounterSetWrite(s, result, item.objectsNum, item.intCountersNum, item.floatCountersNum)) { return false; } + return true; +} + +bool tl2::service2::AddOrIncrMany::read_result(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet> & result) { + return tl2::details::Service2AddOrIncrManyReadResult(s, *this, result); +} +bool tl2::service2::AddOrIncrMany::write_result(::basictl::tl_ostream & s, std::vector<::tl2::service2::CounterSet> & result) { + return tl2::details::Service2AddOrIncrManyWriteResult(s, *this, result); +} + +bool tl2::service2::CounterSet::write_json(std::ostream& s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { + if (!::tl2::details::Service2CounterSetWriteJSON(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } + return true; +} + +bool tl2::service2::CounterSet::read(::basictl::tl_istream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + if (!::tl2::details::Service2CounterSetRead(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } + return true; +} + +bool tl2::service2::CounterSet::write(::basictl::tl_ostream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { + if (!::tl2::details::Service2CounterSetWrite(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } + return true; +} + +bool tl2::service2::CounterSet::read_boxed(::basictl::tl_istream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + if (!::tl2::details::Service2CounterSetReadBoxed(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } + return true; +} + +bool tl2::service2::CounterSet::write_boxed(::basictl::tl_ostream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { + if (!::tl2::details::Service2CounterSetWriteBoxed(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } + return true; +} + +void tl2::details::Service2CounterSetReset(::tl2::service2::CounterSet& item) { + item.intCounters.clear(); + item.floatCounters.clear(); +} + +bool tl2::details::Service2CounterSetWriteJSON(std::ostream& s, const ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + auto add_comma = false; + s << "{"; + if ((item.intCounters.size() != 0) || (nat_intCountersNum != 0)) { + add_comma = true; + s << "\"intCounters\":"; + if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.intCounters, nat_intCountersNum)) { return false; } + } + if ((item.floatCounters.size() != 0) || (nat_floatCountersNum != 0)) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"floatCounters\":"; + if (!::tl2::details::BuiltinTupleDoubleWriteJSON(s, item.floatCounters, nat_floatCountersNum)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service2CounterSetRead(::basictl::tl_istream & s, ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + if (!::tl2::details::BuiltinTupleIntRead(s, item.intCounters, nat_intCountersNum)) { return false; } + if (!::tl2::details::BuiltinTupleDoubleRead(s, item.floatCounters, nat_floatCountersNum)) { return false; } + return true; +} + +bool tl2::details::Service2CounterSetWrite(::basictl::tl_ostream & s, const ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + if (!::tl2::details::BuiltinTupleIntWrite(s, item.intCounters, nat_intCountersNum)) { return false; } + if (!::tl2::details::BuiltinTupleDoubleWrite(s, item.floatCounters, nat_floatCountersNum)) { return false; } + return true; +} + +bool tl2::details::Service2CounterSetReadBoxed(::basictl::tl_istream & s, ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + if (!s.nat_read_exact_tag(0xf5403fd9)) { return false; } + return tl2::details::Service2CounterSetRead(s, item, nat_intCountersNum, nat_floatCountersNum); +} + +bool tl2::details::Service2CounterSetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + if (!s.nat_write(0xf5403fd9)) { return false; } + return tl2::details::Service2CounterSetWrite(s, item, nat_intCountersNum, nat_floatCountersNum); +} + +bool tl2::service2::DeltaSet::write_json(std::ostream& s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { + if (!::tl2::details::Service2DeltaSetWriteJSON(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } + return true; +} + +bool tl2::service2::DeltaSet::read(::basictl::tl_istream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + if (!::tl2::details::Service2DeltaSetRead(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } + return true; +} + +bool tl2::service2::DeltaSet::write(::basictl::tl_ostream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { + if (!::tl2::details::Service2DeltaSetWrite(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } + return true; +} + +bool tl2::service2::DeltaSet::read_boxed(::basictl::tl_istream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + if (!::tl2::details::Service2DeltaSetReadBoxed(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } + return true; +} + +bool tl2::service2::DeltaSet::write_boxed(::basictl::tl_ostream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { + if (!::tl2::details::Service2DeltaSetWriteBoxed(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } + return true; +} + +void tl2::details::Service2DeltaSetReset(::tl2::service2::DeltaSet& item) { + ::tl2::details::Service2ObjectIdReset(item.id); + ::tl2::details::Service2CounterSetReset(item.counters); +} + +bool tl2::details::Service2DeltaSetWriteJSON(std::ostream& s, const ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + auto add_comma = false; + s << "{"; + add_comma = true; + s << "\"id\":"; + if (!::tl2::details::Service2ObjectIdWriteJSON(s, item.id, nat_objectIdLength)) { return false; } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"counters\":"; + if (!::tl2::details::Service2CounterSetWriteJSON(s, item.counters, nat_intCountersNum, nat_floatCountersNum)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::Service2DeltaSetRead(::basictl::tl_istream & s, ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + if (!::tl2::details::Service2ObjectIdRead(s, item.id, nat_objectIdLength)) { return false; } + if (!::tl2::details::Service2CounterSetRead(s, item.counters, nat_intCountersNum, nat_floatCountersNum)) { return false; } + return true; +} + +bool tl2::details::Service2DeltaSetWrite(::basictl::tl_ostream & s, const ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + if (!::tl2::details::Service2ObjectIdWrite(s, item.id, nat_objectIdLength)) { return false; } + if (!::tl2::details::Service2CounterSetWrite(s, item.counters, nat_intCountersNum, nat_floatCountersNum)) { return false; } + return true; +} + +bool tl2::details::Service2DeltaSetReadBoxed(::basictl::tl_istream & s, ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + if (!s.nat_read_exact_tag(0xbf49abc2)) { return false; } + return tl2::details::Service2DeltaSetRead(s, item, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum); +} + +bool tl2::details::Service2DeltaSetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { + if (!s.nat_write(0xbf49abc2)) { return false; } + return tl2::details::Service2DeltaSetWrite(s, item, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum); +} + +bool tl2::service2::ObjectId::write_json(std::ostream& s, uint32_t nat_objectIdLength)const { + if (!::tl2::details::Service2ObjectIdWriteJSON(s, *this, nat_objectIdLength)) { return false; } + return true; +} + +bool tl2::service2::ObjectId::read(::basictl::tl_istream & s, uint32_t nat_objectIdLength) { + if (!::tl2::details::Service2ObjectIdRead(s, *this, nat_objectIdLength)) { return false; } + return true; +} + +bool tl2::service2::ObjectId::write(::basictl::tl_ostream & s, uint32_t nat_objectIdLength)const { + if (!::tl2::details::Service2ObjectIdWrite(s, *this, nat_objectIdLength)) { return false; } + return true; +} + +bool tl2::service2::ObjectId::read_boxed(::basictl::tl_istream & s, uint32_t nat_objectIdLength) { + if (!::tl2::details::Service2ObjectIdReadBoxed(s, *this, nat_objectIdLength)) { return false; } + return true; +} + +bool tl2::service2::ObjectId::write_boxed(::basictl::tl_ostream & s, uint32_t nat_objectIdLength)const { + if (!::tl2::details::Service2ObjectIdWriteBoxed(s, *this, nat_objectIdLength)) { return false; } + return true; +} + +void tl2::details::Service2ObjectIdReset(::tl2::service2::ObjectId& item) { + item.id.clear(); +} + +bool tl2::details::Service2ObjectIdWriteJSON(std::ostream& s, const ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength) { + s << "{"; + if ((item.id.size() != 0) || (nat_objectIdLength != 0)) { + s << "\"id\":"; + if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.id, nat_objectIdLength)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service2ObjectIdRead(::basictl::tl_istream & s, ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength) { + if (!::tl2::details::BuiltinTupleIntRead(s, item.id, nat_objectIdLength)) { return false; } + return true; +} + +bool tl2::details::Service2ObjectIdWrite(::basictl::tl_ostream & s, const ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength) { + if (!::tl2::details::BuiltinTupleIntWrite(s, item.id, nat_objectIdLength)) { return false; } + return true; +} + +bool tl2::details::Service2ObjectIdReadBoxed(::basictl::tl_istream & s, ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength) { + if (!s.nat_read_exact_tag(0xaa0af282)) { return false; } + return tl2::details::Service2ObjectIdRead(s, item, nat_objectIdLength); +} + +bool tl2::details::Service2ObjectIdWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength) { + if (!s.nat_write(0xaa0af282)) { return false; } + return tl2::details::Service2ObjectIdWrite(s, item, nat_objectIdLength); +} + +bool tl2::service2::Set::write_json(std::ostream& s)const { + if (!::tl2::details::Service2SetWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service2::Set::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service2SetRead(s, *this)) { return false; } + return true; +} + +bool tl2::service2::Set::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service2SetWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service2::Set::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service2SetReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service2::Set::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service2SetWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service2SetReset(::tl2::service2::Set& item) { + item.objectIdLength = 0; + item.intCountersNum = 0; + item.floatCountersNum = 0; + item.intCounters.clear(); + item.floatCounters.clear(); + ::tl2::details::Service2DeltaSetReset(item.newValues); +} + +bool tl2::details::Service2SetWriteJSON(std::ostream& s, const ::tl2::service2::Set& item) { + auto add_comma = false; + s << "{"; + if (item.objectIdLength != 0) { + add_comma = true; + s << "\"objectIdLength\":"; + s << item.objectIdLength; + } + if (item.intCountersNum != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"intCountersNum\":"; + s << item.intCountersNum; + } + if (item.floatCountersNum != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"floatCountersNum\":"; + s << item.floatCountersNum; + } + if ((item.intCounters.size() != 0) || (item.intCountersNum != 0)) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"intCounters\":"; + if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.intCounters, item.intCountersNum)) { return false; } + } + if ((item.floatCounters.size() != 0) || (item.floatCountersNum != 0)) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"floatCounters\":"; + if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.floatCounters, item.floatCountersNum)) { return false; } + } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"newValues\":"; + if (!::tl2::details::Service2DeltaSetWriteJSON(s, item.newValues, item.objectIdLength, item.intCountersNum, item.floatCountersNum)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::Service2SetRead(::basictl::tl_istream & s, ::tl2::service2::Set& item) { + if (!s.nat_read(item.objectIdLength)) { return false; } + if (!s.nat_read(item.intCountersNum)) { return false; } + if (!s.nat_read(item.floatCountersNum)) { return false; } + if (!::tl2::details::BuiltinTupleIntRead(s, item.intCounters, item.intCountersNum)) { return false; } + if (!::tl2::details::BuiltinTupleIntRead(s, item.floatCounters, item.floatCountersNum)) { return false; } + if (!::tl2::details::Service2DeltaSetRead(s, item.newValues, item.objectIdLength, item.intCountersNum, item.floatCountersNum)) { return false; } + return true; +} + +bool tl2::details::Service2SetWrite(::basictl::tl_ostream & s, const ::tl2::service2::Set& item) { + if (!s.nat_write(item.objectIdLength)) { return false;} + if (!s.nat_write(item.intCountersNum)) { return false;} + if (!s.nat_write(item.floatCountersNum)) { return false;} + if (!::tl2::details::BuiltinTupleIntWrite(s, item.intCounters, item.intCountersNum)) { return false; } + if (!::tl2::details::BuiltinTupleIntWrite(s, item.floatCounters, item.floatCountersNum)) { return false; } + if (!::tl2::details::Service2DeltaSetWrite(s, item.newValues, item.objectIdLength, item.intCountersNum, item.floatCountersNum)) { return false; } + return true; +} + +bool tl2::details::Service2SetReadBoxed(::basictl::tl_istream & s, ::tl2::service2::Set& item) { + if (!s.nat_read_exact_tag(0x0d31f63d)) { return false; } + return tl2::details::Service2SetRead(s, item); +} + +bool tl2::details::Service2SetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::Set& item) { + if (!s.nat_write(0x0d31f63d)) { return false; } + return tl2::details::Service2SetWrite(s, item); +} + +bool tl2::details::Service2SetReadResult(::basictl::tl_istream & s, tl2::service2::Set& item, ::tl2::True& result) { + if (!::tl2::details::TrueReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service2SetWriteResult(::basictl::tl_ostream & s, tl2::service2::Set& item, ::tl2::True& result) { + if (!::tl2::details::TrueWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service2::Set::read_result(::basictl::tl_istream & s, ::tl2::True & result) { + return tl2::details::Service2SetReadResult(s, *this, result); +} +bool tl2::service2::Set::write_result(::basictl::tl_ostream & s, ::tl2::True & result) { + return tl2::details::Service2SetWriteResult(s, *this, result); +} + +bool tl2::service2::SetObjectTtl::write_json(std::ostream& s)const { + if (!::tl2::details::Service2SetObjectTtlWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service2::SetObjectTtl::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service2SetObjectTtlRead(s, *this)) { return false; } + return true; +} + +bool tl2::service2::SetObjectTtl::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service2SetObjectTtlWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service2::SetObjectTtl::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service2SetObjectTtlReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service2::SetObjectTtl::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service2SetObjectTtlWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service2SetObjectTtlReset(::tl2::service2::SetObjectTtl& item) { + item.objectIdLength = 0; + ::tl2::details::Service2ObjectIdReset(item.objectId); + item.ttl = 0; +} + +bool tl2::details::Service2SetObjectTtlWriteJSON(std::ostream& s, const ::tl2::service2::SetObjectTtl& item) { + auto add_comma = false; + s << "{"; + if (item.objectIdLength != 0) { + add_comma = true; + s << "\"objectIdLength\":"; + s << item.objectIdLength; + } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"objectId\":"; + if (!::tl2::details::Service2ObjectIdWriteJSON(s, item.objectId, item.objectIdLength)) { return false; } + if (item.ttl != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"ttl\":"; + s << item.ttl; + } + s << "}"; + return true; +} + +bool tl2::details::Service2SetObjectTtlRead(::basictl::tl_istream & s, ::tl2::service2::SetObjectTtl& item) { + if (!s.nat_read(item.objectIdLength)) { return false; } + if (!::tl2::details::Service2ObjectIdRead(s, item.objectId, item.objectIdLength)) { return false; } + if (!s.int_read(item.ttl)) { return false; } + return true; +} + +bool tl2::details::Service2SetObjectTtlWrite(::basictl::tl_ostream & s, const ::tl2::service2::SetObjectTtl& item) { + if (!s.nat_write(item.objectIdLength)) { return false;} + if (!::tl2::details::Service2ObjectIdWrite(s, item.objectId, item.objectIdLength)) { return false; } + if (!s.int_write(item.ttl)) { return false;} + return true; +} + +bool tl2::details::Service2SetObjectTtlReadBoxed(::basictl::tl_istream & s, ::tl2::service2::SetObjectTtl& item) { + if (!s.nat_read_exact_tag(0x6f98f025)) { return false; } + return tl2::details::Service2SetObjectTtlRead(s, item); +} + +bool tl2::details::Service2SetObjectTtlWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::SetObjectTtl& item) { + if (!s.nat_write(0x6f98f025)) { return false; } + return tl2::details::Service2SetObjectTtlWrite(s, item); +} + +bool tl2::details::Service2SetObjectTtlReadResult(::basictl::tl_istream & s, tl2::service2::SetObjectTtl& item, ::tl2::True& result) { + if (!::tl2::details::TrueReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service2SetObjectTtlWriteResult(::basictl::tl_ostream & s, tl2::service2::SetObjectTtl& item, ::tl2::True& result) { + if (!::tl2::details::TrueWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service2::SetObjectTtl::read_result(::basictl::tl_istream & s, ::tl2::True & result) { + return tl2::details::Service2SetObjectTtlReadResult(s, *this, result); +} +bool tl2::service2::SetObjectTtl::write_result(::basictl::tl_ostream & s, ::tl2::True & result) { + return tl2::details::Service2SetObjectTtlWriteResult(s, *this, result); +} + +void tl2::details::TupleDoubleReset(std::vector& item) { + item.clear(); +} + +bool tl2::details::TupleDoubleWriteJSON(std::ostream& s, const std::vector& item, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleDoubleWriteJSON(s, item, nat_n)) { return false; } + return true; +} + +bool tl2::details::TupleDoubleRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleDoubleRead(s, item, nat_n)) { return false; } + return true; +} + +bool tl2::details::TupleDoubleWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleDoubleWrite(s, item, nat_n)) { return false; } + return true; +} + +bool tl2::details::TupleDoubleReadBoxed(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false; } + return tl2::details::TupleDoubleRead(s, item, nat_n); +} + +bool tl2::details::TupleDoubleWriteBoxed(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { + if (!s.nat_write(0x9770768a)) { return false; } + return tl2::details::TupleDoubleWrite(s, item, nat_n); +} + +void tl2::details::TupleService2DeltaSetReset(std::vector<::tl2::service2::DeltaSet>& item) { + item.clear(); +} + +bool tl2::details::TupleService2DeltaSetWriteJSON(std::ostream& s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleService2DeltaSetWriteJSON(s, item, nat_n, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } + return true; +} + +bool tl2::details::TupleService2DeltaSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleService2DeltaSetRead(s, item, nat_n, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } + return true; +} + +bool tl2::details::TupleService2DeltaSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { + if (!::tl2::details::BuiltinTupleService2DeltaSetWrite(s, item, nat_n, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } + return true; +} + +bool tl2::details::TupleService2DeltaSetReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { + if (!s.nat_read_exact_tag(0x9770768a)) { return false; } + return tl2::details::TupleService2DeltaSetRead(s, item, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum, nat_n); +} + +bool tl2::details::TupleService2DeltaSetWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { + if (!s.nat_write(0x9770768a)) { return false; } + return tl2::details::TupleService2DeltaSetWrite(s, item, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum, nat_n); +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/functions/service2.addOrIncrMany.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/functions/service2.addOrIncrMany.h new file mode 100644 index 00000000..e74d65c8 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/functions/service2.addOrIncrMany.h @@ -0,0 +1,42 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service2.deltaSet.h" +#include "../types/service2.counterSet.h" + + +namespace tl2 { namespace service2 { +struct AddOrIncrMany { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x5aa52489; } + + uint32_t objectIdLength = 0; + uint32_t intCountersNum = 0; + uint32_t floatCountersNum = 0; + uint32_t objectsNum = 0; + std::vector intCounters; + std::vector floatCounters; + std::vector<::tl2::service2::DeltaSet> deltas; + + std::string_view tl_name() const { return "service2.addOrIncrMany"; } + uint32_t tl_tag() const { return 0x5aa52489; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet> & result); + bool write_result(::basictl::tl_ostream & s, std::vector<::tl2::service2::CounterSet> & result); + + friend std::ostream& operator<<(std::ostream& s, const AddOrIncrMany& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/functions/service2.set.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/functions/service2.set.h new file mode 100644 index 00000000..a7560f14 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/functions/service2.set.h @@ -0,0 +1,41 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service2.deltaSet.h" +#include "../../__common_namespace/types/true.h" + + +namespace tl2 { namespace service2 { +struct Set { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x0d31f63d; } + + uint32_t objectIdLength = 0; + uint32_t intCountersNum = 0; + uint32_t floatCountersNum = 0; + std::vector intCounters; + std::vector floatCounters; + ::tl2::service2::DeltaSet newValues{}; + + std::string_view tl_name() const { return "service2.set"; } + uint32_t tl_tag() const { return 0x0d31f63d; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::True & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::True & result); + + friend std::ostream& operator<<(std::ostream& s, const Set& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/functions/service2.setObjectTtl.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/functions/service2.setObjectTtl.h new file mode 100644 index 00000000..a53a4edd --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/functions/service2.setObjectTtl.h @@ -0,0 +1,38 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service2.objectId.h" +#include "../../__common_namespace/types/true.h" + + +namespace tl2 { namespace service2 { +struct SetObjectTtl { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x6f98f025; } + + uint32_t objectIdLength = 0; + ::tl2::service2::ObjectId objectId{}; + int32_t ttl = 0; + + std::string_view tl_name() const { return "service2.setObjectTtl"; } + uint32_t tl_tag() const { return 0x6f98f025; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::True & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::True & result); + + friend std::ostream& operator<<(std::ostream& s, const SetObjectTtl& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.addOrIncrMany.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.addOrIncrMany.h new file mode 100644 index 00000000..424984ff --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.addOrIncrMany.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service2.addOrIncrMany.h" +#include "../types/service2.counterSet.h" + +namespace tl2 { namespace details { + +void Service2AddOrIncrManyReset(::tl2::service2::AddOrIncrMany& item); + +bool Service2AddOrIncrManyWriteJSON(std::ostream& s, const ::tl2::service2::AddOrIncrMany& item); +bool Service2AddOrIncrManyRead(::basictl::tl_istream & s, ::tl2::service2::AddOrIncrMany& item); +bool Service2AddOrIncrManyWrite(::basictl::tl_ostream & s, const ::tl2::service2::AddOrIncrMany& item); +bool Service2AddOrIncrManyReadBoxed(::basictl::tl_istream & s, ::tl2::service2::AddOrIncrMany& item); +bool Service2AddOrIncrManyWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::AddOrIncrMany& item); + +bool Service2AddOrIncrManyReadResult(::basictl::tl_istream & s, ::tl2::service2::AddOrIncrMany& item, std::vector<::tl2::service2::CounterSet>& result); +bool Service2AddOrIncrManyWriteResult(::basictl::tl_ostream & s, ::tl2::service2::AddOrIncrMany& item, std::vector<::tl2::service2::CounterSet>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.counterSet.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.counterSet.h new file mode 100644 index 00000000..ba9a93c1 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.counterSet.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service2.counterSet.h" + +namespace tl2 { namespace details { + +void BuiltinTupleService2CounterSetReset(std::vector<::tl2::service2::CounterSet>& item); + +bool BuiltinTupleService2CounterSetWriteJSON(std::ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_n, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum); +bool BuiltinTupleService2CounterSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_n, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum); +bool BuiltinTupleService2CounterSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_n, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void Service2CounterSetReset(::tl2::service2::CounterSet& item); + +bool Service2CounterSetWriteJSON(std::ostream& s, const ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); +bool Service2CounterSetRead(::basictl::tl_istream & s, ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); +bool Service2CounterSetWrite(::basictl::tl_ostream & s, const ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); +bool Service2CounterSetReadBoxed(::basictl::tl_istream & s, ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); +bool Service2CounterSetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.deltaSet.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.deltaSet.h new file mode 100644 index 00000000..0331513c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.deltaSet.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service2.deltaSet.h" + +namespace tl2 { namespace details { + +void BuiltinTupleService2DeltaSetReset(std::vector<::tl2::service2::DeltaSet>& item); + +bool BuiltinTupleService2DeltaSetWriteJSON(std::ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_n, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum); +bool BuiltinTupleService2DeltaSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_n, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum); +bool BuiltinTupleService2DeltaSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_n, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void Service2DeltaSetReset(::tl2::service2::DeltaSet& item); + +bool Service2DeltaSetWriteJSON(std::ostream& s, const ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); +bool Service2DeltaSetRead(::basictl::tl_istream & s, ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); +bool Service2DeltaSetWrite(::basictl::tl_ostream & s, const ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); +bool Service2DeltaSetReadBoxed(::basictl::tl_istream & s, ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); +bool Service2DeltaSetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.objectId.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.objectId.h new file mode 100644 index 00000000..8ca8211c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.objectId.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service2.objectId.h" + +namespace tl2 { namespace details { + +void Service2ObjectIdReset(::tl2::service2::ObjectId& item); + +bool Service2ObjectIdWriteJSON(std::ostream& s, const ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength); +bool Service2ObjectIdRead(::basictl::tl_istream & s, ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength); +bool Service2ObjectIdWrite(::basictl::tl_ostream & s, const ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength); +bool Service2ObjectIdReadBoxed(::basictl::tl_istream & s, ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength); +bool Service2ObjectIdWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.set.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.set.h new file mode 100644 index 00000000..977c039e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.set.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service2.set.h" +#include "../../__common_namespace/types/true.h" + +namespace tl2 { namespace details { + +void Service2SetReset(::tl2::service2::Set& item); + +bool Service2SetWriteJSON(std::ostream& s, const ::tl2::service2::Set& item); +bool Service2SetRead(::basictl::tl_istream & s, ::tl2::service2::Set& item); +bool Service2SetWrite(::basictl::tl_ostream & s, const ::tl2::service2::Set& item); +bool Service2SetReadBoxed(::basictl::tl_istream & s, ::tl2::service2::Set& item); +bool Service2SetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::Set& item); + +bool Service2SetReadResult(::basictl::tl_istream & s, ::tl2::service2::Set& item, ::tl2::True& result); +bool Service2SetWriteResult(::basictl::tl_ostream & s, ::tl2::service2::Set& item, ::tl2::True& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.setObjectTtl.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.setObjectTtl.h new file mode 100644 index 00000000..4ac7252d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2.setObjectTtl.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service2.setObjectTtl.h" +#include "../../__common_namespace/types/true.h" + +namespace tl2 { namespace details { + +void Service2SetObjectTtlReset(::tl2::service2::SetObjectTtl& item); + +bool Service2SetObjectTtlWriteJSON(std::ostream& s, const ::tl2::service2::SetObjectTtl& item); +bool Service2SetObjectTtlRead(::basictl::tl_istream & s, ::tl2::service2::SetObjectTtl& item); +bool Service2SetObjectTtlWrite(::basictl::tl_ostream & s, const ::tl2::service2::SetObjectTtl& item); +bool Service2SetObjectTtlReadBoxed(::basictl::tl_istream & s, ::tl2::service2::SetObjectTtl& item); +bool Service2SetObjectTtlWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::SetObjectTtl& item); + +bool Service2SetObjectTtlReadResult(::basictl::tl_istream & s, ::tl2::service2::SetObjectTtl& item, ::tl2::True& result); +bool Service2SetObjectTtlWriteResult(::basictl::tl_ostream & s, ::tl2::service2::SetObjectTtl& item, ::tl2::True& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2_double.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2_double.h new file mode 100644 index 00000000..c10f5b95 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2_double.h @@ -0,0 +1,15 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/double.h" + +namespace tl2 { namespace details { + +void BuiltinTupleDoubleReset(std::vector& item); + +bool BuiltinTupleDoubleWriteJSON(std::ostream & s, const std::vector& item, uint32_t nat_n); +bool BuiltinTupleDoubleRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); +bool BuiltinTupleDoubleWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2_tuple.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2_tuple.h new file mode 100644 index 00000000..980dabbd --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/headers/service2_tuple.h @@ -0,0 +1,31 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/tuple.h" +#include "../types/service2.deltaSet.h" +#include "../../__common_namespace/types/double.h" + +namespace tl2 { namespace details { + +void TupleDoubleReset(std::vector& item); + +bool TupleDoubleWriteJSON(std::ostream& s, const std::vector& item, uint32_t nat_n); +bool TupleDoubleRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); +bool TupleDoubleWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); +bool TupleDoubleReadBoxed(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); +bool TupleDoubleWriteBoxed(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void TupleService2DeltaSetReset(std::vector<::tl2::service2::DeltaSet>& item); + +bool TupleService2DeltaSetWriteJSON(std::ostream& s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); +bool TupleService2DeltaSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); +bool TupleService2DeltaSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); +bool TupleService2DeltaSetReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); +bool TupleService2DeltaSetWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/types/service2.counterSet.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/types/service2.counterSet.h new file mode 100644 index 00000000..de37919b --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/types/service2.counterSet.h @@ -0,0 +1,24 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service2 { +struct CounterSet { + std::vector intCounters; + std::vector floatCounters; + + std::string_view tl_name() const { return "service2.counterSet"; } + uint32_t tl_tag() const { return 0xf5403fd9; } + + bool write_json(std::ostream& s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const; + + bool read(::basictl::tl_istream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); + bool write(::basictl::tl_ostream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const; + + bool read_boxed(::basictl::tl_istream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); + bool write_boxed(::basictl::tl_ostream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const; +}; + +}} // namespace tl2::service2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/types/service2.deltaSet.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/types/service2.deltaSet.h new file mode 100644 index 00000000..0a2abe7f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/types/service2.deltaSet.h @@ -0,0 +1,26 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "service2.objectId.h" +#include "service2.counterSet.h" + + +namespace tl2 { namespace service2 { +struct DeltaSet { + ::tl2::service2::ObjectId id{}; + ::tl2::service2::CounterSet counters{}; + + std::string_view tl_name() const { return "service2.deltaSet"; } + uint32_t tl_tag() const { return 0xbf49abc2; } + + bool write_json(std::ostream& s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const; + + bool read(::basictl::tl_istream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); + bool write(::basictl::tl_ostream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const; + + bool read_boxed(::basictl::tl_istream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); + bool write_boxed(::basictl::tl_ostream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const; +}; + +}} // namespace tl2::service2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/types/service2.objectId.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/types/service2.objectId.h new file mode 100644 index 00000000..c0076f44 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/types/service2.objectId.h @@ -0,0 +1,23 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service2 { +struct ObjectId { + std::vector id; + + std::string_view tl_name() const { return "service2.objectId"; } + uint32_t tl_tag() const { return 0xaa0af282; } + + bool write_json(std::ostream& s, uint32_t nat_objectIdLength)const; + + bool read(::basictl::tl_istream & s, uint32_t nat_objectIdLength); + bool write(::basictl::tl_ostream & s, uint32_t nat_objectIdLength)const; + + bool read_boxed(::basictl::tl_istream & s, uint32_t nat_objectIdLength); + bool write_boxed(::basictl::tl_ostream & s, uint32_t nat_objectIdLength)const; +}; + +}} // namespace tl2::service2 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/details.cpp new file mode 100644 index 00000000..313054c9 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/details.cpp @@ -0,0 +1,2548 @@ +#include "headers/service3_vector.h" +#include "headers/service3.setLimits.h" +#include "headers/service3.setLastVisitTimestamp.h" +#include "headers/service3.restoreProduct.h" +#include "headers/service3.restoreGroupedProducts.h" +#include "headers/service3.restoreAllProducts.h" +#include "headers/service3.productStatsOld.h" +#include "headers/service3.product.h" +#include "headers/service3.limits.h" +#include "headers/service3.groupSizeLimit.h" +#include "headers/service3.groupCountLimit.h" +#include "headers/service3.getScheduledProducts.h" +#include "headers/service3.getProducts.h" +#include "headers/service3.getProductStats.h" +#include "headers/service3.getLimits.h" +#include "headers/service3.getLastVisitTimestamp.h" +#include "headers/service3.deleteProduct.h" +#include "headers/service3.deleteGroupedProducts.h" +#include "headers/service3.deleteAllProducts.h" +#include "headers/service3.createProduct.h" +#include "../__common_namespace/headers/int.h" +#include "headers/service3_boolStat.h" +#include "../__common_namespace/headers/Bool.h" + + +bool tl2::BoolStat::write_json(std::ostream& s)const { + if (!::tl2::details::BoolStatWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::BoolStat::read(::basictl::tl_istream & s) { + if (!::tl2::details::BoolStatRead(s, *this)) { return false; } + return true; +} + +bool tl2::BoolStat::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoolStatWrite(s, *this)) { return false; } + return true; +} + +bool tl2::BoolStat::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::BoolStatReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::BoolStat::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::BoolStatWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::BoolStatReset(::tl2::BoolStat& item) { + item.statTrue = 0; + item.statFalse = 0; + item.statUnknown = 0; +} + +bool tl2::details::BoolStatWriteJSON(std::ostream& s, const ::tl2::BoolStat& item) { + auto add_comma = false; + s << "{"; + if (item.statTrue != 0) { + add_comma = true; + s << "\"statTrue\":"; + s << item.statTrue; + } + if (item.statFalse != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"statFalse\":"; + s << item.statFalse; + } + if (item.statUnknown != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"statUnknown\":"; + s << item.statUnknown; + } + s << "}"; + return true; +} + +bool tl2::details::BoolStatRead(::basictl::tl_istream & s, ::tl2::BoolStat& item) { + if (!s.int_read(item.statTrue)) { return false; } + if (!s.int_read(item.statFalse)) { return false; } + if (!s.int_read(item.statUnknown)) { return false; } + return true; +} + +bool tl2::details::BoolStatWrite(::basictl::tl_ostream & s, const ::tl2::BoolStat& item) { + if (!s.int_write(item.statTrue)) { return false;} + if (!s.int_write(item.statFalse)) { return false;} + if (!s.int_write(item.statUnknown)) { return false;} + return true; +} + +bool tl2::details::BoolStatReadBoxed(::basictl::tl_istream & s, ::tl2::BoolStat& item) { + if (!s.nat_read_exact_tag(0x92cbcbfa)) { return false; } + return tl2::details::BoolStatRead(s, item); +} + +bool tl2::details::BoolStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoolStat& item) { + if (!s.nat_write(0x92cbcbfa)) { return false; } + return tl2::details::BoolStatWrite(s, item); +} + +void tl2::details::BuiltinVectorService3GroupCountLimitReset(std::vector<::tl2::service3::GroupCountLimit>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorService3GroupCountLimitWriteJSON(std::ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::Service3GroupCountLimitWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorService3GroupCountLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupCountLimit>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::Service3GroupCountLimitRead(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorService3GroupCountLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::Service3GroupCountLimitWrite(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorService3GroupSizeLimitReset(std::vector<::tl2::service3::GroupSizeLimit>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorService3GroupSizeLimitWriteJSON(std::ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::Service3GroupSizeLimitWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorService3GroupSizeLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupSizeLimit>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::Service3GroupSizeLimitRead(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorService3GroupSizeLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::Service3GroupSizeLimitWrite(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorService3ProductReset(std::vector<::tl2::service3::Product>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorService3ProductWriteJSON(std::ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::Service3ProductWriteJSON(s, el, nat_t)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorService3ProductRead(::basictl::tl_istream & s, std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::Service3ProductRead(s, el, nat_t)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorService3ProductWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::Service3ProductWrite(s, el, nat_t)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorService3Product0Reset(std::vector<::tl2::service3::Productmode<0>>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorService3Product0WriteJSON(std::ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::Service3Product0WriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorService3Product0Read(::basictl::tl_istream & s, std::vector<::tl2::service3::Productmode<0>>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::Service3Product0Read(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorService3Product0Write(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::Service3Product0Write(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorService3ProductStatsOldReset(std::vector<::tl2::service3::ProductStatsOld>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorService3ProductStatsOldWriteJSON(std::ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::Service3ProductStatsOldWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorService3ProductStatsOldRead(::basictl::tl_istream & s, std::vector<::tl2::service3::ProductStatsOld>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::Service3ProductStatsOldRead(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorService3ProductStatsOldWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::Service3ProductStatsOldWrite(s, el)) { return false; } + } + return true; +} + +bool tl2::service3::CreateProduct::write_json(std::ostream& s)const { + if (!::tl2::details::Service3CreateProductWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::CreateProduct::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3CreateProductRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::CreateProduct::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3CreateProductWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::CreateProduct::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3CreateProductReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::CreateProduct::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3CreateProductWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3CreateProductReset(::tl2::service3::CreateProduct& item) { + item.user_id = 0; + item.type = 0; + item.id.clear(); + item.info.clear(); + item.date = 0; + item.expiration_date = 0; +} + +bool tl2::details::Service3CreateProductWriteJSON(std::ostream& s, const ::tl2::service3::CreateProduct& item) { + auto add_comma = false; + s << "{"; + if (item.user_id != 0) { + add_comma = true; + s << "\"user_id\":"; + s << item.user_id; + } + if (item.type != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } + } + if (item.info.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"info\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.info)) { return false; } + } + if (item.date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"date\":"; + s << item.date; + } + if (item.expiration_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"expiration_date\":"; + s << item.expiration_date; + } + s << "}"; + return true; +} + +bool tl2::details::Service3CreateProductRead(::basictl::tl_istream & s, ::tl2::service3::CreateProduct& item) { + if (!s.int_read(item.user_id)) { return false; } + if (!s.int_read(item.type)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.info)) { return false; } + if (!s.int_read(item.date)) { return false; } + if (!s.int_read(item.expiration_date)) { return false; } + return true; +} + +bool tl2::details::Service3CreateProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::CreateProduct& item) { + if (!s.int_write(item.user_id)) { return false;} + if (!s.int_write(item.type)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } + if (!::tl2::details::BuiltinVectorIntWrite(s, item.info)) { return false; } + if (!s.int_write(item.date)) { return false;} + if (!s.int_write(item.expiration_date)) { return false;} + return true; +} + +bool tl2::details::Service3CreateProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::CreateProduct& item) { + if (!s.nat_read_exact_tag(0xb7d92bd9)) { return false; } + return tl2::details::Service3CreateProductRead(s, item); +} + +bool tl2::details::Service3CreateProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::CreateProduct& item) { + if (!s.nat_write(0xb7d92bd9)) { return false; } + return tl2::details::Service3CreateProductWrite(s, item); +} + +bool tl2::details::Service3CreateProductReadResult(::basictl::tl_istream & s, tl2::service3::CreateProduct& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3CreateProductWriteResult(::basictl::tl_ostream & s, tl2::service3::CreateProduct& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::CreateProduct::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service3CreateProductReadResult(s, *this, result); +} +bool tl2::service3::CreateProduct::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service3CreateProductWriteResult(s, *this, result); +} + +bool tl2::service3::DeleteAllProducts::write_json(std::ostream& s)const { + if (!::tl2::details::Service3DeleteAllProductsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::DeleteAllProducts::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3DeleteAllProductsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::DeleteAllProducts::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3DeleteAllProductsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::DeleteAllProducts::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3DeleteAllProductsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::DeleteAllProducts::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3DeleteAllProductsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3DeleteAllProductsReset(::tl2::service3::DeleteAllProducts& item) { + item.user_id = 0; + item.type = 0; + item.start_date = 0; + item.end_date = 0; +} + +bool tl2::details::Service3DeleteAllProductsWriteJSON(std::ostream& s, const ::tl2::service3::DeleteAllProducts& item) { + auto add_comma = false; + s << "{"; + if (item.user_id != 0) { + add_comma = true; + s << "\"user_id\":"; + s << item.user_id; + } + if (item.type != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.start_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"start_date\":"; + s << item.start_date; + } + if (item.end_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"end_date\":"; + s << item.end_date; + } + s << "}"; + return true; +} + +bool tl2::details::Service3DeleteAllProductsRead(::basictl::tl_istream & s, ::tl2::service3::DeleteAllProducts& item) { + if (!s.int_read(item.user_id)) { return false; } + if (!s.int_read(item.type)) { return false; } + if (!s.int_read(item.start_date)) { return false; } + if (!s.int_read(item.end_date)) { return false; } + return true; +} + +bool tl2::details::Service3DeleteAllProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::DeleteAllProducts& item) { + if (!s.int_write(item.user_id)) { return false;} + if (!s.int_write(item.type)) { return false;} + if (!s.int_write(item.start_date)) { return false;} + if (!s.int_write(item.end_date)) { return false;} + return true; +} + +bool tl2::details::Service3DeleteAllProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::DeleteAllProducts& item) { + if (!s.nat_read_exact_tag(0x4494acc2)) { return false; } + return tl2::details::Service3DeleteAllProductsRead(s, item); +} + +bool tl2::details::Service3DeleteAllProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::DeleteAllProducts& item) { + if (!s.nat_write(0x4494acc2)) { return false; } + return tl2::details::Service3DeleteAllProductsWrite(s, item); +} + +bool tl2::details::Service3DeleteAllProductsReadResult(::basictl::tl_istream & s, tl2::service3::DeleteAllProducts& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3DeleteAllProductsWriteResult(::basictl::tl_ostream & s, tl2::service3::DeleteAllProducts& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::DeleteAllProducts::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service3DeleteAllProductsReadResult(s, *this, result); +} +bool tl2::service3::DeleteAllProducts::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service3DeleteAllProductsWriteResult(s, *this, result); +} + +bool tl2::service3::DeleteGroupedProducts::write_json(std::ostream& s)const { + if (!::tl2::details::Service3DeleteGroupedProductsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::DeleteGroupedProducts::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3DeleteGroupedProductsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::DeleteGroupedProducts::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3DeleteGroupedProductsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::DeleteGroupedProducts::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3DeleteGroupedProductsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::DeleteGroupedProducts::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3DeleteGroupedProductsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3DeleteGroupedProductsReset(::tl2::service3::DeleteGroupedProducts& item) { + item.user_id = 0; + item.type = 0; + item.id.clear(); + item.start_date = 0; + item.end_date = 0; +} + +bool tl2::details::Service3DeleteGroupedProductsWriteJSON(std::ostream& s, const ::tl2::service3::DeleteGroupedProducts& item) { + auto add_comma = false; + s << "{"; + if (item.user_id != 0) { + add_comma = true; + s << "\"user_id\":"; + s << item.user_id; + } + if (item.type != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } + } + if (item.start_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"start_date\":"; + s << item.start_date; + } + if (item.end_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"end_date\":"; + s << item.end_date; + } + s << "}"; + return true; +} + +bool tl2::details::Service3DeleteGroupedProductsRead(::basictl::tl_istream & s, ::tl2::service3::DeleteGroupedProducts& item) { + if (!s.int_read(item.user_id)) { return false; } + if (!s.int_read(item.type)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } + if (!s.int_read(item.start_date)) { return false; } + if (!s.int_read(item.end_date)) { return false; } + return true; +} + +bool tl2::details::Service3DeleteGroupedProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::DeleteGroupedProducts& item) { + if (!s.int_write(item.user_id)) { return false;} + if (!s.int_write(item.type)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } + if (!s.int_write(item.start_date)) { return false;} + if (!s.int_write(item.end_date)) { return false;} + return true; +} + +bool tl2::details::Service3DeleteGroupedProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::DeleteGroupedProducts& item) { + if (!s.nat_read_exact_tag(0xe468e614)) { return false; } + return tl2::details::Service3DeleteGroupedProductsRead(s, item); +} + +bool tl2::details::Service3DeleteGroupedProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::DeleteGroupedProducts& item) { + if (!s.nat_write(0xe468e614)) { return false; } + return tl2::details::Service3DeleteGroupedProductsWrite(s, item); +} + +bool tl2::details::Service3DeleteGroupedProductsReadResult(::basictl::tl_istream & s, tl2::service3::DeleteGroupedProducts& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3DeleteGroupedProductsWriteResult(::basictl::tl_ostream & s, tl2::service3::DeleteGroupedProducts& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::DeleteGroupedProducts::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service3DeleteGroupedProductsReadResult(s, *this, result); +} +bool tl2::service3::DeleteGroupedProducts::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service3DeleteGroupedProductsWriteResult(s, *this, result); +} + +bool tl2::service3::DeleteProduct::write_json(std::ostream& s)const { + if (!::tl2::details::Service3DeleteProductWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::DeleteProduct::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3DeleteProductRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::DeleteProduct::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3DeleteProductWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::DeleteProduct::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3DeleteProductReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::DeleteProduct::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3DeleteProductWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3DeleteProductReset(::tl2::service3::DeleteProduct& item) { + item.user_id = 0; + item.type = 0; + item.id.clear(); + item.info.clear(); +} + +bool tl2::details::Service3DeleteProductWriteJSON(std::ostream& s, const ::tl2::service3::DeleteProduct& item) { + auto add_comma = false; + s << "{"; + if (item.user_id != 0) { + add_comma = true; + s << "\"user_id\":"; + s << item.user_id; + } + if (item.type != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } + } + if (item.info.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"info\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.info)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service3DeleteProductRead(::basictl::tl_istream & s, ::tl2::service3::DeleteProduct& item) { + if (!s.int_read(item.user_id)) { return false; } + if (!s.int_read(item.type)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.info)) { return false; } + return true; +} + +bool tl2::details::Service3DeleteProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::DeleteProduct& item) { + if (!s.int_write(item.user_id)) { return false;} + if (!s.int_write(item.type)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } + if (!::tl2::details::BuiltinVectorIntWrite(s, item.info)) { return false; } + return true; +} + +bool tl2::details::Service3DeleteProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::DeleteProduct& item) { + if (!s.nat_read_exact_tag(0x6867e707)) { return false; } + return tl2::details::Service3DeleteProductRead(s, item); +} + +bool tl2::details::Service3DeleteProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::DeleteProduct& item) { + if (!s.nat_write(0x6867e707)) { return false; } + return tl2::details::Service3DeleteProductWrite(s, item); +} + +bool tl2::details::Service3DeleteProductReadResult(::basictl::tl_istream & s, tl2::service3::DeleteProduct& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3DeleteProductWriteResult(::basictl::tl_ostream & s, tl2::service3::DeleteProduct& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::DeleteProduct::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service3DeleteProductReadResult(s, *this, result); +} +bool tl2::service3::DeleteProduct::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service3DeleteProductWriteResult(s, *this, result); +} + +bool tl2::service3::GetLastVisitTimestamp::write_json(std::ostream& s)const { + if (!::tl2::details::Service3GetLastVisitTimestampWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetLastVisitTimestamp::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GetLastVisitTimestampRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetLastVisitTimestamp::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GetLastVisitTimestampWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetLastVisitTimestamp::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GetLastVisitTimestampReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetLastVisitTimestamp::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GetLastVisitTimestampWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3GetLastVisitTimestampReset(::tl2::service3::GetLastVisitTimestamp& item) { + item.user_id = 0; +} + +bool tl2::details::Service3GetLastVisitTimestampWriteJSON(std::ostream& s, const ::tl2::service3::GetLastVisitTimestamp& item) { + s << "{"; + if (item.user_id != 0) { + s << "\"user_id\":"; + s << item.user_id; + } + s << "}"; + return true; +} + +bool tl2::details::Service3GetLastVisitTimestampRead(::basictl::tl_istream & s, ::tl2::service3::GetLastVisitTimestamp& item) { + if (!s.int_read(item.user_id)) { return false; } + return true; +} + +bool tl2::details::Service3GetLastVisitTimestampWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetLastVisitTimestamp& item) { + if (!s.int_write(item.user_id)) { return false;} + return true; +} + +bool tl2::details::Service3GetLastVisitTimestampReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetLastVisitTimestamp& item) { + if (!s.nat_read_exact_tag(0x9a4c788d)) { return false; } + return tl2::details::Service3GetLastVisitTimestampRead(s, item); +} + +bool tl2::details::Service3GetLastVisitTimestampWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetLastVisitTimestamp& item) { + if (!s.nat_write(0x9a4c788d)) { return false; } + return tl2::details::Service3GetLastVisitTimestampWrite(s, item); +} + +bool tl2::details::Service3GetLastVisitTimestampReadResult(::basictl::tl_istream & s, tl2::service3::GetLastVisitTimestamp& item, std::optional& result) { + if (!::tl2::details::IntMaybeReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3GetLastVisitTimestampWriteResult(::basictl::tl_ostream & s, tl2::service3::GetLastVisitTimestamp& item, std::optional& result) { + if (!::tl2::details::IntMaybeWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::GetLastVisitTimestamp::read_result(::basictl::tl_istream & s, std::optional & result) { + return tl2::details::Service3GetLastVisitTimestampReadResult(s, *this, result); +} +bool tl2::service3::GetLastVisitTimestamp::write_result(::basictl::tl_ostream & s, std::optional & result) { + return tl2::details::Service3GetLastVisitTimestampWriteResult(s, *this, result); +} + +bool tl2::service3::GetLimits::write_json(std::ostream& s)const { + if (!::tl2::details::Service3GetLimitsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetLimits::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GetLimitsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetLimits::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GetLimitsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetLimits::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GetLimitsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetLimits::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GetLimitsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3GetLimitsReset(::tl2::service3::GetLimits& item) { +} + +bool tl2::details::Service3GetLimitsWriteJSON(std::ostream& s, const ::tl2::service3::GetLimits& item) { + s << "true"; + return true; +} + +bool tl2::details::Service3GetLimitsRead(::basictl::tl_istream & s, ::tl2::service3::GetLimits& item) { + return true; +} + +bool tl2::details::Service3GetLimitsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetLimits& item) { + return true; +} + +bool tl2::details::Service3GetLimitsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetLimits& item) { + if (!s.nat_read_exact_tag(0xeb399467)) { return false; } + return tl2::details::Service3GetLimitsRead(s, item); +} + +bool tl2::details::Service3GetLimitsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetLimits& item) { + if (!s.nat_write(0xeb399467)) { return false; } + return tl2::details::Service3GetLimitsWrite(s, item); +} + +bool tl2::details::Service3GetLimitsReadResult(::basictl::tl_istream & s, tl2::service3::GetLimits& item, ::tl2::service3::Limits& result) { + if (!::tl2::details::Service3LimitsReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3GetLimitsWriteResult(::basictl::tl_ostream & s, tl2::service3::GetLimits& item, ::tl2::service3::Limits& result) { + if (!::tl2::details::Service3LimitsWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::GetLimits::read_result(::basictl::tl_istream & s, ::tl2::service3::Limits & result) { + return tl2::details::Service3GetLimitsReadResult(s, *this, result); +} +bool tl2::service3::GetLimits::write_result(::basictl::tl_ostream & s, ::tl2::service3::Limits & result) { + return tl2::details::Service3GetLimitsWriteResult(s, *this, result); +} + +bool tl2::service3::GetProductStats::write_json(std::ostream& s)const { + if (!::tl2::details::Service3GetProductStatsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetProductStats::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GetProductStatsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetProductStats::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GetProductStatsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetProductStats::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GetProductStatsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetProductStats::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GetProductStatsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3GetProductStatsReset(::tl2::service3::GetProductStats& item) { + item.user_id = 0; + item.types.clear(); +} + +bool tl2::details::Service3GetProductStatsWriteJSON(std::ostream& s, const ::tl2::service3::GetProductStats& item) { + auto add_comma = false; + s << "{"; + if (item.user_id != 0) { + add_comma = true; + s << "\"user_id\":"; + s << item.user_id; + } + if (item.types.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"types\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.types)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service3GetProductStatsRead(::basictl::tl_istream & s, ::tl2::service3::GetProductStats& item) { + if (!s.int_read(item.user_id)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.types)) { return false; } + return true; +} + +bool tl2::details::Service3GetProductStatsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetProductStats& item) { + if (!s.int_write(item.user_id)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.types)) { return false; } + return true; +} + +bool tl2::details::Service3GetProductStatsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetProductStats& item) { + if (!s.nat_read_exact_tag(0x261f6898)) { return false; } + return tl2::details::Service3GetProductStatsRead(s, item); +} + +bool tl2::details::Service3GetProductStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetProductStats& item) { + if (!s.nat_write(0x261f6898)) { return false; } + return tl2::details::Service3GetProductStatsWrite(s, item); +} + +bool tl2::details::Service3GetProductStatsReadResult(::basictl::tl_istream & s, tl2::service3::GetProductStats& item, std::optional>& result) { + if (!::tl2::details::VectorService3ProductStatsOldMaybeReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3GetProductStatsWriteResult(::basictl::tl_ostream & s, tl2::service3::GetProductStats& item, std::optional>& result) { + if (!::tl2::details::VectorService3ProductStatsOldMaybeWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::GetProductStats::read_result(::basictl::tl_istream & s, std::optional> & result) { + return tl2::details::Service3GetProductStatsReadResult(s, *this, result); +} +bool tl2::service3::GetProductStats::write_result(::basictl::tl_ostream & s, std::optional> & result) { + return tl2::details::Service3GetProductStatsWriteResult(s, *this, result); +} + +bool tl2::service3::GetProducts::write_json(std::ostream& s)const { + if (!::tl2::details::Service3GetProductsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetProducts::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GetProductsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetProducts::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GetProductsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetProducts::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GetProductsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetProducts::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GetProductsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3GetProductsReset(::tl2::service3::GetProducts& item) { + item.user_id = 0; + item.mode = 0; + item.types.clear(); + item.start_date = 0; + item.end_date = 0; + item.offset = 0; + item.limit = 0; + item.allowed_info0.clear(); +} + +bool tl2::details::Service3GetProductsWriteJSON(std::ostream& s, const ::tl2::service3::GetProducts& item) { + auto add_comma = false; + s << "{"; + if (item.user_id != 0) { + add_comma = true; + s << "\"user_id\":"; + s << item.user_id; + } + if (item.mode != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"mode\":"; + s << item.mode; + } + if (item.types.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"types\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.types)) { return false; } + } + if (item.start_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"start_date\":"; + s << item.start_date; + } + if (item.end_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"end_date\":"; + s << item.end_date; + } + if (item.offset != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"offset\":"; + s << item.offset; + } + if (item.limit != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"limit\":"; + s << item.limit; + } + if (item.allowed_info0.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"allowed_info0\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.allowed_info0)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service3GetProductsRead(::basictl::tl_istream & s, ::tl2::service3::GetProducts& item) { + if (!s.int_read(item.user_id)) { return false; } + if (!s.nat_read(item.mode)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.types)) { return false; } + if (!s.int_read(item.start_date)) { return false; } + if (!s.int_read(item.end_date)) { return false; } + if (!s.int_read(item.offset)) { return false; } + if (!s.int_read(item.limit)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.allowed_info0)) { return false; } + return true; +} + +bool tl2::details::Service3GetProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetProducts& item) { + if (!s.int_write(item.user_id)) { return false;} + if (!s.nat_write(item.mode)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.types)) { return false; } + if (!s.int_write(item.start_date)) { return false;} + if (!s.int_write(item.end_date)) { return false;} + if (!s.int_write(item.offset)) { return false;} + if (!s.int_write(item.limit)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.allowed_info0)) { return false; } + return true; +} + +bool tl2::details::Service3GetProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetProducts& item) { + if (!s.nat_read_exact_tag(0xeb306233)) { return false; } + return tl2::details::Service3GetProductsRead(s, item); +} + +bool tl2::details::Service3GetProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetProducts& item) { + if (!s.nat_write(0xeb306233)) { return false; } + return tl2::details::Service3GetProductsWrite(s, item); +} + +bool tl2::details::Service3GetProductsReadResult(::basictl::tl_istream & s, tl2::service3::GetProducts& item, std::optional>& result) { + if (!::tl2::details::VectorService3ProductMaybeReadBoxed(s, result, item.mode)) { return false; } + return true; +} +bool tl2::details::Service3GetProductsWriteResult(::basictl::tl_ostream & s, tl2::service3::GetProducts& item, std::optional>& result) { + if (!::tl2::details::VectorService3ProductMaybeWriteBoxed(s, result, item.mode)) { return false; } + return true; +} + +bool tl2::service3::GetProducts::read_result(::basictl::tl_istream & s, std::optional> & result) { + return tl2::details::Service3GetProductsReadResult(s, *this, result); +} +bool tl2::service3::GetProducts::write_result(::basictl::tl_ostream & s, std::optional> & result) { + return tl2::details::Service3GetProductsWriteResult(s, *this, result); +} + +bool tl2::service3::GetScheduledProducts::write_json(std::ostream& s)const { + if (!::tl2::details::Service3GetScheduledProductsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetScheduledProducts::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GetScheduledProductsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetScheduledProducts::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GetScheduledProductsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetScheduledProducts::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GetScheduledProductsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GetScheduledProducts::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GetScheduledProductsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3GetScheduledProductsReset(::tl2::service3::GetScheduledProducts& item) { + item.user_id = 0; + item.types.clear(); +} + +bool tl2::details::Service3GetScheduledProductsWriteJSON(std::ostream& s, const ::tl2::service3::GetScheduledProducts& item) { + auto add_comma = false; + s << "{"; + if (item.user_id != 0) { + add_comma = true; + s << "\"user_id\":"; + s << item.user_id; + } + if (item.types.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"types\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.types)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service3GetScheduledProductsRead(::basictl::tl_istream & s, ::tl2::service3::GetScheduledProducts& item) { + if (!s.int_read(item.user_id)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.types)) { return false; } + return true; +} + +bool tl2::details::Service3GetScheduledProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetScheduledProducts& item) { + if (!s.int_write(item.user_id)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.types)) { return false; } + return true; +} + +bool tl2::details::Service3GetScheduledProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetScheduledProducts& item) { + if (!s.nat_read_exact_tag(0xf53ad7bd)) { return false; } + return tl2::details::Service3GetScheduledProductsRead(s, item); +} + +bool tl2::details::Service3GetScheduledProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetScheduledProducts& item) { + if (!s.nat_write(0xf53ad7bd)) { return false; } + return tl2::details::Service3GetScheduledProductsWrite(s, item); +} + +bool tl2::details::Service3GetScheduledProductsReadResult(::basictl::tl_istream & s, tl2::service3::GetScheduledProducts& item, std::optional>>& result) { + if (!::tl2::details::VectorService3Product0MaybeReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3GetScheduledProductsWriteResult(::basictl::tl_ostream & s, tl2::service3::GetScheduledProducts& item, std::optional>>& result) { + if (!::tl2::details::VectorService3Product0MaybeWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::GetScheduledProducts::read_result(::basictl::tl_istream & s, std::optional>> & result) { + return tl2::details::Service3GetScheduledProductsReadResult(s, *this, result); +} +bool tl2::service3::GetScheduledProducts::write_result(::basictl::tl_ostream & s, std::optional>> & result) { + return tl2::details::Service3GetScheduledProductsWriteResult(s, *this, result); +} + +bool tl2::service3::GroupCountLimit::write_json(std::ostream& s)const { + if (!::tl2::details::Service3GroupCountLimitWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GroupCountLimit::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GroupCountLimitRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GroupCountLimit::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GroupCountLimitWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GroupCountLimit::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GroupCountLimitReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GroupCountLimit::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GroupCountLimitWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3GroupCountLimitReset(::tl2::service3::GroupCountLimit& item) { + item.types.clear(); + item.limit = 0; +} + +bool tl2::details::Service3GroupCountLimitWriteJSON(std::ostream& s, const ::tl2::service3::GroupCountLimit& item) { + auto add_comma = false; + s << "{"; + if (item.types.size() != 0) { + add_comma = true; + s << "\"types\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.types)) { return false; } + } + if (item.limit != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"limit\":"; + s << item.limit; + } + s << "}"; + return true; +} + +bool tl2::details::Service3GroupCountLimitRead(::basictl::tl_istream & s, ::tl2::service3::GroupCountLimit& item) { + if (!::tl2::details::BuiltinVectorIntRead(s, item.types)) { return false; } + if (!s.int_read(item.limit)) { return false; } + return true; +} + +bool tl2::details::Service3GroupCountLimitWrite(::basictl::tl_ostream & s, const ::tl2::service3::GroupCountLimit& item) { + if (!::tl2::details::BuiltinVectorIntWrite(s, item.types)) { return false; } + if (!s.int_write(item.limit)) { return false;} + return true; +} + +bool tl2::details::Service3GroupCountLimitReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GroupCountLimit& item) { + if (!s.nat_read_exact_tag(0x8c04ea7f)) { return false; } + return tl2::details::Service3GroupCountLimitRead(s, item); +} + +bool tl2::details::Service3GroupCountLimitWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GroupCountLimit& item) { + if (!s.nat_write(0x8c04ea7f)) { return false; } + return tl2::details::Service3GroupCountLimitWrite(s, item); +} + +bool tl2::service3::GroupSizeLimit::write_json(std::ostream& s)const { + if (!::tl2::details::Service3GroupSizeLimitWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GroupSizeLimit::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GroupSizeLimitRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GroupSizeLimit::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GroupSizeLimitWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GroupSizeLimit::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3GroupSizeLimitReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::GroupSizeLimit::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3GroupSizeLimitWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3GroupSizeLimitReset(::tl2::service3::GroupSizeLimit& item) { + item.type = 0; + item.limit = 0; +} + +bool tl2::details::Service3GroupSizeLimitWriteJSON(std::ostream& s, const ::tl2::service3::GroupSizeLimit& item) { + auto add_comma = false; + s << "{"; + if (item.type != 0) { + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.limit != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"limit\":"; + s << item.limit; + } + s << "}"; + return true; +} + +bool tl2::details::Service3GroupSizeLimitRead(::basictl::tl_istream & s, ::tl2::service3::GroupSizeLimit& item) { + if (!s.int_read(item.type)) { return false; } + if (!s.int_read(item.limit)) { return false; } + return true; +} + +bool tl2::details::Service3GroupSizeLimitWrite(::basictl::tl_ostream & s, const ::tl2::service3::GroupSizeLimit& item) { + if (!s.int_write(item.type)) { return false;} + if (!s.int_write(item.limit)) { return false;} + return true; +} + +bool tl2::details::Service3GroupSizeLimitReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GroupSizeLimit& item) { + if (!s.nat_read_exact_tag(0x90e59396)) { return false; } + return tl2::details::Service3GroupSizeLimitRead(s, item); +} + +bool tl2::details::Service3GroupSizeLimitWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GroupSizeLimit& item) { + if (!s.nat_write(0x90e59396)) { return false; } + return tl2::details::Service3GroupSizeLimitWrite(s, item); +} + +bool tl2::service3::Limits::write_json(std::ostream& s)const { + if (!::tl2::details::Service3LimitsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::Limits::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3LimitsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::Limits::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3LimitsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::Limits::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3LimitsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::Limits::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3LimitsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3LimitsReset(::tl2::service3::Limits& item) { + item.default_group_size_limit = 0; + item.custom_group_size_limits.clear(); + item.default_group_count_limit = 0; + item.custom_group_count_limits.clear(); +} + +bool tl2::details::Service3LimitsWriteJSON(std::ostream& s, const ::tl2::service3::Limits& item) { + auto add_comma = false; + s << "{"; + if (item.default_group_size_limit != 0) { + add_comma = true; + s << "\"default_group_size_limit\":"; + s << item.default_group_size_limit; + } + if (item.custom_group_size_limits.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"custom_group_size_limits\":"; + if (!::tl2::details::BuiltinVectorService3GroupSizeLimitWriteJSON(s, item.custom_group_size_limits)) { return false; } + } + if (item.default_group_count_limit != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"default_group_count_limit\":"; + s << item.default_group_count_limit; + } + if (item.custom_group_count_limits.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"custom_group_count_limits\":"; + if (!::tl2::details::BuiltinVectorService3GroupCountLimitWriteJSON(s, item.custom_group_count_limits)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service3LimitsRead(::basictl::tl_istream & s, ::tl2::service3::Limits& item) { + if (!s.int_read(item.default_group_size_limit)) { return false; } + if (!::tl2::details::BuiltinVectorService3GroupSizeLimitRead(s, item.custom_group_size_limits)) { return false; } + if (!s.int_read(item.default_group_count_limit)) { return false; } + if (!::tl2::details::BuiltinVectorService3GroupCountLimitRead(s, item.custom_group_count_limits)) { return false; } + return true; +} + +bool tl2::details::Service3LimitsWrite(::basictl::tl_ostream & s, const ::tl2::service3::Limits& item) { + if (!s.int_write(item.default_group_size_limit)) { return false;} + if (!::tl2::details::BuiltinVectorService3GroupSizeLimitWrite(s, item.custom_group_size_limits)) { return false; } + if (!s.int_write(item.default_group_count_limit)) { return false;} + if (!::tl2::details::BuiltinVectorService3GroupCountLimitWrite(s, item.custom_group_count_limits)) { return false; } + return true; +} + +bool tl2::details::Service3LimitsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::Limits& item) { + if (!s.nat_read_exact_tag(0x80ee61ca)) { return false; } + return tl2::details::Service3LimitsRead(s, item); +} + +bool tl2::details::Service3LimitsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::Limits& item) { + if (!s.nat_write(0x80ee61ca)) { return false; } + return tl2::details::Service3LimitsWrite(s, item); +} + +bool tl2::service3::Product::write_json(std::ostream& s, uint32_t nat_mode)const { + if (!::tl2::details::Service3ProductWriteJSON(s, *this, nat_mode)) { return false; } + return true; +} + +bool tl2::service3::Product::read(::basictl::tl_istream & s, uint32_t nat_mode) { + if (!::tl2::details::Service3ProductRead(s, *this, nat_mode)) { return false; } + return true; +} + +bool tl2::service3::Product::write(::basictl::tl_ostream & s, uint32_t nat_mode)const { + if (!::tl2::details::Service3ProductWrite(s, *this, nat_mode)) { return false; } + return true; +} + +bool tl2::service3::Product::read_boxed(::basictl::tl_istream & s, uint32_t nat_mode) { + if (!::tl2::details::Service3ProductReadBoxed(s, *this, nat_mode)) { return false; } + return true; +} + +bool tl2::service3::Product::write_boxed(::basictl::tl_ostream & s, uint32_t nat_mode)const { + if (!::tl2::details::Service3ProductWriteBoxed(s, *this, nat_mode)) { return false; } + return true; +} + +void tl2::details::Service3ProductReset(::tl2::service3::Product& item) { + item.type = 0; + item.id.clear(); + item.info.clear(); + item.date = 0; + item.expiration_date = 0; + item.removed = false; +} + +bool tl2::details::Service3ProductWriteJSON(std::ostream& s, const ::tl2::service3::Product& item, uint32_t nat_mode) { + auto add_comma = false; + s << "{"; + if (item.type != 0) { + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } + } + if (item.info.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"info\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.info)) { return false; } + } + if (item.date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"date\":"; + s << item.date; + } + if (item.expiration_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"expiration_date\":"; + s << item.expiration_date; + } + if ((nat_mode & (1<<0)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"removed\":"; + if (!::tl2::details::BoolWriteJSON(s, item.removed)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service3ProductRead(::basictl::tl_istream & s, ::tl2::service3::Product& item, uint32_t nat_mode) { + if (!s.int_read(item.type)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.info)) { return false; } + if (!s.int_read(item.date)) { return false; } + if (!s.int_read(item.expiration_date)) { return false; } + if ((nat_mode & (1<<0)) != 0) { + if (!::tl2::details::BoolReadBoxed(s, item.removed)) { return false; } + } else { + item.removed = false; + } + return true; +} + +bool tl2::details::Service3ProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::Product& item, uint32_t nat_mode) { + if (!s.int_write(item.type)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } + if (!::tl2::details::BuiltinVectorIntWrite(s, item.info)) { return false; } + if (!s.int_write(item.date)) { return false;} + if (!s.int_write(item.expiration_date)) { return false;} + if ((nat_mode & (1<<0)) != 0) { + if (!::tl2::details::BoolWriteBoxed(s, item.removed)) { return false; } + } + return true; +} + +bool tl2::details::Service3ProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::Product& item, uint32_t nat_mode) { + if (!s.nat_read_exact_tag(0x461f4ce2)) { return false; } + return tl2::details::Service3ProductRead(s, item, nat_mode); +} + +bool tl2::details::Service3ProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::Product& item, uint32_t nat_mode) { + if (!s.nat_write(0x461f4ce2)) { return false; } + return tl2::details::Service3ProductWrite(s, item, nat_mode); +} + +void tl2::details::Service3Product0Reset(::tl2::service3::Productmode<0>& item) { + item.type = 0; + item.id.clear(); + item.info.clear(); + item.date = 0; + item.expiration_date = 0; + item.removed = false; +} + +bool tl2::details::Service3Product0WriteJSON(std::ostream& s, const ::tl2::service3::Productmode<0>& item) { + auto add_comma = false; + s << "{"; + if (item.type != 0) { + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } + } + if (item.info.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"info\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.info)) { return false; } + } + if (item.date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"date\":"; + s << item.date; + } + if (item.expiration_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"expiration_date\":"; + s << item.expiration_date; + } + if ((0 & (1<<0)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"removed\":"; + if (!::tl2::details::BoolWriteJSON(s, item.removed)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service3Product0Read(::basictl::tl_istream & s, ::tl2::service3::Productmode<0>& item) { + if (!s.int_read(item.type)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.info)) { return false; } + if (!s.int_read(item.date)) { return false; } + if (!s.int_read(item.expiration_date)) { return false; } + if ((0 & (1<<0)) != 0) { + if (!::tl2::details::BoolReadBoxed(s, item.removed)) { return false; } + } else { + item.removed = false; + } + return true; +} + +bool tl2::details::Service3Product0Write(::basictl::tl_ostream & s, const ::tl2::service3::Productmode<0>& item) { + if (!s.int_write(item.type)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } + if (!::tl2::details::BuiltinVectorIntWrite(s, item.info)) { return false; } + if (!s.int_write(item.date)) { return false;} + if (!s.int_write(item.expiration_date)) { return false;} + if ((0 & (1<<0)) != 0) { + if (!::tl2::details::BoolWriteBoxed(s, item.removed)) { return false; } + } + return true; +} + +bool tl2::details::Service3Product0ReadBoxed(::basictl::tl_istream & s, ::tl2::service3::Productmode<0>& item) { + if (!s.nat_read_exact_tag(0x461f4ce2)) { return false; } + return tl2::details::Service3Product0Read(s, item); +} + +bool tl2::details::Service3Product0WriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::Productmode<0>& item) { + if (!s.nat_write(0x461f4ce2)) { return false; } + return tl2::details::Service3Product0Write(s, item); +} + +bool tl2::service3::ProductStatsOld::write_json(std::ostream& s)const { + if (!::tl2::details::Service3ProductStatsOldWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::ProductStatsOld::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3ProductStatsOldRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::ProductStatsOld::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3ProductStatsOldWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::ProductStatsOld::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3ProductStatsOldReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::ProductStatsOld::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3ProductStatsOldWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3ProductStatsOldReset(::tl2::service3::ProductStatsOld& item) { + item.type = 0; + item.count_new = 0; + item.count_total = 0; + item.count_scheduled = 0; + item.next_scheduled_at = 0; +} + +bool tl2::details::Service3ProductStatsOldWriteJSON(std::ostream& s, const ::tl2::service3::ProductStatsOld& item) { + auto add_comma = false; + s << "{"; + if (item.type != 0) { + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.count_new != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"count_new\":"; + s << item.count_new; + } + if (item.count_total != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"count_total\":"; + s << item.count_total; + } + if (item.count_scheduled != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"count_scheduled\":"; + s << item.count_scheduled; + } + if (item.next_scheduled_at != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"next_scheduled_at\":"; + s << item.next_scheduled_at; + } + s << "}"; + return true; +} + +bool tl2::details::Service3ProductStatsOldRead(::basictl::tl_istream & s, ::tl2::service3::ProductStatsOld& item) { + if (!s.int_read(item.type)) { return false; } + if (!s.int_read(item.count_new)) { return false; } + if (!s.int_read(item.count_total)) { return false; } + if (!s.int_read(item.count_scheduled)) { return false; } + if (!s.int_read(item.next_scheduled_at)) { return false; } + return true; +} + +bool tl2::details::Service3ProductStatsOldWrite(::basictl::tl_ostream & s, const ::tl2::service3::ProductStatsOld& item) { + if (!s.int_write(item.type)) { return false;} + if (!s.int_write(item.count_new)) { return false;} + if (!s.int_write(item.count_total)) { return false;} + if (!s.int_write(item.count_scheduled)) { return false;} + if (!s.int_write(item.next_scheduled_at)) { return false;} + return true; +} + +bool tl2::details::Service3ProductStatsOldReadBoxed(::basictl::tl_istream & s, ::tl2::service3::ProductStatsOld& item) { + if (!s.nat_read_exact_tag(0x6319810b)) { return false; } + return tl2::details::Service3ProductStatsOldRead(s, item); +} + +bool tl2::details::Service3ProductStatsOldWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::ProductStatsOld& item) { + if (!s.nat_write(0x6319810b)) { return false; } + return tl2::details::Service3ProductStatsOldWrite(s, item); +} + +bool tl2::service3::RestoreAllProducts::write_json(std::ostream& s)const { + if (!::tl2::details::Service3RestoreAllProductsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::RestoreAllProducts::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3RestoreAllProductsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::RestoreAllProducts::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3RestoreAllProductsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::RestoreAllProducts::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3RestoreAllProductsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::RestoreAllProducts::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3RestoreAllProductsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3RestoreAllProductsReset(::tl2::service3::RestoreAllProducts& item) { + item.user_id = 0; + item.type = 0; + item.start_date = 0; + item.end_date = 0; +} + +bool tl2::details::Service3RestoreAllProductsWriteJSON(std::ostream& s, const ::tl2::service3::RestoreAllProducts& item) { + auto add_comma = false; + s << "{"; + if (item.user_id != 0) { + add_comma = true; + s << "\"user_id\":"; + s << item.user_id; + } + if (item.type != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.start_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"start_date\":"; + s << item.start_date; + } + if (item.end_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"end_date\":"; + s << item.end_date; + } + s << "}"; + return true; +} + +bool tl2::details::Service3RestoreAllProductsRead(::basictl::tl_istream & s, ::tl2::service3::RestoreAllProducts& item) { + if (!s.int_read(item.user_id)) { return false; } + if (!s.int_read(item.type)) { return false; } + if (!s.int_read(item.start_date)) { return false; } + if (!s.int_read(item.end_date)) { return false; } + return true; +} + +bool tl2::details::Service3RestoreAllProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::RestoreAllProducts& item) { + if (!s.int_write(item.user_id)) { return false;} + if (!s.int_write(item.type)) { return false;} + if (!s.int_write(item.start_date)) { return false;} + if (!s.int_write(item.end_date)) { return false;} + return true; +} + +bool tl2::details::Service3RestoreAllProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::RestoreAllProducts& item) { + if (!s.nat_read_exact_tag(0x4d839ed0)) { return false; } + return tl2::details::Service3RestoreAllProductsRead(s, item); +} + +bool tl2::details::Service3RestoreAllProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::RestoreAllProducts& item) { + if (!s.nat_write(0x4d839ed0)) { return false; } + return tl2::details::Service3RestoreAllProductsWrite(s, item); +} + +bool tl2::details::Service3RestoreAllProductsReadResult(::basictl::tl_istream & s, tl2::service3::RestoreAllProducts& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3RestoreAllProductsWriteResult(::basictl::tl_ostream & s, tl2::service3::RestoreAllProducts& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::RestoreAllProducts::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service3RestoreAllProductsReadResult(s, *this, result); +} +bool tl2::service3::RestoreAllProducts::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service3RestoreAllProductsWriteResult(s, *this, result); +} + +bool tl2::service3::RestoreGroupedProducts::write_json(std::ostream& s)const { + if (!::tl2::details::Service3RestoreGroupedProductsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::RestoreGroupedProducts::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3RestoreGroupedProductsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::RestoreGroupedProducts::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3RestoreGroupedProductsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::RestoreGroupedProducts::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3RestoreGroupedProductsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::RestoreGroupedProducts::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3RestoreGroupedProductsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3RestoreGroupedProductsReset(::tl2::service3::RestoreGroupedProducts& item) { + item.user_id = 0; + item.type = 0; + item.id.clear(); + item.start_date = 0; + item.end_date = 0; +} + +bool tl2::details::Service3RestoreGroupedProductsWriteJSON(std::ostream& s, const ::tl2::service3::RestoreGroupedProducts& item) { + auto add_comma = false; + s << "{"; + if (item.user_id != 0) { + add_comma = true; + s << "\"user_id\":"; + s << item.user_id; + } + if (item.type != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } + } + if (item.start_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"start_date\":"; + s << item.start_date; + } + if (item.end_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"end_date\":"; + s << item.end_date; + } + s << "}"; + return true; +} + +bool tl2::details::Service3RestoreGroupedProductsRead(::basictl::tl_istream & s, ::tl2::service3::RestoreGroupedProducts& item) { + if (!s.int_read(item.user_id)) { return false; } + if (!s.int_read(item.type)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } + if (!s.int_read(item.start_date)) { return false; } + if (!s.int_read(item.end_date)) { return false; } + return true; +} + +bool tl2::details::Service3RestoreGroupedProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::RestoreGroupedProducts& item) { + if (!s.int_write(item.user_id)) { return false;} + if (!s.int_write(item.type)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } + if (!s.int_write(item.start_date)) { return false;} + if (!s.int_write(item.end_date)) { return false;} + return true; +} + +bool tl2::details::Service3RestoreGroupedProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::RestoreGroupedProducts& item) { + if (!s.nat_read_exact_tag(0x1f17bfac)) { return false; } + return tl2::details::Service3RestoreGroupedProductsRead(s, item); +} + +bool tl2::details::Service3RestoreGroupedProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::RestoreGroupedProducts& item) { + if (!s.nat_write(0x1f17bfac)) { return false; } + return tl2::details::Service3RestoreGroupedProductsWrite(s, item); +} + +bool tl2::details::Service3RestoreGroupedProductsReadResult(::basictl::tl_istream & s, tl2::service3::RestoreGroupedProducts& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3RestoreGroupedProductsWriteResult(::basictl::tl_ostream & s, tl2::service3::RestoreGroupedProducts& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::RestoreGroupedProducts::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service3RestoreGroupedProductsReadResult(s, *this, result); +} +bool tl2::service3::RestoreGroupedProducts::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service3RestoreGroupedProductsWriteResult(s, *this, result); +} + +bool tl2::service3::RestoreProduct::write_json(std::ostream& s)const { + if (!::tl2::details::Service3RestoreProductWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::RestoreProduct::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3RestoreProductRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::RestoreProduct::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3RestoreProductWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::RestoreProduct::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3RestoreProductReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::RestoreProduct::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3RestoreProductWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3RestoreProductReset(::tl2::service3::RestoreProduct& item) { + item.user_id = 0; + item.type = 0; + item.id.clear(); + item.info.clear(); +} + +bool tl2::details::Service3RestoreProductWriteJSON(std::ostream& s, const ::tl2::service3::RestoreProduct& item) { + auto add_comma = false; + s << "{"; + if (item.user_id != 0) { + add_comma = true; + s << "\"user_id\":"; + s << item.user_id; + } + if (item.type != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } + } + if (item.info.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"info\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.info)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service3RestoreProductRead(::basictl::tl_istream & s, ::tl2::service3::RestoreProduct& item) { + if (!s.int_read(item.user_id)) { return false; } + if (!s.int_read(item.type)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.info)) { return false; } + return true; +} + +bool tl2::details::Service3RestoreProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::RestoreProduct& item) { + if (!s.int_write(item.user_id)) { return false;} + if (!s.int_write(item.type)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } + if (!::tl2::details::BuiltinVectorIntWrite(s, item.info)) { return false; } + return true; +} + +bool tl2::details::Service3RestoreProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::RestoreProduct& item) { + if (!s.nat_read_exact_tag(0x6170d515)) { return false; } + return tl2::details::Service3RestoreProductRead(s, item); +} + +bool tl2::details::Service3RestoreProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::RestoreProduct& item) { + if (!s.nat_write(0x6170d515)) { return false; } + return tl2::details::Service3RestoreProductWrite(s, item); +} + +bool tl2::details::Service3RestoreProductReadResult(::basictl::tl_istream & s, tl2::service3::RestoreProduct& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3RestoreProductWriteResult(::basictl::tl_ostream & s, tl2::service3::RestoreProduct& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::RestoreProduct::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service3RestoreProductReadResult(s, *this, result); +} +bool tl2::service3::RestoreProduct::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service3RestoreProductWriteResult(s, *this, result); +} + +bool tl2::service3::SetLastVisitTimestamp::write_json(std::ostream& s)const { + if (!::tl2::details::Service3SetLastVisitTimestampWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::SetLastVisitTimestamp::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3SetLastVisitTimestampRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::SetLastVisitTimestamp::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3SetLastVisitTimestampWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::SetLastVisitTimestamp::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3SetLastVisitTimestampReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::SetLastVisitTimestamp::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3SetLastVisitTimestampWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3SetLastVisitTimestampReset(::tl2::service3::SetLastVisitTimestamp& item) { + item.user_id = 0; + item.timestamp = 0; +} + +bool tl2::details::Service3SetLastVisitTimestampWriteJSON(std::ostream& s, const ::tl2::service3::SetLastVisitTimestamp& item) { + auto add_comma = false; + s << "{"; + if (item.user_id != 0) { + add_comma = true; + s << "\"user_id\":"; + s << item.user_id; + } + if (item.timestamp != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"timestamp\":"; + s << item.timestamp; + } + s << "}"; + return true; +} + +bool tl2::details::Service3SetLastVisitTimestampRead(::basictl::tl_istream & s, ::tl2::service3::SetLastVisitTimestamp& item) { + if (!s.int_read(item.user_id)) { return false; } + if (!s.int_read(item.timestamp)) { return false; } + return true; +} + +bool tl2::details::Service3SetLastVisitTimestampWrite(::basictl::tl_ostream & s, const ::tl2::service3::SetLastVisitTimestamp& item) { + if (!s.int_write(item.user_id)) { return false;} + if (!s.int_write(item.timestamp)) { return false;} + return true; +} + +bool tl2::details::Service3SetLastVisitTimestampReadBoxed(::basictl::tl_istream & s, ::tl2::service3::SetLastVisitTimestamp& item) { + if (!s.nat_read_exact_tag(0x7909b020)) { return false; } + return tl2::details::Service3SetLastVisitTimestampRead(s, item); +} + +bool tl2::details::Service3SetLastVisitTimestampWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::SetLastVisitTimestamp& item) { + if (!s.nat_write(0x7909b020)) { return false; } + return tl2::details::Service3SetLastVisitTimestampWrite(s, item); +} + +bool tl2::details::Service3SetLastVisitTimestampReadResult(::basictl::tl_istream & s, tl2::service3::SetLastVisitTimestamp& item, bool& result) { + if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3SetLastVisitTimestampWriteResult(::basictl::tl_ostream & s, tl2::service3::SetLastVisitTimestamp& item, bool& result) { + if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::SetLastVisitTimestamp::read_result(::basictl::tl_istream & s, bool & result) { + return tl2::details::Service3SetLastVisitTimestampReadResult(s, *this, result); +} +bool tl2::service3::SetLastVisitTimestamp::write_result(::basictl::tl_ostream & s, bool & result) { + return tl2::details::Service3SetLastVisitTimestampWriteResult(s, *this, result); +} + +bool tl2::service3::SetLimits::write_json(std::ostream& s)const { + if (!::tl2::details::Service3SetLimitsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service3::SetLimits::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service3SetLimitsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service3::SetLimits::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3SetLimitsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service3::SetLimits::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service3SetLimitsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service3::SetLimits::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service3SetLimitsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service3SetLimitsReset(::tl2::service3::SetLimits& item) { + ::tl2::details::Service3LimitsReset(item.limits); +} + +bool tl2::details::Service3SetLimitsWriteJSON(std::ostream& s, const ::tl2::service3::SetLimits& item) { + s << "{"; + s << "\"limits\":"; + if (!::tl2::details::Service3LimitsWriteJSON(s, item.limits)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::Service3SetLimitsRead(::basictl::tl_istream & s, ::tl2::service3::SetLimits& item) { + if (!::tl2::details::Service3LimitsRead(s, item.limits)) { return false; } + return true; +} + +bool tl2::details::Service3SetLimitsWrite(::basictl::tl_ostream & s, const ::tl2::service3::SetLimits& item) { + if (!::tl2::details::Service3LimitsWrite(s, item.limits)) { return false; } + return true; +} + +bool tl2::details::Service3SetLimitsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::SetLimits& item) { + if (!s.nat_read_exact_tag(0x3ad5c19c)) { return false; } + return tl2::details::Service3SetLimitsRead(s, item); +} + +bool tl2::details::Service3SetLimitsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::SetLimits& item) { + if (!s.nat_write(0x3ad5c19c)) { return false; } + return tl2::details::Service3SetLimitsWrite(s, item); +} + +bool tl2::details::Service3SetLimitsReadResult(::basictl::tl_istream & s, tl2::service3::SetLimits& item, ::tl2::BoolStat& result) { + if (!::tl2::details::BoolStatReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service3SetLimitsWriteResult(::basictl::tl_ostream & s, tl2::service3::SetLimits& item, ::tl2::BoolStat& result) { + if (!::tl2::details::BoolStatWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service3::SetLimits::read_result(::basictl::tl_istream & s, ::tl2::BoolStat & result) { + return tl2::details::Service3SetLimitsReadResult(s, *this, result); +} +bool tl2::service3::SetLimits::write_result(::basictl::tl_ostream & s, ::tl2::BoolStat & result) { + return tl2::details::Service3SetLimitsWriteResult(s, *this, result); +} + +void tl2::details::VectorService3GroupCountLimitReset(std::vector<::tl2::service3::GroupCountLimit>& item) { + item.clear(); +} + +bool tl2::details::VectorService3GroupCountLimitWriteJSON(std::ostream& s, const std::vector<::tl2::service3::GroupCountLimit>& item) { + if (!::tl2::details::BuiltinVectorService3GroupCountLimitWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService3GroupCountLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupCountLimit>& item) { + if (!::tl2::details::BuiltinVectorService3GroupCountLimitRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService3GroupCountLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item) { + if (!::tl2::details::BuiltinVectorService3GroupCountLimitWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService3GroupCountLimitReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupCountLimit>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorService3GroupCountLimitRead(s, item); +} + +bool tl2::details::VectorService3GroupCountLimitWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorService3GroupCountLimitWrite(s, item); +} + +void tl2::details::VectorService3GroupSizeLimitReset(std::vector<::tl2::service3::GroupSizeLimit>& item) { + item.clear(); +} + +bool tl2::details::VectorService3GroupSizeLimitWriteJSON(std::ostream& s, const std::vector<::tl2::service3::GroupSizeLimit>& item) { + if (!::tl2::details::BuiltinVectorService3GroupSizeLimitWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService3GroupSizeLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupSizeLimit>& item) { + if (!::tl2::details::BuiltinVectorService3GroupSizeLimitRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService3GroupSizeLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item) { + if (!::tl2::details::BuiltinVectorService3GroupSizeLimitWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService3GroupSizeLimitReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupSizeLimit>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorService3GroupSizeLimitRead(s, item); +} + +bool tl2::details::VectorService3GroupSizeLimitWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorService3GroupSizeLimitWrite(s, item); +} + +void tl2::details::VectorService3ProductReset(std::vector<::tl2::service3::Product>& item) { + item.clear(); +} + +bool tl2::details::VectorService3ProductWriteJSON(std::ostream& s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { + if (!::tl2::details::BuiltinVectorService3ProductWriteJSON(s, item, nat_t)) { return false; } + return true; +} + +bool tl2::details::VectorService3ProductRead(::basictl::tl_istream & s, std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { + if (!::tl2::details::BuiltinVectorService3ProductRead(s, item, nat_t)) { return false; } + return true; +} + +bool tl2::details::VectorService3ProductWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { + if (!::tl2::details::BuiltinVectorService3ProductWrite(s, item, nat_t)) { return false; } + return true; +} + +bool tl2::details::VectorService3ProductReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorService3ProductRead(s, item, nat_t); +} + +bool tl2::details::VectorService3ProductWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorService3ProductWrite(s, item, nat_t); +} + +void tl2::details::VectorService3Product0Reset(std::vector<::tl2::service3::Productmode<0>>& item) { + item.clear(); +} + +bool tl2::details::VectorService3Product0WriteJSON(std::ostream& s, const std::vector<::tl2::service3::Productmode<0>>& item) { + if (!::tl2::details::BuiltinVectorService3Product0WriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService3Product0Read(::basictl::tl_istream & s, std::vector<::tl2::service3::Productmode<0>>& item) { + if (!::tl2::details::BuiltinVectorService3Product0Read(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService3Product0Write(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item) { + if (!::tl2::details::BuiltinVectorService3Product0Write(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService3Product0ReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::Productmode<0>>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorService3Product0Read(s, item); +} + +bool tl2::details::VectorService3Product0WriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorService3Product0Write(s, item); +} + +bool tl2::details::VectorService3Product0MaybeWriteJSON(std::ostream & s, const std::optional>>& item) { + s << "{"; + if (item) { + s << "\"ok\":true"; + if((*item).size() != 0) { + s << ",\"value\":"; + if (!::tl2::details::BuiltinVectorService3Product0WriteJSON(s, *item)) { return false; } + } + } + s << "}"; + return true; +} +bool tl2::details::VectorService3Product0MaybeReadBoxed(::basictl::tl_istream & s, std::optional>>& item) { + bool has_item = false; + if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } + if (has_item) { + if (!item) { + item.emplace(); + } + if (!::tl2::details::BuiltinVectorService3Product0Read(s, *item)) { return false; } + return true; + } + item.reset(); + return true; +} + +bool tl2::details::VectorService3Product0MaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional>>& item) { + if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } + if (item) { + if (!::tl2::details::BuiltinVectorService3Product0Write(s, *item)) { return false; } + } + return true; +} + +bool tl2::details::VectorService3ProductMaybeWriteJSON(std::ostream & s, const std::optional>& item, uint32_t nat_t) { + s << "{"; + if (item) { + s << "\"ok\":true"; + if((*item).size() != 0) { + s << ",\"value\":"; + if (!::tl2::details::BuiltinVectorService3ProductWriteJSON(s, *item, nat_t)) { return false; } + } + } + s << "}"; + return true; +} +bool tl2::details::VectorService3ProductMaybeReadBoxed(::basictl::tl_istream & s, std::optional>& item, uint32_t nat_t) { + bool has_item = false; + if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } + if (has_item) { + if (!item) { + item.emplace(); + } + if (!::tl2::details::BuiltinVectorService3ProductRead(s, *item, nat_t)) { return false; } + return true; + } + item.reset(); + return true; +} + +bool tl2::details::VectorService3ProductMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional>& item, uint32_t nat_t) { + if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } + if (item) { + if (!::tl2::details::BuiltinVectorService3ProductWrite(s, *item, nat_t)) { return false; } + } + return true; +} + +void tl2::details::VectorService3ProductStatsOldReset(std::vector<::tl2::service3::ProductStatsOld>& item) { + item.clear(); +} + +bool tl2::details::VectorService3ProductStatsOldWriteJSON(std::ostream& s, const std::vector<::tl2::service3::ProductStatsOld>& item) { + if (!::tl2::details::BuiltinVectorService3ProductStatsOldWriteJSON(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService3ProductStatsOldRead(::basictl::tl_istream & s, std::vector<::tl2::service3::ProductStatsOld>& item) { + if (!::tl2::details::BuiltinVectorService3ProductStatsOldRead(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService3ProductStatsOldWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item) { + if (!::tl2::details::BuiltinVectorService3ProductStatsOldWrite(s, item)) { return false; } + return true; +} + +bool tl2::details::VectorService3ProductStatsOldReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::ProductStatsOld>& item) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } + return tl2::details::VectorService3ProductStatsOldRead(s, item); +} + +bool tl2::details::VectorService3ProductStatsOldWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item) { + if (!s.nat_write(0x1cb5c415)) { return false; } + return tl2::details::VectorService3ProductStatsOldWrite(s, item); +} + +bool tl2::details::VectorService3ProductStatsOldMaybeWriteJSON(std::ostream & s, const std::optional>& item) { + s << "{"; + if (item) { + s << "\"ok\":true"; + if((*item).size() != 0) { + s << ",\"value\":"; + if (!::tl2::details::BuiltinVectorService3ProductStatsOldWriteJSON(s, *item)) { return false; } + } + } + s << "}"; + return true; +} +bool tl2::details::VectorService3ProductStatsOldMaybeReadBoxed(::basictl::tl_istream & s, std::optional>& item) { + bool has_item = false; + if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } + if (has_item) { + if (!item) { + item.emplace(); + } + if (!::tl2::details::BuiltinVectorService3ProductStatsOldRead(s, *item)) { return false; } + return true; + } + item.reset(); + return true; +} + +bool tl2::details::VectorService3ProductStatsOldMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional>& item) { + if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } + if (item) { + if (!::tl2::details::BuiltinVectorService3ProductStatsOldWrite(s, *item)) { return false; } + } + return true; +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.createProduct.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.createProduct.h new file mode 100644 index 00000000..7eaaca24 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.createProduct.h @@ -0,0 +1,39 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct CreateProduct { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xb7d92bd9; } + + int32_t user_id = 0; + int32_t type = 0; + std::vector id; + std::vector info; + int32_t date = 0; + int32_t expiration_date = 0; + + std::string_view tl_name() const { return "service3.createProduct"; } + uint32_t tl_tag() const { return 0xb7d92bd9; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const CreateProduct& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.deleteAllProducts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.deleteAllProducts.h new file mode 100644 index 00000000..feca9d92 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.deleteAllProducts.h @@ -0,0 +1,37 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct DeleteAllProducts { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x4494acc2; } + + int32_t user_id = 0; + int32_t type = 0; + int32_t start_date = 0; + int32_t end_date = 0; + + std::string_view tl_name() const { return "service3.deleteAllProducts"; } + uint32_t tl_tag() const { return 0x4494acc2; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const DeleteAllProducts& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.deleteGroupedProducts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.deleteGroupedProducts.h new file mode 100644 index 00000000..88d6e777 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.deleteGroupedProducts.h @@ -0,0 +1,38 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct DeleteGroupedProducts { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xe468e614; } + + int32_t user_id = 0; + int32_t type = 0; + std::vector id; + int32_t start_date = 0; + int32_t end_date = 0; + + std::string_view tl_name() const { return "service3.deleteGroupedProducts"; } + uint32_t tl_tag() const { return 0xe468e614; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const DeleteGroupedProducts& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.deleteProduct.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.deleteProduct.h new file mode 100644 index 00000000..38fb7545 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.deleteProduct.h @@ -0,0 +1,37 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct DeleteProduct { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x6867e707; } + + int32_t user_id = 0; + int32_t type = 0; + std::vector id; + std::vector info; + + std::string_view tl_name() const { return "service3.deleteProduct"; } + uint32_t tl_tag() const { return 0x6867e707; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const DeleteProduct& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getLastVisitTimestamp.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getLastVisitTimestamp.h new file mode 100644 index 00000000..7c1fdb50 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getLastVisitTimestamp.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct GetLastVisitTimestamp { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x9a4c788d; } + + int32_t user_id = 0; + + std::string_view tl_name() const { return "service3.getLastVisitTimestamp"; } + uint32_t tl_tag() const { return 0x9a4c788d; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::optional & result); + bool write_result(::basictl::tl_ostream & s, std::optional & result); + + friend std::ostream& operator<<(std::ostream& s, const GetLastVisitTimestamp& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getLimits.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getLimits.h new file mode 100644 index 00000000..ee358bc4 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getLimits.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service3.limits.h" + + +namespace tl2 { namespace service3 { +struct GetLimits { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xeb399467; } + + + std::string_view tl_name() const { return "service3.getLimits"; } + uint32_t tl_tag() const { return 0xeb399467; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::service3::Limits & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::service3::Limits & result); + + friend std::ostream& operator<<(std::ostream& s, const GetLimits& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getProductStats.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getProductStats.h new file mode 100644 index 00000000..3f1bfb7c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getProductStats.h @@ -0,0 +1,36 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service3.productStatsOld.h" + + +namespace tl2 { namespace service3 { +struct GetProductStats { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x261f6898; } + + int32_t user_id = 0; + std::vector types; + + std::string_view tl_name() const { return "service3.getProductStats"; } + uint32_t tl_tag() const { return 0x261f6898; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::optional> & result); + bool write_result(::basictl::tl_ostream & s, std::optional> & result); + + friend std::ostream& operator<<(std::ostream& s, const GetProductStats& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getProducts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getProducts.h new file mode 100644 index 00000000..2180066e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getProducts.h @@ -0,0 +1,42 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service3.product.h" + + +namespace tl2 { namespace service3 { +struct GetProducts { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xeb306233; } + + int32_t user_id = 0; + uint32_t mode = 0; + std::vector types; + int32_t start_date = 0; + int32_t end_date = 0; + int32_t offset = 0; + int32_t limit = 0; + std::vector allowed_info0; + + std::string_view tl_name() const { return "service3.getProducts"; } + uint32_t tl_tag() const { return 0xeb306233; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::optional> & result); + bool write_result(::basictl::tl_ostream & s, std::optional> & result); + + friend std::ostream& operator<<(std::ostream& s, const GetProducts& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getScheduledProducts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getScheduledProducts.h new file mode 100644 index 00000000..1ed94c7d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.getScheduledProducts.h @@ -0,0 +1,36 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service3.product.h" + + +namespace tl2 { namespace service3 { +struct GetScheduledProducts { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xf53ad7bd; } + + int32_t user_id = 0; + std::vector types; + + std::string_view tl_name() const { return "service3.getScheduledProducts"; } + uint32_t tl_tag() const { return 0xf53ad7bd; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::optional>> & result); + bool write_result(::basictl::tl_ostream & s, std::optional>> & result); + + friend std::ostream& operator<<(std::ostream& s, const GetScheduledProducts& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.restoreAllProducts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.restoreAllProducts.h new file mode 100644 index 00000000..d2cea462 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.restoreAllProducts.h @@ -0,0 +1,37 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct RestoreAllProducts { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x4d839ed0; } + + int32_t user_id = 0; + int32_t type = 0; + int32_t start_date = 0; + int32_t end_date = 0; + + std::string_view tl_name() const { return "service3.restoreAllProducts"; } + uint32_t tl_tag() const { return 0x4d839ed0; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const RestoreAllProducts& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.restoreGroupedProducts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.restoreGroupedProducts.h new file mode 100644 index 00000000..a75f3aa5 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.restoreGroupedProducts.h @@ -0,0 +1,38 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct RestoreGroupedProducts { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x1f17bfac; } + + int32_t user_id = 0; + int32_t type = 0; + std::vector id; + int32_t start_date = 0; + int32_t end_date = 0; + + std::string_view tl_name() const { return "service3.restoreGroupedProducts"; } + uint32_t tl_tag() const { return 0x1f17bfac; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const RestoreGroupedProducts& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.restoreProduct.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.restoreProduct.h new file mode 100644 index 00000000..9fa91665 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.restoreProduct.h @@ -0,0 +1,37 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct RestoreProduct { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x6170d515; } + + int32_t user_id = 0; + int32_t type = 0; + std::vector id; + std::vector info; + + std::string_view tl_name() const { return "service3.restoreProduct"; } + uint32_t tl_tag() const { return 0x6170d515; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const RestoreProduct& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.setLastVisitTimestamp.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.setLastVisitTimestamp.h new file mode 100644 index 00000000..b9a07e33 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.setLastVisitTimestamp.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct SetLastVisitTimestamp { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x7909b020; } + + int32_t user_id = 0; + int32_t timestamp = 0; + + std::string_view tl_name() const { return "service3.setLastVisitTimestamp"; } + uint32_t tl_tag() const { return 0x7909b020; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, bool & result); + bool write_result(::basictl::tl_ostream & s, bool & result); + + friend std::ostream& operator<<(std::ostream& s, const SetLastVisitTimestamp& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.setLimits.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.setLimits.h new file mode 100644 index 00000000..4b9d3ecb --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/functions/service3.setLimits.h @@ -0,0 +1,36 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service3.limits.h" +#include "../../__common_namespace/types/boolStat.h" + + +namespace tl2 { namespace service3 { +struct SetLimits { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x3ad5c19c; } + + ::tl2::service3::Limits limits{}; + + std::string_view tl_name() const { return "service3.setLimits"; } + uint32_t tl_tag() const { return 0x3ad5c19c; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::BoolStat & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::BoolStat & result); + + friend std::ostream& operator<<(std::ostream& s, const SetLimits& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.createProduct.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.createProduct.h new file mode 100644 index 00000000..d3adc8bf --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.createProduct.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.createProduct.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service3CreateProductReset(::tl2::service3::CreateProduct& item); + +bool Service3CreateProductWriteJSON(std::ostream& s, const ::tl2::service3::CreateProduct& item); +bool Service3CreateProductRead(::basictl::tl_istream & s, ::tl2::service3::CreateProduct& item); +bool Service3CreateProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::CreateProduct& item); +bool Service3CreateProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::CreateProduct& item); +bool Service3CreateProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::CreateProduct& item); + +bool Service3CreateProductReadResult(::basictl::tl_istream & s, ::tl2::service3::CreateProduct& item, bool& result); +bool Service3CreateProductWriteResult(::basictl::tl_ostream & s, ::tl2::service3::CreateProduct& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.deleteAllProducts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.deleteAllProducts.h new file mode 100644 index 00000000..e824b49b --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.deleteAllProducts.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.deleteAllProducts.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service3DeleteAllProductsReset(::tl2::service3::DeleteAllProducts& item); + +bool Service3DeleteAllProductsWriteJSON(std::ostream& s, const ::tl2::service3::DeleteAllProducts& item); +bool Service3DeleteAllProductsRead(::basictl::tl_istream & s, ::tl2::service3::DeleteAllProducts& item); +bool Service3DeleteAllProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::DeleteAllProducts& item); +bool Service3DeleteAllProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::DeleteAllProducts& item); +bool Service3DeleteAllProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::DeleteAllProducts& item); + +bool Service3DeleteAllProductsReadResult(::basictl::tl_istream & s, ::tl2::service3::DeleteAllProducts& item, bool& result); +bool Service3DeleteAllProductsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::DeleteAllProducts& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.deleteGroupedProducts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.deleteGroupedProducts.h new file mode 100644 index 00000000..2366d45e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.deleteGroupedProducts.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.deleteGroupedProducts.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service3DeleteGroupedProductsReset(::tl2::service3::DeleteGroupedProducts& item); + +bool Service3DeleteGroupedProductsWriteJSON(std::ostream& s, const ::tl2::service3::DeleteGroupedProducts& item); +bool Service3DeleteGroupedProductsRead(::basictl::tl_istream & s, ::tl2::service3::DeleteGroupedProducts& item); +bool Service3DeleteGroupedProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::DeleteGroupedProducts& item); +bool Service3DeleteGroupedProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::DeleteGroupedProducts& item); +bool Service3DeleteGroupedProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::DeleteGroupedProducts& item); + +bool Service3DeleteGroupedProductsReadResult(::basictl::tl_istream & s, ::tl2::service3::DeleteGroupedProducts& item, bool& result); +bool Service3DeleteGroupedProductsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::DeleteGroupedProducts& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.deleteProduct.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.deleteProduct.h new file mode 100644 index 00000000..c95abc09 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.deleteProduct.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.deleteProduct.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service3DeleteProductReset(::tl2::service3::DeleteProduct& item); + +bool Service3DeleteProductWriteJSON(std::ostream& s, const ::tl2::service3::DeleteProduct& item); +bool Service3DeleteProductRead(::basictl::tl_istream & s, ::tl2::service3::DeleteProduct& item); +bool Service3DeleteProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::DeleteProduct& item); +bool Service3DeleteProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::DeleteProduct& item); +bool Service3DeleteProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::DeleteProduct& item); + +bool Service3DeleteProductReadResult(::basictl::tl_istream & s, ::tl2::service3::DeleteProduct& item, bool& result); +bool Service3DeleteProductWriteResult(::basictl::tl_ostream & s, ::tl2::service3::DeleteProduct& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getLastVisitTimestamp.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getLastVisitTimestamp.h new file mode 100644 index 00000000..8f2ef020 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getLastVisitTimestamp.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.getLastVisitTimestamp.h" +#include "../../__common_namespace/types/int.h" + +namespace tl2 { namespace details { + +void Service3GetLastVisitTimestampReset(::tl2::service3::GetLastVisitTimestamp& item); + +bool Service3GetLastVisitTimestampWriteJSON(std::ostream& s, const ::tl2::service3::GetLastVisitTimestamp& item); +bool Service3GetLastVisitTimestampRead(::basictl::tl_istream & s, ::tl2::service3::GetLastVisitTimestamp& item); +bool Service3GetLastVisitTimestampWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetLastVisitTimestamp& item); +bool Service3GetLastVisitTimestampReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetLastVisitTimestamp& item); +bool Service3GetLastVisitTimestampWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetLastVisitTimestamp& item); + +bool Service3GetLastVisitTimestampReadResult(::basictl::tl_istream & s, ::tl2::service3::GetLastVisitTimestamp& item, std::optional& result); +bool Service3GetLastVisitTimestampWriteResult(::basictl::tl_ostream & s, ::tl2::service3::GetLastVisitTimestamp& item, std::optional& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getLimits.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getLimits.h new file mode 100644 index 00000000..527fca8a --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getLimits.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.getLimits.h" +#include "../types/service3.limits.h" + +namespace tl2 { namespace details { + +void Service3GetLimitsReset(::tl2::service3::GetLimits& item); + +bool Service3GetLimitsWriteJSON(std::ostream& s, const ::tl2::service3::GetLimits& item); +bool Service3GetLimitsRead(::basictl::tl_istream & s, ::tl2::service3::GetLimits& item); +bool Service3GetLimitsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetLimits& item); +bool Service3GetLimitsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetLimits& item); +bool Service3GetLimitsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetLimits& item); + +bool Service3GetLimitsReadResult(::basictl::tl_istream & s, ::tl2::service3::GetLimits& item, ::tl2::service3::Limits& result); +bool Service3GetLimitsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::GetLimits& item, ::tl2::service3::Limits& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getProductStats.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getProductStats.h new file mode 100644 index 00000000..fa55d4d8 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getProductStats.h @@ -0,0 +1,22 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.getProductStats.h" +#include "../../__common_namespace/types/vector.h" +#include "../types/service3.productStatsOld.h" + +namespace tl2 { namespace details { + +void Service3GetProductStatsReset(::tl2::service3::GetProductStats& item); + +bool Service3GetProductStatsWriteJSON(std::ostream& s, const ::tl2::service3::GetProductStats& item); +bool Service3GetProductStatsRead(::basictl::tl_istream & s, ::tl2::service3::GetProductStats& item); +bool Service3GetProductStatsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetProductStats& item); +bool Service3GetProductStatsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetProductStats& item); +bool Service3GetProductStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetProductStats& item); + +bool Service3GetProductStatsReadResult(::basictl::tl_istream & s, ::tl2::service3::GetProductStats& item, std::optional>& result); +bool Service3GetProductStatsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::GetProductStats& item, std::optional>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getProducts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getProducts.h new file mode 100644 index 00000000..1b609a1d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getProducts.h @@ -0,0 +1,22 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.getProducts.h" +#include "../../__common_namespace/types/vector.h" +#include "../types/service3.product.h" + +namespace tl2 { namespace details { + +void Service3GetProductsReset(::tl2::service3::GetProducts& item); + +bool Service3GetProductsWriteJSON(std::ostream& s, const ::tl2::service3::GetProducts& item); +bool Service3GetProductsRead(::basictl::tl_istream & s, ::tl2::service3::GetProducts& item); +bool Service3GetProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetProducts& item); +bool Service3GetProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetProducts& item); +bool Service3GetProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetProducts& item); + +bool Service3GetProductsReadResult(::basictl::tl_istream & s, ::tl2::service3::GetProducts& item, std::optional>& result); +bool Service3GetProductsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::GetProducts& item, std::optional>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getScheduledProducts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getScheduledProducts.h new file mode 100644 index 00000000..85c01052 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.getScheduledProducts.h @@ -0,0 +1,22 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.getScheduledProducts.h" +#include "../../__common_namespace/types/vector.h" +#include "../types/service3.product.h" + +namespace tl2 { namespace details { + +void Service3GetScheduledProductsReset(::tl2::service3::GetScheduledProducts& item); + +bool Service3GetScheduledProductsWriteJSON(std::ostream& s, const ::tl2::service3::GetScheduledProducts& item); +bool Service3GetScheduledProductsRead(::basictl::tl_istream & s, ::tl2::service3::GetScheduledProducts& item); +bool Service3GetScheduledProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetScheduledProducts& item); +bool Service3GetScheduledProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetScheduledProducts& item); +bool Service3GetScheduledProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetScheduledProducts& item); + +bool Service3GetScheduledProductsReadResult(::basictl::tl_istream & s, ::tl2::service3::GetScheduledProducts& item, std::optional>>& result); +bool Service3GetScheduledProductsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::GetScheduledProducts& item, std::optional>>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.groupCountLimit.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.groupCountLimit.h new file mode 100644 index 00000000..2e0fee76 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.groupCountLimit.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service3.groupCountLimit.h" + +namespace tl2 { namespace details { + +void BuiltinVectorService3GroupCountLimitReset(std::vector<::tl2::service3::GroupCountLimit>& item); + +bool BuiltinVectorService3GroupCountLimitWriteJSON(std::ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item); +bool BuiltinVectorService3GroupCountLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupCountLimit>& item); +bool BuiltinVectorService3GroupCountLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void Service3GroupCountLimitReset(::tl2::service3::GroupCountLimit& item); + +bool Service3GroupCountLimitWriteJSON(std::ostream& s, const ::tl2::service3::GroupCountLimit& item); +bool Service3GroupCountLimitRead(::basictl::tl_istream & s, ::tl2::service3::GroupCountLimit& item); +bool Service3GroupCountLimitWrite(::basictl::tl_ostream & s, const ::tl2::service3::GroupCountLimit& item); +bool Service3GroupCountLimitReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GroupCountLimit& item); +bool Service3GroupCountLimitWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GroupCountLimit& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.groupSizeLimit.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.groupSizeLimit.h new file mode 100644 index 00000000..519075f3 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.groupSizeLimit.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service3.groupSizeLimit.h" + +namespace tl2 { namespace details { + +void BuiltinVectorService3GroupSizeLimitReset(std::vector<::tl2::service3::GroupSizeLimit>& item); + +bool BuiltinVectorService3GroupSizeLimitWriteJSON(std::ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item); +bool BuiltinVectorService3GroupSizeLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupSizeLimit>& item); +bool BuiltinVectorService3GroupSizeLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void Service3GroupSizeLimitReset(::tl2::service3::GroupSizeLimit& item); + +bool Service3GroupSizeLimitWriteJSON(std::ostream& s, const ::tl2::service3::GroupSizeLimit& item); +bool Service3GroupSizeLimitRead(::basictl::tl_istream & s, ::tl2::service3::GroupSizeLimit& item); +bool Service3GroupSizeLimitWrite(::basictl::tl_ostream & s, const ::tl2::service3::GroupSizeLimit& item); +bool Service3GroupSizeLimitReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GroupSizeLimit& item); +bool Service3GroupSizeLimitWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GroupSizeLimit& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.limits.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.limits.h new file mode 100644 index 00000000..c446b8f7 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.limits.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service3.limits.h" + +namespace tl2 { namespace details { + +void Service3LimitsReset(::tl2::service3::Limits& item); + +bool Service3LimitsWriteJSON(std::ostream& s, const ::tl2::service3::Limits& item); +bool Service3LimitsRead(::basictl::tl_istream & s, ::tl2::service3::Limits& item); +bool Service3LimitsWrite(::basictl::tl_ostream & s, const ::tl2::service3::Limits& item); +bool Service3LimitsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::Limits& item); +bool Service3LimitsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::Limits& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.product.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.product.h new file mode 100644 index 00000000..9e7214fb --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.product.h @@ -0,0 +1,49 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service3.product.h" + +namespace tl2 { namespace details { + +void BuiltinVectorService3ProductReset(std::vector<::tl2::service3::Product>& item); + +bool BuiltinVectorService3ProductWriteJSON(std::ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t); +bool BuiltinVectorService3ProductRead(::basictl::tl_istream & s, std::vector<::tl2::service3::Product>& item, uint32_t nat_t); +bool BuiltinVectorService3ProductWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void BuiltinVectorService3Product0Reset(std::vector<::tl2::service3::Productmode<0>>& item); + +bool BuiltinVectorService3Product0WriteJSON(std::ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item); +bool BuiltinVectorService3Product0Read(::basictl::tl_istream & s, std::vector<::tl2::service3::Productmode<0>>& item); +bool BuiltinVectorService3Product0Write(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void Service3ProductReset(::tl2::service3::Product& item); + +bool Service3ProductWriteJSON(std::ostream& s, const ::tl2::service3::Product& item, uint32_t nat_mode); +bool Service3ProductRead(::basictl::tl_istream & s, ::tl2::service3::Product& item, uint32_t nat_mode); +bool Service3ProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::Product& item, uint32_t nat_mode); +bool Service3ProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::Product& item, uint32_t nat_mode); +bool Service3ProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::Product& item, uint32_t nat_mode); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void Service3Product0Reset(::tl2::service3::Productmode<0>& item); + +bool Service3Product0WriteJSON(std::ostream& s, const ::tl2::service3::Productmode<0>& item); +bool Service3Product0Read(::basictl::tl_istream & s, ::tl2::service3::Productmode<0>& item); +bool Service3Product0Write(::basictl::tl_ostream & s, const ::tl2::service3::Productmode<0>& item); +bool Service3Product0ReadBoxed(::basictl::tl_istream & s, ::tl2::service3::Productmode<0>& item); +bool Service3Product0WriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::Productmode<0>& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.productStatsOld.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.productStatsOld.h new file mode 100644 index 00000000..239883d6 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.productStatsOld.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service3.productStatsOld.h" + +namespace tl2 { namespace details { + +void BuiltinVectorService3ProductStatsOldReset(std::vector<::tl2::service3::ProductStatsOld>& item); + +bool BuiltinVectorService3ProductStatsOldWriteJSON(std::ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item); +bool BuiltinVectorService3ProductStatsOldRead(::basictl::tl_istream & s, std::vector<::tl2::service3::ProductStatsOld>& item); +bool BuiltinVectorService3ProductStatsOldWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void Service3ProductStatsOldReset(::tl2::service3::ProductStatsOld& item); + +bool Service3ProductStatsOldWriteJSON(std::ostream& s, const ::tl2::service3::ProductStatsOld& item); +bool Service3ProductStatsOldRead(::basictl::tl_istream & s, ::tl2::service3::ProductStatsOld& item); +bool Service3ProductStatsOldWrite(::basictl::tl_ostream & s, const ::tl2::service3::ProductStatsOld& item); +bool Service3ProductStatsOldReadBoxed(::basictl::tl_istream & s, ::tl2::service3::ProductStatsOld& item); +bool Service3ProductStatsOldWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::ProductStatsOld& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.restoreAllProducts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.restoreAllProducts.h new file mode 100644 index 00000000..14128de2 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.restoreAllProducts.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.restoreAllProducts.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service3RestoreAllProductsReset(::tl2::service3::RestoreAllProducts& item); + +bool Service3RestoreAllProductsWriteJSON(std::ostream& s, const ::tl2::service3::RestoreAllProducts& item); +bool Service3RestoreAllProductsRead(::basictl::tl_istream & s, ::tl2::service3::RestoreAllProducts& item); +bool Service3RestoreAllProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::RestoreAllProducts& item); +bool Service3RestoreAllProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::RestoreAllProducts& item); +bool Service3RestoreAllProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::RestoreAllProducts& item); + +bool Service3RestoreAllProductsReadResult(::basictl::tl_istream & s, ::tl2::service3::RestoreAllProducts& item, bool& result); +bool Service3RestoreAllProductsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::RestoreAllProducts& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.restoreGroupedProducts.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.restoreGroupedProducts.h new file mode 100644 index 00000000..a9af9fcd --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.restoreGroupedProducts.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.restoreGroupedProducts.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service3RestoreGroupedProductsReset(::tl2::service3::RestoreGroupedProducts& item); + +bool Service3RestoreGroupedProductsWriteJSON(std::ostream& s, const ::tl2::service3::RestoreGroupedProducts& item); +bool Service3RestoreGroupedProductsRead(::basictl::tl_istream & s, ::tl2::service3::RestoreGroupedProducts& item); +bool Service3RestoreGroupedProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::RestoreGroupedProducts& item); +bool Service3RestoreGroupedProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::RestoreGroupedProducts& item); +bool Service3RestoreGroupedProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::RestoreGroupedProducts& item); + +bool Service3RestoreGroupedProductsReadResult(::basictl::tl_istream & s, ::tl2::service3::RestoreGroupedProducts& item, bool& result); +bool Service3RestoreGroupedProductsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::RestoreGroupedProducts& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.restoreProduct.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.restoreProduct.h new file mode 100644 index 00000000..c0bee5f2 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.restoreProduct.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.restoreProduct.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service3RestoreProductReset(::tl2::service3::RestoreProduct& item); + +bool Service3RestoreProductWriteJSON(std::ostream& s, const ::tl2::service3::RestoreProduct& item); +bool Service3RestoreProductRead(::basictl::tl_istream & s, ::tl2::service3::RestoreProduct& item); +bool Service3RestoreProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::RestoreProduct& item); +bool Service3RestoreProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::RestoreProduct& item); +bool Service3RestoreProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::RestoreProduct& item); + +bool Service3RestoreProductReadResult(::basictl::tl_istream & s, ::tl2::service3::RestoreProduct& item, bool& result); +bool Service3RestoreProductWriteResult(::basictl::tl_ostream & s, ::tl2::service3::RestoreProduct& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.setLastVisitTimestamp.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.setLastVisitTimestamp.h new file mode 100644 index 00000000..7276c9f6 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.setLastVisitTimestamp.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.setLastVisitTimestamp.h" +#include "../../__common_namespace/types/Bool.h" + +namespace tl2 { namespace details { + +void Service3SetLastVisitTimestampReset(::tl2::service3::SetLastVisitTimestamp& item); + +bool Service3SetLastVisitTimestampWriteJSON(std::ostream& s, const ::tl2::service3::SetLastVisitTimestamp& item); +bool Service3SetLastVisitTimestampRead(::basictl::tl_istream & s, ::tl2::service3::SetLastVisitTimestamp& item); +bool Service3SetLastVisitTimestampWrite(::basictl::tl_ostream & s, const ::tl2::service3::SetLastVisitTimestamp& item); +bool Service3SetLastVisitTimestampReadBoxed(::basictl::tl_istream & s, ::tl2::service3::SetLastVisitTimestamp& item); +bool Service3SetLastVisitTimestampWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::SetLastVisitTimestamp& item); + +bool Service3SetLastVisitTimestampReadResult(::basictl::tl_istream & s, ::tl2::service3::SetLastVisitTimestamp& item, bool& result); +bool Service3SetLastVisitTimestampWriteResult(::basictl::tl_ostream & s, ::tl2::service3::SetLastVisitTimestamp& item, bool& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.setLimits.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.setLimits.h new file mode 100644 index 00000000..d4575e01 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3.setLimits.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service3.setLimits.h" +#include "../../__common_namespace/types/boolStat.h" + +namespace tl2 { namespace details { + +void Service3SetLimitsReset(::tl2::service3::SetLimits& item); + +bool Service3SetLimitsWriteJSON(std::ostream& s, const ::tl2::service3::SetLimits& item); +bool Service3SetLimitsRead(::basictl::tl_istream & s, ::tl2::service3::SetLimits& item); +bool Service3SetLimitsWrite(::basictl::tl_ostream & s, const ::tl2::service3::SetLimits& item); +bool Service3SetLimitsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::SetLimits& item); +bool Service3SetLimitsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::SetLimits& item); + +bool Service3SetLimitsReadResult(::basictl::tl_istream & s, ::tl2::service3::SetLimits& item, ::tl2::BoolStat& result); +bool Service3SetLimitsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::SetLimits& item, ::tl2::BoolStat& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3_boolStat.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3_boolStat.h new file mode 100644 index 00000000..fa8eeffa --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3_boolStat.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/boolStat.h" + +namespace tl2 { namespace details { + +void BoolStatReset(::tl2::BoolStat& item); + +bool BoolStatWriteJSON(std::ostream& s, const ::tl2::BoolStat& item); +bool BoolStatRead(::basictl::tl_istream & s, ::tl2::BoolStat& item); +bool BoolStatWrite(::basictl::tl_ostream & s, const ::tl2::BoolStat& item); +bool BoolStatReadBoxed(::basictl::tl_istream & s, ::tl2::BoolStat& item); +bool BoolStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoolStat& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3_vector.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3_vector.h new file mode 100644 index 00000000..609dd197 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/headers/service3_vector.h @@ -0,0 +1,99 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../../__common_namespace/types/vector.h" +#include "../types/service3.productStatsOld.h" +#include "../types/service3.product.h" +#include "../types/service3.groupSizeLimit.h" +#include "../types/service3.groupCountLimit.h" + +namespace tl2 { namespace details { + +void VectorService3GroupCountLimitReset(std::vector<::tl2::service3::GroupCountLimit>& item); + +bool VectorService3GroupCountLimitWriteJSON(std::ostream& s, const std::vector<::tl2::service3::GroupCountLimit>& item); +bool VectorService3GroupCountLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupCountLimit>& item); +bool VectorService3GroupCountLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item); +bool VectorService3GroupCountLimitReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupCountLimit>& item); +bool VectorService3GroupCountLimitWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorService3GroupSizeLimitReset(std::vector<::tl2::service3::GroupSizeLimit>& item); + +bool VectorService3GroupSizeLimitWriteJSON(std::ostream& s, const std::vector<::tl2::service3::GroupSizeLimit>& item); +bool VectorService3GroupSizeLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupSizeLimit>& item); +bool VectorService3GroupSizeLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item); +bool VectorService3GroupSizeLimitReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupSizeLimit>& item); +bool VectorService3GroupSizeLimitWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorService3ProductReset(std::vector<::tl2::service3::Product>& item); + +bool VectorService3ProductWriteJSON(std::ostream& s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t); +bool VectorService3ProductRead(::basictl::tl_istream & s, std::vector<::tl2::service3::Product>& item, uint32_t nat_t); +bool VectorService3ProductWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t); +bool VectorService3ProductReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::Product>& item, uint32_t nat_t); +bool VectorService3ProductWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorService3Product0Reset(std::vector<::tl2::service3::Productmode<0>>& item); + +bool VectorService3Product0WriteJSON(std::ostream& s, const std::vector<::tl2::service3::Productmode<0>>& item); +bool VectorService3Product0Read(::basictl::tl_istream & s, std::vector<::tl2::service3::Productmode<0>>& item); +bool VectorService3Product0Write(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item); +bool VectorService3Product0ReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::Productmode<0>>& item); +bool VectorService3Product0WriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +bool VectorService3Product0MaybeWriteJSON(std::ostream & s, const std::optional>>& item); + +bool VectorService3Product0MaybeReadBoxed(::basictl::tl_istream & s, std::optional>>& item); +bool VectorService3Product0MaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional>>& item); + + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +bool VectorService3ProductMaybeWriteJSON(std::ostream & s, const std::optional>& item, uint32_t nat_t); + +bool VectorService3ProductMaybeReadBoxed(::basictl::tl_istream & s, std::optional>& item, uint32_t nat_t); +bool VectorService3ProductMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional>& item, uint32_t nat_t); + + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void VectorService3ProductStatsOldReset(std::vector<::tl2::service3::ProductStatsOld>& item); + +bool VectorService3ProductStatsOldWriteJSON(std::ostream& s, const std::vector<::tl2::service3::ProductStatsOld>& item); +bool VectorService3ProductStatsOldRead(::basictl::tl_istream & s, std::vector<::tl2::service3::ProductStatsOld>& item); +bool VectorService3ProductStatsOldWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item); +bool VectorService3ProductStatsOldReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::ProductStatsOld>& item); +bool VectorService3ProductStatsOldWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +bool VectorService3ProductStatsOldMaybeWriteJSON(std::ostream & s, const std::optional>& item); + +bool VectorService3ProductStatsOldMaybeReadBoxed(::basictl::tl_istream & s, std::optional>& item); +bool VectorService3ProductStatsOldMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional>& item); + + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.groupCountLimit.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.groupCountLimit.h new file mode 100644 index 00000000..c1d2708a --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.groupCountLimit.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct GroupCountLimit { + std::vector types; + int32_t limit = 0; + + std::string_view tl_name() const { return "service3.groupCountLimit"; } + uint32_t tl_tag() const { return 0x8c04ea7f; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const GroupCountLimit& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.groupSizeLimit.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.groupSizeLimit.h new file mode 100644 index 00000000..16f491db --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.groupSizeLimit.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct GroupSizeLimit { + int32_t type = 0; + int32_t limit = 0; + + std::string_view tl_name() const { return "service3.groupSizeLimit"; } + uint32_t tl_tag() const { return 0x90e59396; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const GroupSizeLimit& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.limits.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.limits.h new file mode 100644 index 00000000..0dafcf70 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.limits.h @@ -0,0 +1,33 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "service3.groupSizeLimit.h" +#include "service3.groupCountLimit.h" + + +namespace tl2 { namespace service3 { +struct Limits { + int32_t default_group_size_limit = 0; + std::vector<::tl2::service3::GroupSizeLimit> custom_group_size_limits; + int32_t default_group_count_limit = 0; + std::vector<::tl2::service3::GroupCountLimit> custom_group_count_limits; + + std::string_view tl_name() const { return "service3.limits"; } + uint32_t tl_tag() const { return 0x80ee61ca; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const Limits& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.product.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.product.h new file mode 100644 index 00000000..cabf0e2f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.product.h @@ -0,0 +1,44 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct Product { + int32_t type = 0; + std::vector id; + std::vector info; + int32_t date = 0; + int32_t expiration_date = 0; + bool removed = false; + + std::string_view tl_name() const { return "service3.product"; } + uint32_t tl_tag() const { return 0x461f4ce2; } + + bool write_json(std::ostream& s, uint32_t nat_mode)const; + + bool read(::basictl::tl_istream & s, uint32_t nat_mode); + bool write(::basictl::tl_ostream & s, uint32_t nat_mode)const; + + bool read_boxed(::basictl::tl_istream & s, uint32_t nat_mode); + bool write_boxed(::basictl::tl_ostream & s, uint32_t nat_mode)const; +}; + +}} // namespace tl2::service3 + +namespace tl2 { namespace service3 { +template +struct Productmode { + int32_t type = 0; + std::vector id; + std::vector info; + int32_t date = 0; + int32_t expiration_date = 0; + bool removed = false; + + std::string_view tl_name() const { return "service3.product"; } + uint32_t tl_tag() const { return 0x461f4ce2; } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.productStatsOld.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.productStatsOld.h new file mode 100644 index 00000000..2d9378fb --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/types/service3.productStatsOld.h @@ -0,0 +1,32 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service3 { +struct ProductStatsOld { + int32_t type = 0; + int32_t count_new = 0; + int32_t count_total = 0; + int32_t count_scheduled = 0; + int32_t next_scheduled_at = 0; + + std::string_view tl_name() const { return "service3.productStatsOld"; } + uint32_t tl_tag() const { return 0x6319810b; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const ProductStatsOld& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service3 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service4/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/service4/details.cpp new file mode 100644 index 00000000..f2c2d259 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service4/details.cpp @@ -0,0 +1,220 @@ +#include "headers/service4.modifiedNewsEntry.h" +#include "headers/service4.object.h" +#include "../__common_namespace/headers/int.h" +#include "../__common_namespace/headers/Bool.h" + + +bool tl2::service4::ModifiedNewsEntry::write_json(std::ostream& s)const { + if (!::tl2::details::Service4ModifiedNewsEntryWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service4::ModifiedNewsEntry::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service4ModifiedNewsEntryRead(s, *this)) { return false; } + return true; +} + +bool tl2::service4::ModifiedNewsEntry::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service4ModifiedNewsEntryWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service4::ModifiedNewsEntry::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service4ModifiedNewsEntryReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service4::ModifiedNewsEntry::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service4ModifiedNewsEntryWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service4ModifiedNewsEntryReset(::tl2::service4::ModifiedNewsEntry& item) { + ::tl2::details::Service4ObjectReset(item.object); + item.creation_date = 0; + item.fields_mask = 0; + item.restoration_date = 0; + item.deletion_date = 0; + item.hidden_by_privacy = false; +} + +bool tl2::details::Service4ModifiedNewsEntryWriteJSON(std::ostream& s, const ::tl2::service4::ModifiedNewsEntry& item) { + auto add_comma = false; + s << "{"; + add_comma = true; + s << "\"object\":"; + if (!::tl2::details::Service4ObjectWriteJSON(s, item.object)) { return false; } + if (item.creation_date != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"creation_date\":"; + s << item.creation_date; + } + if (item.fields_mask != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"fields_mask\":"; + s << item.fields_mask; + } + if ((item.fields_mask & (1<<0)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"restoration_date\":"; + s << item.restoration_date; + } + if ((item.fields_mask & (1<<1)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"deletion_date\":"; + s << item.deletion_date; + } + if ((item.fields_mask & (1<<16)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"hidden_by_privacy\":"; + if (!::tl2::details::BoolWriteJSON(s, item.hidden_by_privacy)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service4ModifiedNewsEntryRead(::basictl::tl_istream & s, ::tl2::service4::ModifiedNewsEntry& item) { + if (!::tl2::details::Service4ObjectRead(s, item.object)) { return false; } + if (!s.int_read(item.creation_date)) { return false; } + if (!s.nat_read(item.fields_mask)) { return false; } + if ((item.fields_mask & (1<<0)) != 0) { + if (!s.int_read(item.restoration_date)) { return false; } + } else { + item.restoration_date = 0; + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!s.int_read(item.deletion_date)) { return false; } + } else { + item.deletion_date = 0; + } + if ((item.fields_mask & (1<<16)) != 0) { + if (!::tl2::details::BoolReadBoxed(s, item.hidden_by_privacy)) { return false; } + } else { + item.hidden_by_privacy = false; + } + return true; +} + +bool tl2::details::Service4ModifiedNewsEntryWrite(::basictl::tl_ostream & s, const ::tl2::service4::ModifiedNewsEntry& item) { + if (!::tl2::details::Service4ObjectWrite(s, item.object)) { return false; } + if (!s.int_write(item.creation_date)) { return false;} + if (!s.nat_write(item.fields_mask)) { return false;} + if ((item.fields_mask & (1<<0)) != 0) { + if (!s.int_write(item.restoration_date)) { return false;} + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!s.int_write(item.deletion_date)) { return false;} + } + if ((item.fields_mask & (1<<16)) != 0) { + if (!::tl2::details::BoolWriteBoxed(s, item.hidden_by_privacy)) { return false; } + } + return true; +} + +bool tl2::details::Service4ModifiedNewsEntryReadBoxed(::basictl::tl_istream & s, ::tl2::service4::ModifiedNewsEntry& item) { + if (!s.nat_read_exact_tag(0xda19832a)) { return false; } + return tl2::details::Service4ModifiedNewsEntryRead(s, item); +} + +bool tl2::details::Service4ModifiedNewsEntryWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service4::ModifiedNewsEntry& item) { + if (!s.nat_write(0xda19832a)) { return false; } + return tl2::details::Service4ModifiedNewsEntryWrite(s, item); +} + +bool tl2::service4::Object::write_json(std::ostream& s)const { + if (!::tl2::details::Service4ObjectWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service4::Object::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service4ObjectRead(s, *this)) { return false; } + return true; +} + +bool tl2::service4::Object::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service4ObjectWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service4::Object::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service4ObjectReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service4::Object::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service4ObjectWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service4ObjectReset(::tl2::service4::Object& item) { + item.type = 0; + item.joint_id.clear(); + item.object_id.clear(); +} + +bool tl2::details::Service4ObjectWriteJSON(std::ostream& s, const ::tl2::service4::Object& item) { + auto add_comma = false; + s << "{"; + if (item.type != 0) { + add_comma = true; + s << "\"type\":"; + s << item.type; + } + if (item.joint_id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"joint_id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.joint_id)) { return false; } + } + if (item.object_id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"object_id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.object_id)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service4ObjectRead(::basictl::tl_istream & s, ::tl2::service4::Object& item) { + if (!s.int_read(item.type)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.joint_id)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.object_id)) { return false; } + return true; +} + +bool tl2::details::Service4ObjectWrite(::basictl::tl_ostream & s, const ::tl2::service4::Object& item) { + if (!s.int_write(item.type)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.joint_id)) { return false; } + if (!::tl2::details::BuiltinVectorIntWrite(s, item.object_id)) { return false; } + return true; +} + +bool tl2::details::Service4ObjectReadBoxed(::basictl::tl_istream & s, ::tl2::service4::Object& item) { + if (!s.nat_read_exact_tag(0xa6eeca4f)) { return false; } + return tl2::details::Service4ObjectRead(s, item); +} + +bool tl2::details::Service4ObjectWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service4::Object& item) { + if (!s.nat_write(0xa6eeca4f)) { return false; } + return tl2::details::Service4ObjectWrite(s, item); +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service4/headers/service4.modifiedNewsEntry.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service4/headers/service4.modifiedNewsEntry.h new file mode 100644 index 00000000..2b4346e6 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service4/headers/service4.modifiedNewsEntry.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service4.modifiedNewsEntry.h" + +namespace tl2 { namespace details { + +void Service4ModifiedNewsEntryReset(::tl2::service4::ModifiedNewsEntry& item); + +bool Service4ModifiedNewsEntryWriteJSON(std::ostream& s, const ::tl2::service4::ModifiedNewsEntry& item); +bool Service4ModifiedNewsEntryRead(::basictl::tl_istream & s, ::tl2::service4::ModifiedNewsEntry& item); +bool Service4ModifiedNewsEntryWrite(::basictl::tl_ostream & s, const ::tl2::service4::ModifiedNewsEntry& item); +bool Service4ModifiedNewsEntryReadBoxed(::basictl::tl_istream & s, ::tl2::service4::ModifiedNewsEntry& item); +bool Service4ModifiedNewsEntryWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service4::ModifiedNewsEntry& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service4/headers/service4.object.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service4/headers/service4.object.h new file mode 100644 index 00000000..e9b221f8 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service4/headers/service4.object.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service4.object.h" + +namespace tl2 { namespace details { + +void Service4ObjectReset(::tl2::service4::Object& item); + +bool Service4ObjectWriteJSON(std::ostream& s, const ::tl2::service4::Object& item); +bool Service4ObjectRead(::basictl::tl_istream & s, ::tl2::service4::Object& item); +bool Service4ObjectWrite(::basictl::tl_ostream & s, const ::tl2::service4::Object& item); +bool Service4ObjectReadBoxed(::basictl::tl_istream & s, ::tl2::service4::Object& item); +bool Service4ObjectWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service4::Object& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service4/types/service4.modifiedNewsEntry.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service4/types/service4.modifiedNewsEntry.h new file mode 100644 index 00000000..6182cc13 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service4/types/service4.modifiedNewsEntry.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "service4.object.h" + + +namespace tl2 { namespace service4 { +struct ModifiedNewsEntry { + ::tl2::service4::Object object{}; + int32_t creation_date = 0; + uint32_t fields_mask = 0; + int32_t restoration_date = 0; + int32_t deletion_date = 0; + bool hidden_by_privacy = false; + + std::string_view tl_name() const { return "service4.modifiedNewsEntry"; } + uint32_t tl_tag() const { return 0xda19832a; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const ModifiedNewsEntry& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service4 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service4/types/service4.object.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service4/types/service4.object.h new file mode 100644 index 00000000..851014d4 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service4/types/service4.object.h @@ -0,0 +1,30 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service4 { +struct Object { + int32_t type = 0; + std::vector joint_id; + std::vector object_id; + + std::string_view tl_name() const { return "service4.object"; } + uint32_t tl_tag() const { return 0xa6eeca4f; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const Object& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service4 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/details.cpp new file mode 100644 index 00000000..c61cc7b2 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/details.cpp @@ -0,0 +1,542 @@ +#include "headers/service5.query.h" +#include "headers/service5.performQuery.h" +#include "headers/service5.params.h" +#include "headers/service5.Output.h" +#include "headers/service5.stringOutput.h" +#include "headers/service5.insert.h" +#include "headers/service5.emptyOutput.h" + + +bool tl2::service5::EmptyOutput::write_json(std::ostream& s)const { + if (!::tl2::details::Service5EmptyOutputWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service5::EmptyOutput::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service5EmptyOutputRead(s, *this)) { return false; } + return true; +} + +bool tl2::service5::EmptyOutput::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5EmptyOutputWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service5::EmptyOutput::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service5EmptyOutputReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service5::EmptyOutput::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5EmptyOutputWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service5EmptyOutputReset(::tl2::service5::EmptyOutput& item) { +} + +bool tl2::details::Service5EmptyOutputWriteJSON(std::ostream& s, const ::tl2::service5::EmptyOutput& item) { + s << "true"; + return true; +} + +bool tl2::details::Service5EmptyOutputRead(::basictl::tl_istream & s, ::tl2::service5::EmptyOutput& item) { + return true; +} + +bool tl2::details::Service5EmptyOutputWrite(::basictl::tl_ostream & s, const ::tl2::service5::EmptyOutput& item) { + return true; +} + +bool tl2::details::Service5EmptyOutputReadBoxed(::basictl::tl_istream & s, ::tl2::service5::EmptyOutput& item) { + if (!s.nat_read_exact_tag(0x11e46879)) { return false; } + return tl2::details::Service5EmptyOutputRead(s, item); +} + +bool tl2::details::Service5EmptyOutputWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::EmptyOutput& item) { + if (!s.nat_write(0x11e46879)) { return false; } + return tl2::details::Service5EmptyOutputWrite(s, item); +} + +bool tl2::service5::Insert::write_json(std::ostream& s)const { + if (!::tl2::details::Service5InsertWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service5::Insert::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service5InsertRead(s, *this)) { return false; } + return true; +} + +bool tl2::service5::Insert::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5InsertWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service5::Insert::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service5InsertReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service5::Insert::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5InsertWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service5InsertReset(::tl2::service5::Insert& item) { + item.table.clear(); + item.data.clear(); +} + +bool tl2::details::Service5InsertWriteJSON(std::ostream& s, const ::tl2::service5::Insert& item) { + auto add_comma = false; + s << "{"; + if (item.table.size() != 0) { + add_comma = true; + s << "\"table\":"; + s << "\"" << item.table << "\""; + } + if (item.data.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"data\":"; + s << "\"" << item.data << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service5InsertRead(::basictl::tl_istream & s, ::tl2::service5::Insert& item) { + if (!s.string_read(item.table)) { return false; } + if (!s.string_read(item.data)) { return false; } + return true; +} + +bool tl2::details::Service5InsertWrite(::basictl::tl_ostream & s, const ::tl2::service5::Insert& item) { + if (!s.string_write(item.table)) { return false;} + if (!s.string_write(item.data)) { return false;} + return true; +} + +bool tl2::details::Service5InsertReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Insert& item) { + if (!s.nat_read_exact_tag(0xc911ee2c)) { return false; } + return tl2::details::Service5InsertRead(s, item); +} + +bool tl2::details::Service5InsertWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Insert& item) { + if (!s.nat_write(0xc911ee2c)) { return false; } + return tl2::details::Service5InsertWrite(s, item); +} + +bool tl2::details::Service5InsertReadResult(::basictl::tl_istream & s, tl2::service5::Insert& item, ::tl2::service5::Output& result) { + if (!::tl2::details::Service5OutputReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service5InsertWriteResult(::basictl::tl_ostream & s, tl2::service5::Insert& item, ::tl2::service5::Output& result) { + if (!::tl2::details::Service5OutputWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service5::Insert::read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result) { + return tl2::details::Service5InsertReadResult(s, *this, result); +} +bool tl2::service5::Insert::write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result) { + return tl2::details::Service5InsertWriteResult(s, *this, result); +} + +static const std::string_view Service5Output_tbl_tl_name[]{"service5.emptyOutput", "service5.stringOutput"}; +static const uint32_t Service5Output_tbl_tl_tag[]{0x11e46879, 0x179e9863}; + +bool tl2::service5::Output::write_json(std::ostream & s)const { + if (!::tl2::details::Service5OutputWriteJSON(s, *this)) { return false; } + return true; +} +bool tl2::service5::Output::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service5OutputReadBoxed(s, *this)) { return false; } + return true; +} +bool tl2::service5::Output::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5OutputWriteBoxed(s, *this)) { return false; } + return true; +} +std::string_view tl2::service5::Output::tl_name() const { + return Service5Output_tbl_tl_name[value.index()]; +} +uint32_t tl2::service5::Output::tl_tag() const { + return Service5Output_tbl_tl_tag[value.index()]; +} + + +void tl2::details::Service5OutputReset(::tl2::service5::Output& item) { + item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function +} + +bool tl2::details::Service5OutputWriteJSON(std::ostream & s, const ::tl2::service5::Output& item) { + s << "{"; + s << "\"type\":"; + s << "\"" << Service5Output_tbl_tl_name[item.value.index()] << "\""; + switch (item.value.index()) { + case 1: + s << ",\"value\":"; + if (!::tl2::details::Service5StringOutputWriteJSON(s, std::get<1>(item.value))) { return false; } + break; + } + s << "}"; + return true; +} +bool tl2::details::Service5OutputReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Output& item) { + uint32_t nat; + s.nat_read(nat); + switch (nat) { + case 0x11e46879: + if (item.value.index() != 0) { item.value.emplace<0>(); } + break; + case 0x179e9863: + if (item.value.index() != 1) { item.value.emplace<1>(); } + if (!::tl2::details::Service5StringOutputRead(s, std::get<1>(item.value))) { return false; } + break; + default: + return s.set_error_union_tag(); + } + return true; +} + +bool tl2::details::Service5OutputWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Output& item) { + s.nat_write(Service5Output_tbl_tl_tag[item.value.index()]); + switch (item.value.index()) { + case 1: + if (!::tl2::details::Service5StringOutputWrite(s, std::get<1>(item.value))) { return false; } + break; + } + return true; +} + +bool tl2::service5::Params::write_json(std::ostream& s)const { + if (!::tl2::details::Service5ParamsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service5::Params::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service5ParamsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service5::Params::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5ParamsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service5::Params::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service5ParamsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service5::Params::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5ParamsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service5ParamsReset(::tl2::service5::Params& item) { + item.fields_mask = 0; + item.max_execution_speed = 0; + item.max_execution_speed_bytes = 0; +} + +bool tl2::details::Service5ParamsWriteJSON(std::ostream& s, const ::tl2::service5::Params& item) { + auto add_comma = false; + s << "{"; + if (item.fields_mask != 0) { + add_comma = true; + s << "\"fields_mask\":"; + s << item.fields_mask; + } + if ((item.fields_mask & (1<<0)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"max_execution_speed\":"; + s << item.max_execution_speed; + } + if ((item.fields_mask & (1<<1)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"max_execution_speed_bytes\":"; + s << item.max_execution_speed_bytes; + } + s << "}"; + return true; +} + +bool tl2::details::Service5ParamsRead(::basictl::tl_istream & s, ::tl2::service5::Params& item) { + if (!s.nat_read(item.fields_mask)) { return false; } + if ((item.fields_mask & (1<<0)) != 0) { + if (!s.int_read(item.max_execution_speed)) { return false; } + } else { + item.max_execution_speed = 0; + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!s.int_read(item.max_execution_speed_bytes)) { return false; } + } else { + item.max_execution_speed_bytes = 0; + } + return true; +} + +bool tl2::details::Service5ParamsWrite(::basictl::tl_ostream & s, const ::tl2::service5::Params& item) { + if (!s.nat_write(item.fields_mask)) { return false;} + if ((item.fields_mask & (1<<0)) != 0) { + if (!s.int_write(item.max_execution_speed)) { return false;} + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!s.int_write(item.max_execution_speed_bytes)) { return false;} + } + return true; +} + +bool tl2::details::Service5ParamsReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Params& item) { + if (!s.nat_read_exact_tag(0x12ae5cb5)) { return false; } + return tl2::details::Service5ParamsRead(s, item); +} + +bool tl2::details::Service5ParamsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Params& item) { + if (!s.nat_write(0x12ae5cb5)) { return false; } + return tl2::details::Service5ParamsWrite(s, item); +} + +bool tl2::service5::PerformQuery::write_json(std::ostream& s)const { + if (!::tl2::details::Service5PerformQueryWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service5::PerformQuery::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service5PerformQueryRead(s, *this)) { return false; } + return true; +} + +bool tl2::service5::PerformQuery::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5PerformQueryWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service5::PerformQuery::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service5PerformQueryReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service5::PerformQuery::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5PerformQueryWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service5PerformQueryReset(::tl2::service5::PerformQuery& item) { + item.query.clear(); +} + +bool tl2::details::Service5PerformQueryWriteJSON(std::ostream& s, const ::tl2::service5::PerformQuery& item) { + s << "{"; + if (item.query.size() != 0) { + s << "\"query\":"; + s << "\"" << item.query << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service5PerformQueryRead(::basictl::tl_istream & s, ::tl2::service5::PerformQuery& item) { + if (!s.string_read(item.query)) { return false; } + return true; +} + +bool tl2::details::Service5PerformQueryWrite(::basictl::tl_ostream & s, const ::tl2::service5::PerformQuery& item) { + if (!s.string_write(item.query)) { return false;} + return true; +} + +bool tl2::details::Service5PerformQueryReadBoxed(::basictl::tl_istream & s, ::tl2::service5::PerformQuery& item) { + if (!s.nat_read_exact_tag(0x019d80a5)) { return false; } + return tl2::details::Service5PerformQueryRead(s, item); +} + +bool tl2::details::Service5PerformQueryWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::PerformQuery& item) { + if (!s.nat_write(0x019d80a5)) { return false; } + return tl2::details::Service5PerformQueryWrite(s, item); +} + +bool tl2::details::Service5PerformQueryReadResult(::basictl::tl_istream & s, tl2::service5::PerformQuery& item, ::tl2::service5::Output& result) { + if (!::tl2::details::Service5OutputReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service5PerformQueryWriteResult(::basictl::tl_ostream & s, tl2::service5::PerformQuery& item, ::tl2::service5::Output& result) { + if (!::tl2::details::Service5OutputWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service5::PerformQuery::read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result) { + return tl2::details::Service5PerformQueryReadResult(s, *this, result); +} +bool tl2::service5::PerformQuery::write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result) { + return tl2::details::Service5PerformQueryWriteResult(s, *this, result); +} + +bool tl2::service5::Query::write_json(std::ostream& s)const { + if (!::tl2::details::Service5QueryWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service5::Query::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service5QueryRead(s, *this)) { return false; } + return true; +} + +bool tl2::service5::Query::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5QueryWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service5::Query::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service5QueryReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service5::Query::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5QueryWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service5QueryReset(::tl2::service5::Query& item) { + item.query.clear(); + ::tl2::details::Service5ParamsReset(item.params); +} + +bool tl2::details::Service5QueryWriteJSON(std::ostream& s, const ::tl2::service5::Query& item) { + auto add_comma = false; + s << "{"; + if (item.query.size() != 0) { + add_comma = true; + s << "\"query\":"; + s << "\"" << item.query << "\""; + } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"params\":"; + if (!::tl2::details::Service5ParamsWriteJSON(s, item.params)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::Service5QueryRead(::basictl::tl_istream & s, ::tl2::service5::Query& item) { + if (!s.string_read(item.query)) { return false; } + if (!::tl2::details::Service5ParamsRead(s, item.params)) { return false; } + return true; +} + +bool tl2::details::Service5QueryWrite(::basictl::tl_ostream & s, const ::tl2::service5::Query& item) { + if (!s.string_write(item.query)) { return false;} + if (!::tl2::details::Service5ParamsWrite(s, item.params)) { return false; } + return true; +} + +bool tl2::details::Service5QueryReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Query& item) { + if (!s.nat_read_exact_tag(0xb3b62513)) { return false; } + return tl2::details::Service5QueryRead(s, item); +} + +bool tl2::details::Service5QueryWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Query& item) { + if (!s.nat_write(0xb3b62513)) { return false; } + return tl2::details::Service5QueryWrite(s, item); +} + +bool tl2::details::Service5QueryReadResult(::basictl::tl_istream & s, tl2::service5::Query& item, ::tl2::service5::Output& result) { + if (!::tl2::details::Service5OutputReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::Service5QueryWriteResult(::basictl::tl_ostream & s, tl2::service5::Query& item, ::tl2::service5::Output& result) { + if (!::tl2::details::Service5OutputWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::service5::Query::read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result) { + return tl2::details::Service5QueryReadResult(s, *this, result); +} +bool tl2::service5::Query::write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result) { + return tl2::details::Service5QueryWriteResult(s, *this, result); +} + +bool tl2::service5::StringOutput::write_json(std::ostream& s)const { + if (!::tl2::details::Service5StringOutputWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service5::StringOutput::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service5StringOutputRead(s, *this)) { return false; } + return true; +} + +bool tl2::service5::StringOutput::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5StringOutputWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service5::StringOutput::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service5StringOutputReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service5::StringOutput::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service5StringOutputWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service5StringOutputReset(::tl2::service5::StringOutput& item) { + item.http_code = 0; + item.response.clear(); +} + +bool tl2::details::Service5StringOutputWriteJSON(std::ostream& s, const ::tl2::service5::StringOutput& item) { + auto add_comma = false; + s << "{"; + if (item.http_code != 0) { + add_comma = true; + s << "\"http_code\":"; + s << item.http_code; + } + if (item.response.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"response\":"; + s << "\"" << item.response << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::Service5StringOutputRead(::basictl::tl_istream & s, ::tl2::service5::StringOutput& item) { + if (!s.int_read(item.http_code)) { return false; } + if (!s.string_read(item.response)) { return false; } + return true; +} + +bool tl2::details::Service5StringOutputWrite(::basictl::tl_ostream & s, const ::tl2::service5::StringOutput& item) { + if (!s.int_write(item.http_code)) { return false;} + if (!s.string_write(item.response)) { return false;} + return true; +} + +bool tl2::details::Service5StringOutputReadBoxed(::basictl::tl_istream & s, ::tl2::service5::StringOutput& item) { + if (!s.nat_read_exact_tag(0x179e9863)) { return false; } + return tl2::details::Service5StringOutputRead(s, item); +} + +bool tl2::details::Service5StringOutputWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::StringOutput& item) { + if (!s.nat_write(0x179e9863)) { return false; } + return tl2::details::Service5StringOutputWrite(s, item); +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/functions/service5.insert.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/functions/service5.insert.h new file mode 100644 index 00000000..7e461a64 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/functions/service5.insert.h @@ -0,0 +1,36 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service5.Output.h" + + +namespace tl2 { namespace service5 { +struct Insert { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xc911ee2c; } + + std::string table; + std::string data; + + std::string_view tl_name() const { return "service5.insert"; } + uint32_t tl_tag() const { return 0xc911ee2c; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result); + + friend std::ostream& operator<<(std::ostream& s, const Insert& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service5 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/functions/service5.performQuery.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/functions/service5.performQuery.h new file mode 100644 index 00000000..d9d64cf0 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/functions/service5.performQuery.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service5.Output.h" + + +namespace tl2 { namespace service5 { +struct PerformQuery { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x019d80a5; } + + std::string query; + + std::string_view tl_name() const { return "service5.performQuery"; } + uint32_t tl_tag() const { return 0x019d80a5; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result); + + friend std::ostream& operator<<(std::ostream& s, const PerformQuery& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service5 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/functions/service5.query.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/functions/service5.query.h new file mode 100644 index 00000000..1a4449e3 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/functions/service5.query.h @@ -0,0 +1,37 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service5.params.h" +#include "../types/service5.Output.h" + + +namespace tl2 { namespace service5 { +struct Query { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xb3b62513; } + + std::string query; + ::tl2::service5::Params params{}; + + std::string_view tl_name() const { return "service5.query"; } + uint32_t tl_tag() const { return 0xb3b62513; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result); + + friend std::ostream& operator<<(std::ostream& s, const Query& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service5 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.Output.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.Output.h new file mode 100644 index 00000000..e468156b --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.Output.h @@ -0,0 +1,15 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service5.Output.h" + +namespace tl2 { namespace details { + +void Service5OutputReset(::tl2::service5::Output& item); + +bool Service5OutputWriteJSON(std::ostream & s, const ::tl2::service5::Output& item); +bool Service5OutputReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Output& item); +bool Service5OutputWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Output& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.emptyOutput.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.emptyOutput.h new file mode 100644 index 00000000..0caae9d1 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.emptyOutput.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service5.emptyOutput.h" + +namespace tl2 { namespace details { + +void Service5EmptyOutputReset(::tl2::service5::EmptyOutput& item); + +bool Service5EmptyOutputWriteJSON(std::ostream& s, const ::tl2::service5::EmptyOutput& item); +bool Service5EmptyOutputRead(::basictl::tl_istream & s, ::tl2::service5::EmptyOutput& item); +bool Service5EmptyOutputWrite(::basictl::tl_ostream & s, const ::tl2::service5::EmptyOutput& item); +bool Service5EmptyOutputReadBoxed(::basictl::tl_istream & s, ::tl2::service5::EmptyOutput& item); +bool Service5EmptyOutputWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::EmptyOutput& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.insert.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.insert.h new file mode 100644 index 00000000..612d6c39 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.insert.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service5.insert.h" +#include "../types/service5.Output.h" + +namespace tl2 { namespace details { + +void Service5InsertReset(::tl2::service5::Insert& item); + +bool Service5InsertWriteJSON(std::ostream& s, const ::tl2::service5::Insert& item); +bool Service5InsertRead(::basictl::tl_istream & s, ::tl2::service5::Insert& item); +bool Service5InsertWrite(::basictl::tl_ostream & s, const ::tl2::service5::Insert& item); +bool Service5InsertReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Insert& item); +bool Service5InsertWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Insert& item); + +bool Service5InsertReadResult(::basictl::tl_istream & s, ::tl2::service5::Insert& item, ::tl2::service5::Output& result); +bool Service5InsertWriteResult(::basictl::tl_ostream & s, ::tl2::service5::Insert& item, ::tl2::service5::Output& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.params.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.params.h new file mode 100644 index 00000000..ead2c9d3 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.params.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service5.params.h" + +namespace tl2 { namespace details { + +void Service5ParamsReset(::tl2::service5::Params& item); + +bool Service5ParamsWriteJSON(std::ostream& s, const ::tl2::service5::Params& item); +bool Service5ParamsRead(::basictl::tl_istream & s, ::tl2::service5::Params& item); +bool Service5ParamsWrite(::basictl::tl_ostream & s, const ::tl2::service5::Params& item); +bool Service5ParamsReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Params& item); +bool Service5ParamsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Params& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.performQuery.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.performQuery.h new file mode 100644 index 00000000..8c864bc8 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.performQuery.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service5.performQuery.h" +#include "../types/service5.Output.h" + +namespace tl2 { namespace details { + +void Service5PerformQueryReset(::tl2::service5::PerformQuery& item); + +bool Service5PerformQueryWriteJSON(std::ostream& s, const ::tl2::service5::PerformQuery& item); +bool Service5PerformQueryRead(::basictl::tl_istream & s, ::tl2::service5::PerformQuery& item); +bool Service5PerformQueryWrite(::basictl::tl_ostream & s, const ::tl2::service5::PerformQuery& item); +bool Service5PerformQueryReadBoxed(::basictl::tl_istream & s, ::tl2::service5::PerformQuery& item); +bool Service5PerformQueryWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::PerformQuery& item); + +bool Service5PerformQueryReadResult(::basictl::tl_istream & s, ::tl2::service5::PerformQuery& item, ::tl2::service5::Output& result); +bool Service5PerformQueryWriteResult(::basictl::tl_ostream & s, ::tl2::service5::PerformQuery& item, ::tl2::service5::Output& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.query.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.query.h new file mode 100644 index 00000000..8fcf9fb2 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.query.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service5.query.h" +#include "../types/service5.Output.h" + +namespace tl2 { namespace details { + +void Service5QueryReset(::tl2::service5::Query& item); + +bool Service5QueryWriteJSON(std::ostream& s, const ::tl2::service5::Query& item); +bool Service5QueryRead(::basictl::tl_istream & s, ::tl2::service5::Query& item); +bool Service5QueryWrite(::basictl::tl_ostream & s, const ::tl2::service5::Query& item); +bool Service5QueryReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Query& item); +bool Service5QueryWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Query& item); + +bool Service5QueryReadResult(::basictl::tl_istream & s, ::tl2::service5::Query& item, ::tl2::service5::Output& result); +bool Service5QueryWriteResult(::basictl::tl_ostream & s, ::tl2::service5::Query& item, ::tl2::service5::Output& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.stringOutput.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.stringOutput.h new file mode 100644 index 00000000..9ab14772 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/headers/service5.stringOutput.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service5.stringOutput.h" + +namespace tl2 { namespace details { + +void Service5StringOutputReset(::tl2::service5::StringOutput& item); + +bool Service5StringOutputWriteJSON(std::ostream& s, const ::tl2::service5::StringOutput& item); +bool Service5StringOutputRead(::basictl::tl_istream & s, ::tl2::service5::StringOutput& item); +bool Service5StringOutputWrite(::basictl::tl_ostream & s, const ::tl2::service5::StringOutput& item); +bool Service5StringOutputReadBoxed(::basictl::tl_istream & s, ::tl2::service5::StringOutput& item); +bool Service5StringOutputWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::StringOutput& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.Output.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.Output.h new file mode 100644 index 00000000..e1a12c05 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.Output.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "service5.stringOutput.h" +#include "service5.emptyOutput.h" + + +namespace tl2 { namespace service5 { +struct Output { + std::variant<::tl2::service5::EmptyOutput, ::tl2::service5::StringOutput> value; + + bool is_empty() const { return value.index() == 0; } + bool is_string() const { return value.index() == 1; } + + void set_empty() { value.emplace<0>(); } + + std::string_view tl_name() const; + uint32_t tl_tag() const; + + bool write_json(std::ostream& s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; +}; + +}} // namespace tl2::service5 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.emptyOutput.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.emptyOutput.h new file mode 100644 index 00000000..2a84e523 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.emptyOutput.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service5 { +struct EmptyOutput { + + std::string_view tl_name() const { return "service5.emptyOutput"; } + uint32_t tl_tag() const { return 0x11e46879; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const EmptyOutput& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service5 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.params.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.params.h new file mode 100644 index 00000000..23ec8cb3 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.params.h @@ -0,0 +1,30 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service5 { +struct Params { + uint32_t fields_mask = 0; + int32_t max_execution_speed = 0; + int32_t max_execution_speed_bytes = 0; + + std::string_view tl_name() const { return "service5.params"; } + uint32_t tl_tag() const { return 0x12ae5cb5; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const Params& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service5 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.stringOutput.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.stringOutput.h new file mode 100644 index 00000000..889a3c0e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/types/service5.stringOutput.h @@ -0,0 +1,29 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service5 { +struct StringOutput { + int32_t http_code = 0; + std::string response; + + std::string_view tl_name() const { return "service5.stringOutput"; } + uint32_t tl_tag() const { return 0x179e9863; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const StringOutput& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service5 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/details.cpp new file mode 100644 index 00000000..7418c918 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/details.cpp @@ -0,0 +1,437 @@ +#include "headers/service6.multiFindWithBounds.h" +#include "headers/service6.multiFind.h" +#include "headers/service6.findWithBoundsResult.h" +#include "headers/service6.findResultRow.h" +#include "headers/service6.error.h" +#include "../__common_namespace/headers/int.h" +#include "../__common_namespace/headers/Either.h" + + +void tl2::details::BuiltinVectorService6FindResultRowReset(std::vector<::tl2::service6::FindResultRow>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorService6FindResultRowWriteJSON(std::ostream & s, const std::vector<::tl2::service6::FindResultRow>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::Service6FindResultRowWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindResultRow>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::Service6FindResultRowRead(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindResultRow>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::Service6FindResultRowWrite(s, el)) { return false; } + } + return true; +} + +void tl2::details::BuiltinVectorService6FindWithBoundsResultReset(std::vector<::tl2::service6::FindWithBoundsResult>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorService6FindWithBoundsResultWriteJSON(std::ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::Service6FindWithBoundsResultWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindWithBoundsResult>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::Service6FindWithBoundsResultRead(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::Service6FindWithBoundsResultWrite(s, el)) { return false; } + } + return true; +} + +bool tl2::service6::Error::write_json(std::ostream& s)const { + if (!::tl2::details::Service6ErrorWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service6::Error::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service6ErrorRead(s, *this)) { return false; } + return true; +} + +bool tl2::service6::Error::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service6ErrorWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service6::Error::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service6ErrorReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service6::Error::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service6ErrorWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service6ErrorReset(::tl2::service6::Error& item) { + item.code = 0; +} + +bool tl2::details::Service6ErrorWriteJSON(std::ostream& s, const ::tl2::service6::Error& item) { + s << "{"; + if (item.code != 0) { + s << "\"code\":"; + s << item.code; + } + s << "}"; + return true; +} + +bool tl2::details::Service6ErrorRead(::basictl::tl_istream & s, ::tl2::service6::Error& item) { + if (!s.int_read(item.code)) { return false; } + return true; +} + +bool tl2::details::Service6ErrorWrite(::basictl::tl_ostream & s, const ::tl2::service6::Error& item) { + if (!s.int_write(item.code)) { return false;} + return true; +} + +bool tl2::details::Service6ErrorReadBoxed(::basictl::tl_istream & s, ::tl2::service6::Error& item) { + if (!s.nat_read_exact_tag(0x738553ef)) { return false; } + return tl2::details::Service6ErrorRead(s, item); +} + +bool tl2::details::Service6ErrorWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::Error& item) { + if (!s.nat_write(0x738553ef)) { return false; } + return tl2::details::Service6ErrorWrite(s, item); +} + +bool tl2::service6::FindResultRow::write_json(std::ostream& s)const { + if (!::tl2::details::Service6FindResultRowWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service6::FindResultRow::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service6FindResultRowRead(s, *this)) { return false; } + return true; +} + +bool tl2::service6::FindResultRow::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service6FindResultRowWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service6::FindResultRow::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service6FindResultRowReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service6::FindResultRow::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service6FindResultRowWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service6FindResultRowReset(::tl2::service6::FindResultRow& item) { + item.x = 0; +} + +bool tl2::details::Service6FindResultRowWriteJSON(std::ostream& s, const ::tl2::service6::FindResultRow& item) { + s << "{"; + if (item.x != 0) { + s << "\"x\":"; + s << item.x; + } + s << "}"; + return true; +} + +bool tl2::details::Service6FindResultRowRead(::basictl::tl_istream & s, ::tl2::service6::FindResultRow& item) { + if (!s.int_read(item.x)) { return false; } + return true; +} + +bool tl2::details::Service6FindResultRowWrite(::basictl::tl_ostream & s, const ::tl2::service6::FindResultRow& item) { + if (!s.int_write(item.x)) { return false;} + return true; +} + +bool tl2::details::Service6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::service6::FindResultRow& item) { + if (!s.nat_read_exact_tag(0xbd3946e3)) { return false; } + return tl2::details::Service6FindResultRowRead(s, item); +} + +bool tl2::details::Service6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::FindResultRow& item) { + if (!s.nat_write(0xbd3946e3)) { return false; } + return tl2::details::Service6FindResultRowWrite(s, item); +} + +bool tl2::service6::FindWithBoundsResult::write_json(std::ostream& s)const { + if (!::tl2::details::Service6FindWithBoundsResultWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service6::FindWithBoundsResult::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service6FindWithBoundsResultRead(s, *this)) { return false; } + return true; +} + +bool tl2::service6::FindWithBoundsResult::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service6FindWithBoundsResultWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service6::FindWithBoundsResult::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service6FindWithBoundsResultReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service6::FindWithBoundsResult::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service6FindWithBoundsResultWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service6FindWithBoundsResultReset(::tl2::service6::FindWithBoundsResult& item) { + item.x = 0; +} + +bool tl2::details::Service6FindWithBoundsResultWriteJSON(std::ostream& s, const ::tl2::service6::FindWithBoundsResult& item) { + s << "{"; + if (item.x != 0) { + s << "\"x\":"; + s << item.x; + } + s << "}"; + return true; +} + +bool tl2::details::Service6FindWithBoundsResultRead(::basictl::tl_istream & s, ::tl2::service6::FindWithBoundsResult& item) { + if (!s.int_read(item.x)) { return false; } + return true; +} + +bool tl2::details::Service6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const ::tl2::service6::FindWithBoundsResult& item) { + if (!s.int_write(item.x)) { return false;} + return true; +} + +bool tl2::details::Service6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::service6::FindWithBoundsResult& item) { + if (!s.nat_read_exact_tag(0x3ded850a)) { return false; } + return tl2::details::Service6FindWithBoundsResultRead(s, item); +} + +bool tl2::details::Service6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::FindWithBoundsResult& item) { + if (!s.nat_write(0x3ded850a)) { return false; } + return tl2::details::Service6FindWithBoundsResultWrite(s, item); +} + +bool tl2::service6::MultiFind::write_json(std::ostream& s)const { + if (!::tl2::details::Service6MultiFindWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service6::MultiFind::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service6MultiFindRead(s, *this)) { return false; } + return true; +} + +bool tl2::service6::MultiFind::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service6MultiFindWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service6::MultiFind::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service6MultiFindReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service6::MultiFind::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service6MultiFindWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service6MultiFindReset(::tl2::service6::MultiFind& item) { + item.clusters.clear(); + item.limit = 0; + item.eq_threshold = 0; +} + +bool tl2::details::Service6MultiFindWriteJSON(std::ostream& s, const ::tl2::service6::MultiFind& item) { + auto add_comma = false; + s << "{"; + if (item.clusters.size() != 0) { + add_comma = true; + s << "\"clusters\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.clusters)) { return false; } + } + if (item.limit != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"limit\":"; + s << item.limit; + } + if (item.eq_threshold != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"eq_threshold\":"; + s << item.eq_threshold; + } + s << "}"; + return true; +} + +bool tl2::details::Service6MultiFindRead(::basictl::tl_istream & s, ::tl2::service6::MultiFind& item) { + if (!::tl2::details::BuiltinVectorIntRead(s, item.clusters)) { return false; } + if (!s.int_read(item.limit)) { return false; } + if (!s.double_read(item.eq_threshold)) { return false; } + return true; +} + +bool tl2::details::Service6MultiFindWrite(::basictl::tl_ostream & s, const ::tl2::service6::MultiFind& item) { + if (!::tl2::details::BuiltinVectorIntWrite(s, item.clusters)) { return false; } + if (!s.int_write(item.limit)) { return false;} + if (!s.double_write(item.eq_threshold)) { return false;} + return true; +} + +bool tl2::details::Service6MultiFindReadBoxed(::basictl::tl_istream & s, ::tl2::service6::MultiFind& item) { + if (!s.nat_read_exact_tag(0xe62178d8)) { return false; } + return tl2::details::Service6MultiFindRead(s, item); +} + +bool tl2::details::Service6MultiFindWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::MultiFind& item) { + if (!s.nat_write(0xe62178d8)) { return false; } + return tl2::details::Service6MultiFindWrite(s, item); +} + +bool tl2::details::Service6MultiFindReadResult(::basictl::tl_istream & s, tl2::service6::MultiFind& item, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& result) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowRead(s, result)) { return false; } + return true; +} +bool tl2::details::Service6MultiFindWriteResult(::basictl::tl_ostream & s, tl2::service6::MultiFind& item, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& result) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWrite(s, result)) { return false; } + return true; +} + +bool tl2::service6::MultiFind::read_result(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> & result) { + return tl2::details::Service6MultiFindReadResult(s, *this, result); +} +bool tl2::service6::MultiFind::write_result(::basictl::tl_ostream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> & result) { + return tl2::details::Service6MultiFindWriteResult(s, *this, result); +} + +bool tl2::service6::MultiFindWithBounds::write_json(std::ostream& s)const { + if (!::tl2::details::Service6MultiFindWithBoundsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::service6::MultiFindWithBounds::read(::basictl::tl_istream & s) { + if (!::tl2::details::Service6MultiFindWithBoundsRead(s, *this)) { return false; } + return true; +} + +bool tl2::service6::MultiFindWithBounds::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service6MultiFindWithBoundsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::service6::MultiFindWithBounds::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::Service6MultiFindWithBoundsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::service6::MultiFindWithBounds::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::Service6MultiFindWithBoundsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::Service6MultiFindWithBoundsReset(::tl2::service6::MultiFindWithBounds& item) { + item.clusters.clear(); +} + +bool tl2::details::Service6MultiFindWithBoundsWriteJSON(std::ostream& s, const ::tl2::service6::MultiFindWithBounds& item) { + s << "{"; + if (item.clusters.size() != 0) { + s << "\"clusters\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.clusters)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::Service6MultiFindWithBoundsRead(::basictl::tl_istream & s, ::tl2::service6::MultiFindWithBounds& item) { + if (!::tl2::details::BuiltinVectorIntRead(s, item.clusters)) { return false; } + return true; +} + +bool tl2::details::Service6MultiFindWithBoundsWrite(::basictl::tl_ostream & s, const ::tl2::service6::MultiFindWithBounds& item) { + if (!::tl2::details::BuiltinVectorIntWrite(s, item.clusters)) { return false; } + return true; +} + +bool tl2::details::Service6MultiFindWithBoundsReadBoxed(::basictl::tl_istream & s, ::tl2::service6::MultiFindWithBounds& item) { + if (!s.nat_read_exact_tag(0x84b168cf)) { return false; } + return tl2::details::Service6MultiFindWithBoundsRead(s, item); +} + +bool tl2::details::Service6MultiFindWithBoundsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::MultiFindWithBounds& item) { + if (!s.nat_write(0x84b168cf)) { return false; } + return tl2::details::Service6MultiFindWithBoundsWrite(s, item); +} + +bool tl2::details::Service6MultiFindWithBoundsReadResult(::basictl::tl_istream & s, tl2::service6::MultiFindWithBounds& item, std::vector<::tl2::Either>>& result) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultRead(s, result)) { return false; } + return true; +} +bool tl2::details::Service6MultiFindWithBoundsWriteResult(::basictl::tl_ostream & s, tl2::service6::MultiFindWithBounds& item, std::vector<::tl2::Either>>& result) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultWrite(s, result)) { return false; } + return true; +} + +bool tl2::service6::MultiFindWithBounds::read_result(::basictl::tl_istream & s, std::vector<::tl2::Either>> & result) { + return tl2::details::Service6MultiFindWithBoundsReadResult(s, *this, result); +} +bool tl2::service6::MultiFindWithBounds::write_result(::basictl::tl_ostream & s, std::vector<::tl2::Either>> & result) { + return tl2::details::Service6MultiFindWithBoundsWriteResult(s, *this, result); +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/functions/service6.multiFind.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/functions/service6.multiFind.h new file mode 100644 index 00000000..ecff07d1 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/functions/service6.multiFind.h @@ -0,0 +1,39 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service6.findResultRow.h" +#include "../types/service6.error.h" +#include "../../__common_namespace/types/Either.h" + + +namespace tl2 { namespace service6 { +struct MultiFind { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xe62178d8; } + + std::vector clusters; + int32_t limit = 0; + double eq_threshold = 0; + + std::string_view tl_name() const { return "service6.multiFind"; } + uint32_t tl_tag() const { return 0xe62178d8; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> & result); + bool write_result(::basictl::tl_ostream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> & result); + + friend std::ostream& operator<<(std::ostream& s, const MultiFind& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service6 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/functions/service6.multiFindWithBounds.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/functions/service6.multiFindWithBounds.h new file mode 100644 index 00000000..e02d8b71 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/functions/service6.multiFindWithBounds.h @@ -0,0 +1,36 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service6.findWithBoundsResult.h" +#include "../../__common_namespace/types/Either.h" + + +namespace tl2 { namespace service6 { +struct MultiFindWithBounds { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x84b168cf; } + + std::vector clusters; + + std::string_view tl_name() const { return "service6.multiFindWithBounds"; } + uint32_t tl_tag() const { return 0x84b168cf; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector<::tl2::Either>> & result); + bool write_result(::basictl::tl_ostream & s, std::vector<::tl2::Either>> & result); + + friend std::ostream& operator<<(std::ostream& s, const MultiFindWithBounds& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service6 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.error.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.error.h new file mode 100644 index 00000000..d2c10904 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.error.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service6.error.h" + +namespace tl2 { namespace details { + +void Service6ErrorReset(::tl2::service6::Error& item); + +bool Service6ErrorWriteJSON(std::ostream& s, const ::tl2::service6::Error& item); +bool Service6ErrorRead(::basictl::tl_istream & s, ::tl2::service6::Error& item); +bool Service6ErrorWrite(::basictl::tl_ostream & s, const ::tl2::service6::Error& item); +bool Service6ErrorReadBoxed(::basictl::tl_istream & s, ::tl2::service6::Error& item); +bool Service6ErrorWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::Error& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.findResultRow.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.findResultRow.h new file mode 100644 index 00000000..65b001f5 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.findResultRow.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service6.findResultRow.h" + +namespace tl2 { namespace details { + +void BuiltinVectorService6FindResultRowReset(std::vector<::tl2::service6::FindResultRow>& item); + +bool BuiltinVectorService6FindResultRowWriteJSON(std::ostream & s, const std::vector<::tl2::service6::FindResultRow>& item); +bool BuiltinVectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindResultRow>& item); +bool BuiltinVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindResultRow>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void Service6FindResultRowReset(::tl2::service6::FindResultRow& item); + +bool Service6FindResultRowWriteJSON(std::ostream& s, const ::tl2::service6::FindResultRow& item); +bool Service6FindResultRowRead(::basictl::tl_istream & s, ::tl2::service6::FindResultRow& item); +bool Service6FindResultRowWrite(::basictl::tl_ostream & s, const ::tl2::service6::FindResultRow& item); +bool Service6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::service6::FindResultRow& item); +bool Service6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::FindResultRow& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.findWithBoundsResult.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.findWithBoundsResult.h new file mode 100644 index 00000000..1c3fef01 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.findWithBoundsResult.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/service6.findWithBoundsResult.h" + +namespace tl2 { namespace details { + +void BuiltinVectorService6FindWithBoundsResultReset(std::vector<::tl2::service6::FindWithBoundsResult>& item); + +bool BuiltinVectorService6FindWithBoundsResultWriteJSON(std::ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item); +bool BuiltinVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindWithBoundsResult>& item); +bool BuiltinVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void Service6FindWithBoundsResultReset(::tl2::service6::FindWithBoundsResult& item); + +bool Service6FindWithBoundsResultWriteJSON(std::ostream& s, const ::tl2::service6::FindWithBoundsResult& item); +bool Service6FindWithBoundsResultRead(::basictl::tl_istream & s, ::tl2::service6::FindWithBoundsResult& item); +bool Service6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const ::tl2::service6::FindWithBoundsResult& item); +bool Service6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::service6::FindWithBoundsResult& item); +bool Service6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::FindWithBoundsResult& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.multiFind.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.multiFind.h new file mode 100644 index 00000000..2bac03d9 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.multiFind.h @@ -0,0 +1,23 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service6.multiFind.h" +#include "../types/service6.findResultRow.h" +#include "../types/service6.error.h" +#include "../../__common_namespace/types/Either.h" + +namespace tl2 { namespace details { + +void Service6MultiFindReset(::tl2::service6::MultiFind& item); + +bool Service6MultiFindWriteJSON(std::ostream& s, const ::tl2::service6::MultiFind& item); +bool Service6MultiFindRead(::basictl::tl_istream & s, ::tl2::service6::MultiFind& item); +bool Service6MultiFindWrite(::basictl::tl_ostream & s, const ::tl2::service6::MultiFind& item); +bool Service6MultiFindReadBoxed(::basictl::tl_istream & s, ::tl2::service6::MultiFind& item); +bool Service6MultiFindWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::MultiFind& item); + +bool Service6MultiFindReadResult(::basictl::tl_istream & s, ::tl2::service6::MultiFind& item, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& result); +bool Service6MultiFindWriteResult(::basictl::tl_ostream & s, ::tl2::service6::MultiFind& item, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.multiFindWithBounds.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.multiFindWithBounds.h new file mode 100644 index 00000000..74df0cb4 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/headers/service6.multiFindWithBounds.h @@ -0,0 +1,22 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/service6.multiFindWithBounds.h" +#include "../types/service6.findWithBoundsResult.h" +#include "../../__common_namespace/types/Either.h" + +namespace tl2 { namespace details { + +void Service6MultiFindWithBoundsReset(::tl2::service6::MultiFindWithBounds& item); + +bool Service6MultiFindWithBoundsWriteJSON(std::ostream& s, const ::tl2::service6::MultiFindWithBounds& item); +bool Service6MultiFindWithBoundsRead(::basictl::tl_istream & s, ::tl2::service6::MultiFindWithBounds& item); +bool Service6MultiFindWithBoundsWrite(::basictl::tl_ostream & s, const ::tl2::service6::MultiFindWithBounds& item); +bool Service6MultiFindWithBoundsReadBoxed(::basictl::tl_istream & s, ::tl2::service6::MultiFindWithBounds& item); +bool Service6MultiFindWithBoundsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::MultiFindWithBounds& item); + +bool Service6MultiFindWithBoundsReadResult(::basictl::tl_istream & s, ::tl2::service6::MultiFindWithBounds& item, std::vector<::tl2::Either>>& result); +bool Service6MultiFindWithBoundsWriteResult(::basictl::tl_ostream & s, ::tl2::service6::MultiFindWithBounds& item, std::vector<::tl2::Either>>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/types/service6.error.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/types/service6.error.h new file mode 100644 index 00000000..41032bf0 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/types/service6.error.h @@ -0,0 +1,28 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service6 { +struct Error { + int32_t code = 0; + + std::string_view tl_name() const { return "service6.error"; } + uint32_t tl_tag() const { return 0x738553ef; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const Error& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service6 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/types/service6.findResultRow.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/types/service6.findResultRow.h new file mode 100644 index 00000000..264945ad --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/types/service6.findResultRow.h @@ -0,0 +1,28 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service6 { +struct FindResultRow { + int32_t x = 0; + + std::string_view tl_name() const { return "service6.findResultRow"; } + uint32_t tl_tag() const { return 0xbd3946e3; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const FindResultRow& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service6 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/types/service6.findWithBoundsResult.h b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/types/service6.findWithBoundsResult.h new file mode 100644 index 00000000..cf4725fa --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/types/service6.findWithBoundsResult.h @@ -0,0 +1,28 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace service6 { +struct FindWithBoundsResult { + int32_t x = 0; + + std::string_view tl_name() const { return "service6.findWithBoundsResult"; } + uint32_t tl_tag() const { return 0x3ded850a; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const FindWithBoundsResult& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::service6 + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/details.cpp new file mode 100644 index 00000000..eebf018e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/details.cpp @@ -0,0 +1,1896 @@ +#include "headers/tasks.TaskStatus.h" +#include "headers/tasks.TaskStatusItems.h" +#include "headers/tasks.taskInfo.h" +#include "headers/tasks.queueTypeInfo.h" +#include "headers/tasks.queueTypeSettings.h" +#include "headers/tasks.queueStats.h" +#include "headers/tasks.getTaskFromQueue.h" +#include "headers/tasks.getQueueTypes.h" +#include "headers/tasks.getQueueSize.h" +#include "headers/tasks.getAnyTask.h" +#include "headers/tasks.cronTaskWithId.h" +#include "headers/tasks.cronTask.h" +#include "headers/tasks.cronTime.h" +#include "headers/tasks.addTask.h" +#include "headers/tasks.task.h" +#include "headers/tasks.queueTypeStats.h" +#include "../__common_namespace/headers/int.h" +#include "../__common_namespace/headers/long.h" +#include "../__common_namespace/headers/Bool.h" + + +void tl2::details::BuiltinVectorTasksQueueTypeInfoReset(std::vector<::tl2::tasks::QueueTypeInfo>& item) { + item.resize(0); // TODO - unwrap +} + +bool tl2::details::BuiltinVectorTasksQueueTypeInfoWriteJSON(std::ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item) { + s << "["; + size_t index = 0; + for(const auto & el : item) { + if (!::tl2::details::TasksQueueTypeInfoWriteJSON(s, el)) { return false; } + if (index != item.size() - 1) { + s << ","; + } + index++; + } + s << "]"; + return true; +} + +bool tl2::details::BuiltinVectorTasksQueueTypeInfoRead(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo>& item) { + uint32_t len = 0; + if (!s.nat_read(len)) { return false; } + // TODO - check length sanity + item.resize(len); + for(auto && el : item) { + if (!::tl2::details::TasksQueueTypeInfoRead(s, el)) { return false; } + } + return true; +} + +bool tl2::details::BuiltinVectorTasksQueueTypeInfoWrite(::basictl::tl_ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item) { + if (!s.nat_write(item.size())) { return false; } + for(const auto & el : item) { + if (!::tl2::details::TasksQueueTypeInfoWrite(s, el)) { return false; } + } + return true; +} + +bool tl2::tasks::AddTask::write_json(std::ostream& s)const { + if (!::tl2::details::TasksAddTaskWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::AddTask::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksAddTaskRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::AddTask::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksAddTaskWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::AddTask::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksAddTaskReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::AddTask::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksAddTaskWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksAddTaskReset(::tl2::tasks::AddTask& item) { + item.type_name.clear(); + item.queue_id.clear(); + ::tl2::details::TasksTaskReset(item.task); +} + +bool tl2::details::TasksAddTaskWriteJSON(std::ostream& s, const ::tl2::tasks::AddTask& item) { + auto add_comma = false; + s << "{"; + if (item.type_name.size() != 0) { + add_comma = true; + s << "\"type_name\":"; + s << "\"" << item.type_name << "\""; + } + if (item.queue_id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"queue_id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.queue_id)) { return false; } + } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"task\":"; + if (!::tl2::details::TasksTaskWriteJSON(s, item.task)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::TasksAddTaskRead(::basictl::tl_istream & s, ::tl2::tasks::AddTask& item) { + if (!s.string_read(item.type_name)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.queue_id)) { return false; } + if (!::tl2::details::TasksTaskRead(s, item.task)) { return false; } + return true; +} + +bool tl2::details::TasksAddTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::AddTask& item) { + if (!s.string_write(item.type_name)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.queue_id)) { return false; } + if (!::tl2::details::TasksTaskWrite(s, item.task)) { return false; } + return true; +} + +bool tl2::details::TasksAddTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::AddTask& item) { + if (!s.nat_read_exact_tag(0x2ca073d5)) { return false; } + return tl2::details::TasksAddTaskRead(s, item); +} + +bool tl2::details::TasksAddTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::AddTask& item) { + if (!s.nat_write(0x2ca073d5)) { return false; } + return tl2::details::TasksAddTaskWrite(s, item); +} + +bool tl2::details::TasksAddTaskReadResult(::basictl::tl_istream & s, tl2::tasks::AddTask& item, int64_t& result) { + if (!s.nat_read_exact_tag(0x22076cba)) { return false;} + if (!s.long_read(result)) { return false; } + return true; +} +bool tl2::details::TasksAddTaskWriteResult(::basictl::tl_ostream & s, tl2::tasks::AddTask& item, int64_t& result) { + if (!s.nat_write(0x22076cba)) { return false; } + if (!s.long_write(result)) { return false;} + return true; +} + +bool tl2::tasks::AddTask::read_result(::basictl::tl_istream & s, int64_t & result) { + return tl2::details::TasksAddTaskReadResult(s, *this, result); +} +bool tl2::tasks::AddTask::write_result(::basictl::tl_ostream & s, int64_t & result) { + return tl2::details::TasksAddTaskWriteResult(s, *this, result); +} + +bool tl2::tasks::CronTask::write_json(std::ostream& s)const { + if (!::tl2::details::TasksCronTaskWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::CronTask::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksCronTaskRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::CronTask::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksCronTaskWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::CronTask::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksCronTaskReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::CronTask::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksCronTaskWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksCronTaskReset(::tl2::tasks::CronTask& item) { + item.type_name.clear(); + item.queue_id.clear(); + ::tl2::details::TasksTaskReset(item.task); + ::tl2::details::TasksCronTimeReset(item.time); +} + +bool tl2::details::TasksCronTaskWriteJSON(std::ostream& s, const ::tl2::tasks::CronTask& item) { + auto add_comma = false; + s << "{"; + if (item.type_name.size() != 0) { + add_comma = true; + s << "\"type_name\":"; + s << "\"" << item.type_name << "\""; + } + if (item.queue_id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"queue_id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.queue_id)) { return false; } + } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"task\":"; + if (!::tl2::details::TasksTaskWriteJSON(s, item.task)) { return false; } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"time\":"; + if (!::tl2::details::TasksCronTimeWriteJSON(s, item.time)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::TasksCronTaskRead(::basictl::tl_istream & s, ::tl2::tasks::CronTask& item) { + if (!s.string_read(item.type_name)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.queue_id)) { return false; } + if (!::tl2::details::TasksTaskRead(s, item.task)) { return false; } + if (!::tl2::details::TasksCronTimeRead(s, item.time)) { return false; } + return true; +} + +bool tl2::details::TasksCronTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::CronTask& item) { + if (!s.string_write(item.type_name)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.queue_id)) { return false; } + if (!::tl2::details::TasksTaskWrite(s, item.task)) { return false; } + if (!::tl2::details::TasksCronTimeWrite(s, item.time)) { return false; } + return true; +} + +bool tl2::details::TasksCronTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::CronTask& item) { + if (!s.nat_read_exact_tag(0xc90cf28a)) { return false; } + return tl2::details::TasksCronTaskRead(s, item); +} + +bool tl2::details::TasksCronTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::CronTask& item) { + if (!s.nat_write(0xc90cf28a)) { return false; } + return tl2::details::TasksCronTaskWrite(s, item); +} + +bool tl2::tasks::CronTaskWithId::write_json(std::ostream& s)const { + if (!::tl2::details::TasksCronTaskWithIdWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::CronTaskWithId::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksCronTaskWithIdRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::CronTaskWithId::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksCronTaskWithIdWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::CronTaskWithId::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksCronTaskWithIdReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::CronTaskWithId::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksCronTaskWithIdWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksCronTaskWithIdReset(::tl2::tasks::CronTaskWithId& item) { + item.id = 0; + item.next_time = 0; + ::tl2::details::TasksCronTaskReset(item.task); +} + +bool tl2::details::TasksCronTaskWithIdWriteJSON(std::ostream& s, const ::tl2::tasks::CronTaskWithId& item) { + auto add_comma = false; + s << "{"; + if (item.id != 0) { + add_comma = true; + s << "\"id\":"; + s << item.id; + } + if (item.next_time != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"next_time\":"; + s << item.next_time; + } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"task\":"; + if (!::tl2::details::TasksCronTaskWriteJSON(s, item.task)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::TasksCronTaskWithIdRead(::basictl::tl_istream & s, ::tl2::tasks::CronTaskWithId& item) { + if (!s.int_read(item.id)) { return false; } + if (!s.int_read(item.next_time)) { return false; } + if (!::tl2::details::TasksCronTaskRead(s, item.task)) { return false; } + return true; +} + +bool tl2::details::TasksCronTaskWithIdWrite(::basictl::tl_ostream & s, const ::tl2::tasks::CronTaskWithId& item) { + if (!s.int_write(item.id)) { return false;} + if (!s.int_write(item.next_time)) { return false;} + if (!::tl2::details::TasksCronTaskWrite(s, item.task)) { return false; } + return true; +} + +bool tl2::details::TasksCronTaskWithIdReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::CronTaskWithId& item) { + if (!s.nat_read_exact_tag(0x3a958001)) { return false; } + return tl2::details::TasksCronTaskWithIdRead(s, item); +} + +bool tl2::details::TasksCronTaskWithIdWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::CronTaskWithId& item) { + if (!s.nat_write(0x3a958001)) { return false; } + return tl2::details::TasksCronTaskWithIdWrite(s, item); +} + +bool tl2::tasks::CronTime::write_json(std::ostream& s)const { + if (!::tl2::details::TasksCronTimeWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::CronTime::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksCronTimeRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::CronTime::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksCronTimeWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::CronTime::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksCronTimeReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::CronTime::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksCronTimeWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksCronTimeReset(::tl2::tasks::CronTime& item) { + item.fields_mask = 0; + item.seconds.clear(); + item.minutes.clear(); + item.hours.clear(); + item.days_of_week.clear(); + item.days.clear(); + item.months.clear(); +} + +bool tl2::details::TasksCronTimeWriteJSON(std::ostream& s, const ::tl2::tasks::CronTime& item) { + auto add_comma = false; + s << "{"; + if (item.fields_mask != 0) { + add_comma = true; + s << "\"fields_mask\":"; + s << item.fields_mask; + } + if ((item.fields_mask & (1<<0)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"seconds\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.seconds)) { return false; } + } + if ((item.fields_mask & (1<<1)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"minutes\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.minutes)) { return false; } + } + if ((item.fields_mask & (1<<2)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"hours\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.hours)) { return false; } + } + if ((item.fields_mask & (1<<3)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"days_of_week\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.days_of_week)) { return false; } + } + if ((item.fields_mask & (1<<4)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"days\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.days)) { return false; } + } + if ((item.fields_mask & (1<<5)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"months\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.months)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::TasksCronTimeRead(::basictl::tl_istream & s, ::tl2::tasks::CronTime& item) { + if (!s.nat_read(item.fields_mask)) { return false; } + if ((item.fields_mask & (1<<0)) != 0) { + if (!::tl2::details::BuiltinVectorIntRead(s, item.seconds)) { return false; } + } else { + item.seconds.clear(); + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!::tl2::details::BuiltinVectorIntRead(s, item.minutes)) { return false; } + } else { + item.minutes.clear(); + } + if ((item.fields_mask & (1<<2)) != 0) { + if (!::tl2::details::BuiltinVectorIntRead(s, item.hours)) { return false; } + } else { + item.hours.clear(); + } + if ((item.fields_mask & (1<<3)) != 0) { + if (!::tl2::details::BuiltinVectorIntRead(s, item.days_of_week)) { return false; } + } else { + item.days_of_week.clear(); + } + if ((item.fields_mask & (1<<4)) != 0) { + if (!::tl2::details::BuiltinVectorIntRead(s, item.days)) { return false; } + } else { + item.days.clear(); + } + if ((item.fields_mask & (1<<5)) != 0) { + if (!::tl2::details::BuiltinVectorIntRead(s, item.months)) { return false; } + } else { + item.months.clear(); + } + return true; +} + +bool tl2::details::TasksCronTimeWrite(::basictl::tl_ostream & s, const ::tl2::tasks::CronTime& item) { + if (!s.nat_write(item.fields_mask)) { return false;} + if ((item.fields_mask & (1<<0)) != 0) { + if (!::tl2::details::BuiltinVectorIntWrite(s, item.seconds)) { return false; } + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!::tl2::details::BuiltinVectorIntWrite(s, item.minutes)) { return false; } + } + if ((item.fields_mask & (1<<2)) != 0) { + if (!::tl2::details::BuiltinVectorIntWrite(s, item.hours)) { return false; } + } + if ((item.fields_mask & (1<<3)) != 0) { + if (!::tl2::details::BuiltinVectorIntWrite(s, item.days_of_week)) { return false; } + } + if ((item.fields_mask & (1<<4)) != 0) { + if (!::tl2::details::BuiltinVectorIntWrite(s, item.days)) { return false; } + } + if ((item.fields_mask & (1<<5)) != 0) { + if (!::tl2::details::BuiltinVectorIntWrite(s, item.months)) { return false; } + } + return true; +} + +bool tl2::details::TasksCronTimeReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::CronTime& item) { + if (!s.nat_read_exact_tag(0xd4177d7f)) { return false; } + return tl2::details::TasksCronTimeRead(s, item); +} + +bool tl2::details::TasksCronTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::CronTime& item) { + if (!s.nat_write(0xd4177d7f)) { return false; } + return tl2::details::TasksCronTimeWrite(s, item); +} + +bool tl2::tasks::GetAnyTask::write_json(std::ostream& s)const { + if (!::tl2::details::TasksGetAnyTaskWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetAnyTask::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksGetAnyTaskRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetAnyTask::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksGetAnyTaskWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetAnyTask::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksGetAnyTaskReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetAnyTask::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksGetAnyTaskWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksGetAnyTaskReset(::tl2::tasks::GetAnyTask& item) { +} + +bool tl2::details::TasksGetAnyTaskWriteJSON(std::ostream& s, const ::tl2::tasks::GetAnyTask& item) { + s << "true"; + return true; +} + +bool tl2::details::TasksGetAnyTaskRead(::basictl::tl_istream & s, ::tl2::tasks::GetAnyTask& item) { + return true; +} + +bool tl2::details::TasksGetAnyTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetAnyTask& item) { + return true; +} + +bool tl2::details::TasksGetAnyTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetAnyTask& item) { + if (!s.nat_read_exact_tag(0x4a9c7dbb)) { return false; } + return tl2::details::TasksGetAnyTaskRead(s, item); +} + +bool tl2::details::TasksGetAnyTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetAnyTask& item) { + if (!s.nat_write(0x4a9c7dbb)) { return false; } + return tl2::details::TasksGetAnyTaskWrite(s, item); +} + +bool tl2::details::TasksGetAnyTaskReadResult(::basictl::tl_istream & s, tl2::tasks::GetAnyTask& item, std::optional<::tl2::tasks::TaskInfo>& result) { + if (!::tl2::details::TasksTaskInfoMaybeReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::TasksGetAnyTaskWriteResult(::basictl::tl_ostream & s, tl2::tasks::GetAnyTask& item, std::optional<::tl2::tasks::TaskInfo>& result) { + if (!::tl2::details::TasksTaskInfoMaybeWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::tasks::GetAnyTask::read_result(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo> & result) { + return tl2::details::TasksGetAnyTaskReadResult(s, *this, result); +} +bool tl2::tasks::GetAnyTask::write_result(::basictl::tl_ostream & s, std::optional<::tl2::tasks::TaskInfo> & result) { + return tl2::details::TasksGetAnyTaskWriteResult(s, *this, result); +} + +bool tl2::tasks::GetQueueSize::write_json(std::ostream& s)const { + if (!::tl2::details::TasksGetQueueSizeWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetQueueSize::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksGetQueueSizeRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetQueueSize::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksGetQueueSizeWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetQueueSize::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksGetQueueSizeReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetQueueSize::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksGetQueueSizeWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksGetQueueSizeReset(::tl2::tasks::GetQueueSize& item) { + item.type_name.clear(); + item.queue_id.clear(); + item.fields_mask = 0; +} + +bool tl2::details::TasksGetQueueSizeWriteJSON(std::ostream& s, const ::tl2::tasks::GetQueueSize& item) { + auto add_comma = false; + s << "{"; + if (item.type_name.size() != 0) { + add_comma = true; + s << "\"type_name\":"; + s << "\"" << item.type_name << "\""; + } + if (item.queue_id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"queue_id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.queue_id)) { return false; } + } + if (item.fields_mask != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"fields_mask\":"; + s << item.fields_mask; + } + s << "}"; + return true; +} + +bool tl2::details::TasksGetQueueSizeRead(::basictl::tl_istream & s, ::tl2::tasks::GetQueueSize& item) { + if (!s.string_read(item.type_name)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.queue_id)) { return false; } + if (!s.nat_read(item.fields_mask)) { return false; } + return true; +} + +bool tl2::details::TasksGetQueueSizeWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueSize& item) { + if (!s.string_write(item.type_name)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.queue_id)) { return false; } + if (!s.nat_write(item.fields_mask)) { return false;} + return true; +} + +bool tl2::details::TasksGetQueueSizeReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetQueueSize& item) { + if (!s.nat_read_exact_tag(0xd8fcda03)) { return false; } + return tl2::details::TasksGetQueueSizeRead(s, item); +} + +bool tl2::details::TasksGetQueueSizeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueSize& item) { + if (!s.nat_write(0xd8fcda03)) { return false; } + return tl2::details::TasksGetQueueSizeWrite(s, item); +} + +bool tl2::details::TasksGetQueueSizeReadResult(::basictl::tl_istream & s, tl2::tasks::GetQueueSize& item, ::tl2::tasks::QueueStats& result) { + if (!::tl2::details::TasksQueueStatsReadBoxed(s, result, item.fields_mask)) { return false; } + return true; +} +bool tl2::details::TasksGetQueueSizeWriteResult(::basictl::tl_ostream & s, tl2::tasks::GetQueueSize& item, ::tl2::tasks::QueueStats& result) { + if (!::tl2::details::TasksQueueStatsWriteBoxed(s, result, item.fields_mask)) { return false; } + return true; +} + +bool tl2::tasks::GetQueueSize::read_result(::basictl::tl_istream & s, ::tl2::tasks::QueueStats & result) { + return tl2::details::TasksGetQueueSizeReadResult(s, *this, result); +} +bool tl2::tasks::GetQueueSize::write_result(::basictl::tl_ostream & s, ::tl2::tasks::QueueStats & result) { + return tl2::details::TasksGetQueueSizeWriteResult(s, *this, result); +} + +bool tl2::tasks::GetQueueTypes::write_json(std::ostream& s)const { + if (!::tl2::details::TasksGetQueueTypesWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetQueueTypes::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksGetQueueTypesRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetQueueTypes::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksGetQueueTypesWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetQueueTypes::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksGetQueueTypesReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetQueueTypes::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksGetQueueTypesWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksGetQueueTypesReset(::tl2::tasks::GetQueueTypes& item) { + item.settings_mask = 0; + item.stats_mask = 0; +} + +bool tl2::details::TasksGetQueueTypesWriteJSON(std::ostream& s, const ::tl2::tasks::GetQueueTypes& item) { + auto add_comma = false; + s << "{"; + if (item.settings_mask != 0) { + add_comma = true; + s << "\"settings_mask\":"; + s << item.settings_mask; + } + if (item.stats_mask != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"stats_mask\":"; + s << item.stats_mask; + } + s << "}"; + return true; +} + +bool tl2::details::TasksGetQueueTypesRead(::basictl::tl_istream & s, ::tl2::tasks::GetQueueTypes& item) { + if (!s.nat_read(item.settings_mask)) { return false; } + if (!s.nat_read(item.stats_mask)) { return false; } + return true; +} + +bool tl2::details::TasksGetQueueTypesWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueTypes& item) { + if (!s.nat_write(item.settings_mask)) { return false;} + if (!s.nat_write(item.stats_mask)) { return false;} + return true; +} + +bool tl2::details::TasksGetQueueTypesReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetQueueTypes& item) { + if (!s.nat_read_exact_tag(0x5434457a)) { return false; } + return tl2::details::TasksGetQueueTypesRead(s, item); +} + +bool tl2::details::TasksGetQueueTypesWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueTypes& item) { + if (!s.nat_write(0x5434457a)) { return false; } + return tl2::details::TasksGetQueueTypesWrite(s, item); +} + +bool tl2::details::TasksGetQueueTypesReadResult(::basictl::tl_istream & s, tl2::tasks::GetQueueTypes& item, std::vector<::tl2::tasks::QueueTypeInfo>& result) { + if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} + if (!::tl2::details::BuiltinVectorTasksQueueTypeInfoRead(s, result)) { return false; } + return true; +} +bool tl2::details::TasksGetQueueTypesWriteResult(::basictl::tl_ostream & s, tl2::tasks::GetQueueTypes& item, std::vector<::tl2::tasks::QueueTypeInfo>& result) { + if (!s.nat_write(0x1cb5c415)) { return false; } + if (!::tl2::details::BuiltinVectorTasksQueueTypeInfoWrite(s, result)) { return false; } + return true; +} + +bool tl2::tasks::GetQueueTypes::read_result(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo> & result) { + return tl2::details::TasksGetQueueTypesReadResult(s, *this, result); +} +bool tl2::tasks::GetQueueTypes::write_result(::basictl::tl_ostream & s, std::vector<::tl2::tasks::QueueTypeInfo> & result) { + return tl2::details::TasksGetQueueTypesWriteResult(s, *this, result); +} + +bool tl2::tasks::GetTaskFromQueue::write_json(std::ostream& s)const { + if (!::tl2::details::TasksGetTaskFromQueueWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetTaskFromQueue::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksGetTaskFromQueueRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetTaskFromQueue::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksGetTaskFromQueueWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetTaskFromQueue::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksGetTaskFromQueueReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::GetTaskFromQueue::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksGetTaskFromQueueWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksGetTaskFromQueueReset(::tl2::tasks::GetTaskFromQueue& item) { + item.type_name.clear(); + item.queue_id.clear(); +} + +bool tl2::details::TasksGetTaskFromQueueWriteJSON(std::ostream& s, const ::tl2::tasks::GetTaskFromQueue& item) { + auto add_comma = false; + s << "{"; + if (item.type_name.size() != 0) { + add_comma = true; + s << "\"type_name\":"; + s << "\"" << item.type_name << "\""; + } + if (item.queue_id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"queue_id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.queue_id)) { return false; } + } + s << "}"; + return true; +} + +bool tl2::details::TasksGetTaskFromQueueRead(::basictl::tl_istream & s, ::tl2::tasks::GetTaskFromQueue& item) { + if (!s.string_read(item.type_name)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.queue_id)) { return false; } + return true; +} + +bool tl2::details::TasksGetTaskFromQueueWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetTaskFromQueue& item) { + if (!s.string_write(item.type_name)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.queue_id)) { return false; } + return true; +} + +bool tl2::details::TasksGetTaskFromQueueReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetTaskFromQueue& item) { + if (!s.nat_read_exact_tag(0x6a52b698)) { return false; } + return tl2::details::TasksGetTaskFromQueueRead(s, item); +} + +bool tl2::details::TasksGetTaskFromQueueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetTaskFromQueue& item) { + if (!s.nat_write(0x6a52b698)) { return false; } + return tl2::details::TasksGetTaskFromQueueWrite(s, item); +} + +bool tl2::details::TasksGetTaskFromQueueReadResult(::basictl::tl_istream & s, tl2::tasks::GetTaskFromQueue& item, std::optional<::tl2::tasks::TaskInfo>& result) { + if (!::tl2::details::TasksTaskInfoMaybeReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::TasksGetTaskFromQueueWriteResult(::basictl::tl_ostream & s, tl2::tasks::GetTaskFromQueue& item, std::optional<::tl2::tasks::TaskInfo>& result) { + if (!::tl2::details::TasksTaskInfoMaybeWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::tasks::GetTaskFromQueue::read_result(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo> & result) { + return tl2::details::TasksGetTaskFromQueueReadResult(s, *this, result); +} +bool tl2::tasks::GetTaskFromQueue::write_result(::basictl::tl_ostream & s, std::optional<::tl2::tasks::TaskInfo> & result) { + return tl2::details::TasksGetTaskFromQueueWriteResult(s, *this, result); +} + +bool tl2::tasks::QueueStats::write_json(std::ostream& s, uint32_t nat_fields_mask)const { + if (!::tl2::details::TasksQueueStatsWriteJSON(s, *this, nat_fields_mask)) { return false; } + return true; +} + +bool tl2::tasks::QueueStats::read(::basictl::tl_istream & s, uint32_t nat_fields_mask) { + if (!::tl2::details::TasksQueueStatsRead(s, *this, nat_fields_mask)) { return false; } + return true; +} + +bool tl2::tasks::QueueStats::write(::basictl::tl_ostream & s, uint32_t nat_fields_mask)const { + if (!::tl2::details::TasksQueueStatsWrite(s, *this, nat_fields_mask)) { return false; } + return true; +} + +bool tl2::tasks::QueueStats::read_boxed(::basictl::tl_istream & s, uint32_t nat_fields_mask) { + if (!::tl2::details::TasksQueueStatsReadBoxed(s, *this, nat_fields_mask)) { return false; } + return true; +} + +bool tl2::tasks::QueueStats::write_boxed(::basictl::tl_ostream & s, uint32_t nat_fields_mask)const { + if (!::tl2::details::TasksQueueStatsWriteBoxed(s, *this, nat_fields_mask)) { return false; } + return true; +} + +void tl2::details::TasksQueueStatsReset(::tl2::tasks::QueueStats& item) { + item.waiting_size = 0; + item.scheduled_size = 0; + item.in_progress_size = 0; +} + +bool tl2::details::TasksQueueStatsWriteJSON(std::ostream& s, const ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask) { + auto add_comma = false; + s << "{"; + if ((nat_fields_mask & (1<<0)) != 0) { + add_comma = true; + s << "\"waiting_size\":"; + s << item.waiting_size; + } + if ((nat_fields_mask & (1<<1)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"scheduled_size\":"; + s << item.scheduled_size; + } + if ((nat_fields_mask & (1<<2)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"in_progress_size\":"; + s << item.in_progress_size; + } + s << "}"; + return true; +} + +bool tl2::details::TasksQueueStatsRead(::basictl::tl_istream & s, ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask) { + if ((nat_fields_mask & (1<<0)) != 0) { + if (!s.int_read(item.waiting_size)) { return false; } + } else { + item.waiting_size = 0; + } + if ((nat_fields_mask & (1<<1)) != 0) { + if (!s.int_read(item.scheduled_size)) { return false; } + } else { + item.scheduled_size = 0; + } + if ((nat_fields_mask & (1<<2)) != 0) { + if (!s.int_read(item.in_progress_size)) { return false; } + } else { + item.in_progress_size = 0; + } + return true; +} + +bool tl2::details::TasksQueueStatsWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask) { + if ((nat_fields_mask & (1<<0)) != 0) { + if (!s.int_write(item.waiting_size)) { return false;} + } + if ((nat_fields_mask & (1<<1)) != 0) { + if (!s.int_write(item.scheduled_size)) { return false;} + } + if ((nat_fields_mask & (1<<2)) != 0) { + if (!s.int_write(item.in_progress_size)) { return false;} + } + return true; +} + +bool tl2::details::TasksQueueStatsReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask) { + if (!s.nat_read_exact_tag(0x1d942543)) { return false; } + return tl2::details::TasksQueueStatsRead(s, item, nat_fields_mask); +} + +bool tl2::details::TasksQueueStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask) { + if (!s.nat_write(0x1d942543)) { return false; } + return tl2::details::TasksQueueStatsWrite(s, item, nat_fields_mask); +} + +bool tl2::tasks::QueueTypeInfo::write_json(std::ostream& s)const { + if (!::tl2::details::TasksQueueTypeInfoWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::QueueTypeInfo::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksQueueTypeInfoRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::QueueTypeInfo::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksQueueTypeInfoWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::QueueTypeInfo::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksQueueTypeInfoReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::QueueTypeInfo::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksQueueTypeInfoWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksQueueTypeInfoReset(::tl2::tasks::QueueTypeInfo& item) { + item.type_name.clear(); + ::tl2::details::TasksQueueTypeSettingsReset(item.settings); + ::tl2::details::TasksQueueTypeStatsReset(item.stats); +} + +bool tl2::details::TasksQueueTypeInfoWriteJSON(std::ostream& s, const ::tl2::tasks::QueueTypeInfo& item) { + auto add_comma = false; + s << "{"; + if (item.type_name.size() != 0) { + add_comma = true; + s << "\"type_name\":"; + s << "\"" << item.type_name << "\""; + } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"settings\":"; + if (!::tl2::details::TasksQueueTypeSettingsWriteJSON(s, item.settings)) { return false; } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"stats\":"; + if (!::tl2::details::TasksQueueTypeStatsWriteJSON(s, item.stats)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::TasksQueueTypeInfoRead(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeInfo& item) { + if (!s.string_read(item.type_name)) { return false; } + if (!::tl2::details::TasksQueueTypeSettingsRead(s, item.settings)) { return false; } + if (!::tl2::details::TasksQueueTypeStatsRead(s, item.stats)) { return false; } + return true; +} + +bool tl2::details::TasksQueueTypeInfoWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeInfo& item) { + if (!s.string_write(item.type_name)) { return false;} + if (!::tl2::details::TasksQueueTypeSettingsWrite(s, item.settings)) { return false; } + if (!::tl2::details::TasksQueueTypeStatsWrite(s, item.stats)) { return false; } + return true; +} + +bool tl2::details::TasksQueueTypeInfoReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeInfo& item) { + if (!s.nat_read_exact_tag(0x38d38d3e)) { return false; } + return tl2::details::TasksQueueTypeInfoRead(s, item); +} + +bool tl2::details::TasksQueueTypeInfoWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeInfo& item) { + if (!s.nat_write(0x38d38d3e)) { return false; } + return tl2::details::TasksQueueTypeInfoWrite(s, item); +} + +bool tl2::tasks::QueueTypeSettings::write_json(std::ostream& s)const { + if (!::tl2::details::TasksQueueTypeSettingsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::QueueTypeSettings::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksQueueTypeSettingsRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::QueueTypeSettings::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksQueueTypeSettingsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::QueueTypeSettings::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksQueueTypeSettingsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::QueueTypeSettings::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksQueueTypeSettingsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksQueueTypeSettingsReset(::tl2::tasks::QueueTypeSettings& item) { + item.fields_mask = 0; + item.is_enabled = false; + item.is_persistent = false; + item.priority = 0; + item.default_retry_time = 0; + item.default_retry_num = 0; + item.move_to_queue_type_on_error.clear(); + item.is_blocking = false; + item.timelimit = 0; + item.max_queue_size = 0; +} + +bool tl2::details::TasksQueueTypeSettingsWriteJSON(std::ostream& s, const ::tl2::tasks::QueueTypeSettings& item) { + auto add_comma = false; + s << "{"; + if (item.fields_mask != 0) { + add_comma = true; + s << "\"fields_mask\":"; + s << item.fields_mask; + } + if ((item.fields_mask & (1<<0)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"is_enabled\":"; + if (!::tl2::details::BoolWriteJSON(s, item.is_enabled)) { return false; } + } + if ((item.fields_mask & (1<<1)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"is_persistent\":"; + if (!::tl2::details::BoolWriteJSON(s, item.is_persistent)) { return false; } + } + if ((item.fields_mask & (1<<2)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"priority\":"; + s << item.priority; + } + if ((item.fields_mask & (1<<3)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"default_retry_time\":"; + s << item.default_retry_time; + } + if ((item.fields_mask & (1<<3)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"default_retry_num\":"; + s << item.default_retry_num; + } + if ((item.fields_mask & (1<<4)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"move_to_queue_type_on_error\":"; + s << "\"" << item.move_to_queue_type_on_error << "\""; + } + if ((item.fields_mask & (1<<5)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"is_blocking\":"; + if (!::tl2::details::BoolWriteJSON(s, item.is_blocking)) { return false; } + } + if ((item.fields_mask & (1<<6)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"timelimit\":"; + s << item.timelimit; + } + if ((item.fields_mask & (1<<7)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"max_queue_size\":"; + s << item.max_queue_size; + } + s << "}"; + return true; +} + +bool tl2::details::TasksQueueTypeSettingsRead(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeSettings& item) { + if (!s.nat_read(item.fields_mask)) { return false; } + if ((item.fields_mask & (1<<0)) != 0) { + if (!::tl2::details::BoolReadBoxed(s, item.is_enabled)) { return false; } + } else { + item.is_enabled = false; + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!::tl2::details::BoolReadBoxed(s, item.is_persistent)) { return false; } + } else { + item.is_persistent = false; + } + if ((item.fields_mask & (1<<2)) != 0) { + if (!s.int_read(item.priority)) { return false; } + } else { + item.priority = 0; + } + if ((item.fields_mask & (1<<3)) != 0) { + if (!s.int_read(item.default_retry_time)) { return false; } + } else { + item.default_retry_time = 0; + } + if ((item.fields_mask & (1<<3)) != 0) { + if (!s.int_read(item.default_retry_num)) { return false; } + } else { + item.default_retry_num = 0; + } + if ((item.fields_mask & (1<<4)) != 0) { + if (!s.string_read(item.move_to_queue_type_on_error)) { return false; } + } else { + item.move_to_queue_type_on_error.clear(); + } + if ((item.fields_mask & (1<<5)) != 0) { + if (!::tl2::details::BoolReadBoxed(s, item.is_blocking)) { return false; } + } else { + item.is_blocking = false; + } + if ((item.fields_mask & (1<<6)) != 0) { + if (!s.int_read(item.timelimit)) { return false; } + } else { + item.timelimit = 0; + } + if ((item.fields_mask & (1<<7)) != 0) { + if (!s.int_read(item.max_queue_size)) { return false; } + } else { + item.max_queue_size = 0; + } + return true; +} + +bool tl2::details::TasksQueueTypeSettingsWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeSettings& item) { + if (!s.nat_write(item.fields_mask)) { return false;} + if ((item.fields_mask & (1<<0)) != 0) { + if (!::tl2::details::BoolWriteBoxed(s, item.is_enabled)) { return false; } + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!::tl2::details::BoolWriteBoxed(s, item.is_persistent)) { return false; } + } + if ((item.fields_mask & (1<<2)) != 0) { + if (!s.int_write(item.priority)) { return false;} + } + if ((item.fields_mask & (1<<3)) != 0) { + if (!s.int_write(item.default_retry_time)) { return false;} + } + if ((item.fields_mask & (1<<3)) != 0) { + if (!s.int_write(item.default_retry_num)) { return false;} + } + if ((item.fields_mask & (1<<4)) != 0) { + if (!s.string_write(item.move_to_queue_type_on_error)) { return false;} + } + if ((item.fields_mask & (1<<5)) != 0) { + if (!::tl2::details::BoolWriteBoxed(s, item.is_blocking)) { return false; } + } + if ((item.fields_mask & (1<<6)) != 0) { + if (!s.int_write(item.timelimit)) { return false;} + } + if ((item.fields_mask & (1<<7)) != 0) { + if (!s.int_write(item.max_queue_size)) { return false;} + } + return true; +} + +bool tl2::details::TasksQueueTypeSettingsReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeSettings& item) { + if (!s.nat_read_exact_tag(0x561fbc09)) { return false; } + return tl2::details::TasksQueueTypeSettingsRead(s, item); +} + +bool tl2::details::TasksQueueTypeSettingsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeSettings& item) { + if (!s.nat_write(0x561fbc09)) { return false; } + return tl2::details::TasksQueueTypeSettingsWrite(s, item); +} + +bool tl2::tasks::QueueTypeStats::write_json(std::ostream& s)const { + if (!::tl2::details::TasksQueueTypeStatsWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::QueueTypeStats::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksQueueTypeStatsRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::QueueTypeStats::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksQueueTypeStatsWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::QueueTypeStats::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksQueueTypeStatsReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::QueueTypeStats::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksQueueTypeStatsWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksQueueTypeStatsReset(::tl2::tasks::QueueTypeStats& item) { + item.fields_mask = 0; + item.waiting_size = 0; + item.scheduled_size = 0; + item.in_progress_size = 0; + item.num_queues = 0; +} + +bool tl2::details::TasksQueueTypeStatsWriteJSON(std::ostream& s, const ::tl2::tasks::QueueTypeStats& item) { + auto add_comma = false; + s << "{"; + if (item.fields_mask != 0) { + add_comma = true; + s << "\"fields_mask\":"; + s << item.fields_mask; + } + if ((item.fields_mask & (1<<0)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"waiting_size\":"; + s << item.waiting_size; + } + if ((item.fields_mask & (1<<1)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"scheduled_size\":"; + s << item.scheduled_size; + } + if ((item.fields_mask & (1<<2)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"in_progress_size\":"; + s << item.in_progress_size; + } + if ((item.fields_mask & (1<<3)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"num_queues\":"; + s << item.num_queues; + } + s << "}"; + return true; +} + +bool tl2::details::TasksQueueTypeStatsRead(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats& item) { + if (!s.nat_read(item.fields_mask)) { return false; } + if ((item.fields_mask & (1<<0)) != 0) { + if (!s.long_read(item.waiting_size)) { return false; } + } else { + item.waiting_size = 0; + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!s.long_read(item.scheduled_size)) { return false; } + } else { + item.scheduled_size = 0; + } + if ((item.fields_mask & (1<<2)) != 0) { + if (!s.long_read(item.in_progress_size)) { return false; } + } else { + item.in_progress_size = 0; + } + if ((item.fields_mask & (1<<3)) != 0) { + if (!s.int_read(item.num_queues)) { return false; } + } else { + item.num_queues = 0; + } + return true; +} + +bool tl2::details::TasksQueueTypeStatsWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeStats& item) { + if (!s.nat_write(item.fields_mask)) { return false;} + if ((item.fields_mask & (1<<0)) != 0) { + if (!s.long_write(item.waiting_size)) { return false;} + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!s.long_write(item.scheduled_size)) { return false;} + } + if ((item.fields_mask & (1<<2)) != 0) { + if (!s.long_write(item.in_progress_size)) { return false;} + } + if ((item.fields_mask & (1<<3)) != 0) { + if (!s.int_write(item.num_queues)) { return false;} + } + return true; +} + +bool tl2::details::TasksQueueTypeStatsReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats& item) { + if (!s.nat_read_exact_tag(0xe1b785f2)) { return false; } + return tl2::details::TasksQueueTypeStatsRead(s, item); +} + +bool tl2::details::TasksQueueTypeStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeStats& item) { + if (!s.nat_write(0xe1b785f2)) { return false; } + return tl2::details::TasksQueueTypeStatsWrite(s, item); +} + +bool tl2::tasks::Task::write_json(std::ostream& s)const { + if (!::tl2::details::TasksTaskWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::Task::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::Task::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::Task::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::Task::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksTaskReset(::tl2::tasks::Task& item) { + item.fields_mask = 0; + item.flags = 0; + item.tag.clear(); + item.data.clear(); + item.id = 0; + item.retries = 0; + item.scheduled_time = 0; + item.deadline = 0; +} + +bool tl2::details::TasksTaskWriteJSON(std::ostream& s, const ::tl2::tasks::Task& item) { + auto add_comma = false; + s << "{"; + if (item.fields_mask != 0) { + add_comma = true; + s << "\"fields_mask\":"; + s << item.fields_mask; + } + if (item.flags != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"flags\":"; + s << item.flags; + } + if (item.tag.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"tag\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.tag)) { return false; } + } + if (item.data.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"data\":"; + s << "\"" << item.data << "\""; + } + if ((item.fields_mask & (1<<0)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"id\":"; + s << item.id; + } + if ((item.fields_mask & (1<<1)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"retries\":"; + s << item.retries; + } + if ((item.fields_mask & (1<<2)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"scheduled_time\":"; + s << item.scheduled_time; + } + if ((item.fields_mask & (1<<3)) != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"deadline\":"; + s << item.deadline; + } + s << "}"; + return true; +} + +bool tl2::details::TasksTaskRead(::basictl::tl_istream & s, ::tl2::tasks::Task& item) { + if (!s.nat_read(item.fields_mask)) { return false; } + if (!s.int_read(item.flags)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.tag)) { return false; } + if (!s.string_read(item.data)) { return false; } + if ((item.fields_mask & (1<<0)) != 0) { + if (!s.long_read(item.id)) { return false; } + } else { + item.id = 0; + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!s.int_read(item.retries)) { return false; } + } else { + item.retries = 0; + } + if ((item.fields_mask & (1<<2)) != 0) { + if (!s.int_read(item.scheduled_time)) { return false; } + } else { + item.scheduled_time = 0; + } + if ((item.fields_mask & (1<<3)) != 0) { + if (!s.int_read(item.deadline)) { return false; } + } else { + item.deadline = 0; + } + return true; +} + +bool tl2::details::TasksTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::Task& item) { + if (!s.nat_write(item.fields_mask)) { return false;} + if (!s.int_write(item.flags)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.tag)) { return false; } + if (!s.string_write(item.data)) { return false;} + if ((item.fields_mask & (1<<0)) != 0) { + if (!s.long_write(item.id)) { return false;} + } + if ((item.fields_mask & (1<<1)) != 0) { + if (!s.int_write(item.retries)) { return false;} + } + if ((item.fields_mask & (1<<2)) != 0) { + if (!s.int_write(item.scheduled_time)) { return false;} + } + if ((item.fields_mask & (1<<3)) != 0) { + if (!s.int_write(item.deadline)) { return false;} + } + return true; +} + +bool tl2::details::TasksTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::Task& item) { + if (!s.nat_read_exact_tag(0x7c23bc2c)) { return false; } + return tl2::details::TasksTaskRead(s, item); +} + +bool tl2::details::TasksTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::Task& item) { + if (!s.nat_write(0x7c23bc2c)) { return false; } + return tl2::details::TasksTaskWrite(s, item); +} + +bool tl2::tasks::TaskInfo::write_json(std::ostream& s)const { + if (!::tl2::details::TasksTaskInfoWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskInfo::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskInfoRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskInfo::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskInfoWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskInfo::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskInfoReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskInfo::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskInfoWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksTaskInfoReset(::tl2::tasks::TaskInfo& item) { + item.type_name.clear(); + item.queue_id.clear(); + ::tl2::details::TasksTaskReset(item.task); +} + +bool tl2::details::TasksTaskInfoWriteJSON(std::ostream& s, const ::tl2::tasks::TaskInfo& item) { + auto add_comma = false; + s << "{"; + if (item.type_name.size() != 0) { + add_comma = true; + s << "\"type_name\":"; + s << "\"" << item.type_name << "\""; + } + if (item.queue_id.size() != 0) { + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"queue_id\":"; + if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.queue_id)) { return false; } + } + if (add_comma) { + s << ","; + } + add_comma = true; + s << "\"task\":"; + if (!::tl2::details::TasksTaskWriteJSON(s, item.task)) { return false; } + s << "}"; + return true; +} + +bool tl2::details::TasksTaskInfoRead(::basictl::tl_istream & s, ::tl2::tasks::TaskInfo& item) { + if (!s.string_read(item.type_name)) { return false; } + if (!::tl2::details::BuiltinVectorIntRead(s, item.queue_id)) { return false; } + if (!::tl2::details::TasksTaskRead(s, item.task)) { return false; } + return true; +} + +bool tl2::details::TasksTaskInfoWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskInfo& item) { + if (!s.string_write(item.type_name)) { return false;} + if (!::tl2::details::BuiltinVectorIntWrite(s, item.queue_id)) { return false; } + if (!::tl2::details::TasksTaskWrite(s, item.task)) { return false; } + return true; +} + +bool tl2::details::TasksTaskInfoReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskInfo& item) { + if (!s.nat_read_exact_tag(0x06f0c6a6)) { return false; } + return tl2::details::TasksTaskInfoRead(s, item); +} + +bool tl2::details::TasksTaskInfoWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskInfo& item) { + if (!s.nat_write(0x06f0c6a6)) { return false; } + return tl2::details::TasksTaskInfoWrite(s, item); +} + +bool tl2::details::TasksTaskInfoMaybeWriteJSON(std::ostream & s, const std::optional<::tl2::tasks::TaskInfo>& item) { + s << "{"; + if (item) { + s << "\"ok\":true"; + s << ",\"value\":"; + if (!::tl2::details::TasksTaskInfoWriteJSON(s, *item)) { return false; } + } + s << "}"; + return true; +} +bool tl2::details::TasksTaskInfoMaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo>& item) { + bool has_item = false; + if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } + if (has_item) { + if (!item) { + item.emplace(); + } + if (!::tl2::details::TasksTaskInfoRead(s, *item)) { return false; } + return true; + } + item.reset(); + return true; +} + +bool tl2::details::TasksTaskInfoMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::tasks::TaskInfo>& item) { + if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } + if (item) { + if (!::tl2::details::TasksTaskInfoWrite(s, *item)) { return false; } + } + return true; +} + +static const std::string_view TasksTaskStatus_tbl_tl_name[]{"tasks.taskStatusNotCurrentlyInEngine", "tasks.taskStatusScheduled", "tasks.taskStatusWaiting", "tasks.taskStatusInProgress"}; +static const uint32_t TasksTaskStatus_tbl_tl_tag[]{0xb207caaa, 0x0aca80a9, 0x16739c2c, 0x06ef70e7}; + +bool tl2::tasks::TaskStatus::write_json(std::ostream & s)const { + if (!::tl2::details::TasksTaskStatusWriteJSON(s, *this)) { return false; } + return true; +} +bool tl2::tasks::TaskStatus::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskStatusReadBoxed(s, *this)) { return false; } + return true; +} +bool tl2::tasks::TaskStatus::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskStatusWriteBoxed(s, *this)) { return false; } + return true; +} +std::string_view tl2::tasks::TaskStatus::tl_name() const { + return TasksTaskStatus_tbl_tl_name[value.index()]; +} +uint32_t tl2::tasks::TaskStatus::tl_tag() const { + return TasksTaskStatus_tbl_tl_tag[value.index()]; +} + + +void tl2::details::TasksTaskStatusReset(::tl2::tasks::TaskStatus& item) { + item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function +} + +bool tl2::details::TasksTaskStatusWriteJSON(std::ostream & s, const ::tl2::tasks::TaskStatus& item) { + s << "\"" << TasksTaskStatus_tbl_tl_name[item.value.index()] << "\""; + return true; +} +bool tl2::details::TasksTaskStatusReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatus& item) { + uint32_t nat; + s.nat_read(nat); + switch (nat) { + case 0xb207caaa: + if (item.value.index() != 0) { item.value.emplace<0>(); } + break; + case 0x0aca80a9: + if (item.value.index() != 1) { item.value.emplace<1>(); } + break; + case 0x16739c2c: + if (item.value.index() != 2) { item.value.emplace<2>(); } + break; + case 0x06ef70e7: + if (item.value.index() != 3) { item.value.emplace<3>(); } + break; + default: + return s.set_error_union_tag(); + } + return true; +} + +bool tl2::details::TasksTaskStatusWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatus& item) { + s.nat_write(TasksTaskStatus_tbl_tl_tag[item.value.index()]); + switch (item.value.index()) { + } + return true; +} + +bool tl2::tasks::TaskStatusInProgress::write_json(std::ostream& s)const { + if (!::tl2::details::TasksTaskStatusInProgressWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusInProgress::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskStatusInProgressRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusInProgress::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskStatusInProgressWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusInProgress::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskStatusInProgressReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusInProgress::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskStatusInProgressWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksTaskStatusInProgressReset(::tl2::tasks::TaskStatusInProgress& item) { +} + +bool tl2::details::TasksTaskStatusInProgressWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusInProgress& item) { + s << "true"; + return true; +} + +bool tl2::details::TasksTaskStatusInProgressRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusInProgress& item) { + return true; +} + +bool tl2::details::TasksTaskStatusInProgressWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusInProgress& item) { + return true; +} + +bool tl2::details::TasksTaskStatusInProgressReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusInProgress& item) { + if (!s.nat_read_exact_tag(0x06ef70e7)) { return false; } + return tl2::details::TasksTaskStatusInProgressRead(s, item); +} + +bool tl2::details::TasksTaskStatusInProgressWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusInProgress& item) { + if (!s.nat_write(0x06ef70e7)) { return false; } + return tl2::details::TasksTaskStatusInProgressWrite(s, item); +} + +bool tl2::tasks::TaskStatusNotCurrentlyInEngine::write_json(std::ostream& s)const { + if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusNotCurrentlyInEngine::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusNotCurrentlyInEngine::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusNotCurrentlyInEngine::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusNotCurrentlyInEngine::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksTaskStatusNotCurrentlyInEngineReset(::tl2::tasks::TaskStatusNotCurrentlyInEngine& item) { +} + +bool tl2::details::TasksTaskStatusNotCurrentlyInEngineWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item) { + s << "true"; + return true; +} + +bool tl2::details::TasksTaskStatusNotCurrentlyInEngineRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item) { + return true; +} + +bool tl2::details::TasksTaskStatusNotCurrentlyInEngineWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item) { + return true; +} + +bool tl2::details::TasksTaskStatusNotCurrentlyInEngineReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item) { + if (!s.nat_read_exact_tag(0xb207caaa)) { return false; } + return tl2::details::TasksTaskStatusNotCurrentlyInEngineRead(s, item); +} + +bool tl2::details::TasksTaskStatusNotCurrentlyInEngineWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item) { + if (!s.nat_write(0xb207caaa)) { return false; } + return tl2::details::TasksTaskStatusNotCurrentlyInEngineWrite(s, item); +} + +bool tl2::tasks::TaskStatusScheduled::write_json(std::ostream& s)const { + if (!::tl2::details::TasksTaskStatusScheduledWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusScheduled::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskStatusScheduledRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusScheduled::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskStatusScheduledWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusScheduled::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskStatusScheduledReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusScheduled::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskStatusScheduledWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksTaskStatusScheduledReset(::tl2::tasks::TaskStatusScheduled& item) { +} + +bool tl2::details::TasksTaskStatusScheduledWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusScheduled& item) { + s << "true"; + return true; +} + +bool tl2::details::TasksTaskStatusScheduledRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusScheduled& item) { + return true; +} + +bool tl2::details::TasksTaskStatusScheduledWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusScheduled& item) { + return true; +} + +bool tl2::details::TasksTaskStatusScheduledReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusScheduled& item) { + if (!s.nat_read_exact_tag(0x0aca80a9)) { return false; } + return tl2::details::TasksTaskStatusScheduledRead(s, item); +} + +bool tl2::details::TasksTaskStatusScheduledWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusScheduled& item) { + if (!s.nat_write(0x0aca80a9)) { return false; } + return tl2::details::TasksTaskStatusScheduledWrite(s, item); +} + +bool tl2::tasks::TaskStatusWaiting::write_json(std::ostream& s)const { + if (!::tl2::details::TasksTaskStatusWaitingWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusWaiting::read(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskStatusWaitingRead(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusWaiting::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskStatusWaitingWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusWaiting::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TasksTaskStatusWaitingReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tasks::TaskStatusWaiting::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TasksTaskStatusWaitingWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TasksTaskStatusWaitingReset(::tl2::tasks::TaskStatusWaiting& item) { +} + +bool tl2::details::TasksTaskStatusWaitingWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusWaiting& item) { + s << "true"; + return true; +} + +bool tl2::details::TasksTaskStatusWaitingRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusWaiting& item) { + return true; +} + +bool tl2::details::TasksTaskStatusWaitingWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusWaiting& item) { + return true; +} + +bool tl2::details::TasksTaskStatusWaitingReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusWaiting& item) { + if (!s.nat_read_exact_tag(0x16739c2c)) { return false; } + return tl2::details::TasksTaskStatusWaitingRead(s, item); +} + +bool tl2::details::TasksTaskStatusWaitingWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusWaiting& item) { + if (!s.nat_write(0x16739c2c)) { return false; } + return tl2::details::TasksTaskStatusWaitingWrite(s, item); +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.addTask.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.addTask.h new file mode 100644 index 00000000..ea314abc --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.addTask.h @@ -0,0 +1,37 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.task.h" + + +namespace tl2 { namespace tasks { +struct AddTask { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x2ca073d5; } + + std::string type_name; + std::vector queue_id; + ::tl2::tasks::Task task{}; + + std::string_view tl_name() const { return "tasks.addTask"; } + uint32_t tl_tag() const { return 0x2ca073d5; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, int64_t & result); + bool write_result(::basictl::tl_ostream & s, int64_t & result); + + friend std::ostream& operator<<(std::ostream& s, const AddTask& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getAnyTask.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getAnyTask.h new file mode 100644 index 00000000..035c9b5f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getAnyTask.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.taskInfo.h" + + +namespace tl2 { namespace tasks { +struct GetAnyTask { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x4a9c7dbb; } + + + std::string_view tl_name() const { return "tasks.getAnyTask"; } + uint32_t tl_tag() const { return 0x4a9c7dbb; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo> & result); + bool write_result(::basictl::tl_ostream & s, std::optional<::tl2::tasks::TaskInfo> & result); + + friend std::ostream& operator<<(std::ostream& s, const GetAnyTask& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getQueueSize.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getQueueSize.h new file mode 100644 index 00000000..9dab62db --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getQueueSize.h @@ -0,0 +1,37 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.queueStats.h" + + +namespace tl2 { namespace tasks { +struct GetQueueSize { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xd8fcda03; } + + std::string type_name; + std::vector queue_id; + uint32_t fields_mask = 0; + + std::string_view tl_name() const { return "tasks.getQueueSize"; } + uint32_t tl_tag() const { return 0xd8fcda03; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, ::tl2::tasks::QueueStats & result); + bool write_result(::basictl::tl_ostream & s, ::tl2::tasks::QueueStats & result); + + friend std::ostream& operator<<(std::ostream& s, const GetQueueSize& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getQueueTypes.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getQueueTypes.h new file mode 100644 index 00000000..2b31c76f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getQueueTypes.h @@ -0,0 +1,36 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.queueTypeInfo.h" + + +namespace tl2 { namespace tasks { +struct GetQueueTypes { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x5434457a; } + + uint32_t settings_mask = 0; + uint32_t stats_mask = 0; + + std::string_view tl_name() const { return "tasks.getQueueTypes"; } + uint32_t tl_tag() const { return 0x5434457a; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo> & result); + bool write_result(::basictl::tl_ostream & s, std::vector<::tl2::tasks::QueueTypeInfo> & result); + + friend std::ostream& operator<<(std::ostream& s, const GetQueueTypes& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getTaskFromQueue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getTaskFromQueue.h new file mode 100644 index 00000000..fa0b448c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/functions/tasks.getTaskFromQueue.h @@ -0,0 +1,36 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.taskInfo.h" + + +namespace tl2 { namespace tasks { +struct GetTaskFromQueue { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x6a52b698; } + + std::string type_name; + std::vector queue_id; + + std::string_view tl_name() const { return "tasks.getTaskFromQueue"; } + uint32_t tl_tag() const { return 0x6a52b698; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo> & result); + bool write_result(::basictl::tl_ostream & s, std::optional<::tl2::tasks::TaskInfo> & result); + + friend std::ostream& operator<<(std::ostream& s, const GetTaskFromQueue& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.TaskStatus.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.TaskStatus.h new file mode 100644 index 00000000..12bf1be2 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.TaskStatus.h @@ -0,0 +1,15 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.TaskStatus.h" + +namespace tl2 { namespace details { + +void TasksTaskStatusReset(::tl2::tasks::TaskStatus& item); + +bool TasksTaskStatusWriteJSON(std::ostream & s, const ::tl2::tasks::TaskStatus& item); +bool TasksTaskStatusReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatus& item); +bool TasksTaskStatusWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatus& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.TaskStatusItems.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.TaskStatusItems.h new file mode 100644 index 00000000..a159d22c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.TaskStatusItems.h @@ -0,0 +1,53 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.TaskStatusItems.h" + +namespace tl2 { namespace details { + +void TasksTaskStatusInProgressReset(::tl2::tasks::TaskStatusInProgress& item); + +bool TasksTaskStatusInProgressWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusInProgress& item); +bool TasksTaskStatusInProgressRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusInProgress& item); +bool TasksTaskStatusInProgressWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusInProgress& item); +bool TasksTaskStatusInProgressReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusInProgress& item); +bool TasksTaskStatusInProgressWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusInProgress& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void TasksTaskStatusNotCurrentlyInEngineReset(::tl2::tasks::TaskStatusNotCurrentlyInEngine& item); + +bool TasksTaskStatusNotCurrentlyInEngineWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item); +bool TasksTaskStatusNotCurrentlyInEngineRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item); +bool TasksTaskStatusNotCurrentlyInEngineWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item); +bool TasksTaskStatusNotCurrentlyInEngineReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item); +bool TasksTaskStatusNotCurrentlyInEngineWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void TasksTaskStatusScheduledReset(::tl2::tasks::TaskStatusScheduled& item); + +bool TasksTaskStatusScheduledWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusScheduled& item); +bool TasksTaskStatusScheduledRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusScheduled& item); +bool TasksTaskStatusScheduledWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusScheduled& item); +bool TasksTaskStatusScheduledReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusScheduled& item); +bool TasksTaskStatusScheduledWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusScheduled& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void TasksTaskStatusWaitingReset(::tl2::tasks::TaskStatusWaiting& item); + +bool TasksTaskStatusWaitingWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusWaiting& item); +bool TasksTaskStatusWaitingRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusWaiting& item); +bool TasksTaskStatusWaitingWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusWaiting& item); +bool TasksTaskStatusWaitingReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusWaiting& item); +bool TasksTaskStatusWaitingWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusWaiting& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.addTask.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.addTask.h new file mode 100644 index 00000000..179c4894 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.addTask.h @@ -0,0 +1,20 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/tasks.addTask.h" + +namespace tl2 { namespace details { + +void TasksAddTaskReset(::tl2::tasks::AddTask& item); + +bool TasksAddTaskWriteJSON(std::ostream& s, const ::tl2::tasks::AddTask& item); +bool TasksAddTaskRead(::basictl::tl_istream & s, ::tl2::tasks::AddTask& item); +bool TasksAddTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::AddTask& item); +bool TasksAddTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::AddTask& item); +bool TasksAddTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::AddTask& item); + +bool TasksAddTaskReadResult(::basictl::tl_istream & s, ::tl2::tasks::AddTask& item, int64_t& result); +bool TasksAddTaskWriteResult(::basictl::tl_ostream & s, ::tl2::tasks::AddTask& item, int64_t& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.cronTask.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.cronTask.h new file mode 100644 index 00000000..e1c2b660 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.cronTask.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.cronTask.h" + +namespace tl2 { namespace details { + +void TasksCronTaskReset(::tl2::tasks::CronTask& item); + +bool TasksCronTaskWriteJSON(std::ostream& s, const ::tl2::tasks::CronTask& item); +bool TasksCronTaskRead(::basictl::tl_istream & s, ::tl2::tasks::CronTask& item); +bool TasksCronTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::CronTask& item); +bool TasksCronTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::CronTask& item); +bool TasksCronTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::CronTask& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.cronTaskWithId.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.cronTaskWithId.h new file mode 100644 index 00000000..7b71564d --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.cronTaskWithId.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.cronTaskWithId.h" + +namespace tl2 { namespace details { + +void TasksCronTaskWithIdReset(::tl2::tasks::CronTaskWithId& item); + +bool TasksCronTaskWithIdWriteJSON(std::ostream& s, const ::tl2::tasks::CronTaskWithId& item); +bool TasksCronTaskWithIdRead(::basictl::tl_istream & s, ::tl2::tasks::CronTaskWithId& item); +bool TasksCronTaskWithIdWrite(::basictl::tl_ostream & s, const ::tl2::tasks::CronTaskWithId& item); +bool TasksCronTaskWithIdReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::CronTaskWithId& item); +bool TasksCronTaskWithIdWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::CronTaskWithId& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.cronTime.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.cronTime.h new file mode 100644 index 00000000..b4ad96e6 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.cronTime.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.cronTime.h" + +namespace tl2 { namespace details { + +void TasksCronTimeReset(::tl2::tasks::CronTime& item); + +bool TasksCronTimeWriteJSON(std::ostream& s, const ::tl2::tasks::CronTime& item); +bool TasksCronTimeRead(::basictl::tl_istream & s, ::tl2::tasks::CronTime& item); +bool TasksCronTimeWrite(::basictl::tl_ostream & s, const ::tl2::tasks::CronTime& item); +bool TasksCronTimeReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::CronTime& item); +bool TasksCronTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::CronTime& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getAnyTask.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getAnyTask.h new file mode 100644 index 00000000..ac850ed5 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getAnyTask.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/tasks.getAnyTask.h" +#include "../types/tasks.taskInfo.h" + +namespace tl2 { namespace details { + +void TasksGetAnyTaskReset(::tl2::tasks::GetAnyTask& item); + +bool TasksGetAnyTaskWriteJSON(std::ostream& s, const ::tl2::tasks::GetAnyTask& item); +bool TasksGetAnyTaskRead(::basictl::tl_istream & s, ::tl2::tasks::GetAnyTask& item); +bool TasksGetAnyTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetAnyTask& item); +bool TasksGetAnyTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetAnyTask& item); +bool TasksGetAnyTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetAnyTask& item); + +bool TasksGetAnyTaskReadResult(::basictl::tl_istream & s, ::tl2::tasks::GetAnyTask& item, std::optional<::tl2::tasks::TaskInfo>& result); +bool TasksGetAnyTaskWriteResult(::basictl::tl_ostream & s, ::tl2::tasks::GetAnyTask& item, std::optional<::tl2::tasks::TaskInfo>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getQueueSize.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getQueueSize.h new file mode 100644 index 00000000..74a59f7b --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getQueueSize.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/tasks.getQueueSize.h" +#include "../types/tasks.queueStats.h" + +namespace tl2 { namespace details { + +void TasksGetQueueSizeReset(::tl2::tasks::GetQueueSize& item); + +bool TasksGetQueueSizeWriteJSON(std::ostream& s, const ::tl2::tasks::GetQueueSize& item); +bool TasksGetQueueSizeRead(::basictl::tl_istream & s, ::tl2::tasks::GetQueueSize& item); +bool TasksGetQueueSizeWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueSize& item); +bool TasksGetQueueSizeReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetQueueSize& item); +bool TasksGetQueueSizeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueSize& item); + +bool TasksGetQueueSizeReadResult(::basictl::tl_istream & s, ::tl2::tasks::GetQueueSize& item, ::tl2::tasks::QueueStats& result); +bool TasksGetQueueSizeWriteResult(::basictl::tl_ostream & s, ::tl2::tasks::GetQueueSize& item, ::tl2::tasks::QueueStats& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getQueueTypes.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getQueueTypes.h new file mode 100644 index 00000000..e02908df --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getQueueTypes.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/tasks.getQueueTypes.h" +#include "../types/tasks.queueTypeInfo.h" + +namespace tl2 { namespace details { + +void TasksGetQueueTypesReset(::tl2::tasks::GetQueueTypes& item); + +bool TasksGetQueueTypesWriteJSON(std::ostream& s, const ::tl2::tasks::GetQueueTypes& item); +bool TasksGetQueueTypesRead(::basictl::tl_istream & s, ::tl2::tasks::GetQueueTypes& item); +bool TasksGetQueueTypesWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueTypes& item); +bool TasksGetQueueTypesReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetQueueTypes& item); +bool TasksGetQueueTypesWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueTypes& item); + +bool TasksGetQueueTypesReadResult(::basictl::tl_istream & s, ::tl2::tasks::GetQueueTypes& item, std::vector<::tl2::tasks::QueueTypeInfo>& result); +bool TasksGetQueueTypesWriteResult(::basictl::tl_ostream & s, ::tl2::tasks::GetQueueTypes& item, std::vector<::tl2::tasks::QueueTypeInfo>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getTaskFromQueue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getTaskFromQueue.h new file mode 100644 index 00000000..60020d41 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.getTaskFromQueue.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/tasks.getTaskFromQueue.h" +#include "../types/tasks.taskInfo.h" + +namespace tl2 { namespace details { + +void TasksGetTaskFromQueueReset(::tl2::tasks::GetTaskFromQueue& item); + +bool TasksGetTaskFromQueueWriteJSON(std::ostream& s, const ::tl2::tasks::GetTaskFromQueue& item); +bool TasksGetTaskFromQueueRead(::basictl::tl_istream & s, ::tl2::tasks::GetTaskFromQueue& item); +bool TasksGetTaskFromQueueWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetTaskFromQueue& item); +bool TasksGetTaskFromQueueReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetTaskFromQueue& item); +bool TasksGetTaskFromQueueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetTaskFromQueue& item); + +bool TasksGetTaskFromQueueReadResult(::basictl::tl_istream & s, ::tl2::tasks::GetTaskFromQueue& item, std::optional<::tl2::tasks::TaskInfo>& result); +bool TasksGetTaskFromQueueWriteResult(::basictl::tl_ostream & s, ::tl2::tasks::GetTaskFromQueue& item, std::optional<::tl2::tasks::TaskInfo>& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueStats.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueStats.h new file mode 100644 index 00000000..0f5a86ee --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueStats.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.queueStats.h" + +namespace tl2 { namespace details { + +void TasksQueueStatsReset(::tl2::tasks::QueueStats& item); + +bool TasksQueueStatsWriteJSON(std::ostream& s, const ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask); +bool TasksQueueStatsRead(::basictl::tl_istream & s, ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask); +bool TasksQueueStatsWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask); +bool TasksQueueStatsReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask); +bool TasksQueueStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueTypeInfo.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueTypeInfo.h new file mode 100644 index 00000000..a2a03628 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueTypeInfo.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.queueTypeInfo.h" + +namespace tl2 { namespace details { + +void BuiltinVectorTasksQueueTypeInfoReset(std::vector<::tl2::tasks::QueueTypeInfo>& item); + +bool BuiltinVectorTasksQueueTypeInfoWriteJSON(std::ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item); +bool BuiltinVectorTasksQueueTypeInfoRead(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo>& item); +bool BuiltinVectorTasksQueueTypeInfoWrite(::basictl::tl_ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +void TasksQueueTypeInfoReset(::tl2::tasks::QueueTypeInfo& item); + +bool TasksQueueTypeInfoWriteJSON(std::ostream& s, const ::tl2::tasks::QueueTypeInfo& item); +bool TasksQueueTypeInfoRead(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeInfo& item); +bool TasksQueueTypeInfoWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeInfo& item); +bool TasksQueueTypeInfoReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeInfo& item); +bool TasksQueueTypeInfoWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeInfo& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueTypeSettings.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueTypeSettings.h new file mode 100644 index 00000000..c94e9c00 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueTypeSettings.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.queueTypeSettings.h" + +namespace tl2 { namespace details { + +void TasksQueueTypeSettingsReset(::tl2::tasks::QueueTypeSettings& item); + +bool TasksQueueTypeSettingsWriteJSON(std::ostream& s, const ::tl2::tasks::QueueTypeSettings& item); +bool TasksQueueTypeSettingsRead(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeSettings& item); +bool TasksQueueTypeSettingsWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeSettings& item); +bool TasksQueueTypeSettingsReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeSettings& item); +bool TasksQueueTypeSettingsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeSettings& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueTypeStats.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueTypeStats.h new file mode 100644 index 00000000..f4a35f88 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.queueTypeStats.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.queueTypeStats.h" + +namespace tl2 { namespace details { + +void TasksQueueTypeStatsReset(::tl2::tasks::QueueTypeStats& item); + +bool TasksQueueTypeStatsWriteJSON(std::ostream& s, const ::tl2::tasks::QueueTypeStats& item); +bool TasksQueueTypeStatsRead(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats& item); +bool TasksQueueTypeStatsWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeStats& item); +bool TasksQueueTypeStatsReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats& item); +bool TasksQueueTypeStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeStats& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.task.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.task.h new file mode 100644 index 00000000..e2c727bd --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.task.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.task.h" + +namespace tl2 { namespace details { + +void TasksTaskReset(::tl2::tasks::Task& item); + +bool TasksTaskWriteJSON(std::ostream& s, const ::tl2::tasks::Task& item); +bool TasksTaskRead(::basictl::tl_istream & s, ::tl2::tasks::Task& item); +bool TasksTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::Task& item); +bool TasksTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::Task& item); +bool TasksTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::Task& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.taskInfo.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.taskInfo.h new file mode 100644 index 00000000..d0502f86 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/headers/tasks.taskInfo.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tasks.taskInfo.h" + +namespace tl2 { namespace details { + +void TasksTaskInfoReset(::tl2::tasks::TaskInfo& item); + +bool TasksTaskInfoWriteJSON(std::ostream& s, const ::tl2::tasks::TaskInfo& item); +bool TasksTaskInfoRead(::basictl::tl_istream & s, ::tl2::tasks::TaskInfo& item); +bool TasksTaskInfoWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskInfo& item); +bool TasksTaskInfoReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskInfo& item); +bool TasksTaskInfoWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskInfo& item); + +}} // namespace tl2::details + +namespace tl2 { namespace details { + +bool TasksTaskInfoMaybeWriteJSON(std::ostream & s, const std::optional<::tl2::tasks::TaskInfo>& item); + +bool TasksTaskInfoMaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo>& item); +bool TasksTaskInfoMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::tasks::TaskInfo>& item); + + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.TaskStatus.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.TaskStatus.h new file mode 100644 index 00000000..96a07865 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.TaskStatus.h @@ -0,0 +1,31 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "tasks.TaskStatusItems.h" + + +namespace tl2 { namespace tasks { +struct TaskStatus { + std::variant<::tl2::tasks::TaskStatusNotCurrentlyInEngine, ::tl2::tasks::TaskStatusScheduled, ::tl2::tasks::TaskStatusWaiting, ::tl2::tasks::TaskStatusInProgress> value; + + bool is_NotCurrentlyInEngine() const { return value.index() == 0; } + bool is_Scheduled() const { return value.index() == 1; } + bool is_Waiting() const { return value.index() == 2; } + bool is_InProgress() const { return value.index() == 3; } + + void set_NotCurrentlyInEngine() { value.emplace<0>(); } + void set_Scheduled() { value.emplace<1>(); } + void set_Waiting() { value.emplace<2>(); } + void set_InProgress() { value.emplace<3>(); } + + std::string_view tl_name() const; + uint32_t tl_tag() const; + + bool write_json(std::ostream& s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.TaskStatusItems.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.TaskStatusItems.h new file mode 100644 index 00000000..ad431be4 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.TaskStatusItems.h @@ -0,0 +1,93 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace tasks { +struct TaskStatusInProgress { + + std::string_view tl_name() const { return "tasks.taskStatusInProgress"; } + uint32_t tl_tag() const { return 0x06ef70e7; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const TaskStatusInProgress& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + +namespace tl2 { namespace tasks { +struct TaskStatusNotCurrentlyInEngine { + + std::string_view tl_name() const { return "tasks.taskStatusNotCurrentlyInEngine"; } + uint32_t tl_tag() const { return 0xb207caaa; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const TaskStatusNotCurrentlyInEngine& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + +namespace tl2 { namespace tasks { +struct TaskStatusScheduled { + + std::string_view tl_name() const { return "tasks.taskStatusScheduled"; } + uint32_t tl_tag() const { return 0x0aca80a9; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const TaskStatusScheduled& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + +namespace tl2 { namespace tasks { +struct TaskStatusWaiting { + + std::string_view tl_name() const { return "tasks.taskStatusWaiting"; } + uint32_t tl_tag() const { return 0x16739c2c; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const TaskStatusWaiting& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.cronTask.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.cronTask.h new file mode 100644 index 00000000..15bcf0f4 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.cronTask.h @@ -0,0 +1,33 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "tasks.cronTime.h" +#include "tasks.task.h" + + +namespace tl2 { namespace tasks { +struct CronTask { + std::string type_name; + std::vector queue_id; + ::tl2::tasks::Task task{}; + ::tl2::tasks::CronTime time{}; + + std::string_view tl_name() const { return "tasks.cronTask"; } + uint32_t tl_tag() const { return 0xc90cf28a; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const CronTask& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.cronTaskWithId.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.cronTaskWithId.h new file mode 100644 index 00000000..7e95ce91 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.cronTaskWithId.h @@ -0,0 +1,31 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "tasks.cronTask.h" + + +namespace tl2 { namespace tasks { +struct CronTaskWithId { + int32_t id = 0; + int32_t next_time = 0; + ::tl2::tasks::CronTask task{}; + + std::string_view tl_name() const { return "tasks.cronTaskWithId"; } + uint32_t tl_tag() const { return 0x3a958001; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const CronTaskWithId& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.cronTime.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.cronTime.h new file mode 100644 index 00000000..e1467d1a --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.cronTime.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace tasks { +struct CronTime { + uint32_t fields_mask = 0; + std::vector seconds; + std::vector minutes; + std::vector hours; + std::vector days_of_week; + std::vector days; + std::vector months; + + std::string_view tl_name() const { return "tasks.cronTime"; } + uint32_t tl_tag() const { return 0xd4177d7f; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const CronTime& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueStats.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueStats.h new file mode 100644 index 00000000..0edce3f6 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueStats.h @@ -0,0 +1,25 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace tasks { +struct QueueStats { + int32_t waiting_size = 0; + int32_t scheduled_size = 0; + int32_t in_progress_size = 0; + + std::string_view tl_name() const { return "tasks.queueStats"; } + uint32_t tl_tag() const { return 0x1d942543; } + + bool write_json(std::ostream& s, uint32_t nat_fields_mask)const; + + bool read(::basictl::tl_istream & s, uint32_t nat_fields_mask); + bool write(::basictl::tl_ostream & s, uint32_t nat_fields_mask)const; + + bool read_boxed(::basictl::tl_istream & s, uint32_t nat_fields_mask); + bool write_boxed(::basictl::tl_ostream & s, uint32_t nat_fields_mask)const; +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueTypeInfo.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueTypeInfo.h new file mode 100644 index 00000000..90f70e44 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueTypeInfo.h @@ -0,0 +1,32 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "tasks.queueTypeSettings.h" +#include "tasks.queueTypeStats.h" + + +namespace tl2 { namespace tasks { +struct QueueTypeInfo { + std::string type_name; + ::tl2::tasks::QueueTypeSettings settings{}; + ::tl2::tasks::QueueTypeStats stats{}; + + std::string_view tl_name() const { return "tasks.queueTypeInfo"; } + uint32_t tl_tag() const { return 0x38d38d3e; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const QueueTypeInfo& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueTypeSettings.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueTypeSettings.h new file mode 100644 index 00000000..0011588f --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueTypeSettings.h @@ -0,0 +1,37 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace tasks { +struct QueueTypeSettings { + uint32_t fields_mask = 0; + bool is_enabled = false; + bool is_persistent = false; + int32_t priority = 0; + int32_t default_retry_time = 0; + int32_t default_retry_num = 0; + std::string move_to_queue_type_on_error; + bool is_blocking = false; + int32_t timelimit = 0; + int32_t max_queue_size = 0; + + std::string_view tl_name() const { return "tasks.queueTypeSettings"; } + uint32_t tl_tag() const { return 0x561fbc09; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const QueueTypeSettings& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueTypeStats.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueTypeStats.h new file mode 100644 index 00000000..db18d366 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.queueTypeStats.h @@ -0,0 +1,32 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace tasks { +struct QueueTypeStats { + uint32_t fields_mask = 0; + int64_t waiting_size = 0; + int64_t scheduled_size = 0; + int64_t in_progress_size = 0; + int32_t num_queues = 0; + + std::string_view tl_name() const { return "tasks.queueTypeStats"; } + uint32_t tl_tag() const { return 0xe1b785f2; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const QueueTypeStats& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.task.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.task.h new file mode 100644 index 00000000..a471e977 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.task.h @@ -0,0 +1,35 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace tasks { +struct Task { + uint32_t fields_mask = 0; + int32_t flags = 0; + std::vector tag; + std::string data; + int64_t id = 0; + int32_t retries = 0; + int32_t scheduled_time = 0; + int32_t deadline = 0; + + std::string_view tl_name() const { return "tasks.task"; } + uint32_t tl_tag() const { return 0x7c23bc2c; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const Task& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.taskInfo.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.taskInfo.h new file mode 100644 index 00000000..0a4f620e --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/types/tasks.taskInfo.h @@ -0,0 +1,31 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "tasks.task.h" + + +namespace tl2 { namespace tasks { +struct TaskInfo { + std::string type_name; + std::vector queue_id; + ::tl2::tasks::Task task{}; + + std::string_view tl_name() const { return "tasks.taskInfo"; } + uint32_t tl_tag() const { return 0x06f0c6a6; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const TaskInfo& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tasks + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/details.cpp new file mode 100644 index 00000000..fae6df2c --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/details.cpp @@ -0,0 +1,153 @@ +#include "headers/tree_stats.ObjectLimitValue.h" +#include "headers/tree_stats.objectLimitValueLong.h" +#include "headers/tree_stats.objectLimitValueDouble.h" + + +static const std::string_view TreeStatsObjectLimitValue_tbl_tl_name[]{"tree_stats.objectLimitValueLong", "tree_stats.objectLimitValueDouble"}; +static const uint32_t TreeStatsObjectLimitValue_tbl_tl_tag[]{0x73111993, 0x5dfb8816}; + +bool tl2::tree_stats::ObjectLimitValue::write_json(std::ostream & s)const { + if (!::tl2::details::TreeStatsObjectLimitValueWriteJSON(s, *this)) { return false; } + return true; +} +bool tl2::tree_stats::ObjectLimitValue::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TreeStatsObjectLimitValueReadBoxed(s, *this)) { return false; } + return true; +} +bool tl2::tree_stats::ObjectLimitValue::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TreeStatsObjectLimitValueWriteBoxed(s, *this)) { return false; } + return true; +} +std::string_view tl2::tree_stats::ObjectLimitValue::tl_name() const { + return TreeStatsObjectLimitValue_tbl_tl_name[value.index()]; +} +uint32_t tl2::tree_stats::ObjectLimitValue::tl_tag() const { + return TreeStatsObjectLimitValue_tbl_tl_tag[value.index()]; +} + + +void tl2::details::TreeStatsObjectLimitValueReset(::tl2::tree_stats::ObjectLimitValue& item) { + item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function +} + +bool tl2::details::TreeStatsObjectLimitValueWriteJSON(std::ostream & s, const ::tl2::tree_stats::ObjectLimitValue& item) { + s << "{"; + s << "\"type\":"; + s << "\"" << TreeStatsObjectLimitValue_tbl_tl_name[item.value.index()] << "\""; + switch (item.value.index()) { + case 1: + if (std::get<1>(item.value) != 0) { + s << ",\"value\":"; + if (!::tl2::details::TreeStatsObjectLimitValueDoubleWriteJSON(s, std::get<1>(item.value))) { return false; } + } + break; + } + s << "}"; + return true; +} +bool tl2::details::TreeStatsObjectLimitValueReadBoxed(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValue& item) { + uint32_t nat; + s.nat_read(nat); + switch (nat) { + case 0x73111993: + if (item.value.index() != 0) { item.value.emplace<0>(); } + break; + case 0x5dfb8816: + if (item.value.index() != 1) { item.value.emplace<1>(); } + if (!::tl2::details::TreeStatsObjectLimitValueDoubleRead(s, std::get<1>(item.value))) { return false; } + break; + default: + return s.set_error_union_tag(); + } + return true; +} + +bool tl2::details::TreeStatsObjectLimitValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValue& item) { + s.nat_write(TreeStatsObjectLimitValue_tbl_tl_tag[item.value.index()]); + switch (item.value.index()) { + case 1: + if (!::tl2::details::TreeStatsObjectLimitValueDoubleWrite(s, std::get<1>(item.value))) { return false; } + break; + } + return true; +} + +void tl2::details::TreeStatsObjectLimitValueDoubleReset(::tl2::tree_stats::ObjectLimitValueDouble& item) { + item = 0; +} + +bool tl2::details::TreeStatsObjectLimitValueDoubleWriteJSON(std::ostream& s, const ::tl2::tree_stats::ObjectLimitValueDouble& item) { + s << item; + return true; +} + +bool tl2::details::TreeStatsObjectLimitValueDoubleRead(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueDouble& item) { + if (!s.double_read(item)) { return false; } + return true; +} + +bool tl2::details::TreeStatsObjectLimitValueDoubleWrite(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueDouble& item) { + if (!s.double_write(item)) { return false;} + return true; +} + +bool tl2::details::TreeStatsObjectLimitValueDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueDouble& item) { + if (!s.nat_read_exact_tag(0x5dfb8816)) { return false; } + return tl2::details::TreeStatsObjectLimitValueDoubleRead(s, item); +} + +bool tl2::details::TreeStatsObjectLimitValueDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueDouble& item) { + if (!s.nat_write(0x5dfb8816)) { return false; } + return tl2::details::TreeStatsObjectLimitValueDoubleWrite(s, item); +} + +bool tl2::tree_stats::ObjectLimitValueLong::write_json(std::ostream& s)const { + if (!::tl2::details::TreeStatsObjectLimitValueLongWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::tree_stats::ObjectLimitValueLong::read(::basictl::tl_istream & s) { + if (!::tl2::details::TreeStatsObjectLimitValueLongRead(s, *this)) { return false; } + return true; +} + +bool tl2::tree_stats::ObjectLimitValueLong::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::TreeStatsObjectLimitValueLongWrite(s, *this)) { return false; } + return true; +} + +bool tl2::tree_stats::ObjectLimitValueLong::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::TreeStatsObjectLimitValueLongReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::tree_stats::ObjectLimitValueLong::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::TreeStatsObjectLimitValueLongWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::TreeStatsObjectLimitValueLongReset(::tl2::tree_stats::ObjectLimitValueLong& item) { +} + +bool tl2::details::TreeStatsObjectLimitValueLongWriteJSON(std::ostream& s, const ::tl2::tree_stats::ObjectLimitValueLong& item) { + s << "true"; + return true; +} + +bool tl2::details::TreeStatsObjectLimitValueLongRead(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueLong& item) { + return true; +} + +bool tl2::details::TreeStatsObjectLimitValueLongWrite(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueLong& item) { + return true; +} + +bool tl2::details::TreeStatsObjectLimitValueLongReadBoxed(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueLong& item) { + if (!s.nat_read_exact_tag(0x73111993)) { return false; } + return tl2::details::TreeStatsObjectLimitValueLongRead(s, item); +} + +bool tl2::details::TreeStatsObjectLimitValueLongWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueLong& item) { + if (!s.nat_write(0x73111993)) { return false; } + return tl2::details::TreeStatsObjectLimitValueLongWrite(s, item); +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/headers/tree_stats.ObjectLimitValue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/headers/tree_stats.ObjectLimitValue.h new file mode 100644 index 00000000..75440ea7 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/headers/tree_stats.ObjectLimitValue.h @@ -0,0 +1,15 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tree_stats.ObjectLimitValue.h" + +namespace tl2 { namespace details { + +void TreeStatsObjectLimitValueReset(::tl2::tree_stats::ObjectLimitValue& item); + +bool TreeStatsObjectLimitValueWriteJSON(std::ostream & s, const ::tl2::tree_stats::ObjectLimitValue& item); +bool TreeStatsObjectLimitValueReadBoxed(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValue& item); +bool TreeStatsObjectLimitValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValue& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/headers/tree_stats.objectLimitValueDouble.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/headers/tree_stats.objectLimitValueDouble.h new file mode 100644 index 00000000..46a02134 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/headers/tree_stats.objectLimitValueDouble.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tree_stats.objectLimitValueDouble.h" + +namespace tl2 { namespace details { + +void TreeStatsObjectLimitValueDoubleReset(::tl2::tree_stats::ObjectLimitValueDouble& item); + +bool TreeStatsObjectLimitValueDoubleWriteJSON(std::ostream& s, const ::tl2::tree_stats::ObjectLimitValueDouble& item); +bool TreeStatsObjectLimitValueDoubleRead(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueDouble& item); +bool TreeStatsObjectLimitValueDoubleWrite(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueDouble& item); +bool TreeStatsObjectLimitValueDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueDouble& item); +bool TreeStatsObjectLimitValueDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueDouble& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/headers/tree_stats.objectLimitValueLong.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/headers/tree_stats.objectLimitValueLong.h new file mode 100644 index 00000000..d621fc96 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/headers/tree_stats.objectLimitValueLong.h @@ -0,0 +1,17 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../types/tree_stats.objectLimitValueLong.h" + +namespace tl2 { namespace details { + +void TreeStatsObjectLimitValueLongReset(::tl2::tree_stats::ObjectLimitValueLong& item); + +bool TreeStatsObjectLimitValueLongWriteJSON(std::ostream& s, const ::tl2::tree_stats::ObjectLimitValueLong& item); +bool TreeStatsObjectLimitValueLongRead(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueLong& item); +bool TreeStatsObjectLimitValueLongWrite(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueLong& item); +bool TreeStatsObjectLimitValueLongReadBoxed(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueLong& item); +bool TreeStatsObjectLimitValueLongWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueLong& item); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/types/tree_stats.ObjectLimitValue.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/types/tree_stats.ObjectLimitValue.h new file mode 100644 index 00000000..efcde07b --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/types/tree_stats.ObjectLimitValue.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "tree_stats.objectLimitValueLong.h" +#include "tree_stats.objectLimitValueDouble.h" + + +namespace tl2 { namespace tree_stats { +struct ObjectLimitValue { + std::variant<::tl2::tree_stats::ObjectLimitValueLong, ::tl2::tree_stats::ObjectLimitValueDouble> value; + + bool is_Long() const { return value.index() == 0; } + bool is_Double() const { return value.index() == 1; } + + void set_Long() { value.emplace<0>(); } + + std::string_view tl_name() const; + uint32_t tl_tag() const; + + bool write_json(std::ostream& s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; +}; + +}} // namespace tl2::tree_stats + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/types/tree_stats.objectLimitValueDouble.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/types/tree_stats.objectLimitValueDouble.h new file mode 100644 index 00000000..d5b50f35 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/types/tree_stats.objectLimitValueDouble.h @@ -0,0 +1,9 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace tree_stats { +using ObjectLimitValueDouble = double; +}} // namespace tl2::tree_stats + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/types/tree_stats.objectLimitValueLong.h b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/types/tree_stats.objectLimitValueLong.h new file mode 100644 index 00000000..fda86e27 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/types/tree_stats.objectLimitValueLong.h @@ -0,0 +1,27 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace tree_stats { +struct ObjectLimitValueLong { + + std::string_view tl_name() const { return "tree_stats.objectLimitValueLong"; } + uint32_t tl_tag() const { return 0x73111993; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + friend std::ostream& operator<<(std::ostream& s, const ObjectLimitValueLong& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::tree_stats + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/unique/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/unique/details.cpp new file mode 100644 index 00000000..f51ea7f6 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/unique/details.cpp @@ -0,0 +1,156 @@ +#include "headers/unique.stringToInt.h" +#include "headers/unique.get.h" +#include "../__common_namespace/headers/int.h" + + +bool tl2::unique::Get::write_json(std::ostream& s)const { + if (!::tl2::details::UniqueGetWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::unique::Get::read(::basictl::tl_istream & s) { + if (!::tl2::details::UniqueGetRead(s, *this)) { return false; } + return true; +} + +bool tl2::unique::Get::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::UniqueGetWrite(s, *this)) { return false; } + return true; +} + +bool tl2::unique::Get::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::UniqueGetReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::unique::Get::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::UniqueGetWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::UniqueGetReset(::tl2::unique::Get& item) { + item.key.clear(); +} + +bool tl2::details::UniqueGetWriteJSON(std::ostream& s, const ::tl2::unique::Get& item) { + s << "{"; + if (item.key.size() != 0) { + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::UniqueGetRead(::basictl::tl_istream & s, ::tl2::unique::Get& item) { + if (!s.string_read(item.key)) { return false; } + return true; +} + +bool tl2::details::UniqueGetWrite(::basictl::tl_ostream & s, const ::tl2::unique::Get& item) { + if (!s.string_write(item.key)) { return false;} + return true; +} + +bool tl2::details::UniqueGetReadBoxed(::basictl::tl_istream & s, ::tl2::unique::Get& item) { + if (!s.nat_read_exact_tag(0xce89bbf2)) { return false; } + return tl2::details::UniqueGetRead(s, item); +} + +bool tl2::details::UniqueGetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::unique::Get& item) { + if (!s.nat_write(0xce89bbf2)) { return false; } + return tl2::details::UniqueGetWrite(s, item); +} + +bool tl2::details::UniqueGetReadResult(::basictl::tl_istream & s, tl2::unique::Get& item, std::optional& result) { + if (!::tl2::details::IntMaybeReadBoxed(s, result)) { return false; } + return true; +} +bool tl2::details::UniqueGetWriteResult(::basictl::tl_ostream & s, tl2::unique::Get& item, std::optional& result) { + if (!::tl2::details::IntMaybeWriteBoxed(s, result)) { return false; } + return true; +} + +bool tl2::unique::Get::read_result(::basictl::tl_istream & s, std::optional & result) { + return tl2::details::UniqueGetReadResult(s, *this, result); +} +bool tl2::unique::Get::write_result(::basictl::tl_ostream & s, std::optional & result) { + return tl2::details::UniqueGetWriteResult(s, *this, result); +} + +bool tl2::unique::StringToInt::write_json(std::ostream& s)const { + if (!::tl2::details::UniqueStringToIntWriteJSON(s, *this)) { return false; } + return true; +} + +bool tl2::unique::StringToInt::read(::basictl::tl_istream & s) { + if (!::tl2::details::UniqueStringToIntRead(s, *this)) { return false; } + return true; +} + +bool tl2::unique::StringToInt::write(::basictl::tl_ostream & s)const { + if (!::tl2::details::UniqueStringToIntWrite(s, *this)) { return false; } + return true; +} + +bool tl2::unique::StringToInt::read_boxed(::basictl::tl_istream & s) { + if (!::tl2::details::UniqueStringToIntReadBoxed(s, *this)) { return false; } + return true; +} + +bool tl2::unique::StringToInt::write_boxed(::basictl::tl_ostream & s)const { + if (!::tl2::details::UniqueStringToIntWriteBoxed(s, *this)) { return false; } + return true; +} + +void tl2::details::UniqueStringToIntReset(::tl2::unique::StringToInt& item) { + item.key.clear(); +} + +bool tl2::details::UniqueStringToIntWriteJSON(std::ostream& s, const ::tl2::unique::StringToInt& item) { + s << "{"; + if (item.key.size() != 0) { + s << "\"key\":"; + s << "\"" << item.key << "\""; + } + s << "}"; + return true; +} + +bool tl2::details::UniqueStringToIntRead(::basictl::tl_istream & s, ::tl2::unique::StringToInt& item) { + if (!s.string_read(item.key)) { return false; } + return true; +} + +bool tl2::details::UniqueStringToIntWrite(::basictl::tl_ostream & s, const ::tl2::unique::StringToInt& item) { + if (!s.string_write(item.key)) { return false;} + return true; +} + +bool tl2::details::UniqueStringToIntReadBoxed(::basictl::tl_istream & s, ::tl2::unique::StringToInt& item) { + if (!s.nat_read_exact_tag(0x0f766c35)) { return false; } + return tl2::details::UniqueStringToIntRead(s, item); +} + +bool tl2::details::UniqueStringToIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::unique::StringToInt& item) { + if (!s.nat_write(0x0f766c35)) { return false; } + return tl2::details::UniqueStringToIntWrite(s, item); +} + +bool tl2::details::UniqueStringToIntReadResult(::basictl::tl_istream & s, tl2::unique::StringToInt& item, int32_t& result) { + if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} + if (!s.int_read(result)) { return false; } + return true; +} +bool tl2::details::UniqueStringToIntWriteResult(::basictl::tl_ostream & s, tl2::unique::StringToInt& item, int32_t& result) { + if (!s.nat_write(0xa8509bda)) { return false; } + if (!s.int_write(result)) { return false;} + return true; +} + +bool tl2::unique::StringToInt::read_result(::basictl::tl_istream & s, int32_t & result) { + return tl2::details::UniqueStringToIntReadResult(s, *this, result); +} +bool tl2::unique::StringToInt::write_result(::basictl::tl_ostream & s, int32_t & result) { + return tl2::details::UniqueStringToIntWriteResult(s, *this, result); +} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/unique/functions/unique.get.h b/internal/tlcodegen/test/gen/schema_cpp/tl/unique/functions/unique.get.h new file mode 100644 index 00000000..416fb8a7 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/unique/functions/unique.get.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace unique { +struct Get { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0xce89bbf2; } + + std::string key; + + std::string_view tl_name() const { return "unique.get"; } + uint32_t tl_tag() const { return 0xce89bbf2; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, std::optional & result); + bool write_result(::basictl::tl_ostream & s, std::optional & result); + + friend std::ostream& operator<<(std::ostream& s, const Get& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::unique + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/unique/functions/unique.stringToInt.h b/internal/tlcodegen/test/gen/schema_cpp/tl/unique/functions/unique.stringToInt.h new file mode 100644 index 00000000..18829521 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/unique/functions/unique.stringToInt.h @@ -0,0 +1,34 @@ +#pragma once + +#include "../../../basics/basictl.h" + + +namespace tl2 { namespace unique { +struct StringToInt { + // tl magic for function + static constexpr uint32_t MAGIC() { return 0x0f766c35; } + + std::string key; + + std::string_view tl_name() const { return "unique.stringToInt"; } + uint32_t tl_tag() const { return 0x0f766c35; } + + bool write_json(std::ostream& s)const; + + bool read(::basictl::tl_istream & s); + bool write(::basictl::tl_ostream & s)const; + + bool read_boxed(::basictl::tl_istream & s); + bool write_boxed(::basictl::tl_ostream & s)const; + + bool read_result(::basictl::tl_istream & s, int32_t & result); + bool write_result(::basictl::tl_ostream & s, int32_t & result); + + friend std::ostream& operator<<(std::ostream& s, const StringToInt& rhs) { + rhs.write_json(s); + return s; + } +}; + +}} // namespace tl2::unique + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/unique/headers/unique.get.h b/internal/tlcodegen/test/gen/schema_cpp/tl/unique/headers/unique.get.h new file mode 100644 index 00000000..ae50d10a --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/unique/headers/unique.get.h @@ -0,0 +1,21 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/unique.get.h" +#include "../../__common_namespace/types/int.h" + +namespace tl2 { namespace details { + +void UniqueGetReset(::tl2::unique::Get& item); + +bool UniqueGetWriteJSON(std::ostream& s, const ::tl2::unique::Get& item); +bool UniqueGetRead(::basictl::tl_istream & s, ::tl2::unique::Get& item); +bool UniqueGetWrite(::basictl::tl_ostream & s, const ::tl2::unique::Get& item); +bool UniqueGetReadBoxed(::basictl::tl_istream & s, ::tl2::unique::Get& item); +bool UniqueGetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::unique::Get& item); + +bool UniqueGetReadResult(::basictl::tl_istream & s, ::tl2::unique::Get& item, std::optional& result); +bool UniqueGetWriteResult(::basictl::tl_ostream & s, ::tl2::unique::Get& item, std::optional& result); + +}} // namespace tl2::details + diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/unique/headers/unique.stringToInt.h b/internal/tlcodegen/test/gen/schema_cpp/tl/unique/headers/unique.stringToInt.h new file mode 100644 index 00000000..88ac4365 --- /dev/null +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/unique/headers/unique.stringToInt.h @@ -0,0 +1,20 @@ +#pragma once + +#include "../../../basics/basictl.h" +#include "../functions/unique.stringToInt.h" + +namespace tl2 { namespace details { + +void UniqueStringToIntReset(::tl2::unique::StringToInt& item); + +bool UniqueStringToIntWriteJSON(std::ostream& s, const ::tl2::unique::StringToInt& item); +bool UniqueStringToIntRead(::basictl::tl_istream & s, ::tl2::unique::StringToInt& item); +bool UniqueStringToIntWrite(::basictl::tl_ostream & s, const ::tl2::unique::StringToInt& item); +bool UniqueStringToIntReadBoxed(::basictl::tl_istream & s, ::tl2::unique::StringToInt& item); +bool UniqueStringToIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::unique::StringToInt& item); + +bool UniqueStringToIntReadResult(::basictl::tl_istream & s, ::tl2::unique::StringToInt& item, int32_t& result); +bool UniqueStringToIntWriteResult(::basictl::tl_ostream & s, ::tl2::unique::StringToInt& item, int32_t& result); + +}} // namespace tl2::details + From 724bf3210480d19ae3b4e490923c0b923aee107c Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Wed, 20 Nov 2024 16:19:38 +0300 Subject: [PATCH 10/38] + schema remove --- .../tlcodegen/test/gen/schema_cpp/Makefile | 75 +- .../schema_cpp/__common_namespace/details.cpp | 5072 ----------------- .../functions/boxedArray.hpp | 35 - .../__common_namespace/functions/boxedInt.hpp | 34 - .../functions/boxedString.hpp | 34 - .../functions/boxedTuple.hpp | 34 - .../functions/boxedTupleSlice1.hpp | 35 - .../functions/boxedTupleSlice2.hpp | 35 - .../functions/boxedTupleSlice3.hpp | 35 - .../functions/boxedVector32.hpp | 34 - .../functions/boxedVector32BoxedElem.hpp | 34 - .../functions/boxedVector64.hpp | 34 - .../functions/getDouble.hpp | 34 - .../__common_namespace/functions/getFloat.hpp | 34 - .../functions/getMaybeIface.hpp | 35 - .../functions/getMyDictOfInt.hpp | 35 - .../functions/getMyDouble.hpp | 35 - .../functions/getMyValue.hpp | 35 - .../functions/getNonOptNat.hpp | 35 - .../__common_namespace/functions/getStats.hpp | 35 - .../functions/get_arrays.hpp | 36 - .../__common_namespace/headers/Bool.hpp | 13 - .../__common_namespace/headers/Either.hpp | 48 - .../__common_namespace/headers/MyValue.hpp | 15 - .../headers/benchObject.hpp | 17 - .../__common_namespace/headers/boxedArray.hpp | 21 - .../__common_namespace/headers/boxedInt.hpp | 20 - .../headers/boxedString.hpp | 20 - .../__common_namespace/headers/boxedTuple.hpp | 21 - .../headers/boxedTupleSlice1.hpp | 21 - .../headers/boxedTupleSlice2.hpp | 21 - .../headers/boxedTupleSlice3.hpp | 21 - .../headers/boxedVector32.hpp | 21 - .../headers/boxedVector32BoxedElem.hpp | 21 - .../headers/boxedVector64.hpp | 21 - .../__common_namespace/headers/dictionary.hpp | 17 - .../headers/dictionaryField.hpp | 27 - .../__common_namespace/headers/double.hpp | 17 - .../headers/fieldConflict1.hpp | 17 - .../headers/fieldConflict2.hpp | 17 - .../headers/fieldConflict3.hpp | 17 - .../headers/fieldConflict4.hpp | 17 - .../__common_namespace/headers/float.hpp | 17 - .../__common_namespace/headers/getDouble.hpp | 20 - .../__common_namespace/headers/getFloat.hpp | 20 - .../headers/getMaybeIface.hpp | 21 - .../headers/getMyDictOfInt.hpp | 21 - .../headers/getMyDouble.hpp | 21 - .../__common_namespace/headers/getMyValue.hpp | 21 - .../headers/getNonOptNat.hpp | 21 - .../__common_namespace/headers/getStats.hpp | 21 - .../__common_namespace/headers/get_arrays.hpp | 21 - .../__common_namespace/headers/int.hpp | 107 - .../__common_namespace/headers/integer.hpp | 27 - .../__common_namespace/headers/issue3498.hpp | 17 - .../__common_namespace/headers/left.hpp | 32 - .../__common_namespace/headers/long.hpp | 27 - .../__common_namespace/headers/map.hpp | 27 - .../headers/myAnonMcValue.hpp | 17 - .../headers/myBoxedArray.hpp | 17 - .../headers/myBoxedTupleSlice.hpp | 17 - .../headers/myBoxedVectorSlice.hpp | 17 - .../headers/myDictOfInt.hpp | 17 - .../__common_namespace/headers/myDouble.hpp | 17 - .../__common_namespace/headers/myInt.hpp | 17 - .../__common_namespace/headers/myMaybe1.hpp | 17 - .../__common_namespace/headers/myMaybe2.hpp | 17 - .../__common_namespace/headers/myMcValue.hpp | 17 - .../headers/myMcValueTuple.hpp | 17 - .../headers/myMcValueVector.hpp | 17 - .../__common_namespace/headers/myString.hpp | 17 - .../__common_namespace/headers/myTuple.hpp | 27 - .../__common_namespace/headers/myTwoDicts.hpp | 17 - .../__common_namespace/headers/nonOptNat.hpp | 17 - .../__common_namespace/headers/right.hpp | 32 - .../headers/rpcInvokeReqExtra.hpp | 17 - .../__common_namespace/headers/statOne.hpp | 17 - .../__common_namespace/headers/string.hpp | 27 - .../__common_namespace/headers/true.hpp | 17 - .../__common_namespace/headers/tuple.hpp | 104 - .../__common_namespace/headers/vector.hpp | 173 - .../__common_namespace/headers/withFloat.hpp | 17 - .../__common_namespace/types/Bool.hpp | 11 - .../__common_namespace/types/Either.hpp | 22 - .../__common_namespace/types/MyValue.hpp | 26 - .../__common_namespace/types/benchObject.hpp | 30 - .../__common_namespace/types/boolStat.hpp | 30 - .../__common_namespace/types/dictionary.hpp | 11 - .../types/dictionaryField.hpp | 17 - .../__common_namespace/types/double.hpp | 9 - .../types/fieldConflict1.hpp | 29 - .../types/fieldConflict2.hpp | 29 - .../types/fieldConflict3.hpp | 29 - .../types/fieldConflict4.hpp | 29 - .../__common_namespace/types/float.hpp | 9 - .../__common_namespace/types/int.hpp | 9 - .../__common_namespace/types/integer.hpp | 28 - .../__common_namespace/types/issue3498.hpp | 31 - .../__common_namespace/types/left.hpp | 16 - .../__common_namespace/types/long.hpp | 9 - .../__common_namespace/types/map.hpp | 17 - .../types/myAnonMcValue.hpp | 10 - .../__common_namespace/types/myBoxedArray.hpp | 28 - .../types/myBoxedTupleSlice.hpp | 29 - .../types/myBoxedVectorSlice.hpp | 28 - .../__common_namespace/types/myDictOfInt.hpp | 10 - .../__common_namespace/types/myDouble.hpp | 9 - .../__common_namespace/types/myInt.hpp | 28 - .../__common_namespace/types/myMaybe1.hpp | 10 - .../__common_namespace/types/myMaybe2.hpp | 10 - .../__common_namespace/types/myMcValue.hpp | 29 - .../types/myMcValueTuple.hpp | 29 - .../types/myMcValueVector.hpp | 29 - .../__common_namespace/types/myString.hpp | 28 - .../__common_namespace/types/myTuple.hpp | 10 - .../__common_namespace/types/myTwoDicts.hpp | 30 - .../__common_namespace/types/nonOptNat.hpp | 29 - .../__common_namespace/types/right.hpp | 16 - .../types/rpcInvokeReqExtra.hpp | 34 - .../__common_namespace/types/statOne.hpp | 29 - .../__common_namespace/types/string.hpp | 9 - .../__common_namespace/types/true.hpp | 27 - .../__common_namespace/types/tuple.hpp | 15 - .../__common_namespace/types/vector.hpp | 10 - .../__common_namespace/types/withFloat.hpp | 30 - .../test/gen/schema_cpp/__factory/details.cpp | 3239 ----------- .../test/gen/schema_cpp/__factory/headers.hpp | 7 - .../test/gen/schema_cpp/__meta/details.cpp | 491 -- .../test/gen/schema_cpp/__meta/headers.hpp | 46 - .../gen/schema_cpp/a_tlgen_helpers_code.hpp | 304 - .../test/gen/schema_cpp/antispam/details.cpp | 303 - .../functions/antispam.getPattern.hpp | 35 - .../antispam/headers/antispam.PatternFull.hpp | 15 - .../antispam/headers/antispam.getPattern.hpp | 21 - .../headers/antispam.patternFound.hpp | 17 - .../headers/antispam.patternNotFound.hpp | 17 - .../antispam/types/antispam.PatternFull.hpp | 27 - .../antispam/types/antispam.patternFound.hpp | 32 - .../types/antispam.patternNotFound.hpp | 27 - .../test/gen/schema_cpp/pkg2/details.cpp | 149 - .../gen/schema_cpp/pkg2/headers/pkg2.foo.hpp | 17 - .../gen/schema_cpp/pkg2/headers/pkg2.t1.hpp | 17 - .../gen/schema_cpp/pkg2/headers/pkg2.t2.hpp | 17 - .../gen/schema_cpp/pkg2/types/pkg2.foo.hpp | 28 - .../gen/schema_cpp/pkg2/types/pkg2.t1.hpp | 29 - .../gen/schema_cpp/pkg2/types/pkg2.t2.hpp | 10 - .../test/gen/schema_cpp/service1/details.cpp | 3447 ----------- .../service1/functions/service1.add.hpp | 37 - .../service1/functions/service1.addOrGet.hpp | 38 - .../service1/functions/service1.addOrIncr.hpp | 38 - .../service1/functions/service1.append.hpp | 37 - .../service1/functions/service1.cas.hpp | 38 - .../service1/functions/service1.decr.hpp | 36 - .../service1/functions/service1.delete.hpp | 34 - .../functions/service1.disableExpiration.hpp | 34 - .../functions/service1.disableKeysStat.hpp | 34 - .../functions/service1.enableExpiration.hpp | 34 - .../functions/service1.enableKeysStat.hpp | 34 - .../service1/functions/service1.exists.hpp | 34 - .../service1/functions/service1.get.hpp | 35 - .../functions/service1.getExpireTime.hpp | 34 - .../functions/service1.getKeysStat.hpp | 35 - .../functions/service1.getKeysStatPeriods.hpp | 33 - .../functions/service1.getWildcard.hpp | 35 - .../functions/service1.getWildcardDict.hpp | 35 - .../functions/service1.getWildcardList.hpp | 34 - .../service1.getWildcardWithFlags.hpp | 36 - .../service1/functions/service1.incr.hpp | 36 - .../service1/functions/service1.replace.hpp | 37 - .../functions/service1.replaceOrIncr.hpp | 38 - .../service1/functions/service1.set.hpp | 37 - .../service1/functions/service1.setOrIncr.hpp | 38 - .../service1/functions/service1.touch.hpp | 35 - .../service1/headers/service1.Value.hpp | 45 - .../service1/headers/service1.add.hpp | 21 - .../service1/headers/service1.addOrGet.hpp | 21 - .../service1/headers/service1.addOrIncr.hpp | 21 - .../service1/headers/service1.append.hpp | 21 - .../service1/headers/service1.cas.hpp | 21 - .../service1/headers/service1.decr.hpp | 21 - .../service1/headers/service1.delete.hpp | 21 - .../headers/service1.disableExpiration.hpp | 21 - .../headers/service1.disableKeysStat.hpp | 21 - .../headers/service1.enableExpiration.hpp | 21 - .../headers/service1.enableKeysStat.hpp | 21 - .../service1/headers/service1.exists.hpp | 21 - .../service1/headers/service1.get.hpp | 21 - .../headers/service1.getExpireTime.hpp | 21 - .../service1/headers/service1.getKeysStat.hpp | 21 - .../headers/service1.getKeysStatPeriods.hpp | 21 - .../service1/headers/service1.getWildcard.hpp | 21 - .../headers/service1.getWildcardDict.hpp | 21 - .../headers/service1.getWildcardList.hpp | 21 - .../headers/service1.getWildcardWithFlags.hpp | 22 - .../service1/headers/service1.incr.hpp | 21 - .../service1/headers/service1.keysStat.hpp | 27 - .../service1/headers/service1.longvalue.hpp | 17 - .../headers/service1.longvalueWithTime.hpp | 17 - .../service1/headers/service1.not_found.hpp | 17 - .../service1/headers/service1.replace.hpp | 21 - .../headers/service1.replaceOrIncr.hpp | 21 - .../service1/headers/service1.set.hpp | 21 - .../service1/headers/service1.setOrIncr.hpp | 21 - .../service1/headers/service1.strvalue.hpp | 17 - .../headers/service1.strvalueWithTime.hpp | 17 - .../service1/headers/service1.touch.hpp | 21 - .../service1/headers/service1_dictionary.hpp | 42 - .../headers/service1_dictionaryField.hpp | 73 - .../service1/headers/service1_vector.hpp | 44 - .../service1/types/service1.Value.hpp | 33 - .../service1/types/service1.keysStat.hpp | 30 - .../service1/types/service1.longvalue.hpp | 29 - .../types/service1.longvalueWithTime.hpp | 30 - .../service1/types/service1.not_found.hpp | 27 - .../service1/types/service1.strvalue.hpp | 29 - .../types/service1.strvalueWithTime.hpp | 30 - .../test/gen/schema_cpp/service2/details.cpp | 760 --- .../functions/service2.addOrIncrMany.hpp | 42 - .../service2/functions/service2.set.hpp | 41 - .../functions/service2.setObjectTtl.hpp | 38 - .../headers/service2.addOrIncrMany.hpp | 21 - .../service2/headers/service2.counterSet.hpp | 27 - .../service2/headers/service2.deltaSet.hpp | 27 - .../service2/headers/service2.objectId.hpp | 17 - .../service2/headers/service2.set.hpp | 21 - .../headers/service2.setObjectTtl.hpp | 21 - .../service2/headers/service2_double.hpp | 15 - .../service2/headers/service2_tuple.hpp | 31 - .../service2/types/service2.counterSet.hpp | 24 - .../service2/types/service2.deltaSet.hpp | 26 - .../service2/types/service2.objectId.hpp | 23 - .../test/gen/schema_cpp/service3/details.cpp | 2548 --------- .../functions/service3.createProduct.hpp | 39 - .../functions/service3.deleteAllProducts.hpp | 37 - .../service3.deleteGroupedProducts.hpp | 38 - .../functions/service3.deleteProduct.hpp | 37 - .../service3.getLastVisitTimestamp.hpp | 34 - .../service3/functions/service3.getLimits.hpp | 34 - .../functions/service3.getProductStats.hpp | 36 - .../functions/service3.getProducts.hpp | 42 - .../service3.getScheduledProducts.hpp | 36 - .../functions/service3.restoreAllProducts.hpp | 37 - .../service3.restoreGroupedProducts.hpp | 38 - .../functions/service3.restoreProduct.hpp | 37 - .../service3.setLastVisitTimestamp.hpp | 35 - .../service3/functions/service3.setLimits.hpp | 36 - .../headers/service3.createProduct.hpp | 21 - .../headers/service3.deleteAllProducts.hpp | 21 - .../service3.deleteGroupedProducts.hpp | 21 - .../headers/service3.deleteProduct.hpp | 21 - .../service3.getLastVisitTimestamp.hpp | 21 - .../service3/headers/service3.getLimits.hpp | 21 - .../headers/service3.getProductStats.hpp | 22 - .../service3/headers/service3.getProducts.hpp | 22 - .../headers/service3.getScheduledProducts.hpp | 22 - .../headers/service3.groupCountLimit.hpp | 27 - .../headers/service3.groupSizeLimit.hpp | 27 - .../service3/headers/service3.limits.hpp | 17 - .../service3/headers/service3.product.hpp | 49 - .../headers/service3.productStatsOld.hpp | 27 - .../headers/service3.restoreAllProducts.hpp | 21 - .../service3.restoreGroupedProducts.hpp | 21 - .../headers/service3.restoreProduct.hpp | 21 - .../service3.setLastVisitTimestamp.hpp | 21 - .../service3/headers/service3.setLimits.hpp | 21 - .../service3/headers/service3_boolStat.hpp | 17 - .../service3/headers/service3_vector.hpp | 99 - .../types/service3.groupCountLimit.hpp | 29 - .../types/service3.groupSizeLimit.hpp | 29 - .../service3/types/service3.limits.hpp | 33 - .../service3/types/service3.product.hpp | 44 - .../types/service3.productStatsOld.hpp | 32 - .../test/gen/schema_cpp/service4/details.cpp | 220 - .../headers/service4.modifiedNewsEntry.hpp | 17 - .../service4/headers/service4.object.hpp | 17 - .../types/service4.modifiedNewsEntry.hpp | 34 - .../service4/types/service4.object.hpp | 30 - .../test/gen/schema_cpp/service5/details.cpp | 542 -- .../service5/functions/service5.insert.hpp | 36 - .../functions/service5.performQuery.hpp | 35 - .../service5/functions/service5.query.hpp | 37 - .../service5/headers/service5.Output.hpp | 15 - .../service5/headers/service5.emptyOutput.hpp | 17 - .../service5/headers/service5.insert.hpp | 21 - .../service5/headers/service5.params.hpp | 17 - .../headers/service5.performQuery.hpp | 21 - .../service5/headers/service5.query.hpp | 21 - .../headers/service5.stringOutput.hpp | 17 - .../service5/types/service5.Output.hpp | 27 - .../service5/types/service5.emptyOutput.hpp | 27 - .../service5/types/service5.params.hpp | 30 - .../service5/types/service5.stringOutput.hpp | 29 - .../test/gen/schema_cpp/service6/details.cpp | 437 -- .../service6/functions/service6.multiFind.hpp | 39 - .../service6.multiFindWithBounds.hpp | 36 - .../service6/headers/service6.error.hpp | 17 - .../headers/service6.findResultRow.hpp | 27 - .../headers/service6.findWithBoundsResult.hpp | 27 - .../service6/headers/service6.multiFind.hpp | 23 - .../headers/service6.multiFindWithBounds.hpp | 22 - .../service6/types/service6.error.hpp | 28 - .../service6/types/service6.findResultRow.hpp | 28 - .../types/service6.findWithBoundsResult.hpp | 28 - .../test/gen/schema_cpp/tasks/details.cpp | 1896 ------ .../tasks/functions/tasks.addTask.hpp | 37 - .../tasks/functions/tasks.getAnyTask.hpp | 34 - .../tasks/functions/tasks.getQueueSize.hpp | 37 - .../tasks/functions/tasks.getQueueTypes.hpp | 36 - .../functions/tasks.getTaskFromQueue.hpp | 36 - .../tasks/headers/tasks.TaskStatus.hpp | 15 - .../tasks/headers/tasks.TaskStatusItems.hpp | 53 - .../tasks/headers/tasks.addTask.hpp | 20 - .../tasks/headers/tasks.cronTask.hpp | 17 - .../tasks/headers/tasks.cronTaskWithId.hpp | 17 - .../tasks/headers/tasks.cronTime.hpp | 17 - .../tasks/headers/tasks.getAnyTask.hpp | 21 - .../tasks/headers/tasks.getQueueSize.hpp | 21 - .../tasks/headers/tasks.getQueueTypes.hpp | 21 - .../tasks/headers/tasks.getTaskFromQueue.hpp | 21 - .../tasks/headers/tasks.queueStats.hpp | 17 - .../tasks/headers/tasks.queueTypeInfo.hpp | 27 - .../tasks/headers/tasks.queueTypeSettings.hpp | 17 - .../tasks/headers/tasks.queueTypeStats.hpp | 17 - .../schema_cpp/tasks/headers/tasks.task.hpp | 17 - .../tasks/headers/tasks.taskInfo.hpp | 27 - .../tasks/types/tasks.TaskStatus.hpp | 31 - .../tasks/types/tasks.TaskStatusItems.hpp | 93 - .../schema_cpp/tasks/types/tasks.cronTask.hpp | 33 - .../tasks/types/tasks.cronTaskWithId.hpp | 31 - .../schema_cpp/tasks/types/tasks.cronTime.hpp | 34 - .../tasks/types/tasks.queueStats.hpp | 25 - .../tasks/types/tasks.queueTypeInfo.hpp | 32 - .../tasks/types/tasks.queueTypeSettings.hpp | 37 - .../tasks/types/tasks.queueTypeStats.hpp | 32 - .../gen/schema_cpp/tasks/types/tasks.task.hpp | 35 - .../schema_cpp/tasks/types/tasks.taskInfo.hpp | 31 - .../gen/schema_cpp/tree_stats/details.cpp | 153 - .../headers/tree_stats.ObjectLimitValue.hpp | 15 - .../tree_stats.objectLimitValueDouble.hpp | 17 - .../tree_stats.objectLimitValueLong.hpp | 17 - .../types/tree_stats.ObjectLimitValue.hpp | 27 - .../tree_stats.objectLimitValueDouble.hpp | 9 - .../types/tree_stats.objectLimitValueLong.hpp | 27 - .../test/gen/schema_cpp/unique/details.cpp | 156 - .../unique/functions/unique.get.hpp | 34 - .../unique/functions/unique.stringToInt.hpp | 34 - .../schema_cpp/unique/headers/unique.get.hpp | 21 - .../unique/headers/unique.stringToInt.hpp | 20 - 348 files changed, 42 insertions(+), 28731 deletions(-) delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedArray.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedInt.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedString.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTuple.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice1.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice2.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice3.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32BoxedElem.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector64.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getDouble.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getFloat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMaybeIface.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDictOfInt.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDouble.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyValue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getNonOptNat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getStats.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/get_arrays.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/Bool.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/Either.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/MyValue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/benchObject.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedArray.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedInt.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedString.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTuple.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTupleSlice1.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTupleSlice2.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTupleSlice3.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedVector32.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedVector32BoxedElem.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedVector64.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/dictionary.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/dictionaryField.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/double.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict1.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict2.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict3.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict4.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/float.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getDouble.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getFloat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMaybeIface.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMyDictOfInt.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMyDouble.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMyValue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getNonOptNat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getStats.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/get_arrays.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/int.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/integer.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/issue3498.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/left.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/long.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/map.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myAnonMcValue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myBoxedArray.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myBoxedTupleSlice.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myBoxedVectorSlice.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myDictOfInt.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myDouble.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myInt.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMaybe1.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMaybe2.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMcValue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMcValueTuple.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMcValueVector.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myString.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myTuple.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myTwoDicts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/nonOptNat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/right.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/rpcInvokeReqExtra.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/statOne.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/string.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/true.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/tuple.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/vector.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/withFloat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/Bool.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/Either.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/MyValue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/benchObject.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/boolStat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/dictionary.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/dictionaryField.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/double.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict1.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict2.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict3.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict4.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/float.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/int.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/integer.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/issue3498.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/left.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/long.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/map.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myAnonMcValue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myBoxedArray.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myBoxedTupleSlice.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myBoxedVectorSlice.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myDictOfInt.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myDouble.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myInt.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMaybe1.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMaybe2.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMcValue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMcValueTuple.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMcValueVector.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myString.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myTuple.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myTwoDicts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/nonOptNat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/right.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/rpcInvokeReqExtra.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/statOne.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/string.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/true.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/tuple.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/vector.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/withFloat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__factory/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__factory/headers.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__meta/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/__meta/headers.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/a_tlgen_helpers_code.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/antispam/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/antispam/functions/antispam.getPattern.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.PatternFull.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.getPattern.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.patternFound.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.patternNotFound.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/antispam/types/antispam.PatternFull.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/antispam/types/antispam.patternFound.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/antispam/types/antispam.patternNotFound.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/pkg2/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/pkg2/headers/pkg2.foo.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/pkg2/headers/pkg2.t1.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/pkg2/headers/pkg2.t2.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/pkg2/types/pkg2.foo.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/pkg2/types/pkg2.t1.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/pkg2/types/pkg2.t2.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.add.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrGet.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrIncr.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.append.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.cas.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.decr.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.delete.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableExpiration.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableKeysStat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableExpiration.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableKeysStat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.exists.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.get.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getExpireTime.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStatPeriods.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcard.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardDict.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardList.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardWithFlags.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.incr.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replace.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replaceOrIncr.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.set.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.setOrIncr.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.touch.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.Value.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.add.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.addOrGet.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.addOrIncr.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.append.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.cas.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.decr.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.delete.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.disableExpiration.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.disableKeysStat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.enableExpiration.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.enableKeysStat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.exists.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.get.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getExpireTime.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getKeysStat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getKeysStatPeriods.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcard.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcardDict.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcardList.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcardWithFlags.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.incr.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.keysStat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.longvalue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.longvalueWithTime.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.not_found.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.replace.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.replaceOrIncr.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.set.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.setOrIncr.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.strvalue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.strvalueWithTime.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.touch.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1_dictionary.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1_dictionaryField.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1_vector.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.Value.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.keysStat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.longvalue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.longvalueWithTime.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.not_found.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.strvalue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.strvalueWithTime.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.addOrIncrMany.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.set.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.setObjectTtl.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.addOrIncrMany.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.counterSet.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.deltaSet.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.objectId.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.set.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.setObjectTtl.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2_double.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2_tuple.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/types/service2.counterSet.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/types/service2.deltaSet.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service2/types/service2.objectId.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.createProduct.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteAllProducts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteGroupedProducts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteProduct.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLastVisitTimestamp.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLimits.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProductStats.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProducts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getScheduledProducts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreAllProducts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreGroupedProducts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreProduct.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLastVisitTimestamp.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLimits.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.createProduct.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.deleteAllProducts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.deleteGroupedProducts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.deleteProduct.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getLastVisitTimestamp.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getLimits.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getProductStats.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getProducts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getScheduledProducts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.groupCountLimit.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.groupSizeLimit.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.limits.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.product.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.productStatsOld.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.restoreAllProducts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.restoreGroupedProducts.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.restoreProduct.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.setLastVisitTimestamp.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.setLimits.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3_boolStat.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3_vector.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.groupCountLimit.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.groupSizeLimit.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.limits.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.product.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.productStatsOld.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service4/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service4/headers/service4.modifiedNewsEntry.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service4/headers/service4.object.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service4/types/service4.modifiedNewsEntry.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service4/types/service4.object.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.insert.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.performQuery.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.query.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.Output.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.emptyOutput.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.insert.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.params.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.performQuery.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.query.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.stringOutput.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.Output.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.emptyOutput.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.params.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.stringOutput.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service6/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFind.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFindWithBounds.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.error.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.findResultRow.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.findWithBoundsResult.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.multiFind.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.multiFindWithBounds.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service6/types/service6.error.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service6/types/service6.findResultRow.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/service6/types/service6.findWithBoundsResult.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.addTask.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getAnyTask.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueSize.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueTypes.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getTaskFromQueue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.TaskStatus.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.TaskStatusItems.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.addTask.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.cronTask.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.cronTaskWithId.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.cronTime.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getAnyTask.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getQueueSize.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getQueueTypes.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getTaskFromQueue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueStats.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueTypeInfo.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueTypeSettings.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueTypeStats.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.task.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.taskInfo.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.TaskStatus.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.TaskStatusItems.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.cronTask.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.cronTaskWithId.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.cronTime.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueStats.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueTypeInfo.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueTypeSettings.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueTypeStats.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.task.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.taskInfo.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tree_stats/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tree_stats/headers/tree_stats.ObjectLimitValue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tree_stats/headers/tree_stats.objectLimitValueDouble.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tree_stats/headers/tree_stats.objectLimitValueLong.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tree_stats/types/tree_stats.ObjectLimitValue.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tree_stats/types/tree_stats.objectLimitValueDouble.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/tree_stats/types/tree_stats.objectLimitValueLong.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/unique/details.cpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.get.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.stringToInt.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/unique/headers/unique.get.hpp delete mode 100644 internal/tlcodegen/test/gen/schema_cpp/unique/headers/unique.stringToInt.hpp diff --git a/internal/tlcodegen/test/gen/schema_cpp/Makefile b/internal/tlcodegen/test/gen/schema_cpp/Makefile index 636644ff..91453a2e 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/Makefile +++ b/internal/tlcodegen/test/gen/schema_cpp/Makefile @@ -1,39 +1,48 @@ CC = g++ -CFLAGS = -std=c++17 -O3 -Wno-noexcept-type -g -Wall -Wextra -Werror=return-type -Wno-unused-parameter -all: main.o __build/__common_namespace.o __build/antispam.o __build/pkg2.o __build/service1.o __build/service2.o __build/service3.o __build/service4.o __build/service5.o __build/service6.o __build/tasks.o __build/tree_stats.o __build/unique.o - $(CC) $(CFLAGS) -o all main.o __build/__common_namespace.o __build/antispam.o __build/pkg2.o __build/service1.o __build/service2.o __build/service3.o __build/service4.o __build/service5.o __build/service6.o __build/tasks.o __build/tree_stats.o __build/unique.o +CFLAGS = -std=c++20 -O3 -Wno-noexcept-type -g -Wall -Wextra -Werror=return-type -Wno-unused-parameter +all: build/tl main.o build/basictl.obuild/tl/__common_namespace.o build/tl/antispam.o build/tl/pkg2.o build/tl/service1.o build/tl/service2.o build/tl/service3.o build/tl/service4.o build/tl/service5.o build/tl/service6.o build/tl/tasks.o build/tl/tree_stats.o build/tl/unique.o + $(CC) $(CFLAGS) -o all main.o build/basictl.o build/tl/__common_namespace.o build/tl/antispam.o build/tl/pkg2.o build/tl/service1.o build/tl/service2.o build/tl/service3.o build/tl/service4.o build/tl/service5.o build/tl/service6.o build/tl/tasks.o build/tl/tree_stats.o build/tl/unique.o + +build/tl: + mkdir -p build/tl main.o: main.cpp $(CC) $(CFLAGS) -c main.cpp -__build/__meta.o: __meta/headers.hpp __meta/details.cpp - $(CC) $(CFLAGS) -o __build/__meta.o -c __meta/details.cpp - -__build/__factory.o: __factory/headers.hpp __factory/details.cpp __common_namespace/types/withFloat.hpp __common_namespace/types/vector.hpp unique/functions/unique.stringToInt.hpp unique/functions/unique.get.hpp __common_namespace/types/tuple.hpp tree_stats/types/tree_stats.objectLimitValueLong.hpp tasks/types/tasks.TaskStatusItems.hpp tasks/types/tasks.taskInfo.hpp tasks/types/tasks.queueTypeInfo.hpp tasks/types/tasks.queueTypeSettings.hpp tasks/types/tasks.queueStats.hpp tasks/functions/tasks.getTaskFromQueue.hpp tasks/functions/tasks.getQueueTypes.hpp tasks/functions/tasks.getQueueSize.hpp tasks/functions/tasks.getAnyTask.hpp tasks/types/tasks.cronTaskWithId.hpp tasks/types/tasks.cronTask.hpp tasks/types/tasks.cronTime.hpp tasks/functions/tasks.addTask.hpp tasks/types/tasks.task.hpp __common_namespace/types/string.hpp __common_namespace/types/statOne.hpp service6/functions/service6.multiFindWithBounds.hpp service6/functions/service6.multiFind.hpp service6/types/service6.findWithBoundsResult.hpp service5/functions/service5.query.hpp service5/functions/service5.performQuery.hpp service5/types/service5.params.hpp service5/types/service5.Output.hpp service5/types/service5.stringOutput.hpp service5/functions/service5.insert.hpp service5/types/service5.emptyOutput.hpp service4/types/service4.modifiedNewsEntry.hpp service4/types/service4.object.hpp service3/functions/service3.setLimits.hpp service3/functions/service3.setLastVisitTimestamp.hpp service3/functions/service3.restoreProduct.hpp service3/functions/service3.restoreGroupedProducts.hpp service3/functions/service3.restoreAllProducts.hpp service3/types/service3.productStatsOld.hpp service3/types/service3.limits.hpp service3/types/service3.groupSizeLimit.hpp service3/types/service3.groupCountLimit.hpp service3/functions/service3.getScheduledProducts.hpp service3/functions/service3.getProducts.hpp service3/functions/service3.getProductStats.hpp service3/functions/service3.getLimits.hpp service3/functions/service3.getLastVisitTimestamp.hpp service3/functions/service3.deleteProduct.hpp service3/functions/service3.deleteGroupedProducts.hpp service3/functions/service3.deleteAllProducts.hpp service3/functions/service3.createProduct.hpp service2/functions/service2.setObjectTtl.hpp service2/functions/service2.set.hpp service2/functions/service2.addOrIncrMany.hpp service1/functions/service1.touch.hpp service1/functions/service1.setOrIncr.hpp service1/functions/service1.set.hpp service1/functions/service1.replaceOrIncr.hpp service1/functions/service1.replace.hpp service1/types/service1.keysStat.hpp service1/functions/service1.incr.hpp service1/functions/service1.getWildcardWithFlags.hpp service1/functions/service1.getWildcardList.hpp service1/functions/service1.getWildcardDict.hpp service1/functions/service1.getWildcard.hpp service1/functions/service1.getKeysStatPeriods.hpp service1/functions/service1.getKeysStat.hpp service1/functions/service1.getExpireTime.hpp service1/functions/service1.get.hpp service1/functions/service1.exists.hpp service1/functions/service1.enableKeysStat.hpp service1/functions/service1.enableExpiration.hpp service1/functions/service1.disableKeysStat.hpp service1/functions/service1.disableExpiration.hpp service1/functions/service1.delete.hpp service1/functions/service1.decr.hpp service1/functions/service1.cas.hpp service1/functions/service1.append.hpp service1/functions/service1.addOrIncr.hpp service1/functions/service1.addOrGet.hpp service1/functions/service1.add.hpp __common_namespace/types/rpcInvokeReqExtra.hpp __common_namespace/types/true.hpp pkg2/types/pkg2.t1.hpp pkg2/types/pkg2.foo.hpp __common_namespace/types/nonOptNat.hpp __common_namespace/types/myTwoDicts.hpp __common_namespace/types/myMcValueVector.hpp __common_namespace/types/myMcValueTuple.hpp __common_namespace/types/myMcValue.hpp __common_namespace/types/myBoxedVectorSlice.hpp __common_namespace/types/long.hpp __common_namespace/types/issue3498.hpp service6/types/service6.findResultRow.hpp service6/types/service6.error.hpp __common_namespace/types/int.hpp __common_namespace/functions/getStats.hpp tasks/types/tasks.queueTypeStats.hpp __common_namespace/functions/getNonOptNat.hpp __common_namespace/functions/getMyValue.hpp __common_namespace/types/MyValue.hpp __common_namespace/types/myString.hpp __common_namespace/types/myInt.hpp __common_namespace/functions/getMyDouble.hpp __common_namespace/types/myDouble.hpp __common_namespace/functions/getMyDictOfInt.hpp __common_namespace/types/myDictOfInt.hpp __common_namespace/functions/getMaybeIface.hpp service1/types/service1.Value.hpp service1/types/service1.strvalueWithTime.hpp service1/types/service1.strvalue.hpp service1/types/service1.not_found.hpp service1/types/service1.longvalueWithTime.hpp service1/types/service1.longvalue.hpp __common_namespace/functions/getFloat.hpp __common_namespace/functions/getDouble.hpp __common_namespace/functions/get_arrays.hpp __common_namespace/types/float.hpp __common_namespace/types/fieldConflict4.hpp __common_namespace/types/fieldConflict3.hpp __common_namespace/types/fieldConflict2.hpp __common_namespace/types/fieldConflict1.hpp __common_namespace/types/double.hpp __common_namespace/types/dictionary.hpp __common_namespace/functions/boxedVector64.hpp __common_namespace/functions/boxedVector32BoxedElem.hpp __common_namespace/functions/boxedVector32.hpp __common_namespace/functions/boxedTupleSlice3.hpp __common_namespace/functions/boxedTupleSlice2.hpp __common_namespace/types/myBoxedTupleSlice.hpp __common_namespace/functions/boxedTupleSlice1.hpp __common_namespace/functions/boxedTuple.hpp __common_namespace/functions/boxedString.hpp __common_namespace/functions/boxedInt.hpp __common_namespace/functions/boxedArray.hpp __common_namespace/types/myBoxedArray.hpp __common_namespace/types/boolStat.hpp __common_namespace/types/Bool.hpp __common_namespace/types/benchObject.hpp __common_namespace/types/integer.hpp antispam/types/antispam.PatternFull.hpp antispam/types/antispam.patternNotFound.hpp antispam/types/antispam.patternFound.hpp antispam/functions/antispam.getPattern.hpp - $(CC) $(CFLAGS) -o __build/__factory.o -c __factory/details.cpp - -__build/__common_namespace.o: __common_namespace/details.cpp __common_namespace/details.cpp __common_namespace/headers/Bool.hpp __common_namespace/headers/Either.hpp __common_namespace/headers/MyValue.hpp __common_namespace/headers/benchObject.hpp __common_namespace/headers/boxedArray.hpp __common_namespace/headers/boxedInt.hpp __common_namespace/headers/boxedString.hpp __common_namespace/headers/boxedTuple.hpp __common_namespace/headers/boxedTupleSlice1.hpp __common_namespace/headers/boxedTupleSlice2.hpp __common_namespace/headers/boxedTupleSlice3.hpp __common_namespace/headers/boxedVector32.hpp __common_namespace/headers/boxedVector32BoxedElem.hpp __common_namespace/headers/boxedVector64.hpp __common_namespace/headers/dictionary.hpp __common_namespace/headers/dictionaryField.hpp __common_namespace/headers/double.hpp __common_namespace/headers/fieldConflict1.hpp __common_namespace/headers/fieldConflict2.hpp __common_namespace/headers/fieldConflict3.hpp __common_namespace/headers/fieldConflict4.hpp __common_namespace/headers/float.hpp __common_namespace/headers/getDouble.hpp __common_namespace/headers/getFloat.hpp __common_namespace/headers/getMaybeIface.hpp __common_namespace/headers/getMyDictOfInt.hpp __common_namespace/headers/getMyDouble.hpp __common_namespace/headers/getMyValue.hpp __common_namespace/headers/getNonOptNat.hpp __common_namespace/headers/getStats.hpp __common_namespace/headers/get_arrays.hpp __common_namespace/headers/int.hpp __common_namespace/headers/integer.hpp __common_namespace/headers/issue3498.hpp __common_namespace/headers/left.hpp __common_namespace/headers/long.hpp __common_namespace/headers/map.hpp __common_namespace/headers/myAnonMcValue.hpp __common_namespace/headers/myBoxedArray.hpp __common_namespace/headers/myBoxedTupleSlice.hpp __common_namespace/headers/myBoxedVectorSlice.hpp __common_namespace/headers/myDictOfInt.hpp __common_namespace/headers/myDouble.hpp __common_namespace/headers/myInt.hpp __common_namespace/headers/myMaybe1.hpp __common_namespace/headers/myMaybe2.hpp __common_namespace/headers/myMcValue.hpp __common_namespace/headers/myMcValueTuple.hpp __common_namespace/headers/myMcValueVector.hpp __common_namespace/headers/myString.hpp __common_namespace/headers/myTuple.hpp __common_namespace/headers/myTwoDicts.hpp __common_namespace/headers/nonOptNat.hpp __common_namespace/headers/right.hpp __common_namespace/headers/rpcInvokeReqExtra.hpp __common_namespace/headers/statOne.hpp __common_namespace/headers/string.hpp __common_namespace/headers/true.hpp __common_namespace/headers/tuple.hpp __common_namespace/headers/vector.hpp __common_namespace/headers/withFloat.hpp - $(CC) $(CFLAGS) -o __build/__common_namespace.o -c __common_namespace/details.cpp -__build/antispam.o: antispam/details.cpp antispam/details.cpp antispam/headers/antispam.PatternFull.hpp antispam/headers/antispam.getPattern.hpp antispam/headers/antispam.patternFound.hpp antispam/headers/antispam.patternNotFound.hpp - $(CC) $(CFLAGS) -o __build/antispam.o -c antispam/details.cpp -__build/pkg2.o: pkg2/details.cpp pkg2/details.cpp pkg2/headers/pkg2.foo.hpp pkg2/headers/pkg2.t1.hpp pkg2/headers/pkg2.t2.hpp - $(CC) $(CFLAGS) -o __build/pkg2.o -c pkg2/details.cpp -__build/service1.o: service1/details.cpp service1/details.cpp service1/headers/service1.Value.hpp service1/headers/service1.add.hpp service1/headers/service1.addOrGet.hpp service1/headers/service1.addOrIncr.hpp service1/headers/service1.append.hpp service1/headers/service1.cas.hpp service1/headers/service1.decr.hpp service1/headers/service1.delete.hpp service1/headers/service1.disableExpiration.hpp service1/headers/service1.disableKeysStat.hpp service1/headers/service1.enableExpiration.hpp service1/headers/service1.enableKeysStat.hpp service1/headers/service1.exists.hpp service1/headers/service1.get.hpp service1/headers/service1.getExpireTime.hpp service1/headers/service1.getKeysStat.hpp service1/headers/service1.getKeysStatPeriods.hpp service1/headers/service1.getWildcard.hpp service1/headers/service1.getWildcardDict.hpp service1/headers/service1.getWildcardList.hpp service1/headers/service1.getWildcardWithFlags.hpp service1/headers/service1.incr.hpp service1/headers/service1.keysStat.hpp service1/headers/service1.longvalue.hpp service1/headers/service1.longvalueWithTime.hpp service1/headers/service1.not_found.hpp service1/headers/service1.replace.hpp service1/headers/service1.replaceOrIncr.hpp service1/headers/service1.set.hpp service1/headers/service1.setOrIncr.hpp service1/headers/service1.strvalue.hpp service1/headers/service1.strvalueWithTime.hpp service1/headers/service1.touch.hpp service1/headers/service1_dictionary.hpp service1/headers/service1_dictionaryField.hpp service1/headers/service1_vector.hpp - $(CC) $(CFLAGS) -o __build/service1.o -c service1/details.cpp -__build/service2.o: service2/details.cpp service2/details.cpp service2/headers/service2.addOrIncrMany.hpp service2/headers/service2.counterSet.hpp service2/headers/service2.deltaSet.hpp service2/headers/service2.objectId.hpp service2/headers/service2.set.hpp service2/headers/service2.setObjectTtl.hpp service2/headers/service2_double.hpp service2/headers/service2_tuple.hpp - $(CC) $(CFLAGS) -o __build/service2.o -c service2/details.cpp -__build/service3.o: service3/details.cpp service3/details.cpp service3/headers/service3.createProduct.hpp service3/headers/service3.deleteAllProducts.hpp service3/headers/service3.deleteGroupedProducts.hpp service3/headers/service3.deleteProduct.hpp service3/headers/service3.getLastVisitTimestamp.hpp service3/headers/service3.getLimits.hpp service3/headers/service3.getProductStats.hpp service3/headers/service3.getProducts.hpp service3/headers/service3.getScheduledProducts.hpp service3/headers/service3.groupCountLimit.hpp service3/headers/service3.groupSizeLimit.hpp service3/headers/service3.limits.hpp service3/headers/service3.product.hpp service3/headers/service3.productStatsOld.hpp service3/headers/service3.restoreAllProducts.hpp service3/headers/service3.restoreGroupedProducts.hpp service3/headers/service3.restoreProduct.hpp service3/headers/service3.setLastVisitTimestamp.hpp service3/headers/service3.setLimits.hpp service3/headers/service3_boolStat.hpp service3/headers/service3_vector.hpp - $(CC) $(CFLAGS) -o __build/service3.o -c service3/details.cpp -__build/service4.o: service4/details.cpp service4/details.cpp service4/headers/service4.modifiedNewsEntry.hpp service4/headers/service4.object.hpp - $(CC) $(CFLAGS) -o __build/service4.o -c service4/details.cpp -__build/service5.o: service5/details.cpp service5/details.cpp service5/headers/service5.Output.hpp service5/headers/service5.emptyOutput.hpp service5/headers/service5.insert.hpp service5/headers/service5.params.hpp service5/headers/service5.performQuery.hpp service5/headers/service5.query.hpp service5/headers/service5.stringOutput.hpp - $(CC) $(CFLAGS) -o __build/service5.o -c service5/details.cpp -__build/service6.o: service6/details.cpp service6/details.cpp service6/headers/service6.error.hpp service6/headers/service6.findResultRow.hpp service6/headers/service6.findWithBoundsResult.hpp service6/headers/service6.multiFind.hpp service6/headers/service6.multiFindWithBounds.hpp - $(CC) $(CFLAGS) -o __build/service6.o -c service6/details.cpp -__build/tasks.o: tasks/details.cpp tasks/details.cpp tasks/headers/tasks.TaskStatus.hpp tasks/headers/tasks.TaskStatusItems.hpp tasks/headers/tasks.addTask.hpp tasks/headers/tasks.cronTask.hpp tasks/headers/tasks.cronTaskWithId.hpp tasks/headers/tasks.cronTime.hpp tasks/headers/tasks.getAnyTask.hpp tasks/headers/tasks.getQueueSize.hpp tasks/headers/tasks.getQueueTypes.hpp tasks/headers/tasks.getTaskFromQueue.hpp tasks/headers/tasks.queueStats.hpp tasks/headers/tasks.queueTypeInfo.hpp tasks/headers/tasks.queueTypeSettings.hpp tasks/headers/tasks.queueTypeStats.hpp tasks/headers/tasks.task.hpp tasks/headers/tasks.taskInfo.hpp - $(CC) $(CFLAGS) -o __build/tasks.o -c tasks/details.cpp -__build/tree_stats.o: tree_stats/details.cpp tree_stats/details.cpp tree_stats/headers/tree_stats.ObjectLimitValue.hpp tree_stats/headers/tree_stats.objectLimitValueDouble.hpp tree_stats/headers/tree_stats.objectLimitValueLong.hpp - $(CC) $(CFLAGS) -o __build/tree_stats.o -c tree_stats/details.cpp -__build/unique.o: unique/details.cpp unique/details.cpp unique/headers/unique.get.hpp unique/headers/unique.stringToInt.hpp - $(CC) $(CFLAGS) -o __build/unique.o -c unique/details.cpp +build/meta.o: meta/headers.h meta/details.cpp + $(CC) $(CFLAGS) -o build/meta.o -c meta/details.cpp + +build/factory.o: factory/headers.h factory/details.cpp tl/__common_namespace/types/withFloat.h tl/__common_namespace/types/vector.h tl/unique/functions/unique.stringToInt.h tl/unique/functions/unique.get.h tl/__common_namespace/types/tuple.h tl/tree_stats/types/tree_stats.objectLimitValueLong.h tl/tasks/types/tasks.TaskStatusItems.h tl/tasks/types/tasks.taskInfo.h tl/tasks/types/tasks.queueTypeInfo.h tl/tasks/types/tasks.queueTypeSettings.h tl/tasks/types/tasks.queueStats.h tl/tasks/functions/tasks.getTaskFromQueue.h tl/tasks/functions/tasks.getQueueTypes.h tl/tasks/functions/tasks.getQueueSize.h tl/tasks/functions/tasks.getAnyTask.h tl/tasks/types/tasks.cronTaskWithId.h tl/tasks/types/tasks.cronTask.h tl/tasks/types/tasks.cronTime.h tl/tasks/functions/tasks.addTask.h tl/tasks/types/tasks.task.h tl/__common_namespace/types/string.h tl/__common_namespace/types/statOne.h tl/service6/functions/service6.multiFindWithBounds.h tl/service6/functions/service6.multiFind.h tl/service6/types/service6.findWithBoundsResult.h tl/service5/functions/service5.query.h tl/service5/functions/service5.performQuery.h tl/service5/types/service5.params.h tl/service5/types/service5.Output.h tl/service5/types/service5.stringOutput.h tl/service5/functions/service5.insert.h tl/service5/types/service5.emptyOutput.h tl/service4/types/service4.modifiedNewsEntry.h tl/service4/types/service4.object.h tl/service3/functions/service3.setLimits.h tl/service3/functions/service3.setLastVisitTimestamp.h tl/service3/functions/service3.restoreProduct.h tl/service3/functions/service3.restoreGroupedProducts.h tl/service3/functions/service3.restoreAllProducts.h tl/service3/types/service3.productStatsOld.h tl/service3/types/service3.limits.h tl/service3/types/service3.groupSizeLimit.h tl/service3/types/service3.groupCountLimit.h tl/service3/functions/service3.getScheduledProducts.h tl/service3/functions/service3.getProducts.h tl/service3/functions/service3.getProductStats.h tl/service3/functions/service3.getLimits.h tl/service3/functions/service3.getLastVisitTimestamp.h tl/service3/functions/service3.deleteProduct.h tl/service3/functions/service3.deleteGroupedProducts.h tl/service3/functions/service3.deleteAllProducts.h tl/service3/functions/service3.createProduct.h tl/service2/functions/service2.setObjectTtl.h tl/service2/functions/service2.set.h tl/service2/functions/service2.addOrIncrMany.h tl/service1/functions/service1.touch.h tl/service1/functions/service1.setOrIncr.h tl/service1/functions/service1.set.h tl/service1/functions/service1.replaceOrIncr.h tl/service1/functions/service1.replace.h tl/service1/types/service1.keysStat.h tl/service1/functions/service1.incr.h tl/service1/functions/service1.getWildcardWithFlags.h tl/service1/functions/service1.getWildcardList.h tl/service1/functions/service1.getWildcardDict.h tl/service1/functions/service1.getWildcard.h tl/service1/functions/service1.getKeysStatPeriods.h tl/service1/functions/service1.getKeysStat.h tl/service1/functions/service1.getExpireTime.h tl/service1/functions/service1.get.h tl/service1/functions/service1.exists.h tl/service1/functions/service1.enableKeysStat.h tl/service1/functions/service1.enableExpiration.h tl/service1/functions/service1.disableKeysStat.h tl/service1/functions/service1.disableExpiration.h tl/service1/functions/service1.delete.h tl/service1/functions/service1.decr.h tl/service1/functions/service1.cas.h tl/service1/functions/service1.append.h tl/service1/functions/service1.addOrIncr.h tl/service1/functions/service1.addOrGet.h tl/service1/functions/service1.add.h tl/__common_namespace/types/rpcInvokeReqExtra.h tl/__common_namespace/types/true.h tl/pkg2/types/pkg2.t1.h tl/pkg2/types/pkg2.foo.h tl/__common_namespace/types/nonOptNat.h tl/__common_namespace/types/myTwoDicts.h tl/__common_namespace/types/myMcValueVector.h tl/__common_namespace/types/myMcValueTuple.h tl/__common_namespace/types/myMcValue.h tl/__common_namespace/types/myBoxedVectorSlice.h tl/__common_namespace/types/long.h tl/__common_namespace/types/issue3498.h tl/service6/types/service6.findResultRow.h tl/service6/types/service6.error.h tl/__common_namespace/types/int.h tl/__common_namespace/functions/getStats.h tl/tasks/types/tasks.queueTypeStats.h tl/__common_namespace/functions/getNonOptNat.h tl/__common_namespace/functions/getMyValue.h tl/__common_namespace/types/MyValue.h tl/__common_namespace/types/myString.h tl/__common_namespace/types/myInt.h tl/__common_namespace/functions/getMyDouble.h tl/__common_namespace/types/myDouble.h tl/__common_namespace/functions/getMyDictOfInt.h tl/__common_namespace/types/myDictOfInt.h tl/__common_namespace/functions/getMaybeIface.h tl/service1/types/service1.Value.h tl/service1/types/service1.strvalueWithTime.h tl/service1/types/service1.strvalue.h tl/service1/types/service1.not_found.h tl/service1/types/service1.longvalueWithTime.h tl/service1/types/service1.longvalue.h tl/__common_namespace/functions/getFloat.h tl/__common_namespace/functions/getDouble.h tl/__common_namespace/functions/get_arrays.h tl/__common_namespace/types/float.h tl/__common_namespace/types/fieldConflict4.h tl/__common_namespace/types/fieldConflict3.h tl/__common_namespace/types/fieldConflict2.h tl/__common_namespace/types/fieldConflict1.h tl/__common_namespace/types/double.h tl/__common_namespace/types/dictionary.h tl/__common_namespace/functions/boxedVector64.h tl/__common_namespace/functions/boxedVector32BoxedElem.h tl/__common_namespace/functions/boxedVector32.h tl/__common_namespace/functions/boxedTupleSlice3.h tl/__common_namespace/functions/boxedTupleSlice2.h tl/__common_namespace/types/myBoxedTupleSlice.h tl/__common_namespace/functions/boxedTupleSlice1.h tl/__common_namespace/functions/boxedTuple.h tl/__common_namespace/functions/boxedString.h tl/__common_namespace/functions/boxedInt.h tl/__common_namespace/functions/boxedArray.h tl/__common_namespace/types/myBoxedArray.h tl/__common_namespace/types/boolStat.h tl/__common_namespace/types/Bool.h tl/__common_namespace/types/benchObject.h tl/__common_namespace/types/integer.h tl/antispam/types/antispam.PatternFull.h tl/antispam/types/antispam.patternNotFound.h tl/antispam/types/antispam.patternFound.h tl/antispam/functions/antispam.getPattern.h + $(CC) $(CFLAGS) -o build/factory.o -c factory/details.cpp + +build/basictl.o: basics/basictl.cpp basics/basictl.h + $(CC) $(CFLAGS) -o build/basictl.o -c basics/basictl.cpp + +build/string_io.o: basics/string_io.cpp basics/string_io.h + $(CC) $(CFLAGS) -o build/string_io.o -c basics/string_io.cpp + +build/tl/__common_namespace.o: tl/__common_namespace/details.cpp tl/__common_namespace/details.cpp tl/__common_namespace/headers/Bool.h tl/__common_namespace/headers/Either.h tl/__common_namespace/headers/MyValue.h tl/__common_namespace/headers/benchObject.h tl/__common_namespace/headers/boxedArray.h tl/__common_namespace/headers/boxedInt.h tl/__common_namespace/headers/boxedString.h tl/__common_namespace/headers/boxedTuple.h tl/__common_namespace/headers/boxedTupleSlice1.h tl/__common_namespace/headers/boxedTupleSlice2.h tl/__common_namespace/headers/boxedTupleSlice3.h tl/__common_namespace/headers/boxedVector32.h tl/__common_namespace/headers/boxedVector32BoxedElem.h tl/__common_namespace/headers/boxedVector64.h tl/__common_namespace/headers/dictionary.h tl/__common_namespace/headers/dictionaryField.h tl/__common_namespace/headers/double.h tl/__common_namespace/headers/fieldConflict1.h tl/__common_namespace/headers/fieldConflict2.h tl/__common_namespace/headers/fieldConflict3.h tl/__common_namespace/headers/fieldConflict4.h tl/__common_namespace/headers/float.h tl/__common_namespace/headers/getDouble.h tl/__common_namespace/headers/getFloat.h tl/__common_namespace/headers/getMaybeIface.h tl/__common_namespace/headers/getMyDictOfInt.h tl/__common_namespace/headers/getMyDouble.h tl/__common_namespace/headers/getMyValue.h tl/__common_namespace/headers/getNonOptNat.h tl/__common_namespace/headers/getStats.h tl/__common_namespace/headers/get_arrays.h tl/__common_namespace/headers/int.h tl/__common_namespace/headers/integer.h tl/__common_namespace/headers/issue3498.h tl/__common_namespace/headers/left.h tl/__common_namespace/headers/long.h tl/__common_namespace/headers/map.h tl/__common_namespace/headers/myAnonMcValue.h tl/__common_namespace/headers/myBoxedArray.h tl/__common_namespace/headers/myBoxedTupleSlice.h tl/__common_namespace/headers/myBoxedVectorSlice.h tl/__common_namespace/headers/myDictOfInt.h tl/__common_namespace/headers/myDouble.h tl/__common_namespace/headers/myInt.h tl/__common_namespace/headers/myMaybe1.h tl/__common_namespace/headers/myMaybe2.h tl/__common_namespace/headers/myMcValue.h tl/__common_namespace/headers/myMcValueTuple.h tl/__common_namespace/headers/myMcValueVector.h tl/__common_namespace/headers/myString.h tl/__common_namespace/headers/myTuple.h tl/__common_namespace/headers/myTwoDicts.h tl/__common_namespace/headers/nonOptNat.h tl/__common_namespace/headers/right.h tl/__common_namespace/headers/rpcInvokeReqExtra.h tl/__common_namespace/headers/statOne.h tl/__common_namespace/headers/string.h tl/__common_namespace/headers/true.h tl/__common_namespace/headers/tuple.h tl/__common_namespace/headers/vector.h tl/__common_namespace/headers/withFloat.h + $(CC) $(CFLAGS) -o build/tl/__common_namespace.o -c tl/__common_namespace/details.cpp +build/tl/antispam.o: tl/antispam/details.cpp tl/antispam/details.cpp tl/antispam/headers/antispam.PatternFull.h tl/antispam/headers/antispam.getPattern.h tl/antispam/headers/antispam.patternFound.h tl/antispam/headers/antispam.patternNotFound.h + $(CC) $(CFLAGS) -o build/tl/antispam.o -c tl/antispam/details.cpp +build/tl/pkg2.o: tl/pkg2/details.cpp tl/pkg2/details.cpp tl/pkg2/headers/pkg2.foo.h tl/pkg2/headers/pkg2.t1.h tl/pkg2/headers/pkg2.t2.h + $(CC) $(CFLAGS) -o build/tl/pkg2.o -c tl/pkg2/details.cpp +build/tl/service1.o: tl/service1/details.cpp tl/service1/details.cpp tl/service1/headers/service1.Value.h tl/service1/headers/service1.add.h tl/service1/headers/service1.addOrGet.h tl/service1/headers/service1.addOrIncr.h tl/service1/headers/service1.append.h tl/service1/headers/service1.cas.h tl/service1/headers/service1.decr.h tl/service1/headers/service1.delete.h tl/service1/headers/service1.disableExpiration.h tl/service1/headers/service1.disableKeysStat.h tl/service1/headers/service1.enableExpiration.h tl/service1/headers/service1.enableKeysStat.h tl/service1/headers/service1.exists.h tl/service1/headers/service1.get.h tl/service1/headers/service1.getExpireTime.h tl/service1/headers/service1.getKeysStat.h tl/service1/headers/service1.getKeysStatPeriods.h tl/service1/headers/service1.getWildcard.h tl/service1/headers/service1.getWildcardDict.h tl/service1/headers/service1.getWildcardList.h tl/service1/headers/service1.getWildcardWithFlags.h tl/service1/headers/service1.incr.h tl/service1/headers/service1.keysStat.h tl/service1/headers/service1.longvalue.h tl/service1/headers/service1.longvalueWithTime.h tl/service1/headers/service1.not_found.h tl/service1/headers/service1.replace.h tl/service1/headers/service1.replaceOrIncr.h tl/service1/headers/service1.set.h tl/service1/headers/service1.setOrIncr.h tl/service1/headers/service1.strvalue.h tl/service1/headers/service1.strvalueWithTime.h tl/service1/headers/service1.touch.h tl/service1/headers/service1_dictionary.h tl/service1/headers/service1_dictionaryField.h tl/service1/headers/service1_vector.h + $(CC) $(CFLAGS) -o build/tl/service1.o -c tl/service1/details.cpp +build/tl/service2.o: tl/service2/details.cpp tl/service2/details.cpp tl/service2/headers/service2.addOrIncrMany.h tl/service2/headers/service2.counterSet.h tl/service2/headers/service2.deltaSet.h tl/service2/headers/service2.objectId.h tl/service2/headers/service2.set.h tl/service2/headers/service2.setObjectTtl.h tl/service2/headers/service2_double.h tl/service2/headers/service2_tuple.h + $(CC) $(CFLAGS) -o build/tl/service2.o -c tl/service2/details.cpp +build/tl/service3.o: tl/service3/details.cpp tl/service3/details.cpp tl/service3/headers/service3.createProduct.h tl/service3/headers/service3.deleteAllProducts.h tl/service3/headers/service3.deleteGroupedProducts.h tl/service3/headers/service3.deleteProduct.h tl/service3/headers/service3.getLastVisitTimestamp.h tl/service3/headers/service3.getLimits.h tl/service3/headers/service3.getProductStats.h tl/service3/headers/service3.getProducts.h tl/service3/headers/service3.getScheduledProducts.h tl/service3/headers/service3.groupCountLimit.h tl/service3/headers/service3.groupSizeLimit.h tl/service3/headers/service3.limits.h tl/service3/headers/service3.product.h tl/service3/headers/service3.productStatsOld.h tl/service3/headers/service3.restoreAllProducts.h tl/service3/headers/service3.restoreGroupedProducts.h tl/service3/headers/service3.restoreProduct.h tl/service3/headers/service3.setLastVisitTimestamp.h tl/service3/headers/service3.setLimits.h tl/service3/headers/service3_boolStat.h tl/service3/headers/service3_vector.h + $(CC) $(CFLAGS) -o build/tl/service3.o -c tl/service3/details.cpp +build/tl/service4.o: tl/service4/details.cpp tl/service4/details.cpp tl/service4/headers/service4.modifiedNewsEntry.h tl/service4/headers/service4.object.h + $(CC) $(CFLAGS) -o build/tl/service4.o -c tl/service4/details.cpp +build/tl/service5.o: tl/service5/details.cpp tl/service5/details.cpp tl/service5/headers/service5.Output.h tl/service5/headers/service5.emptyOutput.h tl/service5/headers/service5.insert.h tl/service5/headers/service5.params.h tl/service5/headers/service5.performQuery.h tl/service5/headers/service5.query.h tl/service5/headers/service5.stringOutput.h + $(CC) $(CFLAGS) -o build/tl/service5.o -c tl/service5/details.cpp +build/tl/service6.o: tl/service6/details.cpp tl/service6/details.cpp tl/service6/headers/service6.error.h tl/service6/headers/service6.findResultRow.h tl/service6/headers/service6.findWithBoundsResult.h tl/service6/headers/service6.multiFind.h tl/service6/headers/service6.multiFindWithBounds.h + $(CC) $(CFLAGS) -o build/tl/service6.o -c tl/service6/details.cpp +build/tl/tasks.o: tl/tasks/details.cpp tl/tasks/details.cpp tl/tasks/headers/tasks.TaskStatus.h tl/tasks/headers/tasks.TaskStatusItems.h tl/tasks/headers/tasks.addTask.h tl/tasks/headers/tasks.cronTask.h tl/tasks/headers/tasks.cronTaskWithId.h tl/tasks/headers/tasks.cronTime.h tl/tasks/headers/tasks.getAnyTask.h tl/tasks/headers/tasks.getQueueSize.h tl/tasks/headers/tasks.getQueueTypes.h tl/tasks/headers/tasks.getTaskFromQueue.h tl/tasks/headers/tasks.queueStats.h tl/tasks/headers/tasks.queueTypeInfo.h tl/tasks/headers/tasks.queueTypeSettings.h tl/tasks/headers/tasks.queueTypeStats.h tl/tasks/headers/tasks.task.h tl/tasks/headers/tasks.taskInfo.h + $(CC) $(CFLAGS) -o build/tl/tasks.o -c tl/tasks/details.cpp +build/tl/tree_stats.o: tl/tree_stats/details.cpp tl/tree_stats/details.cpp tl/tree_stats/headers/tree_stats.ObjectLimitValue.h tl/tree_stats/headers/tree_stats.objectLimitValueDouble.h tl/tree_stats/headers/tree_stats.objectLimitValueLong.h + $(CC) $(CFLAGS) -o build/tl/tree_stats.o -c tl/tree_stats/details.cpp +build/tl/unique.o: tl/unique/details.cpp tl/unique/details.cpp tl/unique/headers/unique.get.h tl/unique/headers/unique.stringToInt.h + $(CC) $(CFLAGS) -o build/tl/unique.o -c tl/unique/details.cpp diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/details.cpp deleted file mode 100644 index 5a08d998..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/details.cpp +++ /dev/null @@ -1,5072 +0,0 @@ -#include "headers/withFloat.hpp" -#include "headers/vector.hpp" -#include "headers/tuple.hpp" -#include "../tasks/headers/tasks.queueTypeInfo.hpp" -#include "headers/string.hpp" -#include "headers/statOne.hpp" -#include "../service6/headers/service6.findWithBoundsResult.hpp" -#include "../service2/headers/service2.counterSet.hpp" -#include "../service1/headers/service1.Value.hpp" -#include "headers/rpcInvokeReqExtra.hpp" -#include "headers/true.hpp" -#include "headers/nonOptNat.hpp" -#include "headers/myTwoDicts.hpp" -#include "headers/myMcValueVector.hpp" -#include "headers/myMcValueTuple.hpp" -#include "headers/myMcValue.hpp" -#include "headers/myMaybe2.hpp" -#include "headers/myMaybe1.hpp" -#include "headers/myTuple.hpp" -#include "headers/myBoxedVectorSlice.hpp" -#include "headers/myAnonMcValue.hpp" -#include "headers/map.hpp" -#include "headers/long.hpp" -#include "headers/issue3498.hpp" -#include "../service6/headers/service6.findResultRow.hpp" -#include "../service6/headers/service6.error.hpp" -#include "headers/int.hpp" -#include "headers/getStats.hpp" -#include "../tasks/headers/tasks.queueTypeStats.hpp" -#include "headers/getNonOptNat.hpp" -#include "headers/getMyValue.hpp" -#include "headers/MyValue.hpp" -#include "headers/myString.hpp" -#include "headers/myInt.hpp" -#include "headers/getMyDouble.hpp" -#include "headers/myDouble.hpp" -#include "headers/getMyDictOfInt.hpp" -#include "headers/myDictOfInt.hpp" -#include "headers/getMaybeIface.hpp" -#include "headers/getFloat.hpp" -#include "headers/getDouble.hpp" -#include "headers/get_arrays.hpp" -#include "headers/float.hpp" -#include "headers/fieldConflict4.hpp" -#include "headers/fieldConflict3.hpp" -#include "headers/fieldConflict2.hpp" -#include "headers/fieldConflict1.hpp" -#include "headers/Either.hpp" -#include "headers/right.hpp" -#include "headers/left.hpp" -#include "headers/double.hpp" -#include "headers/dictionary.hpp" -#include "headers/dictionaryField.hpp" -#include "headers/integer.hpp" -#include "headers/boxedVector64.hpp" -#include "headers/boxedVector32BoxedElem.hpp" -#include "headers/boxedVector32.hpp" -#include "headers/boxedTupleSlice3.hpp" -#include "headers/boxedTupleSlice2.hpp" -#include "headers/myBoxedTupleSlice.hpp" -#include "headers/boxedTupleSlice1.hpp" -#include "headers/boxedTuple.hpp" -#include "headers/boxedString.hpp" -#include "headers/boxedInt.hpp" -#include "headers/boxedArray.hpp" -#include "headers/myBoxedArray.hpp" -#include "headers/Bool.hpp" -#include "headers/benchObject.hpp" - - -bool tl2::BenchObject::write_json(std::ostream& s)const { - if (!::tl2::details::BenchObjectWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::BenchObject::read(::basictl::tl_istream & s) { - if (!::tl2::details::BenchObjectRead(s, *this)) { return false; } - return true; -} - -bool tl2::BenchObject::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::BenchObjectWrite(s, *this)) { return false; } - return true; -} - -bool tl2::BenchObject::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::BenchObjectReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::BenchObject::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::BenchObjectWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::BenchObjectReset(::tl2::BenchObject& item) { - item.xs.clear(); - item.ys.clear(); -} - -bool tl2::details::BenchObjectWriteJSON(std::ostream& s, const ::tl2::BenchObject& item) { - auto add_comma = false; - s << "{"; - if (item.xs.size() != 0) { - add_comma = true; - s << "\"xs\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.xs)) { return false; } - } - if (item.ys.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"ys\":"; - if (!::tl2::details::BuiltinVectorIntegerWriteJSON(s, item.ys)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::BenchObjectRead(::basictl::tl_istream & s, ::tl2::BenchObject& item) { - if (!::tl2::details::BuiltinVectorIntRead(s, item.xs)) { return false; } - if (!::tl2::details::BuiltinVectorIntegerRead(s, item.ys)) { return false; } - return true; -} - -bool tl2::details::BenchObjectWrite(::basictl::tl_ostream & s, const ::tl2::BenchObject& item) { - if (!::tl2::details::BuiltinVectorIntWrite(s, item.xs)) { return false; } - if (!::tl2::details::BuiltinVectorIntegerWrite(s, item.ys)) { return false; } - return true; -} - -bool tl2::details::BenchObjectReadBoxed(::basictl::tl_istream & s, ::tl2::BenchObject& item) { - if (!s.nat_read_exact_tag(0xb697e865)) { return false; } - return tl2::details::BenchObjectRead(s, item); -} - -bool tl2::details::BenchObjectWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BenchObject& item) { - if (!s.nat_write(0xb697e865)) { return false; } - return tl2::details::BenchObjectWrite(s, item); -} - -bool tl2::details::BoolWriteJSON(std::ostream & s, bool item) { - if (item) { - s << "true"; - } else { - s << "false"; - } - return true; -} - -bool tl2::details::BoolReadBoxed(::basictl::tl_istream & s, bool& item) { - return s.bool_read(item, 0xbc799737, 0x997275b5); -} - -bool tl2::details::BoolWriteBoxed(::basictl::tl_ostream & s, bool item) { - return s.nat_write(item ? 0x997275b5 : 0xbc799737); -} - -bool tl2::BoxedArray::write_json(std::ostream& s)const { - if (!::tl2::details::BoxedArrayWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedArray::read(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedArrayRead(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedArray::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedArrayWrite(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedArray::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedArrayReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedArray::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedArrayWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::BoxedArrayReset(::tl2::BoxedArray& item) { - ::tl2::details::MyBoxedArrayReset(item.x); -} - -bool tl2::details::BoxedArrayWriteJSON(std::ostream& s, const ::tl2::BoxedArray& item) { - s << "{"; - s << "\"x\":"; - if (!::tl2::details::MyBoxedArrayWriteJSON(s, item.x)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::BoxedArrayRead(::basictl::tl_istream & s, ::tl2::BoxedArray& item) { - if (!::tl2::details::MyBoxedArrayReadBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedArrayWrite(::basictl::tl_ostream & s, const ::tl2::BoxedArray& item) { - if (!::tl2::details::MyBoxedArrayWriteBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedArrayReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedArray& item) { - if (!s.nat_read_exact_tag(0x95dcc8b7)) { return false; } - return tl2::details::BoxedArrayRead(s, item); -} - -bool tl2::details::BoxedArrayWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedArray& item) { - if (!s.nat_write(0x95dcc8b7)) { return false; } - return tl2::details::BoxedArrayWrite(s, item); -} - -bool tl2::details::BoxedArrayReadResult(::basictl::tl_istream & s, tl2::BoxedArray& item, ::tl2::MyBoxedArray& result) { - if (!::tl2::details::MyBoxedArrayReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::BoxedArrayWriteResult(::basictl::tl_ostream & s, tl2::BoxedArray& item, ::tl2::MyBoxedArray& result) { - if (!::tl2::details::MyBoxedArrayWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::BoxedArray::read_result(::basictl::tl_istream & s, ::tl2::MyBoxedArray & result) { - return tl2::details::BoxedArrayReadResult(s, *this, result); -} -bool tl2::BoxedArray::write_result(::basictl::tl_ostream & s, ::tl2::MyBoxedArray & result) { - return tl2::details::BoxedArrayWriteResult(s, *this, result); -} - -bool tl2::BoxedInt::write_json(std::ostream& s)const { - if (!::tl2::details::BoxedIntWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedInt::read(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedIntRead(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedInt::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedIntWrite(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedInt::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedIntReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedInt::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedIntWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::BoxedIntReset(::tl2::BoxedInt& item) { - item.x = 0; -} - -bool tl2::details::BoxedIntWriteJSON(std::ostream& s, const ::tl2::BoxedInt& item) { - s << "{"; - if (item.x != 0) { - s << "\"x\":"; - s << item.x; - } - s << "}"; - return true; -} - -bool tl2::details::BoxedIntRead(::basictl::tl_istream & s, ::tl2::BoxedInt& item) { - if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} - if (!s.int_read(item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedIntWrite(::basictl::tl_ostream & s, const ::tl2::BoxedInt& item) { - if (!s.nat_write(0xa8509bda)) { return false; } - if (!s.int_write(item.x)) { return false;} - return true; -} - -bool tl2::details::BoxedIntReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedInt& item) { - if (!s.nat_read_exact_tag(0x5688ebaf)) { return false; } - return tl2::details::BoxedIntRead(s, item); -} - -bool tl2::details::BoxedIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedInt& item) { - if (!s.nat_write(0x5688ebaf)) { return false; } - return tl2::details::BoxedIntWrite(s, item); -} - -bool tl2::details::BoxedIntReadResult(::basictl::tl_istream & s, tl2::BoxedInt& item, int32_t& result) { - if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} - if (!s.int_read(result)) { return false; } - return true; -} -bool tl2::details::BoxedIntWriteResult(::basictl::tl_ostream & s, tl2::BoxedInt& item, int32_t& result) { - if (!s.nat_write(0xa8509bda)) { return false; } - if (!s.int_write(result)) { return false;} - return true; -} - -bool tl2::BoxedInt::read_result(::basictl::tl_istream & s, int32_t & result) { - return tl2::details::BoxedIntReadResult(s, *this, result); -} -bool tl2::BoxedInt::write_result(::basictl::tl_ostream & s, int32_t & result) { - return tl2::details::BoxedIntWriteResult(s, *this, result); -} - -bool tl2::BoxedString::write_json(std::ostream& s)const { - if (!::tl2::details::BoxedStringWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedString::read(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedStringRead(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedString::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedStringWrite(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedString::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedStringReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedString::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedStringWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::BoxedStringReset(::tl2::BoxedString& item) { - item.x.clear(); -} - -bool tl2::details::BoxedStringWriteJSON(std::ostream& s, const ::tl2::BoxedString& item) { - s << "{"; - if (item.x.size() != 0) { - s << "\"x\":"; - s << "\"" << item.x << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::BoxedStringRead(::basictl::tl_istream & s, ::tl2::BoxedString& item) { - if (!s.nat_read_exact_tag(0xb5286e24)) { return false;} - if (!s.string_read(item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedStringWrite(::basictl::tl_ostream & s, const ::tl2::BoxedString& item) { - if (!s.nat_write(0xb5286e24)) { return false; } - if (!s.string_write(item.x)) { return false;} - return true; -} - -bool tl2::details::BoxedStringReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedString& item) { - if (!s.nat_read_exact_tag(0x548994db)) { return false; } - return tl2::details::BoxedStringRead(s, item); -} - -bool tl2::details::BoxedStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedString& item) { - if (!s.nat_write(0x548994db)) { return false; } - return tl2::details::BoxedStringWrite(s, item); -} - -bool tl2::details::BoxedStringReadResult(::basictl::tl_istream & s, tl2::BoxedString& item, std::string& result) { - if (!s.nat_read_exact_tag(0xb5286e24)) { return false;} - if (!s.string_read(result)) { return false; } - return true; -} -bool tl2::details::BoxedStringWriteResult(::basictl::tl_ostream & s, tl2::BoxedString& item, std::string& result) { - if (!s.nat_write(0xb5286e24)) { return false; } - if (!s.string_write(result)) { return false;} - return true; -} - -bool tl2::BoxedString::read_result(::basictl::tl_istream & s, std::string & result) { - return tl2::details::BoxedStringReadResult(s, *this, result); -} -bool tl2::BoxedString::write_result(::basictl::tl_ostream & s, std::string & result) { - return tl2::details::BoxedStringWriteResult(s, *this, result); -} - -bool tl2::BoxedTuple::write_json(std::ostream& s)const { - if (!::tl2::details::BoxedTupleWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTuple::read(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedTupleRead(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTuple::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedTupleWrite(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTuple::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedTupleReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTuple::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedTupleWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::BoxedTupleReset(::tl2::BoxedTuple& item) { - ::tl2::details::BuiltinTuple3IntReset(item.x); -} - -bool tl2::details::BoxedTupleWriteJSON(std::ostream& s, const ::tl2::BoxedTuple& item) { - s << "{"; - s << "\"x\":"; - if (!::tl2::details::BuiltinTuple3IntWriteJSON(s, item.x)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::BoxedTupleRead(::basictl::tl_istream & s, ::tl2::BoxedTuple& item) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTuple3IntRead(s, item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedTupleWrite(::basictl::tl_ostream & s, const ::tl2::BoxedTuple& item) { - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTuple3IntWrite(s, item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedTupleReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTuple& item) { - if (!s.nat_read_exact_tag(0x30c9d533)) { return false; } - return tl2::details::BoxedTupleRead(s, item); -} - -bool tl2::details::BoxedTupleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTuple& item) { - if (!s.nat_write(0x30c9d533)) { return false; } - return tl2::details::BoxedTupleWrite(s, item); -} - -bool tl2::details::BoxedTupleReadResult(::basictl::tl_istream & s, tl2::BoxedTuple& item, std::array& result) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTuple3IntRead(s, result)) { return false; } - return true; -} -bool tl2::details::BoxedTupleWriteResult(::basictl::tl_ostream & s, tl2::BoxedTuple& item, std::array& result) { - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTuple3IntWrite(s, result)) { return false; } - return true; -} - -bool tl2::BoxedTuple::read_result(::basictl::tl_istream & s, std::array & result) { - return tl2::details::BoxedTupleReadResult(s, *this, result); -} -bool tl2::BoxedTuple::write_result(::basictl::tl_ostream & s, std::array & result) { - return tl2::details::BoxedTupleWriteResult(s, *this, result); -} - -bool tl2::BoxedTupleSlice1::write_json(std::ostream& s)const { - if (!::tl2::details::BoxedTupleSlice1WriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice1::read(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedTupleSlice1Read(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice1::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedTupleSlice1Write(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice1::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedTupleSlice1ReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice1::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedTupleSlice1WriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::BoxedTupleSlice1Reset(::tl2::BoxedTupleSlice1& item) { - item.n = 0; - item.x.clear(); -} - -bool tl2::details::BoxedTupleSlice1WriteJSON(std::ostream& s, const ::tl2::BoxedTupleSlice1& item) { - auto add_comma = false; - s << "{"; - if (item.n != 0) { - add_comma = true; - s << "\"n\":"; - s << item.n; - } - if ((item.x.size() != 0) || (item.n != 0)) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"x\":"; - if (!::tl2::details::BuiltinTupleIntBoxedWriteJSON(s, item.x, item.n)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::BoxedTupleSlice1Read(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice1& item) { - if (!s.nat_read(item.n)) { return false; } - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTupleIntBoxedRead(s, item.x, item.n)) { return false; } - return true; -} - -bool tl2::details::BoxedTupleSlice1Write(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice1& item) { - if (!s.nat_write(item.n)) { return false;} - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTupleIntBoxedWrite(s, item.x, item.n)) { return false; } - return true; -} - -bool tl2::details::BoxedTupleSlice1ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice1& item) { - if (!s.nat_read_exact_tag(0x25230d40)) { return false; } - return tl2::details::BoxedTupleSlice1Read(s, item); -} - -bool tl2::details::BoxedTupleSlice1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice1& item) { - if (!s.nat_write(0x25230d40)) { return false; } - return tl2::details::BoxedTupleSlice1Write(s, item); -} - -bool tl2::details::BoxedTupleSlice1ReadResult(::basictl::tl_istream & s, tl2::BoxedTupleSlice1& item, std::vector& result) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTupleIntBoxedRead(s, result, item.n)) { return false; } - return true; -} -bool tl2::details::BoxedTupleSlice1WriteResult(::basictl::tl_ostream & s, tl2::BoxedTupleSlice1& item, std::vector& result) { - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTupleIntBoxedWrite(s, result, item.n)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice1::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::BoxedTupleSlice1ReadResult(s, *this, result); -} -bool tl2::BoxedTupleSlice1::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::BoxedTupleSlice1WriteResult(s, *this, result); -} - -bool tl2::BoxedTupleSlice2::write_json(std::ostream& s)const { - if (!::tl2::details::BoxedTupleSlice2WriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice2::read(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedTupleSlice2Read(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice2::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedTupleSlice2Write(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice2::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedTupleSlice2ReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice2::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedTupleSlice2WriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::BoxedTupleSlice2Reset(::tl2::BoxedTupleSlice2& item) { - ::tl2::details::MyBoxedTupleSliceReset(item.x); -} - -bool tl2::details::BoxedTupleSlice2WriteJSON(std::ostream& s, const ::tl2::BoxedTupleSlice2& item) { - s << "{"; - s << "\"x\":"; - if (!::tl2::details::MyBoxedTupleSliceWriteJSON(s, item.x)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::BoxedTupleSlice2Read(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice2& item) { - if (!::tl2::details::MyBoxedTupleSliceReadBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedTupleSlice2Write(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice2& item) { - if (!::tl2::details::MyBoxedTupleSliceWriteBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedTupleSlice2ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice2& item) { - if (!s.nat_read_exact_tag(0x1cdf4705)) { return false; } - return tl2::details::BoxedTupleSlice2Read(s, item); -} - -bool tl2::details::BoxedTupleSlice2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice2& item) { - if (!s.nat_write(0x1cdf4705)) { return false; } - return tl2::details::BoxedTupleSlice2Write(s, item); -} - -bool tl2::details::BoxedTupleSlice2ReadResult(::basictl::tl_istream & s, tl2::BoxedTupleSlice2& item, ::tl2::MyBoxedTupleSlice& result) { - if (!::tl2::details::MyBoxedTupleSliceReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::BoxedTupleSlice2WriteResult(::basictl::tl_ostream & s, tl2::BoxedTupleSlice2& item, ::tl2::MyBoxedTupleSlice& result) { - if (!::tl2::details::MyBoxedTupleSliceWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice2::read_result(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice & result) { - return tl2::details::BoxedTupleSlice2ReadResult(s, *this, result); -} -bool tl2::BoxedTupleSlice2::write_result(::basictl::tl_ostream & s, ::tl2::MyBoxedTupleSlice & result) { - return tl2::details::BoxedTupleSlice2WriteResult(s, *this, result); -} - -bool tl2::BoxedTupleSlice3::write_json(std::ostream& s)const { - if (!::tl2::details::BoxedTupleSlice3WriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice3::read(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedTupleSlice3Read(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice3::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedTupleSlice3Write(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice3::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedTupleSlice3ReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice3::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedTupleSlice3WriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::BoxedTupleSlice3Reset(::tl2::BoxedTupleSlice3& item) { - item.n = 0; - item.x.clear(); -} - -bool tl2::details::BoxedTupleSlice3WriteJSON(std::ostream& s, const ::tl2::BoxedTupleSlice3& item) { - auto add_comma = false; - s << "{"; - if (item.n != 0) { - add_comma = true; - s << "\"n\":"; - s << item.n; - } - if ((item.x.size() != 0) || (item.n != 0)) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"x\":"; - if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.x, item.n)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::BoxedTupleSlice3Read(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice3& item) { - if (!s.nat_read(item.n)) { return false; } - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTupleIntRead(s, item.x, item.n)) { return false; } - return true; -} - -bool tl2::details::BoxedTupleSlice3Write(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice3& item) { - if (!s.nat_write(item.n)) { return false;} - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTupleIntWrite(s, item.x, item.n)) { return false; } - return true; -} - -bool tl2::details::BoxedTupleSlice3ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice3& item) { - if (!s.nat_read_exact_tag(0xa19b8106)) { return false; } - return tl2::details::BoxedTupleSlice3Read(s, item); -} - -bool tl2::details::BoxedTupleSlice3WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice3& item) { - if (!s.nat_write(0xa19b8106)) { return false; } - return tl2::details::BoxedTupleSlice3Write(s, item); -} - -bool tl2::details::BoxedTupleSlice3ReadResult(::basictl::tl_istream & s, tl2::BoxedTupleSlice3& item, std::vector& result) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTupleIntRead(s, result, item.n)) { return false; } - return true; -} -bool tl2::details::BoxedTupleSlice3WriteResult(::basictl::tl_ostream & s, tl2::BoxedTupleSlice3& item, std::vector& result) { - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTupleIntWrite(s, result, item.n)) { return false; } - return true; -} - -bool tl2::BoxedTupleSlice3::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::BoxedTupleSlice3ReadResult(s, *this, result); -} -bool tl2::BoxedTupleSlice3::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::BoxedTupleSlice3WriteResult(s, *this, result); -} - -bool tl2::BoxedVector32::write_json(std::ostream& s)const { - if (!::tl2::details::BoxedVector32WriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedVector32::read(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedVector32Read(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedVector32::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedVector32Write(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedVector32::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedVector32ReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedVector32::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedVector32WriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::BoxedVector32Reset(::tl2::BoxedVector32& item) { - item.x.clear(); -} - -bool tl2::details::BoxedVector32WriteJSON(std::ostream& s, const ::tl2::BoxedVector32& item) { - s << "{"; - if (item.x.size() != 0) { - s << "\"x\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.x)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::BoxedVector32Read(::basictl::tl_istream & s, ::tl2::BoxedVector32& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorIntRead(s, item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedVector32Write(::basictl::tl_ostream & s, const ::tl2::BoxedVector32& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorIntWrite(s, item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedVector32ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedVector32& item) { - if (!s.nat_read_exact_tag(0xbbadef07)) { return false; } - return tl2::details::BoxedVector32Read(s, item); -} - -bool tl2::details::BoxedVector32WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedVector32& item) { - if (!s.nat_write(0xbbadef07)) { return false; } - return tl2::details::BoxedVector32Write(s, item); -} - -bool tl2::details::BoxedVector32ReadResult(::basictl::tl_istream & s, tl2::BoxedVector32& item, std::vector& result) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorIntRead(s, result)) { return false; } - return true; -} -bool tl2::details::BoxedVector32WriteResult(::basictl::tl_ostream & s, tl2::BoxedVector32& item, std::vector& result) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorIntWrite(s, result)) { return false; } - return true; -} - -bool tl2::BoxedVector32::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::BoxedVector32ReadResult(s, *this, result); -} -bool tl2::BoxedVector32::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::BoxedVector32WriteResult(s, *this, result); -} - -bool tl2::BoxedVector32BoxedElem::write_json(std::ostream& s)const { - if (!::tl2::details::BoxedVector32BoxedElemWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedVector32BoxedElem::read(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedVector32BoxedElemRead(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedVector32BoxedElem::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedVector32BoxedElemWrite(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedVector32BoxedElem::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedVector32BoxedElemReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedVector32BoxedElem::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedVector32BoxedElemWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::BoxedVector32BoxedElemReset(::tl2::BoxedVector32BoxedElem& item) { - item.x.clear(); -} - -bool tl2::details::BoxedVector32BoxedElemWriteJSON(std::ostream& s, const ::tl2::BoxedVector32BoxedElem& item) { - s << "{"; - if (item.x.size() != 0) { - s << "\"x\":"; - if (!::tl2::details::BuiltinVectorIntBoxedWriteJSON(s, item.x)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::BoxedVector32BoxedElemRead(::basictl::tl_istream & s, ::tl2::BoxedVector32BoxedElem& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorIntBoxedRead(s, item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedVector32BoxedElemWrite(::basictl::tl_ostream & s, const ::tl2::BoxedVector32BoxedElem& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorIntBoxedWrite(s, item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedVector32BoxedElemReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedVector32BoxedElem& item) { - if (!s.nat_read_exact_tag(0x591cecd4)) { return false; } - return tl2::details::BoxedVector32BoxedElemRead(s, item); -} - -bool tl2::details::BoxedVector32BoxedElemWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedVector32BoxedElem& item) { - if (!s.nat_write(0x591cecd4)) { return false; } - return tl2::details::BoxedVector32BoxedElemWrite(s, item); -} - -bool tl2::details::BoxedVector32BoxedElemReadResult(::basictl::tl_istream & s, tl2::BoxedVector32BoxedElem& item, std::vector& result) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorIntBoxedRead(s, result)) { return false; } - return true; -} -bool tl2::details::BoxedVector32BoxedElemWriteResult(::basictl::tl_ostream & s, tl2::BoxedVector32BoxedElem& item, std::vector& result) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorIntBoxedWrite(s, result)) { return false; } - return true; -} - -bool tl2::BoxedVector32BoxedElem::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::BoxedVector32BoxedElemReadResult(s, *this, result); -} -bool tl2::BoxedVector32BoxedElem::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::BoxedVector32BoxedElemWriteResult(s, *this, result); -} - -bool tl2::BoxedVector64::write_json(std::ostream& s)const { - if (!::tl2::details::BoxedVector64WriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedVector64::read(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedVector64Read(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedVector64::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedVector64Write(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedVector64::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::BoxedVector64ReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::BoxedVector64::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoxedVector64WriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::BoxedVector64Reset(::tl2::BoxedVector64& item) { - item.x.clear(); -} - -bool tl2::details::BoxedVector64WriteJSON(std::ostream& s, const ::tl2::BoxedVector64& item) { - s << "{"; - if (item.x.size() != 0) { - s << "\"x\":"; - if (!::tl2::details::BuiltinVectorLongBoxedWriteJSON(s, item.x)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::BoxedVector64Read(::basictl::tl_istream & s, ::tl2::BoxedVector64& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorLongBoxedRead(s, item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedVector64Write(::basictl::tl_ostream & s, const ::tl2::BoxedVector64& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorLongBoxedWrite(s, item.x)) { return false; } - return true; -} - -bool tl2::details::BoxedVector64ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedVector64& item) { - if (!s.nat_read_exact_tag(0x83659ba8)) { return false; } - return tl2::details::BoxedVector64Read(s, item); -} - -bool tl2::details::BoxedVector64WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedVector64& item) { - if (!s.nat_write(0x83659ba8)) { return false; } - return tl2::details::BoxedVector64Write(s, item); -} - -bool tl2::details::BoxedVector64ReadResult(::basictl::tl_istream & s, tl2::BoxedVector64& item, std::vector& result) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorLongBoxedRead(s, result)) { return false; } - return true; -} -bool tl2::details::BoxedVector64WriteResult(::basictl::tl_ostream & s, tl2::BoxedVector64& item, std::vector& result) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorLongBoxedWrite(s, result)) { return false; } - return true; -} - -bool tl2::BoxedVector64::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::BoxedVector64ReadResult(s, *this, result); -} -bool tl2::BoxedVector64::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::BoxedVector64WriteResult(s, *this, result); -} - -void tl2::details::BuiltinTuple10IntBoxedReset(std::array& item) { - for(auto && el : item) { - el = 0; - } -} - -bool tl2::details::BuiltinTuple10IntBoxedWriteJSON(std::ostream &s, const std::array& item) { - s << "["; - size_t index = 0; - for(auto && el : item) { - s << el; - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinTuple10IntBoxedRead(::basictl::tl_istream & s, std::array& item) { - for(auto && el : item) { - if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} - if (!s.int_read(el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinTuple10IntBoxedWrite(::basictl::tl_ostream & s, const std::array& item) { - for(const auto & el : item) { - if (!s.nat_write(0xa8509bda)) { return false; } - if (!s.int_write(el)) { return false;} - } - return true; -} - -void tl2::details::BuiltinTuple2IntBoxedReset(std::array& item) { - for(auto && el : item) { - el = 0; - } -} - -bool tl2::details::BuiltinTuple2IntBoxedWriteJSON(std::ostream &s, const std::array& item) { - s << "["; - size_t index = 0; - for(auto && el : item) { - s << el; - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinTuple2IntBoxedRead(::basictl::tl_istream & s, std::array& item) { - for(auto && el : item) { - if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} - if (!s.int_read(el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinTuple2IntBoxedWrite(::basictl::tl_ostream & s, const std::array& item) { - for(const auto & el : item) { - if (!s.nat_write(0xa8509bda)) { return false; } - if (!s.int_write(el)) { return false;} - } - return true; -} - -void tl2::details::BuiltinTuple3IntReset(std::array& item) { - for(auto && el : item) { - el = 0; - } -} - -bool tl2::details::BuiltinTuple3IntWriteJSON(std::ostream &s, const std::array& item) { - s << "["; - size_t index = 0; - for(auto && el : item) { - s << el; - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinTuple3IntRead(::basictl::tl_istream & s, std::array& item) { - for(auto && el : item) { - if (!s.int_read(el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinTuple3IntWrite(::basictl::tl_ostream & s, const std::array& item) { - for(const auto & el : item) { - if (!s.int_write(el)) { return false;} - } - return true; -} - -void tl2::details::BuiltinTuple5IntReset(std::array& item) { - for(auto && el : item) { - el = 0; - } -} - -bool tl2::details::BuiltinTuple5IntWriteJSON(std::ostream &s, const std::array& item) { - s << "["; - size_t index = 0; - for(auto && el : item) { - s << el; - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinTuple5IntRead(::basictl::tl_istream & s, std::array& item) { - for(auto && el : item) { - if (!s.int_read(el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinTuple5IntWrite(::basictl::tl_ostream & s, const std::array& item) { - for(const auto & el : item) { - if (!s.int_write(el)) { return false;} - } - return true; -} - -void tl2::details::BuiltinTupleIntReset(std::vector& item) { - item.resize(0); -} - -bool tl2::details::BuiltinTupleIntWriteJSON(std::ostream & s, const std::vector& item, uint32_t nat_n) { - if (item.size() != nat_n) { - // TODO add exception - return false; - } - s << "["; - size_t index = 0; - for(const auto & el : item) { - s << el; - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinTupleIntRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { - // TODO - check length sanity - item.resize(nat_n); - for(auto && el : item) { - if (!s.int_read(el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinTupleIntWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { - if (item.size() != nat_n) - return s.set_error_sequence_length(); - for(const auto & el : item) { - if (!s.int_write(el)) { return false;} - } - return true; -} - -void tl2::details::BuiltinTupleIntBoxedReset(std::vector& item) { - item.resize(0); -} - -bool tl2::details::BuiltinTupleIntBoxedWriteJSON(std::ostream & s, const std::vector& item, uint32_t nat_n) { - if (item.size() != nat_n) { - // TODO add exception - return false; - } - s << "["; - size_t index = 0; - for(const auto & el : item) { - s << el; - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinTupleIntBoxedRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { - // TODO - check length sanity - item.resize(nat_n); - for(auto && el : item) { - if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} - if (!s.int_read(el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinTupleIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { - if (item.size() != nat_n) - return s.set_error_sequence_length(); - for(const auto & el : item) { - if (!s.nat_write(0xa8509bda)) { return false; } - if (!s.int_write(el)) { return false;} - } - return true; -} - -void tl2::details::BuiltinVectorDictionaryFieldIntReset(std::vector<::tl2::DictionaryField>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorDictionaryFieldIntWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::DictionaryFieldIntWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorDictionaryFieldIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::DictionaryFieldIntRead(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorDictionaryFieldIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::DictionaryFieldIntWrite(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultReset(std::vector<::tl2::Either>>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultWriteJSON(std::ostream & s, const std::vector<::tl2::Either>>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::EitherIntVectorService6FindWithBoundsResultWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::Either>>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::EitherIntVectorService6FindWithBoundsResultReadBoxed(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either>>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::EitherIntVectorService6FindWithBoundsResultWriteBoxed(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowReset(std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWriteJSON(std::ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::EitherService6ErrorVectorService6FindResultRowWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::EitherService6ErrorVectorService6FindResultRowReadBoxed(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::EitherService6ErrorVectorService6FindResultRowWriteBoxed(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorIntReset(std::vector& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorIntWriteJSON(std::ostream & s, const std::vector& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - s << el; - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorIntRead(::basictl::tl_istream & s, std::vector& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!s.int_read(el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorIntWrite(::basictl::tl_ostream & s, const std::vector& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!s.int_write(el)) { return false;} - } - return true; -} - -void tl2::details::BuiltinVectorIntBoxedReset(std::vector& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorIntBoxedWriteJSON(std::ostream & s, const std::vector& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - s << el; - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorIntBoxedRead(::basictl::tl_istream & s, std::vector& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} - if (!s.int_read(el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!s.nat_write(0xa8509bda)) { return false; } - if (!s.int_write(el)) { return false;} - } - return true; -} - -void tl2::details::BuiltinVectorIntegerReset(std::vector<::tl2::Integer>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorIntegerWriteJSON(std::ostream & s, const std::vector<::tl2::Integer>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::IntegerWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorIntegerRead(::basictl::tl_istream & s, std::vector<::tl2::Integer>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::IntegerRead(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorIntegerWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Integer>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::IntegerWrite(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorLongBoxedReset(std::vector& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorLongBoxedWriteJSON(std::ostream & s, const std::vector& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - s << el; - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorLongBoxedRead(::basictl::tl_istream & s, std::vector& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!s.nat_read_exact_tag(0x22076cba)) { return false;} - if (!s.long_read(el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorLongBoxedWrite(::basictl::tl_ostream & s, const std::vector& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!s.nat_write(0x22076cba)) { return false; } - if (!s.long_write(el)) { return false;} - } - return true; -} - -void tl2::details::BuiltinVectorMapStringStringReset(std::vector<::tl2::Map>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorMapStringStringWriteJSON(std::ostream & s, const std::vector<::tl2::Map>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::MapStringStringWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorMapStringStringRead(::basictl::tl_istream & s, std::vector<::tl2::Map>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::MapStringStringRead(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorMapStringStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Map>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::MapStringStringWrite(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorStringReset(std::vector& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorStringWriteJSON(std::ostream & s, const std::vector& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - s << "\"" << el << "\""; - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorStringRead(::basictl::tl_istream & s, std::vector& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!s.string_read(el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorStringWrite(::basictl::tl_ostream & s, const std::vector& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!s.string_write(el)) { return false;} - } - return true; -} - -void tl2::details::DictionaryFieldIntReset(::tl2::DictionaryField& item) { - item.key.clear(); - item.value = 0; -} - -bool tl2::details::DictionaryFieldIntWriteJSON(std::ostream& s, const ::tl2::DictionaryField& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.value != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << item.value; - } - s << "}"; - return true; -} - -bool tl2::details::DictionaryFieldIntRead(::basictl::tl_istream & s, ::tl2::DictionaryField& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.int_read(item.value)) { return false; } - return true; -} - -bool tl2::details::DictionaryFieldIntWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.int_write(item.value)) { return false;} - return true; -} - -bool tl2::details::DictionaryFieldIntReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField& item) { - if (!s.nat_read_exact_tag(0x239c1b62)) { return false; } - return tl2::details::DictionaryFieldIntRead(s, item); -} - -bool tl2::details::DictionaryFieldIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item) { - if (!s.nat_write(0x239c1b62)) { return false; } - return tl2::details::DictionaryFieldIntWrite(s, item); -} - -void tl2::details::DictionaryIntReset(::tl2::Dictionary& item) { - item.clear(); -} - -bool tl2::details::DictionaryIntWriteJSON(std::ostream& s, const ::tl2::Dictionary& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldIntWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::DictionaryIntRead(::basictl::tl_istream & s, ::tl2::Dictionary& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldIntRead(s, item)) { return false; } - return true; -} - -bool tl2::details::DictionaryIntWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldIntWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::DictionaryIntReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary& item) { - if (!s.nat_read_exact_tag(0x1f4c618f)) { return false; } - return tl2::details::DictionaryIntRead(s, item); -} - -bool tl2::details::DictionaryIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary& item) { - if (!s.nat_write(0x1f4c618f)) { return false; } - return tl2::details::DictionaryIntWrite(s, item); -} - -void tl2::details::DoubleReset(double& item) { - item = 0; -} - -bool tl2::details::DoubleWriteJSON(std::ostream& s, const double& item) { - s << item; - return true; -} - -bool tl2::details::DoubleRead(::basictl::tl_istream & s, double& item) { - if (!s.double_read(item)) { return false; } - return true; -} - -bool tl2::details::DoubleWrite(::basictl::tl_ostream & s, const double& item) { - if (!s.double_write(item)) { return false;} - return true; -} - -bool tl2::details::DoubleReadBoxed(::basictl::tl_istream & s, double& item) { - if (!s.nat_read_exact_tag(0x2210c154)) { return false; } - return tl2::details::DoubleRead(s, item); -} - -bool tl2::details::DoubleWriteBoxed(::basictl::tl_ostream & s, const double& item) { - if (!s.nat_write(0x2210c154)) { return false; } - return tl2::details::DoubleWrite(s, item); -} - -static const std::string_view EitherIntVectorService6FindWithBoundsResult_tbl_tl_name[]{"left", "right"}; -static const uint32_t EitherIntVectorService6FindWithBoundsResult_tbl_tl_tag[]{0x0a29cd5d, 0xdf3ecb3b}; - -void tl2::details::EitherIntVectorService6FindWithBoundsResultReset(::tl2::Either>& item) { - item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function -} - -bool tl2::details::EitherIntVectorService6FindWithBoundsResultWriteJSON(std::ostream & s, const ::tl2::Either>& item) { - s << "{"; - s << "\"type\":"; - s << "\"" << EitherIntVectorService6FindWithBoundsResult_tbl_tl_name[item.value.index()] << "\""; - switch (item.value.index()) { - case 0: - s << ",\"value\":"; - if (!::tl2::details::LeftIntVectorService6FindWithBoundsResultWriteJSON(s, std::get<0>(item.value))) { return false; } - break; - case 1: - s << ",\"value\":"; - if (!::tl2::details::RightIntVectorService6FindWithBoundsResultWriteJSON(s, std::get<1>(item.value))) { return false; } - break; - } - s << "}"; - return true; -} -bool tl2::details::EitherIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::Either>& item) { - uint32_t nat; - s.nat_read(nat); - switch (nat) { - case 0x0a29cd5d: - if (item.value.index() != 0) { item.value.emplace<0>(); } - if (!::tl2::details::LeftIntVectorService6FindWithBoundsResultRead(s, std::get<0>(item.value))) { return false; } - break; - case 0xdf3ecb3b: - if (item.value.index() != 1) { item.value.emplace<1>(); } - if (!::tl2::details::RightIntVectorService6FindWithBoundsResultRead(s, std::get<1>(item.value))) { return false; } - break; - default: - return s.set_error_union_tag(); - } - return true; -} - -bool tl2::details::EitherIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Either>& item) { - s.nat_write(EitherIntVectorService6FindWithBoundsResult_tbl_tl_tag[item.value.index()]); - switch (item.value.index()) { - case 0: - if (!::tl2::details::LeftIntVectorService6FindWithBoundsResultWrite(s, std::get<0>(item.value))) { return false; } - break; - case 1: - if (!::tl2::details::RightIntVectorService6FindWithBoundsResultWrite(s, std::get<1>(item.value))) { return false; } - break; - } - return true; -} - -static const std::string_view EitherService6ErrorVectorService6FindResultRow_tbl_tl_name[]{"left", "right"}; -static const uint32_t EitherService6ErrorVectorService6FindResultRow_tbl_tl_tag[]{0x0a29cd5d, 0xdf3ecb3b}; - -void tl2::details::EitherService6ErrorVectorService6FindResultRowReset(::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function -} - -bool tl2::details::EitherService6ErrorVectorService6FindResultRowWriteJSON(std::ostream & s, const ::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - s << "{"; - s << "\"type\":"; - s << "\"" << EitherService6ErrorVectorService6FindResultRow_tbl_tl_name[item.value.index()] << "\""; - switch (item.value.index()) { - case 0: - s << ",\"value\":"; - if (!::tl2::details::LeftService6ErrorVectorService6FindResultRowWriteJSON(s, std::get<0>(item.value))) { return false; } - break; - case 1: - s << ",\"value\":"; - if (!::tl2::details::RightService6ErrorVectorService6FindResultRowWriteJSON(s, std::get<1>(item.value))) { return false; } - break; - } - s << "}"; - return true; -} -bool tl2::details::EitherService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - uint32_t nat; - s.nat_read(nat); - switch (nat) { - case 0x0a29cd5d: - if (item.value.index() != 0) { item.value.emplace<0>(); } - if (!::tl2::details::LeftService6ErrorVectorService6FindResultRowRead(s, std::get<0>(item.value))) { return false; } - break; - case 0xdf3ecb3b: - if (item.value.index() != 1) { item.value.emplace<1>(); } - if (!::tl2::details::RightService6ErrorVectorService6FindResultRowRead(s, std::get<1>(item.value))) { return false; } - break; - default: - return s.set_error_union_tag(); - } - return true; -} - -bool tl2::details::EitherService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - s.nat_write(EitherService6ErrorVectorService6FindResultRow_tbl_tl_tag[item.value.index()]); - switch (item.value.index()) { - case 0: - if (!::tl2::details::LeftService6ErrorVectorService6FindResultRowWrite(s, std::get<0>(item.value))) { return false; } - break; - case 1: - if (!::tl2::details::RightService6ErrorVectorService6FindResultRowWrite(s, std::get<1>(item.value))) { return false; } - break; - } - return true; -} - -bool tl2::FieldConflict1::write_json(std::ostream& s)const { - if (!::tl2::details::FieldConflict1WriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict1::read(::basictl::tl_istream & s) { - if (!::tl2::details::FieldConflict1Read(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict1::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::FieldConflict1Write(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict1::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::FieldConflict1ReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict1::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::FieldConflict1WriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::FieldConflict1Reset(::tl2::FieldConflict1& item) { - item.x = 0; - item.set_x = 0; -} - -bool tl2::details::FieldConflict1WriteJSON(std::ostream& s, const ::tl2::FieldConflict1& item) { - auto add_comma = false; - s << "{"; - if (item.x != 0) { - add_comma = true; - s << "\"x\":"; - s << item.x; - } - if (item.set_x != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"set_x\":"; - s << item.set_x; - } - s << "}"; - return true; -} - -bool tl2::details::FieldConflict1Read(::basictl::tl_istream & s, ::tl2::FieldConflict1& item) { - if (!s.int_read(item.x)) { return false; } - if (!s.int_read(item.set_x)) { return false; } - return true; -} - -bool tl2::details::FieldConflict1Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict1& item) { - if (!s.int_write(item.x)) { return false;} - if (!s.int_write(item.set_x)) { return false;} - return true; -} - -bool tl2::details::FieldConflict1ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict1& item) { - if (!s.nat_read_exact_tag(0xf314bd09)) { return false; } - return tl2::details::FieldConflict1Read(s, item); -} - -bool tl2::details::FieldConflict1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict1& item) { - if (!s.nat_write(0xf314bd09)) { return false; } - return tl2::details::FieldConflict1Write(s, item); -} - -bool tl2::FieldConflict2::write_json(std::ostream& s)const { - if (!::tl2::details::FieldConflict2WriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict2::read(::basictl::tl_istream & s) { - if (!::tl2::details::FieldConflict2Read(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict2::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::FieldConflict2Write(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict2::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::FieldConflict2ReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict2::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::FieldConflict2WriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::FieldConflict2Reset(::tl2::FieldConflict2& item) { - item.x = 0; - item.setX = 0; -} - -bool tl2::details::FieldConflict2WriteJSON(std::ostream& s, const ::tl2::FieldConflict2& item) { - auto add_comma = false; - s << "{"; - if (item.x != 0) { - add_comma = true; - s << "\"x\":"; - s << item.x; - } - if (item.setX != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"setX\":"; - s << item.setX; - } - s << "}"; - return true; -} - -bool tl2::details::FieldConflict2Read(::basictl::tl_istream & s, ::tl2::FieldConflict2& item) { - if (!s.int_read(item.x)) { return false; } - if (!s.int_read(item.setX)) { return false; } - return true; -} - -bool tl2::details::FieldConflict2Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict2& item) { - if (!s.int_write(item.x)) { return false;} - if (!s.int_write(item.setX)) { return false;} - return true; -} - -bool tl2::details::FieldConflict2ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict2& item) { - if (!s.nat_read_exact_tag(0x1bba76b8)) { return false; } - return tl2::details::FieldConflict2Read(s, item); -} - -bool tl2::details::FieldConflict2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict2& item) { - if (!s.nat_write(0x1bba76b8)) { return false; } - return tl2::details::FieldConflict2Write(s, item); -} - -bool tl2::FieldConflict3::write_json(std::ostream& s)const { - if (!::tl2::details::FieldConflict3WriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict3::read(::basictl::tl_istream & s) { - if (!::tl2::details::FieldConflict3Read(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict3::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::FieldConflict3Write(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict3::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::FieldConflict3ReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict3::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::FieldConflict3WriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::FieldConflict3Reset(::tl2::FieldConflict3& item) { - item.x = 0; - item.SetX = 0; -} - -bool tl2::details::FieldConflict3WriteJSON(std::ostream& s, const ::tl2::FieldConflict3& item) { - auto add_comma = false; - s << "{"; - if (item.x != 0) { - add_comma = true; - s << "\"x\":"; - s << item.x; - } - if (item.SetX != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"SetX\":"; - s << item.SetX; - } - s << "}"; - return true; -} - -bool tl2::details::FieldConflict3Read(::basictl::tl_istream & s, ::tl2::FieldConflict3& item) { - if (!s.int_read(item.x)) { return false; } - if (!s.int_read(item.SetX)) { return false; } - return true; -} - -bool tl2::details::FieldConflict3Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict3& item) { - if (!s.int_write(item.x)) { return false;} - if (!s.int_write(item.SetX)) { return false;} - return true; -} - -bool tl2::details::FieldConflict3ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict3& item) { - if (!s.nat_read_exact_tag(0x2cf6e157)) { return false; } - return tl2::details::FieldConflict3Read(s, item); -} - -bool tl2::details::FieldConflict3WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict3& item) { - if (!s.nat_write(0x2cf6e157)) { return false; } - return tl2::details::FieldConflict3Write(s, item); -} - -bool tl2::FieldConflict4::write_json(std::ostream& s)const { - if (!::tl2::details::FieldConflict4WriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict4::read(::basictl::tl_istream & s) { - if (!::tl2::details::FieldConflict4Read(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict4::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::FieldConflict4Write(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict4::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::FieldConflict4ReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::FieldConflict4::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::FieldConflict4WriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::FieldConflict4Reset(::tl2::FieldConflict4& item) { - item.X = 0; - item.SetX = 0; -} - -bool tl2::details::FieldConflict4WriteJSON(std::ostream& s, const ::tl2::FieldConflict4& item) { - auto add_comma = false; - s << "{"; - if (item.X != 0) { - add_comma = true; - s << "\"X\":"; - s << item.X; - } - if (item.SetX != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"SetX\":"; - s << item.SetX; - } - s << "}"; - return true; -} - -bool tl2::details::FieldConflict4Read(::basictl::tl_istream & s, ::tl2::FieldConflict4& item) { - if (!s.int_read(item.X)) { return false; } - if (!s.int_read(item.SetX)) { return false; } - return true; -} - -bool tl2::details::FieldConflict4Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict4& item) { - if (!s.int_write(item.X)) { return false;} - if (!s.int_write(item.SetX)) { return false;} - return true; -} - -bool tl2::details::FieldConflict4ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict4& item) { - if (!s.nat_read_exact_tag(0xd93c186a)) { return false; } - return tl2::details::FieldConflict4Read(s, item); -} - -bool tl2::details::FieldConflict4WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict4& item) { - if (!s.nat_write(0xd93c186a)) { return false; } - return tl2::details::FieldConflict4Write(s, item); -} - -void tl2::details::FloatReset(float& item) { - item = 0; -} - -bool tl2::details::FloatWriteJSON(std::ostream& s, const float& item) { - s << item; - return true; -} - -bool tl2::details::FloatRead(::basictl::tl_istream & s, float& item) { - if (!s.float_read(item)) { return false; } - return true; -} - -bool tl2::details::FloatWrite(::basictl::tl_ostream & s, const float& item) { - if (!s.float_write(item)) { return false;} - return true; -} - -bool tl2::details::FloatReadBoxed(::basictl::tl_istream & s, float& item) { - if (!s.nat_read_exact_tag(0x824dab22)) { return false; } - return tl2::details::FloatRead(s, item); -} - -bool tl2::details::FloatWriteBoxed(::basictl::tl_ostream & s, const float& item) { - if (!s.nat_write(0x824dab22)) { return false; } - return tl2::details::FloatWrite(s, item); -} - -bool tl2::Get_arrays::write_json(std::ostream& s)const { - if (!::tl2::details::GetArraysWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::Get_arrays::read(::basictl::tl_istream & s) { - if (!::tl2::details::GetArraysRead(s, *this)) { return false; } - return true; -} - -bool tl2::Get_arrays::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetArraysWrite(s, *this)) { return false; } - return true; -} - -bool tl2::Get_arrays::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::GetArraysReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::Get_arrays::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetArraysWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::GetArraysReset(::tl2::Get_arrays& item) { - item.n = 0; - item.a.clear(); - ::tl2::details::BuiltinTuple5IntReset(item.b); -} - -bool tl2::details::GetArraysWriteJSON(std::ostream& s, const ::tl2::Get_arrays& item) { - auto add_comma = false; - s << "{"; - if (item.n != 0) { - add_comma = true; - s << "\"n\":"; - s << item.n; - } - if ((item.a.size() != 0) || (item.n != 0)) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"a\":"; - if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.a, item.n)) { return false; } - } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"b\":"; - if (!::tl2::details::BuiltinTuple5IntWriteJSON(s, item.b)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::GetArraysRead(::basictl::tl_istream & s, ::tl2::Get_arrays& item) { - if (!s.nat_read(item.n)) { return false; } - if (!::tl2::details::BuiltinTupleIntRead(s, item.a, item.n)) { return false; } - if (!::tl2::details::BuiltinTuple5IntRead(s, item.b)) { return false; } - return true; -} - -bool tl2::details::GetArraysWrite(::basictl::tl_ostream & s, const ::tl2::Get_arrays& item) { - if (!s.nat_write(item.n)) { return false;} - if (!::tl2::details::BuiltinTupleIntWrite(s, item.a, item.n)) { return false; } - if (!::tl2::details::BuiltinTuple5IntWrite(s, item.b)) { return false; } - return true; -} - -bool tl2::details::GetArraysReadBoxed(::basictl::tl_istream & s, ::tl2::Get_arrays& item) { - if (!s.nat_read_exact_tag(0x90658cdb)) { return false; } - return tl2::details::GetArraysRead(s, item); -} - -bool tl2::details::GetArraysWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Get_arrays& item) { - if (!s.nat_write(0x90658cdb)) { return false; } - return tl2::details::GetArraysWrite(s, item); -} - -bool tl2::details::GetArraysReadResult(::basictl::tl_istream & s, tl2::Get_arrays& item, std::array& result) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTuple5IntRead(s, result)) { return false; } - return true; -} -bool tl2::details::GetArraysWriteResult(::basictl::tl_ostream & s, tl2::Get_arrays& item, std::array& result) { - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTuple5IntWrite(s, result)) { return false; } - return true; -} - -bool tl2::Get_arrays::read_result(::basictl::tl_istream & s, std::array & result) { - return tl2::details::GetArraysReadResult(s, *this, result); -} -bool tl2::Get_arrays::write_result(::basictl::tl_ostream & s, std::array & result) { - return tl2::details::GetArraysWriteResult(s, *this, result); -} - -bool tl2::GetDouble::write_json(std::ostream& s)const { - if (!::tl2::details::GetDoubleWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::GetDouble::read(::basictl::tl_istream & s) { - if (!::tl2::details::GetDoubleRead(s, *this)) { return false; } - return true; -} - -bool tl2::GetDouble::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetDoubleWrite(s, *this)) { return false; } - return true; -} - -bool tl2::GetDouble::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::GetDoubleReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::GetDouble::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetDoubleWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::GetDoubleReset(::tl2::GetDouble& item) { - item.x = 0; -} - -bool tl2::details::GetDoubleWriteJSON(std::ostream& s, const ::tl2::GetDouble& item) { - s << "{"; - if (item.x != 0) { - s << "\"x\":"; - s << item.x; - } - s << "}"; - return true; -} - -bool tl2::details::GetDoubleRead(::basictl::tl_istream & s, ::tl2::GetDouble& item) { - if (!s.nat_read_exact_tag(0x2210c154)) { return false;} - if (!s.double_read(item.x)) { return false; } - return true; -} - -bool tl2::details::GetDoubleWrite(::basictl::tl_ostream & s, const ::tl2::GetDouble& item) { - if (!s.nat_write(0x2210c154)) { return false; } - if (!s.double_write(item.x)) { return false;} - return true; -} - -bool tl2::details::GetDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::GetDouble& item) { - if (!s.nat_read_exact_tag(0x39711d7b)) { return false; } - return tl2::details::GetDoubleRead(s, item); -} - -bool tl2::details::GetDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetDouble& item) { - if (!s.nat_write(0x39711d7b)) { return false; } - return tl2::details::GetDoubleWrite(s, item); -} - -bool tl2::details::GetDoubleReadResult(::basictl::tl_istream & s, tl2::GetDouble& item, double& result) { - if (!s.nat_read_exact_tag(0x2210c154)) { return false;} - if (!s.double_read(result)) { return false; } - return true; -} -bool tl2::details::GetDoubleWriteResult(::basictl::tl_ostream & s, tl2::GetDouble& item, double& result) { - if (!s.nat_write(0x2210c154)) { return false; } - if (!s.double_write(result)) { return false;} - return true; -} - -bool tl2::GetDouble::read_result(::basictl::tl_istream & s, double & result) { - return tl2::details::GetDoubleReadResult(s, *this, result); -} -bool tl2::GetDouble::write_result(::basictl::tl_ostream & s, double & result) { - return tl2::details::GetDoubleWriteResult(s, *this, result); -} - -bool tl2::GetFloat::write_json(std::ostream& s)const { - if (!::tl2::details::GetFloatWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::GetFloat::read(::basictl::tl_istream & s) { - if (!::tl2::details::GetFloatRead(s, *this)) { return false; } - return true; -} - -bool tl2::GetFloat::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetFloatWrite(s, *this)) { return false; } - return true; -} - -bool tl2::GetFloat::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::GetFloatReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::GetFloat::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetFloatWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::GetFloatReset(::tl2::GetFloat& item) { - item.x = 0; -} - -bool tl2::details::GetFloatWriteJSON(std::ostream& s, const ::tl2::GetFloat& item) { - s << "{"; - if (item.x != 0) { - s << "\"x\":"; - s << item.x; - } - s << "}"; - return true; -} - -bool tl2::details::GetFloatRead(::basictl::tl_istream & s, ::tl2::GetFloat& item) { - if (!s.float_read(item.x)) { return false; } - return true; -} - -bool tl2::details::GetFloatWrite(::basictl::tl_ostream & s, const ::tl2::GetFloat& item) { - if (!s.float_write(item.x)) { return false;} - return true; -} - -bool tl2::details::GetFloatReadBoxed(::basictl::tl_istream & s, ::tl2::GetFloat& item) { - if (!s.nat_read_exact_tag(0x25a7bc68)) { return false; } - return tl2::details::GetFloatRead(s, item); -} - -bool tl2::details::GetFloatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetFloat& item) { - if (!s.nat_write(0x25a7bc68)) { return false; } - return tl2::details::GetFloatWrite(s, item); -} - -bool tl2::details::GetFloatReadResult(::basictl::tl_istream & s, tl2::GetFloat& item, float& result) { - if (!s.nat_read_exact_tag(0x824dab22)) { return false;} - if (!s.float_read(result)) { return false; } - return true; -} -bool tl2::details::GetFloatWriteResult(::basictl::tl_ostream & s, tl2::GetFloat& item, float& result) { - if (!s.nat_write(0x824dab22)) { return false; } - if (!s.float_write(result)) { return false;} - return true; -} - -bool tl2::GetFloat::read_result(::basictl::tl_istream & s, float & result) { - return tl2::details::GetFloatReadResult(s, *this, result); -} -bool tl2::GetFloat::write_result(::basictl::tl_ostream & s, float & result) { - return tl2::details::GetFloatWriteResult(s, *this, result); -} - -bool tl2::GetMaybeIface::write_json(std::ostream& s)const { - if (!::tl2::details::GetMaybeIfaceWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::GetMaybeIface::read(::basictl::tl_istream & s) { - if (!::tl2::details::GetMaybeIfaceRead(s, *this)) { return false; } - return true; -} - -bool tl2::GetMaybeIface::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetMaybeIfaceWrite(s, *this)) { return false; } - return true; -} - -bool tl2::GetMaybeIface::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::GetMaybeIfaceReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::GetMaybeIface::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetMaybeIfaceWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::GetMaybeIfaceReset(::tl2::GetMaybeIface& item) { - ::tl2::details::Service1ValueReset(item.x); -} - -bool tl2::details::GetMaybeIfaceWriteJSON(std::ostream& s, const ::tl2::GetMaybeIface& item) { - s << "{"; - s << "\"x\":"; - if (!::tl2::details::Service1ValueWriteJSON(s, item.x)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::GetMaybeIfaceRead(::basictl::tl_istream & s, ::tl2::GetMaybeIface& item) { - if (!::tl2::details::Service1ValueReadBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::GetMaybeIfaceWrite(::basictl::tl_ostream & s, const ::tl2::GetMaybeIface& item) { - if (!::tl2::details::Service1ValueWriteBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::GetMaybeIfaceReadBoxed(::basictl::tl_istream & s, ::tl2::GetMaybeIface& item) { - if (!s.nat_read_exact_tag(0x6b055ae4)) { return false; } - return tl2::details::GetMaybeIfaceRead(s, item); -} - -bool tl2::details::GetMaybeIfaceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMaybeIface& item) { - if (!s.nat_write(0x6b055ae4)) { return false; } - return tl2::details::GetMaybeIfaceWrite(s, item); -} - -bool tl2::details::GetMaybeIfaceReadResult(::basictl::tl_istream & s, tl2::GetMaybeIface& item, std::optional<::tl2::service1::Value>& result) { - if (!::tl2::details::Service1ValueBoxedMaybeReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::GetMaybeIfaceWriteResult(::basictl::tl_ostream & s, tl2::GetMaybeIface& item, std::optional<::tl2::service1::Value>& result) { - if (!::tl2::details::Service1ValueBoxedMaybeWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::GetMaybeIface::read_result(::basictl::tl_istream & s, std::optional<::tl2::service1::Value> & result) { - return tl2::details::GetMaybeIfaceReadResult(s, *this, result); -} -bool tl2::GetMaybeIface::write_result(::basictl::tl_ostream & s, std::optional<::tl2::service1::Value> & result) { - return tl2::details::GetMaybeIfaceWriteResult(s, *this, result); -} - -bool tl2::GetMyDictOfInt::write_json(std::ostream& s)const { - if (!::tl2::details::GetMyDictOfIntWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::GetMyDictOfInt::read(::basictl::tl_istream & s) { - if (!::tl2::details::GetMyDictOfIntRead(s, *this)) { return false; } - return true; -} - -bool tl2::GetMyDictOfInt::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetMyDictOfIntWrite(s, *this)) { return false; } - return true; -} - -bool tl2::GetMyDictOfInt::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::GetMyDictOfIntReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::GetMyDictOfInt::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetMyDictOfIntWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::GetMyDictOfIntReset(::tl2::GetMyDictOfInt& item) { - ::tl2::details::MyDictOfIntReset(item.x); -} - -bool tl2::details::GetMyDictOfIntWriteJSON(std::ostream& s, const ::tl2::GetMyDictOfInt& item) { - s << "{"; - if (item.x.size() != 0) { - s << "\"x\":"; - if (!::tl2::details::MyDictOfIntWriteJSON(s, item.x)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::GetMyDictOfIntRead(::basictl::tl_istream & s, ::tl2::GetMyDictOfInt& item) { - if (!::tl2::details::MyDictOfIntReadBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::GetMyDictOfIntWrite(::basictl::tl_ostream & s, const ::tl2::GetMyDictOfInt& item) { - if (!::tl2::details::MyDictOfIntWriteBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::GetMyDictOfIntReadBoxed(::basictl::tl_istream & s, ::tl2::GetMyDictOfInt& item) { - if (!s.nat_read_exact_tag(0x166f962c)) { return false; } - return tl2::details::GetMyDictOfIntRead(s, item); -} - -bool tl2::details::GetMyDictOfIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMyDictOfInt& item) { - if (!s.nat_write(0x166f962c)) { return false; } - return tl2::details::GetMyDictOfIntWrite(s, item); -} - -bool tl2::details::GetMyDictOfIntReadResult(::basictl::tl_istream & s, tl2::GetMyDictOfInt& item, ::tl2::MyDictOfInt& result) { - if (!::tl2::details::MyDictOfIntReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::GetMyDictOfIntWriteResult(::basictl::tl_ostream & s, tl2::GetMyDictOfInt& item, ::tl2::MyDictOfInt& result) { - if (!::tl2::details::MyDictOfIntWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::GetMyDictOfInt::read_result(::basictl::tl_istream & s, ::tl2::MyDictOfInt & result) { - return tl2::details::GetMyDictOfIntReadResult(s, *this, result); -} -bool tl2::GetMyDictOfInt::write_result(::basictl::tl_ostream & s, ::tl2::MyDictOfInt & result) { - return tl2::details::GetMyDictOfIntWriteResult(s, *this, result); -} - -bool tl2::GetMyDouble::write_json(std::ostream& s)const { - if (!::tl2::details::GetMyDoubleWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::GetMyDouble::read(::basictl::tl_istream & s) { - if (!::tl2::details::GetMyDoubleRead(s, *this)) { return false; } - return true; -} - -bool tl2::GetMyDouble::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetMyDoubleWrite(s, *this)) { return false; } - return true; -} - -bool tl2::GetMyDouble::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::GetMyDoubleReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::GetMyDouble::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetMyDoubleWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::GetMyDoubleReset(::tl2::GetMyDouble& item) { - ::tl2::details::MyDoubleReset(item.x); -} - -bool tl2::details::GetMyDoubleWriteJSON(std::ostream& s, const ::tl2::GetMyDouble& item) { - s << "{"; - if (item.x != 0) { - s << "\"x\":"; - if (!::tl2::details::MyDoubleWriteJSON(s, item.x)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::GetMyDoubleRead(::basictl::tl_istream & s, ::tl2::GetMyDouble& item) { - if (!::tl2::details::MyDoubleRead(s, item.x)) { return false; } - return true; -} - -bool tl2::details::GetMyDoubleWrite(::basictl::tl_ostream & s, const ::tl2::GetMyDouble& item) { - if (!::tl2::details::MyDoubleWrite(s, item.x)) { return false; } - return true; -} - -bool tl2::details::GetMyDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::GetMyDouble& item) { - if (!s.nat_read_exact_tag(0xb660ad10)) { return false; } - return tl2::details::GetMyDoubleRead(s, item); -} - -bool tl2::details::GetMyDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMyDouble& item) { - if (!s.nat_write(0xb660ad10)) { return false; } - return tl2::details::GetMyDoubleWrite(s, item); -} - -bool tl2::details::GetMyDoubleReadResult(::basictl::tl_istream & s, tl2::GetMyDouble& item, ::tl2::MyDouble& result) { - if (!::tl2::details::MyDoubleReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::GetMyDoubleWriteResult(::basictl::tl_ostream & s, tl2::GetMyDouble& item, ::tl2::MyDouble& result) { - if (!::tl2::details::MyDoubleWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::GetMyDouble::read_result(::basictl::tl_istream & s, ::tl2::MyDouble & result) { - return tl2::details::GetMyDoubleReadResult(s, *this, result); -} -bool tl2::GetMyDouble::write_result(::basictl::tl_ostream & s, ::tl2::MyDouble & result) { - return tl2::details::GetMyDoubleWriteResult(s, *this, result); -} - -bool tl2::GetMyValue::write_json(std::ostream& s)const { - if (!::tl2::details::GetMyValueWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::GetMyValue::read(::basictl::tl_istream & s) { - if (!::tl2::details::GetMyValueRead(s, *this)) { return false; } - return true; -} - -bool tl2::GetMyValue::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetMyValueWrite(s, *this)) { return false; } - return true; -} - -bool tl2::GetMyValue::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::GetMyValueReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::GetMyValue::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetMyValueWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::GetMyValueReset(::tl2::GetMyValue& item) { - ::tl2::details::MyValueReset(item.x); -} - -bool tl2::details::GetMyValueWriteJSON(std::ostream& s, const ::tl2::GetMyValue& item) { - s << "{"; - s << "\"x\":"; - if (!::tl2::details::MyValueWriteJSON(s, item.x)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::GetMyValueRead(::basictl::tl_istream & s, ::tl2::GetMyValue& item) { - if (!::tl2::details::MyValueReadBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::GetMyValueWrite(::basictl::tl_ostream & s, const ::tl2::GetMyValue& item) { - if (!::tl2::details::MyValueWriteBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::GetMyValueReadBoxed(::basictl::tl_istream & s, ::tl2::GetMyValue& item) { - if (!s.nat_read_exact_tag(0xb3df27fe)) { return false; } - return tl2::details::GetMyValueRead(s, item); -} - -bool tl2::details::GetMyValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMyValue& item) { - if (!s.nat_write(0xb3df27fe)) { return false; } - return tl2::details::GetMyValueWrite(s, item); -} - -bool tl2::details::GetMyValueReadResult(::basictl::tl_istream & s, tl2::GetMyValue& item, ::tl2::MyValue& result) { - if (!::tl2::details::MyValueReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::GetMyValueWriteResult(::basictl::tl_ostream & s, tl2::GetMyValue& item, ::tl2::MyValue& result) { - if (!::tl2::details::MyValueWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::GetMyValue::read_result(::basictl::tl_istream & s, ::tl2::MyValue & result) { - return tl2::details::GetMyValueReadResult(s, *this, result); -} -bool tl2::GetMyValue::write_result(::basictl::tl_ostream & s, ::tl2::MyValue & result) { - return tl2::details::GetMyValueWriteResult(s, *this, result); -} - -bool tl2::GetNonOptNat::write_json(std::ostream& s)const { - if (!::tl2::details::GetNonOptNatWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::GetNonOptNat::read(::basictl::tl_istream & s) { - if (!::tl2::details::GetNonOptNatRead(s, *this)) { return false; } - return true; -} - -bool tl2::GetNonOptNat::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetNonOptNatWrite(s, *this)) { return false; } - return true; -} - -bool tl2::GetNonOptNat::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::GetNonOptNatReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::GetNonOptNat::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetNonOptNatWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::GetNonOptNatReset(::tl2::GetNonOptNat& item) { - item.n = 0; - item.xs.clear(); -} - -bool tl2::details::GetNonOptNatWriteJSON(std::ostream& s, const ::tl2::GetNonOptNat& item) { - auto add_comma = false; - s << "{"; - if (item.n != 0) { - add_comma = true; - s << "\"n\":"; - s << item.n; - } - if ((item.xs.size() != 0) || (item.n != 0)) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"xs\":"; - if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.xs, item.n)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::GetNonOptNatRead(::basictl::tl_istream & s, ::tl2::GetNonOptNat& item) { - if (!s.nat_read(item.n)) { return false; } - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTupleIntRead(s, item.xs, item.n)) { return false; } - return true; -} - -bool tl2::details::GetNonOptNatWrite(::basictl::tl_ostream & s, const ::tl2::GetNonOptNat& item) { - if (!s.nat_write(item.n)) { return false;} - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTupleIntWrite(s, item.xs, item.n)) { return false; } - return true; -} - -bool tl2::details::GetNonOptNatReadBoxed(::basictl::tl_istream & s, ::tl2::GetNonOptNat& item) { - if (!s.nat_read_exact_tag(0x67665961)) { return false; } - return tl2::details::GetNonOptNatRead(s, item); -} - -bool tl2::details::GetNonOptNatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetNonOptNat& item) { - if (!s.nat_write(0x67665961)) { return false; } - return tl2::details::GetNonOptNatWrite(s, item); -} - -bool tl2::details::GetNonOptNatReadResult(::basictl::tl_istream & s, tl2::GetNonOptNat& item, std::vector& result) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTupleIntRead(s, result, item.n)) { return false; } - return true; -} -bool tl2::details::GetNonOptNatWriteResult(::basictl::tl_ostream & s, tl2::GetNonOptNat& item, std::vector& result) { - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTupleIntWrite(s, result, item.n)) { return false; } - return true; -} - -bool tl2::GetNonOptNat::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::GetNonOptNatReadResult(s, *this, result); -} -bool tl2::GetNonOptNat::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::GetNonOptNatWriteResult(s, *this, result); -} - -bool tl2::GetStats::write_json(std::ostream& s)const { - if (!::tl2::details::GetStatsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::GetStats::read(::basictl::tl_istream & s) { - if (!::tl2::details::GetStatsRead(s, *this)) { return false; } - return true; -} - -bool tl2::GetStats::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetStatsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::GetStats::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::GetStatsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::GetStats::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::GetStatsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::GetStatsReset(::tl2::GetStats& item) { - ::tl2::details::TasksQueueTypeStatsReset(item.x); -} - -bool tl2::details::GetStatsWriteJSON(std::ostream& s, const ::tl2::GetStats& item) { - s << "{"; - s << "\"x\":"; - if (!::tl2::details::TasksQueueTypeStatsWriteJSON(s, item.x)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::GetStatsRead(::basictl::tl_istream & s, ::tl2::GetStats& item) { - if (!::tl2::details::TasksQueueTypeStatsRead(s, item.x)) { return false; } - return true; -} - -bool tl2::details::GetStatsWrite(::basictl::tl_ostream & s, const ::tl2::GetStats& item) { - if (!::tl2::details::TasksQueueTypeStatsWrite(s, item.x)) { return false; } - return true; -} - -bool tl2::details::GetStatsReadBoxed(::basictl::tl_istream & s, ::tl2::GetStats& item) { - if (!s.nat_read_exact_tag(0xbaa6da35)) { return false; } - return tl2::details::GetStatsRead(s, item); -} - -bool tl2::details::GetStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetStats& item) { - if (!s.nat_write(0xbaa6da35)) { return false; } - return tl2::details::GetStatsWrite(s, item); -} - -bool tl2::details::GetStatsReadResult(::basictl::tl_istream & s, tl2::GetStats& item, ::tl2::tasks::QueueTypeStats& result) { - if (!::tl2::details::TasksQueueTypeStatsReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::GetStatsWriteResult(::basictl::tl_ostream & s, tl2::GetStats& item, ::tl2::tasks::QueueTypeStats& result) { - if (!::tl2::details::TasksQueueTypeStatsWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::GetStats::read_result(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats & result) { - return tl2::details::GetStatsReadResult(s, *this, result); -} -bool tl2::GetStats::write_result(::basictl::tl_ostream & s, ::tl2::tasks::QueueTypeStats & result) { - return tl2::details::GetStatsWriteResult(s, *this, result); -} - -void tl2::details::IntReset(int32_t& item) { - item = 0; -} - -bool tl2::details::IntWriteJSON(std::ostream& s, const int32_t& item) { - s << item; - return true; -} - -bool tl2::details::IntRead(::basictl::tl_istream & s, int32_t& item) { - if (!s.int_read(item)) { return false; } - return true; -} - -bool tl2::details::IntWrite(::basictl::tl_ostream & s, const int32_t& item) { - if (!s.int_write(item)) { return false;} - return true; -} - -bool tl2::details::IntReadBoxed(::basictl::tl_istream & s, int32_t& item) { - if (!s.nat_read_exact_tag(0xa8509bda)) { return false; } - return tl2::details::IntRead(s, item); -} - -bool tl2::details::IntWriteBoxed(::basictl::tl_ostream & s, const int32_t& item) { - if (!s.nat_write(0xa8509bda)) { return false; } - return tl2::details::IntWrite(s, item); -} - -bool tl2::details::IntMaybeWriteJSON(std::ostream & s, const std::optional& item) { - s << "{"; - if (item) { - s << "\"ok\":true"; - if((*item) != 0) { - s << ",\"value\":"; - s << *item; - } - } - s << "}"; - return true; -} -bool tl2::details::IntMaybeReadBoxed(::basictl::tl_istream & s, std::optional& item) { - bool has_item = false; - if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } - if (has_item) { - if (!item) { - item.emplace(); - } - if (!s.int_read(*item)) { return false; } - return true; - } - item.reset(); - return true; -} - -bool tl2::details::IntMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional& item) { - if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } - if (item) { - if (!s.int_write(*item)) { return false;} - } - return true; -} - -bool tl2::Integer::write_json(std::ostream& s)const { - if (!::tl2::details::IntegerWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::Integer::read(::basictl::tl_istream & s) { - if (!::tl2::details::IntegerRead(s, *this)) { return false; } - return true; -} - -bool tl2::Integer::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::IntegerWrite(s, *this)) { return false; } - return true; -} - -bool tl2::Integer::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::IntegerReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::Integer::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::IntegerWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::IntegerReset(::tl2::Integer& item) { - item.value = 0; -} - -bool tl2::details::IntegerWriteJSON(std::ostream& s, const ::tl2::Integer& item) { - s << "{"; - if (item.value != 0) { - s << "\"value\":"; - s << item.value; - } - s << "}"; - return true; -} - -bool tl2::details::IntegerRead(::basictl::tl_istream & s, ::tl2::Integer& item) { - if (!s.int_read(item.value)) { return false; } - return true; -} - -bool tl2::details::IntegerWrite(::basictl::tl_ostream & s, const ::tl2::Integer& item) { - if (!s.int_write(item.value)) { return false;} - return true; -} - -bool tl2::details::IntegerReadBoxed(::basictl::tl_istream & s, ::tl2::Integer& item) { - if (!s.nat_read_exact_tag(0x7e194796)) { return false; } - return tl2::details::IntegerRead(s, item); -} - -bool tl2::details::IntegerWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Integer& item) { - if (!s.nat_write(0x7e194796)) { return false; } - return tl2::details::IntegerWrite(s, item); -} - -bool tl2::Issue3498::write_json(std::ostream& s)const { - if (!::tl2::details::Issue3498WriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::Issue3498::read(::basictl::tl_istream & s) { - if (!::tl2::details::Issue3498Read(s, *this)) { return false; } - return true; -} - -bool tl2::Issue3498::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Issue3498Write(s, *this)) { return false; } - return true; -} - -bool tl2::Issue3498::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Issue3498ReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::Issue3498::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Issue3498WriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Issue3498Reset(::tl2::Issue3498& item) { - item.x.clear(); -} - -bool tl2::details::Issue3498WriteJSON(std::ostream& s, const ::tl2::Issue3498& item) { - s << "{"; - if (item.x.size() != 0) { - s << "\"x\":"; - if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWriteJSON(s, item.x)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Issue3498Read(::basictl::tl_istream & s, ::tl2::Issue3498& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowRead(s, item.x)) { return false; } - return true; -} - -bool tl2::details::Issue3498Write(::basictl::tl_ostream & s, const ::tl2::Issue3498& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWrite(s, item.x)) { return false; } - return true; -} - -bool tl2::details::Issue3498ReadBoxed(::basictl::tl_istream & s, ::tl2::Issue3498& item) { - if (!s.nat_read_exact_tag(0xf54b7b0a)) { return false; } - return tl2::details::Issue3498Read(s, item); -} - -bool tl2::details::Issue3498WriteBoxed(::basictl::tl_ostream & s, const ::tl2::Issue3498& item) { - if (!s.nat_write(0xf54b7b0a)) { return false; } - return tl2::details::Issue3498Write(s, item); -} - -void tl2::details::LeftIntVectorService6FindWithBoundsResultReset(::tl2::Left>& item) { - item.value = 0; -} - -bool tl2::details::LeftIntVectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const ::tl2::Left>& item) { - s << "{"; - if (item.value != 0) { - s << "\"value\":"; - s << item.value; - } - s << "}"; - return true; -} - -bool tl2::details::LeftIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, ::tl2::Left>& item) { - if (!s.int_read(item.value)) { return false; } - return true; -} - -bool tl2::details::LeftIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const ::tl2::Left>& item) { - if (!s.int_write(item.value)) { return false;} - return true; -} - -bool tl2::details::LeftIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::Left>& item) { - if (!s.nat_read_exact_tag(0x0a29cd5d)) { return false; } - return tl2::details::LeftIntVectorService6FindWithBoundsResultRead(s, item); -} - -bool tl2::details::LeftIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Left>& item) { - if (!s.nat_write(0x0a29cd5d)) { return false; } - return tl2::details::LeftIntVectorService6FindWithBoundsResultWrite(s, item); -} - -void tl2::details::LeftService6ErrorVectorService6FindResultRowReset(::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - ::tl2::details::Service6ErrorReset(item.value); -} - -bool tl2::details::LeftService6ErrorVectorService6FindResultRowWriteJSON(std::ostream& s, const ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - s << "{"; - s << "\"value\":"; - if (!::tl2::details::Service6ErrorWriteJSON(s, item.value)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::LeftService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - if (!::tl2::details::Service6ErrorRead(s, item.value)) { return false; } - return true; -} - -bool tl2::details::LeftService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - if (!::tl2::details::Service6ErrorWrite(s, item.value)) { return false; } - return true; -} - -bool tl2::details::LeftService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - if (!s.nat_read_exact_tag(0x0a29cd5d)) { return false; } - return tl2::details::LeftService6ErrorVectorService6FindResultRowRead(s, item); -} - -bool tl2::details::LeftService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - if (!s.nat_write(0x0a29cd5d)) { return false; } - return tl2::details::LeftService6ErrorVectorService6FindResultRowWrite(s, item); -} - -void tl2::details::LongReset(int64_t& item) { - item = 0; -} - -bool tl2::details::LongWriteJSON(std::ostream& s, const int64_t& item) { - s << item; - return true; -} - -bool tl2::details::LongRead(::basictl::tl_istream & s, int64_t& item) { - if (!s.long_read(item)) { return false; } - return true; -} - -bool tl2::details::LongWrite(::basictl::tl_ostream & s, const int64_t& item) { - if (!s.long_write(item)) { return false;} - return true; -} - -bool tl2::details::LongReadBoxed(::basictl::tl_istream & s, int64_t& item) { - if (!s.nat_read_exact_tag(0x22076cba)) { return false; } - return tl2::details::LongRead(s, item); -} - -bool tl2::details::LongWriteBoxed(::basictl::tl_ostream & s, const int64_t& item) { - if (!s.nat_write(0x22076cba)) { return false; } - return tl2::details::LongWrite(s, item); -} - -void tl2::details::MapStringStringReset(::tl2::Map& item) { - item.key.clear(); - item.value.clear(); -} - -bool tl2::details::MapStringStringWriteJSON(std::ostream& s, const ::tl2::Map& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.value.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << "\"" << item.value << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::MapStringStringRead(::basictl::tl_istream & s, ::tl2::Map& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.string_read(item.value)) { return false; } - return true; -} - -bool tl2::details::MapStringStringWrite(::basictl::tl_ostream & s, const ::tl2::Map& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.string_write(item.value)) { return false;} - return true; -} - -bool tl2::details::MapStringStringReadBoxed(::basictl::tl_istream & s, ::tl2::Map& item) { - if (!s.nat_read_exact_tag(0x79c473a4)) { return false; } - return tl2::details::MapStringStringRead(s, item); -} - -bool tl2::details::MapStringStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Map& item) { - if (!s.nat_write(0x79c473a4)) { return false; } - return tl2::details::MapStringStringWrite(s, item); -} - -void tl2::details::MyAnonMcValueReset(::tl2::MyAnonMcValue& item) { - ::tl2::details::Service1ValueReset(item); -} - -bool tl2::details::MyAnonMcValueWriteJSON(std::ostream& s, const ::tl2::MyAnonMcValue& item) { - if (!::tl2::details::Service1ValueWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::MyAnonMcValueRead(::basictl::tl_istream & s, ::tl2::MyAnonMcValue& item) { - if (!::tl2::details::Service1ValueReadBoxed(s, item)) { return false; } - return true; -} - -bool tl2::details::MyAnonMcValueWrite(::basictl::tl_ostream & s, const ::tl2::MyAnonMcValue& item) { - if (!::tl2::details::Service1ValueWriteBoxed(s, item)) { return false; } - return true; -} - -bool tl2::details::MyAnonMcValueReadBoxed(::basictl::tl_istream & s, ::tl2::MyAnonMcValue& item) { - if (!s.nat_read_exact_tag(0x569310db)) { return false; } - return tl2::details::MyAnonMcValueRead(s, item); -} - -bool tl2::details::MyAnonMcValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyAnonMcValue& item) { - if (!s.nat_write(0x569310db)) { return false; } - return tl2::details::MyAnonMcValueWrite(s, item); -} - -bool tl2::MyBoxedArray::write_json(std::ostream& s)const { - if (!::tl2::details::MyBoxedArrayWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::MyBoxedArray::read(::basictl::tl_istream & s) { - if (!::tl2::details::MyBoxedArrayRead(s, *this)) { return false; } - return true; -} - -bool tl2::MyBoxedArray::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyBoxedArrayWrite(s, *this)) { return false; } - return true; -} - -bool tl2::MyBoxedArray::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::MyBoxedArrayReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::MyBoxedArray::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyBoxedArrayWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::MyBoxedArrayReset(::tl2::MyBoxedArray& item) { - ::tl2::details::BuiltinTuple2IntBoxedReset(item.data); -} - -bool tl2::details::MyBoxedArrayWriteJSON(std::ostream& s, const ::tl2::MyBoxedArray& item) { - s << "{"; - s << "\"data\":"; - if (!::tl2::details::BuiltinTuple2IntBoxedWriteJSON(s, item.data)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::MyBoxedArrayRead(::basictl::tl_istream & s, ::tl2::MyBoxedArray& item) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTuple2IntBoxedRead(s, item.data)) { return false; } - return true; -} - -bool tl2::details::MyBoxedArrayWrite(::basictl::tl_ostream & s, const ::tl2::MyBoxedArray& item) { - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTuple2IntBoxedWrite(s, item.data)) { return false; } - return true; -} - -bool tl2::details::MyBoxedArrayReadBoxed(::basictl::tl_istream & s, ::tl2::MyBoxedArray& item) { - if (!s.nat_read_exact_tag(0x288f64f0)) { return false; } - return tl2::details::MyBoxedArrayRead(s, item); -} - -bool tl2::details::MyBoxedArrayWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyBoxedArray& item) { - if (!s.nat_write(0x288f64f0)) { return false; } - return tl2::details::MyBoxedArrayWrite(s, item); -} - -bool tl2::MyBoxedTupleSlice::write_json(std::ostream& s)const { - if (!::tl2::details::MyBoxedTupleSliceWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::MyBoxedTupleSlice::read(::basictl::tl_istream & s) { - if (!::tl2::details::MyBoxedTupleSliceRead(s, *this)) { return false; } - return true; -} - -bool tl2::MyBoxedTupleSlice::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyBoxedTupleSliceWrite(s, *this)) { return false; } - return true; -} - -bool tl2::MyBoxedTupleSlice::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::MyBoxedTupleSliceReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::MyBoxedTupleSlice::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyBoxedTupleSliceWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::MyBoxedTupleSliceReset(::tl2::MyBoxedTupleSlice& item) { - item.n = 0; - item.data.clear(); -} - -bool tl2::details::MyBoxedTupleSliceWriteJSON(std::ostream& s, const ::tl2::MyBoxedTupleSlice& item) { - auto add_comma = false; - s << "{"; - if (item.n != 0) { - add_comma = true; - s << "\"n\":"; - s << item.n; - } - if ((item.data.size() != 0) || (item.n != 0)) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"data\":"; - if (!::tl2::details::BuiltinTupleIntBoxedWriteJSON(s, item.data, item.n)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::MyBoxedTupleSliceRead(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice& item) { - if (!s.nat_read(item.n)) { return false; } - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTupleIntBoxedRead(s, item.data, item.n)) { return false; } - return true; -} - -bool tl2::details::MyBoxedTupleSliceWrite(::basictl::tl_ostream & s, const ::tl2::MyBoxedTupleSlice& item) { - if (!s.nat_write(item.n)) { return false;} - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTupleIntBoxedWrite(s, item.data, item.n)) { return false; } - return true; -} - -bool tl2::details::MyBoxedTupleSliceReadBoxed(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice& item) { - if (!s.nat_read_exact_tag(0x25d1a1be)) { return false; } - return tl2::details::MyBoxedTupleSliceRead(s, item); -} - -bool tl2::details::MyBoxedTupleSliceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyBoxedTupleSlice& item) { - if (!s.nat_write(0x25d1a1be)) { return false; } - return tl2::details::MyBoxedTupleSliceWrite(s, item); -} - -bool tl2::MyBoxedVectorSlice::write_json(std::ostream& s)const { - if (!::tl2::details::MyBoxedVectorSliceWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::MyBoxedVectorSlice::read(::basictl::tl_istream & s) { - if (!::tl2::details::MyBoxedVectorSliceRead(s, *this)) { return false; } - return true; -} - -bool tl2::MyBoxedVectorSlice::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyBoxedVectorSliceWrite(s, *this)) { return false; } - return true; -} - -bool tl2::MyBoxedVectorSlice::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::MyBoxedVectorSliceReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::MyBoxedVectorSlice::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyBoxedVectorSliceWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::MyBoxedVectorSliceReset(::tl2::MyBoxedVectorSlice& item) { - item.data.clear(); -} - -bool tl2::details::MyBoxedVectorSliceWriteJSON(std::ostream& s, const ::tl2::MyBoxedVectorSlice& item) { - s << "{"; - if (item.data.size() != 0) { - s << "\"data\":"; - if (!::tl2::details::BuiltinVectorIntBoxedWriteJSON(s, item.data)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::MyBoxedVectorSliceRead(::basictl::tl_istream & s, ::tl2::MyBoxedVectorSlice& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorIntBoxedRead(s, item.data)) { return false; } - return true; -} - -bool tl2::details::MyBoxedVectorSliceWrite(::basictl::tl_ostream & s, const ::tl2::MyBoxedVectorSlice& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorIntBoxedWrite(s, item.data)) { return false; } - return true; -} - -bool tl2::details::MyBoxedVectorSliceReadBoxed(::basictl::tl_istream & s, ::tl2::MyBoxedVectorSlice& item) { - if (!s.nat_read_exact_tag(0x57d164bb)) { return false; } - return tl2::details::MyBoxedVectorSliceRead(s, item); -} - -bool tl2::details::MyBoxedVectorSliceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyBoxedVectorSlice& item) { - if (!s.nat_write(0x57d164bb)) { return false; } - return tl2::details::MyBoxedVectorSliceWrite(s, item); -} - -void tl2::details::MyDictOfIntReset(::tl2::MyDictOfInt& item) { - ::tl2::details::DictionaryIntReset(item); -} - -bool tl2::details::MyDictOfIntWriteJSON(std::ostream& s, const ::tl2::MyDictOfInt& item) { - if (!::tl2::details::DictionaryIntWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::MyDictOfIntRead(::basictl::tl_istream & s, ::tl2::MyDictOfInt& item) { - if (!::tl2::details::DictionaryIntRead(s, item)) { return false; } - return true; -} - -bool tl2::details::MyDictOfIntWrite(::basictl::tl_ostream & s, const ::tl2::MyDictOfInt& item) { - if (!::tl2::details::DictionaryIntWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::MyDictOfIntReadBoxed(::basictl::tl_istream & s, ::tl2::MyDictOfInt& item) { - if (!s.nat_read_exact_tag(0xb8019a3d)) { return false; } - return tl2::details::MyDictOfIntRead(s, item); -} - -bool tl2::details::MyDictOfIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyDictOfInt& item) { - if (!s.nat_write(0xb8019a3d)) { return false; } - return tl2::details::MyDictOfIntWrite(s, item); -} - -void tl2::details::MyDoubleReset(::tl2::MyDouble& item) { - item = 0; -} - -bool tl2::details::MyDoubleWriteJSON(std::ostream& s, const ::tl2::MyDouble& item) { - s << item; - return true; -} - -bool tl2::details::MyDoubleRead(::basictl::tl_istream & s, ::tl2::MyDouble& item) { - if (!s.nat_read_exact_tag(0x2210c154)) { return false;} - if (!s.double_read(item)) { return false; } - return true; -} - -bool tl2::details::MyDoubleWrite(::basictl::tl_ostream & s, const ::tl2::MyDouble& item) { - if (!s.nat_write(0x2210c154)) { return false; } - if (!s.double_write(item)) { return false;} - return true; -} - -bool tl2::details::MyDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::MyDouble& item) { - if (!s.nat_read_exact_tag(0x90a6c726)) { return false; } - return tl2::details::MyDoubleRead(s, item); -} - -bool tl2::details::MyDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyDouble& item) { - if (!s.nat_write(0x90a6c726)) { return false; } - return tl2::details::MyDoubleWrite(s, item); -} - -bool tl2::MyInt::write_json(std::ostream& s)const { - if (!::tl2::details::MyIntWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::MyInt::read(::basictl::tl_istream & s) { - if (!::tl2::details::MyIntRead(s, *this)) { return false; } - return true; -} - -bool tl2::MyInt::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyIntWrite(s, *this)) { return false; } - return true; -} - -bool tl2::MyInt::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::MyIntReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::MyInt::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyIntWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::MyIntReset(::tl2::MyInt& item) { - item.val1 = 0; -} - -bool tl2::details::MyIntWriteJSON(std::ostream& s, const ::tl2::MyInt& item) { - s << "{"; - if (item.val1 != 0) { - s << "\"val1\":"; - s << item.val1; - } - s << "}"; - return true; -} - -bool tl2::details::MyIntRead(::basictl::tl_istream & s, ::tl2::MyInt& item) { - if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} - if (!s.int_read(item.val1)) { return false; } - return true; -} - -bool tl2::details::MyIntWrite(::basictl::tl_ostream & s, const ::tl2::MyInt& item) { - if (!s.nat_write(0xa8509bda)) { return false; } - if (!s.int_write(item.val1)) { return false;} - return true; -} - -bool tl2::details::MyIntReadBoxed(::basictl::tl_istream & s, ::tl2::MyInt& item) { - if (!s.nat_read_exact_tag(0xc12375b7)) { return false; } - return tl2::details::MyIntRead(s, item); -} - -bool tl2::details::MyIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyInt& item) { - if (!s.nat_write(0xc12375b7)) { return false; } - return tl2::details::MyIntWrite(s, item); -} - -void tl2::details::MyMaybe1Reset(::tl2::MyMaybe1& item) { - item.reset(); -} - -bool tl2::details::MyMaybe1WriteJSON(std::ostream& s, const ::tl2::MyMaybe1& item) { - if (!::tl2::details::MyTuple10MaybeWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::MyMaybe1Read(::basictl::tl_istream & s, ::tl2::MyMaybe1& item) { - if (!::tl2::details::MyTuple10MaybeReadBoxed(s, item)) { return false; } - return true; -} - -bool tl2::details::MyMaybe1Write(::basictl::tl_ostream & s, const ::tl2::MyMaybe1& item) { - if (!::tl2::details::MyTuple10MaybeWriteBoxed(s, item)) { return false; } - return true; -} - -bool tl2::details::MyMaybe1ReadBoxed(::basictl::tl_istream & s, ::tl2::MyMaybe1& item) { - if (!s.nat_read_exact_tag(0x32c541fe)) { return false; } - return tl2::details::MyMaybe1Read(s, item); -} - -bool tl2::details::MyMaybe1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMaybe1& item) { - if (!s.nat_write(0x32c541fe)) { return false; } - return tl2::details::MyMaybe1Write(s, item); -} - -void tl2::details::MyMaybe2Reset(::tl2::MyMaybe2& item) { - item.reset(); -} - -bool tl2::details::MyMaybe2WriteJSON(std::ostream& s, const ::tl2::MyMaybe2& item) { - if (!::tl2::details::MyTuple10MaybeWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::MyMaybe2Read(::basictl::tl_istream & s, ::tl2::MyMaybe2& item) { - if (!::tl2::details::MyTuple10MaybeReadBoxed(s, item)) { return false; } - return true; -} - -bool tl2::details::MyMaybe2Write(::basictl::tl_ostream & s, const ::tl2::MyMaybe2& item) { - if (!::tl2::details::MyTuple10MaybeWriteBoxed(s, item)) { return false; } - return true; -} - -bool tl2::details::MyMaybe2ReadBoxed(::basictl::tl_istream & s, ::tl2::MyMaybe2& item) { - if (!s.nat_read_exact_tag(0xef6d355c)) { return false; } - return tl2::details::MyMaybe2Read(s, item); -} - -bool tl2::details::MyMaybe2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMaybe2& item) { - if (!s.nat_write(0xef6d355c)) { return false; } - return tl2::details::MyMaybe2Write(s, item); -} - -bool tl2::MyMcValue::write_json(std::ostream& s)const { - if (!::tl2::details::MyMcValueWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::MyMcValue::read(::basictl::tl_istream & s) { - if (!::tl2::details::MyMcValueRead(s, *this)) { return false; } - return true; -} - -bool tl2::MyMcValue::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyMcValueWrite(s, *this)) { return false; } - return true; -} - -bool tl2::MyMcValue::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::MyMcValueReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::MyMcValue::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyMcValueWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::MyMcValueReset(::tl2::MyMcValue& item) { - ::tl2::details::Service1ValueReset(item.x); -} - -bool tl2::details::MyMcValueWriteJSON(std::ostream& s, const ::tl2::MyMcValue& item) { - s << "{"; - s << "\"x\":"; - if (!::tl2::details::Service1ValueWriteJSON(s, item.x)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::MyMcValueRead(::basictl::tl_istream & s, ::tl2::MyMcValue& item) { - if (!::tl2::details::Service1ValueReadBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::MyMcValueWrite(::basictl::tl_ostream & s, const ::tl2::MyMcValue& item) { - if (!::tl2::details::Service1ValueWriteBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::MyMcValueReadBoxed(::basictl::tl_istream & s, ::tl2::MyMcValue& item) { - if (!s.nat_read_exact_tag(0xe2ffd978)) { return false; } - return tl2::details::MyMcValueRead(s, item); -} - -bool tl2::details::MyMcValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMcValue& item) { - if (!s.nat_write(0xe2ffd978)) { return false; } - return tl2::details::MyMcValueWrite(s, item); -} - -bool tl2::MyMcValueTuple::write_json(std::ostream& s)const { - if (!::tl2::details::MyMcValueTupleWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::MyMcValueTuple::read(::basictl::tl_istream & s) { - if (!::tl2::details::MyMcValueTupleRead(s, *this)) { return false; } - return true; -} - -bool tl2::MyMcValueTuple::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyMcValueTupleWrite(s, *this)) { return false; } - return true; -} - -bool tl2::MyMcValueTuple::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::MyMcValueTupleReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::MyMcValueTuple::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyMcValueTupleWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::MyMcValueTupleReset(::tl2::MyMcValueTuple& item) { - ::tl2::details::BuiltinTuple3Service1ValueReset(item.xs); -} - -bool tl2::details::MyMcValueTupleWriteJSON(std::ostream& s, const ::tl2::MyMcValueTuple& item) { - s << "{"; - s << "\"xs\":"; - if (!::tl2::details::BuiltinTuple3Service1ValueWriteJSON(s, item.xs)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::MyMcValueTupleRead(::basictl::tl_istream & s, ::tl2::MyMcValueTuple& item) { - if (!::tl2::details::BuiltinTuple3Service1ValueRead(s, item.xs)) { return false; } - return true; -} - -bool tl2::details::MyMcValueTupleWrite(::basictl::tl_ostream & s, const ::tl2::MyMcValueTuple& item) { - if (!::tl2::details::BuiltinTuple3Service1ValueWrite(s, item.xs)) { return false; } - return true; -} - -bool tl2::details::MyMcValueTupleReadBoxed(::basictl::tl_istream & s, ::tl2::MyMcValueTuple& item) { - if (!s.nat_read_exact_tag(0x1287d116)) { return false; } - return tl2::details::MyMcValueTupleRead(s, item); -} - -bool tl2::details::MyMcValueTupleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMcValueTuple& item) { - if (!s.nat_write(0x1287d116)) { return false; } - return tl2::details::MyMcValueTupleWrite(s, item); -} - -bool tl2::MyMcValueVector::write_json(std::ostream& s)const { - if (!::tl2::details::MyMcValueVectorWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::MyMcValueVector::read(::basictl::tl_istream & s) { - if (!::tl2::details::MyMcValueVectorRead(s, *this)) { return false; } - return true; -} - -bool tl2::MyMcValueVector::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyMcValueVectorWrite(s, *this)) { return false; } - return true; -} - -bool tl2::MyMcValueVector::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::MyMcValueVectorReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::MyMcValueVector::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyMcValueVectorWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::MyMcValueVectorReset(::tl2::MyMcValueVector& item) { - item.xs.clear(); -} - -bool tl2::details::MyMcValueVectorWriteJSON(std::ostream& s, const ::tl2::MyMcValueVector& item) { - s << "{"; - if (item.xs.size() != 0) { - s << "\"xs\":"; - if (!::tl2::details::BuiltinVectorService1ValueWriteJSON(s, item.xs)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::MyMcValueVectorRead(::basictl::tl_istream & s, ::tl2::MyMcValueVector& item) { - if (!::tl2::details::BuiltinVectorService1ValueRead(s, item.xs)) { return false; } - return true; -} - -bool tl2::details::MyMcValueVectorWrite(::basictl::tl_ostream & s, const ::tl2::MyMcValueVector& item) { - if (!::tl2::details::BuiltinVectorService1ValueWrite(s, item.xs)) { return false; } - return true; -} - -bool tl2::details::MyMcValueVectorReadBoxed(::basictl::tl_istream & s, ::tl2::MyMcValueVector& item) { - if (!s.nat_read_exact_tag(0x761d6d58)) { return false; } - return tl2::details::MyMcValueVectorRead(s, item); -} - -bool tl2::details::MyMcValueVectorWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMcValueVector& item) { - if (!s.nat_write(0x761d6d58)) { return false; } - return tl2::details::MyMcValueVectorWrite(s, item); -} - -bool tl2::MyString::write_json(std::ostream& s)const { - if (!::tl2::details::MyStringWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::MyString::read(::basictl::tl_istream & s) { - if (!::tl2::details::MyStringRead(s, *this)) { return false; } - return true; -} - -bool tl2::MyString::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyStringWrite(s, *this)) { return false; } - return true; -} - -bool tl2::MyString::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::MyStringReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::MyString::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyStringWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::MyStringReset(::tl2::MyString& item) { - item.val2.clear(); -} - -bool tl2::details::MyStringWriteJSON(std::ostream& s, const ::tl2::MyString& item) { - s << "{"; - if (item.val2.size() != 0) { - s << "\"val2\":"; - s << "\"" << item.val2 << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::MyStringRead(::basictl::tl_istream & s, ::tl2::MyString& item) { - if (!s.nat_read_exact_tag(0xb5286e24)) { return false;} - if (!s.string_read(item.val2)) { return false; } - return true; -} - -bool tl2::details::MyStringWrite(::basictl::tl_ostream & s, const ::tl2::MyString& item) { - if (!s.nat_write(0xb5286e24)) { return false; } - if (!s.string_write(item.val2)) { return false;} - return true; -} - -bool tl2::details::MyStringReadBoxed(::basictl::tl_istream & s, ::tl2::MyString& item) { - if (!s.nat_read_exact_tag(0xc8bfa969)) { return false; } - return tl2::details::MyStringRead(s, item); -} - -bool tl2::details::MyStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyString& item) { - if (!s.nat_write(0xc8bfa969)) { return false; } - return tl2::details::MyStringWrite(s, item); -} - -void tl2::details::MyTuple10Reset(::tl2::MyTuplen<10>& item) { - ::tl2::details::BuiltinTuple10IntBoxedReset(item); -} - -bool tl2::details::MyTuple10WriteJSON(std::ostream& s, const ::tl2::MyTuplen<10>& item) { - if (!::tl2::details::BuiltinTuple10IntBoxedWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::MyTuple10Read(::basictl::tl_istream & s, ::tl2::MyTuplen<10>& item) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTuple10IntBoxedRead(s, item)) { return false; } - return true; -} - -bool tl2::details::MyTuple10Write(::basictl::tl_ostream & s, const ::tl2::MyTuplen<10>& item) { - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTuple10IntBoxedWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::MyTuple10ReadBoxed(::basictl::tl_istream & s, ::tl2::MyTuplen<10>& item) { - if (!s.nat_read_exact_tag(0x62c51172)) { return false; } - return tl2::details::MyTuple10Read(s, item); -} - -bool tl2::details::MyTuple10WriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyTuplen<10>& item) { - if (!s.nat_write(0x62c51172)) { return false; } - return tl2::details::MyTuple10Write(s, item); -} - -bool tl2::details::MyTuple10MaybeWriteJSON(std::ostream & s, const std::optional<::tl2::MyTuplen<10>>& item) { - s << "{"; - if (item) { - s << "\"ok\":true"; - s << ",\"value\":"; - if (!::tl2::details::MyTuple10WriteJSON(s, *item)) { return false; } - } - s << "}"; - return true; -} -bool tl2::details::MyTuple10MaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::MyTuplen<10>>& item) { - bool has_item = false; - if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } - if (has_item) { - if (!item) { - item.emplace(); - } - if (!::tl2::details::MyTuple10Read(s, *item)) { return false; } - return true; - } - item.reset(); - return true; -} - -bool tl2::details::MyTuple10MaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::MyTuplen<10>>& item) { - if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } - if (item) { - if (!::tl2::details::MyTuple10Write(s, *item)) { return false; } - } - return true; -} - -bool tl2::MyTwoDicts::write_json(std::ostream& s)const { - if (!::tl2::details::MyTwoDictsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::MyTwoDicts::read(::basictl::tl_istream & s) { - if (!::tl2::details::MyTwoDictsRead(s, *this)) { return false; } - return true; -} - -bool tl2::MyTwoDicts::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyTwoDictsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::MyTwoDicts::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::MyTwoDictsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::MyTwoDicts::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyTwoDictsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::MyTwoDictsReset(::tl2::MyTwoDicts& item) { - ::tl2::details::DictionaryIntReset(item.a); - ::tl2::details::DictionaryIntReset(item.b); -} - -bool tl2::details::MyTwoDictsWriteJSON(std::ostream& s, const ::tl2::MyTwoDicts& item) { - auto add_comma = false; - s << "{"; - if (item.a.size() != 0) { - add_comma = true; - s << "\"a\":"; - if (!::tl2::details::DictionaryIntWriteJSON(s, item.a)) { return false; } - } - if (item.b.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"b\":"; - if (!::tl2::details::DictionaryIntWriteJSON(s, item.b)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::MyTwoDictsRead(::basictl::tl_istream & s, ::tl2::MyTwoDicts& item) { - if (!::tl2::details::DictionaryIntRead(s, item.a)) { return false; } - if (!::tl2::details::DictionaryIntRead(s, item.b)) { return false; } - return true; -} - -bool tl2::details::MyTwoDictsWrite(::basictl::tl_ostream & s, const ::tl2::MyTwoDicts& item) { - if (!::tl2::details::DictionaryIntWrite(s, item.a)) { return false; } - if (!::tl2::details::DictionaryIntWrite(s, item.b)) { return false; } - return true; -} - -bool tl2::details::MyTwoDictsReadBoxed(::basictl::tl_istream & s, ::tl2::MyTwoDicts& item) { - if (!s.nat_read_exact_tag(0xa859581d)) { return false; } - return tl2::details::MyTwoDictsRead(s, item); -} - -bool tl2::details::MyTwoDictsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyTwoDicts& item) { - if (!s.nat_write(0xa859581d)) { return false; } - return tl2::details::MyTwoDictsWrite(s, item); -} - -static const std::string_view MyValue_tbl_tl_name[]{"myInt", "myString"}; -static const uint32_t MyValue_tbl_tl_tag[]{0xc12375b7, 0xc8bfa969}; - -bool tl2::MyValue::write_json(std::ostream & s)const { - if (!::tl2::details::MyValueWriteJSON(s, *this)) { return false; } - return true; -} -bool tl2::MyValue::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::MyValueReadBoxed(s, *this)) { return false; } - return true; -} -bool tl2::MyValue::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::MyValueWriteBoxed(s, *this)) { return false; } - return true; -} -std::string_view tl2::MyValue::tl_name() const { - return MyValue_tbl_tl_name[value.index()]; -} -uint32_t tl2::MyValue::tl_tag() const { - return MyValue_tbl_tl_tag[value.index()]; -} - - -void tl2::details::MyValueReset(::tl2::MyValue& item) { - item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function -} - -bool tl2::details::MyValueWriteJSON(std::ostream & s, const ::tl2::MyValue& item) { - s << "{"; - s << "\"type\":"; - s << "\"" << MyValue_tbl_tl_name[item.value.index()] << "\""; - switch (item.value.index()) { - case 0: - s << ",\"value\":"; - if (!::tl2::details::MyIntWriteJSON(s, std::get<0>(item.value))) { return false; } - break; - case 1: - s << ",\"value\":"; - if (!::tl2::details::MyStringWriteJSON(s, std::get<1>(item.value))) { return false; } - break; - } - s << "}"; - return true; -} -bool tl2::details::MyValueReadBoxed(::basictl::tl_istream & s, ::tl2::MyValue& item) { - uint32_t nat; - s.nat_read(nat); - switch (nat) { - case 0xc12375b7: - if (item.value.index() != 0) { item.value.emplace<0>(); } - if (!::tl2::details::MyIntRead(s, std::get<0>(item.value))) { return false; } - break; - case 0xc8bfa969: - if (item.value.index() != 1) { item.value.emplace<1>(); } - if (!::tl2::details::MyStringRead(s, std::get<1>(item.value))) { return false; } - break; - default: - return s.set_error_union_tag(); - } - return true; -} - -bool tl2::details::MyValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyValue& item) { - s.nat_write(MyValue_tbl_tl_tag[item.value.index()]); - switch (item.value.index()) { - case 0: - if (!::tl2::details::MyIntWrite(s, std::get<0>(item.value))) { return false; } - break; - case 1: - if (!::tl2::details::MyStringWrite(s, std::get<1>(item.value))) { return false; } - break; - } - return true; -} - -bool tl2::NonOptNat::write_json(std::ostream& s)const { - if (!::tl2::details::NonOptNatWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::NonOptNat::read(::basictl::tl_istream & s) { - if (!::tl2::details::NonOptNatRead(s, *this)) { return false; } - return true; -} - -bool tl2::NonOptNat::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::NonOptNatWrite(s, *this)) { return false; } - return true; -} - -bool tl2::NonOptNat::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::NonOptNatReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::NonOptNat::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::NonOptNatWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::NonOptNatReset(::tl2::NonOptNat& item) { - item.n = 0; - item.xs.clear(); -} - -bool tl2::details::NonOptNatWriteJSON(std::ostream& s, const ::tl2::NonOptNat& item) { - auto add_comma = false; - s << "{"; - if (item.n != 0) { - add_comma = true; - s << "\"n\":"; - s << item.n; - } - if ((item.xs.size() != 0) || (item.n != 0)) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"xs\":"; - if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.xs, item.n)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::NonOptNatRead(::basictl::tl_istream & s, ::tl2::NonOptNat& item) { - if (!s.nat_read(item.n)) { return false; } - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTupleIntRead(s, item.xs, item.n)) { return false; } - return true; -} - -bool tl2::details::NonOptNatWrite(::basictl::tl_ostream & s, const ::tl2::NonOptNat& item) { - if (!s.nat_write(item.n)) { return false;} - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTupleIntWrite(s, item.xs, item.n)) { return false; } - return true; -} - -bool tl2::details::NonOptNatReadBoxed(::basictl::tl_istream & s, ::tl2::NonOptNat& item) { - if (!s.nat_read_exact_tag(0x45366605)) { return false; } - return tl2::details::NonOptNatRead(s, item); -} - -bool tl2::details::NonOptNatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::NonOptNat& item) { - if (!s.nat_write(0x45366605)) { return false; } - return tl2::details::NonOptNatWrite(s, item); -} - -void tl2::details::RightIntVectorService6FindWithBoundsResultReset(::tl2::Right>& item) { - item.value.clear(); -} - -bool tl2::details::RightIntVectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const ::tl2::Right>& item) { - s << "{"; - if (item.value.size() != 0) { - s << "\"value\":"; - if (!::tl2::details::BuiltinVectorService6FindWithBoundsResultWriteJSON(s, item.value)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::RightIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, ::tl2::Right>& item) { - if (!::tl2::details::BuiltinVectorService6FindWithBoundsResultRead(s, item.value)) { return false; } - return true; -} - -bool tl2::details::RightIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const ::tl2::Right>& item) { - if (!::tl2::details::BuiltinVectorService6FindWithBoundsResultWrite(s, item.value)) { return false; } - return true; -} - -bool tl2::details::RightIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::Right>& item) { - if (!s.nat_read_exact_tag(0xdf3ecb3b)) { return false; } - return tl2::details::RightIntVectorService6FindWithBoundsResultRead(s, item); -} - -bool tl2::details::RightIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Right>& item) { - if (!s.nat_write(0xdf3ecb3b)) { return false; } - return tl2::details::RightIntVectorService6FindWithBoundsResultWrite(s, item); -} - -void tl2::details::RightService6ErrorVectorService6FindResultRowReset(::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - item.value.clear(); -} - -bool tl2::details::RightService6ErrorVectorService6FindResultRowWriteJSON(std::ostream& s, const ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - s << "{"; - if (item.value.size() != 0) { - s << "\"value\":"; - if (!::tl2::details::BuiltinVectorService6FindResultRowWriteJSON(s, item.value)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::RightService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - if (!::tl2::details::BuiltinVectorService6FindResultRowRead(s, item.value)) { return false; } - return true; -} - -bool tl2::details::RightService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - if (!::tl2::details::BuiltinVectorService6FindResultRowWrite(s, item.value)) { return false; } - return true; -} - -bool tl2::details::RightService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - if (!s.nat_read_exact_tag(0xdf3ecb3b)) { return false; } - return tl2::details::RightService6ErrorVectorService6FindResultRowRead(s, item); -} - -bool tl2::details::RightService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item) { - if (!s.nat_write(0xdf3ecb3b)) { return false; } - return tl2::details::RightService6ErrorVectorService6FindResultRowWrite(s, item); -} - -bool tl2::RpcInvokeReqExtra::write_json(std::ostream& s)const { - if (!::tl2::details::RpcInvokeReqExtraWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::RpcInvokeReqExtra::read(::basictl::tl_istream & s) { - if (!::tl2::details::RpcInvokeReqExtraRead(s, *this)) { return false; } - return true; -} - -bool tl2::RpcInvokeReqExtra::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::RpcInvokeReqExtraWrite(s, *this)) { return false; } - return true; -} - -bool tl2::RpcInvokeReqExtra::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::RpcInvokeReqExtraReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::RpcInvokeReqExtra::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::RpcInvokeReqExtraWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::RpcInvokeReqExtraReset(::tl2::RpcInvokeReqExtra& item) { - item.fields_mask = 0; - ::tl2::details::TrueReset(item.query); - ::tl2::details::TrueReset(item.sort); - ::tl2::details::TrueReset(item.sort_reverse); - item.wait_binlog_pos = 0; - item.string_forward_keys.clear(); -} - -bool tl2::details::RpcInvokeReqExtraWriteJSON(std::ostream& s, const ::tl2::RpcInvokeReqExtra& item) { - auto add_comma = false; - s << "{"; - if (item.fields_mask != 0) { - add_comma = true; - s << "\"fields_mask\":"; - s << item.fields_mask; - } - if ((item.fields_mask & (1<<0)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"query\":"; - if (!::tl2::details::TrueWriteJSON(s, item.query)) { return false; } - } - if ((item.fields_mask & (1<<1)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"sort\":"; - if (!::tl2::details::TrueWriteJSON(s, item.sort)) { return false; } - } - if ((item.fields_mask & (1<<2)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"sort_reverse\":"; - if (!::tl2::details::TrueWriteJSON(s, item.sort_reverse)) { return false; } - } - if ((item.fields_mask & (1<<16)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"wait_binlog_pos\":"; - s << item.wait_binlog_pos; - } - if ((item.fields_mask & (1<<18)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"string_forward_keys\":"; - if (!::tl2::details::BuiltinVectorStringWriteJSON(s, item.string_forward_keys)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::RpcInvokeReqExtraRead(::basictl::tl_istream & s, ::tl2::RpcInvokeReqExtra& item) { - if (!s.nat_read(item.fields_mask)) { return false; } - if ((item.fields_mask & (1<<0)) != 0) { - if (!::tl2::details::TrueRead(s, item.query)) { return false; } - } else { - ::tl2::details::TrueReset(item.query); - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!::tl2::details::TrueRead(s, item.sort)) { return false; } - } else { - ::tl2::details::TrueReset(item.sort); - } - if ((item.fields_mask & (1<<2)) != 0) { - if (!::tl2::details::TrueRead(s, item.sort_reverse)) { return false; } - } else { - ::tl2::details::TrueReset(item.sort_reverse); - } - if ((item.fields_mask & (1<<16)) != 0) { - if (!s.long_read(item.wait_binlog_pos)) { return false; } - } else { - item.wait_binlog_pos = 0; - } - if ((item.fields_mask & (1<<18)) != 0) { - if (!::tl2::details::BuiltinVectorStringRead(s, item.string_forward_keys)) { return false; } - } else { - item.string_forward_keys.clear(); - } - return true; -} - -bool tl2::details::RpcInvokeReqExtraWrite(::basictl::tl_ostream & s, const ::tl2::RpcInvokeReqExtra& item) { - if (!s.nat_write(item.fields_mask)) { return false;} - if ((item.fields_mask & (1<<0)) != 0) { - if (!::tl2::details::TrueWrite(s, item.query)) { return false; } - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!::tl2::details::TrueWrite(s, item.sort)) { return false; } - } - if ((item.fields_mask & (1<<2)) != 0) { - if (!::tl2::details::TrueWrite(s, item.sort_reverse)) { return false; } - } - if ((item.fields_mask & (1<<16)) != 0) { - if (!s.long_write(item.wait_binlog_pos)) { return false;} - } - if ((item.fields_mask & (1<<18)) != 0) { - if (!::tl2::details::BuiltinVectorStringWrite(s, item.string_forward_keys)) { return false; } - } - return true; -} - -bool tl2::details::RpcInvokeReqExtraReadBoxed(::basictl::tl_istream & s, ::tl2::RpcInvokeReqExtra& item) { - if (!s.nat_read_exact_tag(0xf3ef81a9)) { return false; } - return tl2::details::RpcInvokeReqExtraRead(s, item); -} - -bool tl2::details::RpcInvokeReqExtraWriteBoxed(::basictl::tl_ostream & s, const ::tl2::RpcInvokeReqExtra& item) { - if (!s.nat_write(0xf3ef81a9)) { return false; } - return tl2::details::RpcInvokeReqExtraWrite(s, item); -} - -bool tl2::StatOne::write_json(std::ostream& s)const { - if (!::tl2::details::StatOneWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::StatOne::read(::basictl::tl_istream & s) { - if (!::tl2::details::StatOneRead(s, *this)) { return false; } - return true; -} - -bool tl2::StatOne::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::StatOneWrite(s, *this)) { return false; } - return true; -} - -bool tl2::StatOne::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::StatOneReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::StatOne::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::StatOneWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::StatOneReset(::tl2::StatOne& item) { - item.key.clear(); - item.value.clear(); -} - -bool tl2::details::StatOneWriteJSON(std::ostream& s, const ::tl2::StatOne& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.value.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << "\"" << item.value << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::StatOneRead(::basictl::tl_istream & s, ::tl2::StatOne& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.string_read(item.value)) { return false; } - return true; -} - -bool tl2::details::StatOneWrite(::basictl::tl_ostream & s, const ::tl2::StatOne& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.string_write(item.value)) { return false;} - return true; -} - -bool tl2::details::StatOneReadBoxed(::basictl::tl_istream & s, ::tl2::StatOne& item) { - if (!s.nat_read_exact_tag(0x74b0604b)) { return false; } - return tl2::details::StatOneRead(s, item); -} - -bool tl2::details::StatOneWriteBoxed(::basictl::tl_ostream & s, const ::tl2::StatOne& item) { - if (!s.nat_write(0x74b0604b)) { return false; } - return tl2::details::StatOneWrite(s, item); -} - -void tl2::details::StringReset(std::string& item) { - item.clear(); -} - -bool tl2::details::StringWriteJSON(std::ostream& s, const std::string& item) { - s << "\"" << item << "\""; - return true; -} - -bool tl2::details::StringRead(::basictl::tl_istream & s, std::string& item) { - if (!s.string_read(item)) { return false; } - return true; -} - -bool tl2::details::StringWrite(::basictl::tl_ostream & s, const std::string& item) { - if (!s.string_write(item)) { return false;} - return true; -} - -bool tl2::details::StringReadBoxed(::basictl::tl_istream & s, std::string& item) { - if (!s.nat_read_exact_tag(0xb5286e24)) { return false; } - return tl2::details::StringRead(s, item); -} - -bool tl2::details::StringWriteBoxed(::basictl::tl_ostream & s, const std::string& item) { - if (!s.nat_write(0xb5286e24)) { return false; } - return tl2::details::StringWrite(s, item); -} - -bool tl2::True::write_json(std::ostream& s)const { - if (!::tl2::details::TrueWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::True::read(::basictl::tl_istream & s) { - if (!::tl2::details::TrueRead(s, *this)) { return false; } - return true; -} - -bool tl2::True::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TrueWrite(s, *this)) { return false; } - return true; -} - -bool tl2::True::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TrueReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::True::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TrueWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TrueReset(::tl2::True& item) { -} - -bool tl2::details::TrueWriteJSON(std::ostream& s, const ::tl2::True& item) { - s << "true"; - return true; -} - -bool tl2::details::TrueRead(::basictl::tl_istream & s, ::tl2::True& item) { - return true; -} - -bool tl2::details::TrueWrite(::basictl::tl_ostream & s, const ::tl2::True& item) { - return true; -} - -bool tl2::details::TrueReadBoxed(::basictl::tl_istream & s, ::tl2::True& item) { - if (!s.nat_read_exact_tag(0x3fedd339)) { return false; } - return tl2::details::TrueRead(s, item); -} - -bool tl2::details::TrueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::True& item) { - if (!s.nat_write(0x3fedd339)) { return false; } - return tl2::details::TrueWrite(s, item); -} - -void tl2::details::TupleIntReset(std::vector& item) { - item.clear(); -} - -bool tl2::details::TupleIntWriteJSON(std::ostream& s, const std::vector& item, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item, nat_n)) { return false; } - return true; -} - -bool tl2::details::TupleIntRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleIntRead(s, item, nat_n)) { return false; } - return true; -} - -bool tl2::details::TupleIntWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleIntWrite(s, item, nat_n)) { return false; } - return true; -} - -bool tl2::details::TupleIntReadBoxed(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false; } - return tl2::details::TupleIntRead(s, item, nat_n); -} - -bool tl2::details::TupleIntWriteBoxed(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { - if (!s.nat_write(0x9770768a)) { return false; } - return tl2::details::TupleIntWrite(s, item, nat_n); -} - -void tl2::details::TupleInt3Reset(std::array& item) { - ::tl2::details::BuiltinTuple3IntReset(item); -} - -bool tl2::details::TupleInt3WriteJSON(std::ostream& s, const std::array& item) { - if (!::tl2::details::BuiltinTuple3IntWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleInt3Read(::basictl::tl_istream & s, std::array& item) { - if (!::tl2::details::BuiltinTuple3IntRead(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleInt3Write(::basictl::tl_ostream & s, const std::array& item) { - if (!::tl2::details::BuiltinTuple3IntWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleInt3ReadBoxed(::basictl::tl_istream & s, std::array& item) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false; } - return tl2::details::TupleInt3Read(s, item); -} - -bool tl2::details::TupleInt3WriteBoxed(::basictl::tl_ostream & s, const std::array& item) { - if (!s.nat_write(0x9770768a)) { return false; } - return tl2::details::TupleInt3Write(s, item); -} - -void tl2::details::TupleInt5Reset(std::array& item) { - ::tl2::details::BuiltinTuple5IntReset(item); -} - -bool tl2::details::TupleInt5WriteJSON(std::ostream& s, const std::array& item) { - if (!::tl2::details::BuiltinTuple5IntWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleInt5Read(::basictl::tl_istream & s, std::array& item) { - if (!::tl2::details::BuiltinTuple5IntRead(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleInt5Write(::basictl::tl_ostream & s, const std::array& item) { - if (!::tl2::details::BuiltinTuple5IntWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleInt5ReadBoxed(::basictl::tl_istream & s, std::array& item) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false; } - return tl2::details::TupleInt5Read(s, item); -} - -bool tl2::details::TupleInt5WriteBoxed(::basictl::tl_ostream & s, const std::array& item) { - if (!s.nat_write(0x9770768a)) { return false; } - return tl2::details::TupleInt5Write(s, item); -} - -void tl2::details::TupleIntBoxedReset(std::vector& item) { - item.clear(); -} - -bool tl2::details::TupleIntBoxedWriteJSON(std::ostream& s, const std::vector& item, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleIntBoxedWriteJSON(s, item, nat_n)) { return false; } - return true; -} - -bool tl2::details::TupleIntBoxedRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleIntBoxedRead(s, item, nat_n)) { return false; } - return true; -} - -bool tl2::details::TupleIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleIntBoxedWrite(s, item, nat_n)) { return false; } - return true; -} - -bool tl2::details::TupleIntBoxedReadBoxed(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false; } - return tl2::details::TupleIntBoxedRead(s, item, nat_n); -} - -bool tl2::details::TupleIntBoxedWriteBoxed(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { - if (!s.nat_write(0x9770768a)) { return false; } - return tl2::details::TupleIntBoxedWrite(s, item, nat_n); -} - -void tl2::details::TupleIntBoxed10Reset(std::array& item) { - ::tl2::details::BuiltinTuple10IntBoxedReset(item); -} - -bool tl2::details::TupleIntBoxed10WriteJSON(std::ostream& s, const std::array& item) { - if (!::tl2::details::BuiltinTuple10IntBoxedWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleIntBoxed10Read(::basictl::tl_istream & s, std::array& item) { - if (!::tl2::details::BuiltinTuple10IntBoxedRead(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleIntBoxed10Write(::basictl::tl_ostream & s, const std::array& item) { - if (!::tl2::details::BuiltinTuple10IntBoxedWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleIntBoxed10ReadBoxed(::basictl::tl_istream & s, std::array& item) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false; } - return tl2::details::TupleIntBoxed10Read(s, item); -} - -bool tl2::details::TupleIntBoxed10WriteBoxed(::basictl::tl_ostream & s, const std::array& item) { - if (!s.nat_write(0x9770768a)) { return false; } - return tl2::details::TupleIntBoxed10Write(s, item); -} - -void tl2::details::TupleIntBoxed2Reset(std::array& item) { - ::tl2::details::BuiltinTuple2IntBoxedReset(item); -} - -bool tl2::details::TupleIntBoxed2WriteJSON(std::ostream& s, const std::array& item) { - if (!::tl2::details::BuiltinTuple2IntBoxedWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleIntBoxed2Read(::basictl::tl_istream & s, std::array& item) { - if (!::tl2::details::BuiltinTuple2IntBoxedRead(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleIntBoxed2Write(::basictl::tl_ostream & s, const std::array& item) { - if (!::tl2::details::BuiltinTuple2IntBoxedWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleIntBoxed2ReadBoxed(::basictl::tl_istream & s, std::array& item) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false; } - return tl2::details::TupleIntBoxed2Read(s, item); -} - -bool tl2::details::TupleIntBoxed2WriteBoxed(::basictl::tl_ostream & s, const std::array& item) { - if (!s.nat_write(0x9770768a)) { return false; } - return tl2::details::TupleIntBoxed2Write(s, item); -} - -void tl2::details::TupleService1Value3Reset(std::array<::tl2::service1::Value, 3>& item) { - ::tl2::details::BuiltinTuple3Service1ValueReset(item); -} - -bool tl2::details::TupleService1Value3WriteJSON(std::ostream& s, const std::array<::tl2::service1::Value, 3>& item) { - if (!::tl2::details::BuiltinTuple3Service1ValueWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleService1Value3Read(::basictl::tl_istream & s, std::array<::tl2::service1::Value, 3>& item) { - if (!::tl2::details::BuiltinTuple3Service1ValueRead(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleService1Value3Write(::basictl::tl_ostream & s, const std::array<::tl2::service1::Value, 3>& item) { - if (!::tl2::details::BuiltinTuple3Service1ValueWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::TupleService1Value3ReadBoxed(::basictl::tl_istream & s, std::array<::tl2::service1::Value, 3>& item) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false; } - return tl2::details::TupleService1Value3Read(s, item); -} - -bool tl2::details::TupleService1Value3WriteBoxed(::basictl::tl_ostream & s, const std::array<::tl2::service1::Value, 3>& item) { - if (!s.nat_write(0x9770768a)) { return false; } - return tl2::details::TupleService1Value3Write(s, item); -} - -void tl2::details::TupleService2CounterSetReset(std::vector<::tl2::service2::CounterSet>& item) { - item.clear(); -} - -bool tl2::details::TupleService2CounterSetWriteJSON(std::ostream& s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleService2CounterSetWriteJSON(s, item, nat_n, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } - return true; -} - -bool tl2::details::TupleService2CounterSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleService2CounterSetRead(s, item, nat_n, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } - return true; -} - -bool tl2::details::TupleService2CounterSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleService2CounterSetWrite(s, item, nat_n, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } - return true; -} - -bool tl2::details::TupleService2CounterSetReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false; } - return tl2::details::TupleService2CounterSetRead(s, item, nat_tintCountersNum, nat_tfloatCountersNum, nat_n); -} - -bool tl2::details::TupleService2CounterSetWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { - if (!s.nat_write(0x9770768a)) { return false; } - return tl2::details::TupleService2CounterSetWrite(s, item, nat_tintCountersNum, nat_tfloatCountersNum, nat_n); -} - -void tl2::details::VectorDictionaryFieldIntReset(std::vector<::tl2::DictionaryField>& item) { - item.clear(); -} - -bool tl2::details::VectorDictionaryFieldIntWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldIntWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorDictionaryFieldIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldIntRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorDictionaryFieldIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldIntWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorDictionaryFieldIntReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorDictionaryFieldIntRead(s, item); -} - -bool tl2::details::VectorDictionaryFieldIntWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorDictionaryFieldIntWrite(s, item); -} - -void tl2::details::VectorEitherIntVectorService6FindWithBoundsResultReset(std::vector<::tl2::Either>>& item) { - item.clear(); -} - -bool tl2::details::VectorEitherIntVectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const std::vector<::tl2::Either>>& item) { - if (!::tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorEitherIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::Either>>& item) { - if (!::tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorEitherIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either>>& item) { - if (!::tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorEitherIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Either>>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorEitherIntVectorService6FindWithBoundsResultRead(s, item); -} - -bool tl2::details::VectorEitherIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Either>>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorEitherIntVectorService6FindWithBoundsResultWrite(s, item); -} - -void tl2::details::VectorEitherService6ErrorVectorService6FindResultRowReset(std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { - item.clear(); -} - -bool tl2::details::VectorEitherService6ErrorVectorService6FindResultRowWriteJSON(std::ostream& s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { - if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorEitherService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { - if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorEitherService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { - if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorEitherService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorEitherService6ErrorVectorService6FindResultRowRead(s, item); -} - -bool tl2::details::VectorEitherService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorEitherService6ErrorVectorService6FindResultRowWrite(s, item); -} - -void tl2::details::VectorIntReset(std::vector& item) { - item.clear(); -} - -bool tl2::details::VectorIntWriteJSON(std::ostream& s, const std::vector& item) { - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorIntRead(::basictl::tl_istream & s, std::vector& item) { - if (!::tl2::details::BuiltinVectorIntRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorIntWrite(::basictl::tl_ostream & s, const std::vector& item) { - if (!::tl2::details::BuiltinVectorIntWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorIntReadBoxed(::basictl::tl_istream & s, std::vector& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorIntRead(s, item); -} - -bool tl2::details::VectorIntWriteBoxed(::basictl::tl_ostream & s, const std::vector& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorIntWrite(s, item); -} - -void tl2::details::VectorIntBoxedReset(std::vector& item) { - item.clear(); -} - -bool tl2::details::VectorIntBoxedWriteJSON(std::ostream& s, const std::vector& item) { - if (!::tl2::details::BuiltinVectorIntBoxedWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorIntBoxedRead(::basictl::tl_istream & s, std::vector& item) { - if (!::tl2::details::BuiltinVectorIntBoxedRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item) { - if (!::tl2::details::BuiltinVectorIntBoxedWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorIntBoxedReadBoxed(::basictl::tl_istream & s, std::vector& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorIntBoxedRead(s, item); -} - -bool tl2::details::VectorIntBoxedWriteBoxed(::basictl::tl_ostream & s, const std::vector& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorIntBoxedWrite(s, item); -} - -void tl2::details::VectorIntegerReset(std::vector<::tl2::Integer>& item) { - item.clear(); -} - -bool tl2::details::VectorIntegerWriteJSON(std::ostream& s, const std::vector<::tl2::Integer>& item) { - if (!::tl2::details::BuiltinVectorIntegerWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorIntegerRead(::basictl::tl_istream & s, std::vector<::tl2::Integer>& item) { - if (!::tl2::details::BuiltinVectorIntegerRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorIntegerWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Integer>& item) { - if (!::tl2::details::BuiltinVectorIntegerWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorIntegerReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Integer>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorIntegerRead(s, item); -} - -bool tl2::details::VectorIntegerWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Integer>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorIntegerWrite(s, item); -} - -void tl2::details::VectorLongBoxedReset(std::vector& item) { - item.clear(); -} - -bool tl2::details::VectorLongBoxedWriteJSON(std::ostream& s, const std::vector& item) { - if (!::tl2::details::BuiltinVectorLongBoxedWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorLongBoxedRead(::basictl::tl_istream & s, std::vector& item) { - if (!::tl2::details::BuiltinVectorLongBoxedRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorLongBoxedWrite(::basictl::tl_ostream & s, const std::vector& item) { - if (!::tl2::details::BuiltinVectorLongBoxedWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorLongBoxedReadBoxed(::basictl::tl_istream & s, std::vector& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorLongBoxedRead(s, item); -} - -bool tl2::details::VectorLongBoxedWriteBoxed(::basictl::tl_ostream & s, const std::vector& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorLongBoxedWrite(s, item); -} - -void tl2::details::VectorMapStringStringReset(std::vector<::tl2::Map>& item) { - item.clear(); -} - -bool tl2::details::VectorMapStringStringWriteJSON(std::ostream& s, const std::vector<::tl2::Map>& item) { - if (!::tl2::details::BuiltinVectorMapStringStringWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorMapStringStringRead(::basictl::tl_istream & s, std::vector<::tl2::Map>& item) { - if (!::tl2::details::BuiltinVectorMapStringStringRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorMapStringStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Map>& item) { - if (!::tl2::details::BuiltinVectorMapStringStringWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorMapStringStringReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Map>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorMapStringStringRead(s, item); -} - -bool tl2::details::VectorMapStringStringWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Map>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorMapStringStringWrite(s, item); -} - -void tl2::details::VectorService1ValueReset(std::vector<::tl2::service1::Value>& item) { - item.clear(); -} - -bool tl2::details::VectorService1ValueWriteJSON(std::ostream& s, const std::vector<::tl2::service1::Value>& item) { - if (!::tl2::details::BuiltinVectorService1ValueWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::service1::Value>& item) { - if (!::tl2::details::BuiltinVectorService1ValueRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service1::Value>& item) { - if (!::tl2::details::BuiltinVectorService1ValueWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService1ValueReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service1::Value>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorService1ValueRead(s, item); -} - -bool tl2::details::VectorService1ValueWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service1::Value>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorService1ValueWrite(s, item); -} - -void tl2::details::VectorService6FindResultRowReset(std::vector<::tl2::service6::FindResultRow>& item) { - item.clear(); -} - -bool tl2::details::VectorService6FindResultRowWriteJSON(std::ostream& s, const std::vector<::tl2::service6::FindResultRow>& item) { - if (!::tl2::details::BuiltinVectorService6FindResultRowWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindResultRow>& item) { - if (!::tl2::details::BuiltinVectorService6FindResultRowRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindResultRow>& item) { - if (!::tl2::details::BuiltinVectorService6FindResultRowWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service6::FindResultRow>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorService6FindResultRowRead(s, item); -} - -bool tl2::details::VectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindResultRow>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorService6FindResultRowWrite(s, item); -} - -void tl2::details::VectorService6FindWithBoundsResultReset(std::vector<::tl2::service6::FindWithBoundsResult>& item) { - item.clear(); -} - -bool tl2::details::VectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const std::vector<::tl2::service6::FindWithBoundsResult>& item) { - if (!::tl2::details::BuiltinVectorService6FindWithBoundsResultWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindWithBoundsResult>& item) { - if (!::tl2::details::BuiltinVectorService6FindWithBoundsResultRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item) { - if (!::tl2::details::BuiltinVectorService6FindWithBoundsResultWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service6::FindWithBoundsResult>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorService6FindWithBoundsResultRead(s, item); -} - -bool tl2::details::VectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorService6FindWithBoundsResultWrite(s, item); -} - -void tl2::details::VectorStringReset(std::vector& item) { - item.clear(); -} - -bool tl2::details::VectorStringWriteJSON(std::ostream& s, const std::vector& item) { - if (!::tl2::details::BuiltinVectorStringWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorStringRead(::basictl::tl_istream & s, std::vector& item) { - if (!::tl2::details::BuiltinVectorStringRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorStringWrite(::basictl::tl_ostream & s, const std::vector& item) { - if (!::tl2::details::BuiltinVectorStringWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorStringReadBoxed(::basictl::tl_istream & s, std::vector& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorStringRead(s, item); -} - -bool tl2::details::VectorStringWriteBoxed(::basictl::tl_ostream & s, const std::vector& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorStringWrite(s, item); -} - -void tl2::details::VectorTasksQueueTypeInfoReset(std::vector<::tl2::tasks::QueueTypeInfo>& item) { - item.clear(); -} - -bool tl2::details::VectorTasksQueueTypeInfoWriteJSON(std::ostream& s, const std::vector<::tl2::tasks::QueueTypeInfo>& item) { - if (!::tl2::details::BuiltinVectorTasksQueueTypeInfoWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorTasksQueueTypeInfoRead(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo>& item) { - if (!::tl2::details::BuiltinVectorTasksQueueTypeInfoRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorTasksQueueTypeInfoWrite(::basictl::tl_ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item) { - if (!::tl2::details::BuiltinVectorTasksQueueTypeInfoWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorTasksQueueTypeInfoReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorTasksQueueTypeInfoRead(s, item); -} - -bool tl2::details::VectorTasksQueueTypeInfoWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorTasksQueueTypeInfoWrite(s, item); -} - -bool tl2::WithFloat::write_json(std::ostream& s)const { - if (!::tl2::details::WithFloatWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::WithFloat::read(::basictl::tl_istream & s) { - if (!::tl2::details::WithFloatRead(s, *this)) { return false; } - return true; -} - -bool tl2::WithFloat::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::WithFloatWrite(s, *this)) { return false; } - return true; -} - -bool tl2::WithFloat::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::WithFloatReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::WithFloat::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::WithFloatWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::WithFloatReset(::tl2::WithFloat& item) { - item.x = 0; - item.y = 0; - item.z = 0; -} - -bool tl2::details::WithFloatWriteJSON(std::ostream& s, const ::tl2::WithFloat& item) { - auto add_comma = false; - s << "{"; - if (item.x != 0) { - add_comma = true; - s << "\"x\":"; - s << item.x; - } - if (item.y != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"y\":"; - s << item.y; - } - if (item.z != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"z\":"; - s << item.z; - } - s << "}"; - return true; -} - -bool tl2::details::WithFloatRead(::basictl::tl_istream & s, ::tl2::WithFloat& item) { - if (!s.float_read(item.x)) { return false; } - if (!s.nat_read_exact_tag(0x824dab22)) { return false;} - if (!s.float_read(item.y)) { return false; } - if (!s.float_read(item.z)) { return false; } - return true; -} - -bool tl2::details::WithFloatWrite(::basictl::tl_ostream & s, const ::tl2::WithFloat& item) { - if (!s.float_write(item.x)) { return false;} - if (!s.nat_write(0x824dab22)) { return false; } - if (!s.float_write(item.y)) { return false;} - if (!s.float_write(item.z)) { return false;} - return true; -} - -bool tl2::details::WithFloatReadBoxed(::basictl::tl_istream & s, ::tl2::WithFloat& item) { - if (!s.nat_read_exact_tag(0x071b8685)) { return false; } - return tl2::details::WithFloatRead(s, item); -} - -bool tl2::details::WithFloatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::WithFloat& item) { - if (!s.nat_write(0x071b8685)) { return false; } - return tl2::details::WithFloatWrite(s, item); -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedArray.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedArray.hpp deleted file mode 100644 index a60a4729..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedArray.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myBoxedArray.hpp" - - -namespace tl2 { -struct BoxedArray { - // tl magic for function - static const uint32_t MAGIC = 0x95dcc8b7; - - ::tl2::MyBoxedArray x{}; - - std::string_view tl_name() const { return "boxedArray"; } - uint32_t tl_tag() const { return 0x95dcc8b7; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::MyBoxedArray & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::MyBoxedArray & result); - - friend std::ostream& operator<<(std::ostream& s, const BoxedArray& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedInt.hpp deleted file mode 100644 index a7f4cdd7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedInt.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct BoxedInt { - // tl magic for function - static const uint32_t MAGIC = 0x5688ebaf; - - int32_t x = 0; - - std::string_view tl_name() const { return "boxedInt"; } - uint32_t tl_tag() const { return 0x5688ebaf; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, int32_t & result); - bool write_result(::basictl::tl_ostream & s, int32_t & result); - - friend std::ostream& operator<<(std::ostream& s, const BoxedInt& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedString.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedString.hpp deleted file mode 100644 index 41aa9a03..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedString.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct BoxedString { - // tl magic for function - static const uint32_t MAGIC = 0x548994db; - - std::string x; - - std::string_view tl_name() const { return "boxedString"; } - uint32_t tl_tag() const { return 0x548994db; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::string & result); - bool write_result(::basictl::tl_ostream & s, std::string & result); - - friend std::ostream& operator<<(std::ostream& s, const BoxedString& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTuple.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTuple.hpp deleted file mode 100644 index 4776b1ac..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTuple.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct BoxedTuple { - // tl magic for function - static const uint32_t MAGIC = 0x30c9d533; - - std::array x{}; - - std::string_view tl_name() const { return "boxedTuple"; } - uint32_t tl_tag() const { return 0x30c9d533; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::array & result); - bool write_result(::basictl::tl_ostream & s, std::array & result); - - friend std::ostream& operator<<(std::ostream& s, const BoxedTuple& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice1.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice1.hpp deleted file mode 100644 index fe8451d1..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice1.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct BoxedTupleSlice1 { - // tl magic for function - static const uint32_t MAGIC = 0x25230d40; - - uint32_t n = 0; - std::vector x; - - std::string_view tl_name() const { return "boxedTupleSlice1"; } - uint32_t tl_tag() const { return 0x25230d40; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector & result); - bool write_result(::basictl::tl_ostream & s, std::vector & result); - - friend std::ostream& operator<<(std::ostream& s, const BoxedTupleSlice1& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice2.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice2.hpp deleted file mode 100644 index a62ca009..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice2.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myBoxedTupleSlice.hpp" - - -namespace tl2 { -struct BoxedTupleSlice2 { - // tl magic for function - static const uint32_t MAGIC = 0x1cdf4705; - - ::tl2::MyBoxedTupleSlice x{}; - - std::string_view tl_name() const { return "boxedTupleSlice2"; } - uint32_t tl_tag() const { return 0x1cdf4705; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::MyBoxedTupleSlice & result); - - friend std::ostream& operator<<(std::ostream& s, const BoxedTupleSlice2& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice3.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice3.hpp deleted file mode 100644 index 871d8928..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedTupleSlice3.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct BoxedTupleSlice3 { - // tl magic for function - static const uint32_t MAGIC = 0xa19b8106; - - uint32_t n = 0; - std::vector x; - - std::string_view tl_name() const { return "boxedTupleSlice3"; } - uint32_t tl_tag() const { return 0xa19b8106; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector & result); - bool write_result(::basictl::tl_ostream & s, std::vector & result); - - friend std::ostream& operator<<(std::ostream& s, const BoxedTupleSlice3& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32.hpp deleted file mode 100644 index a7135b64..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct BoxedVector32 { - // tl magic for function - static const uint32_t MAGIC = 0xbbadef07; - - std::vector x; - - std::string_view tl_name() const { return "boxedVector32"; } - uint32_t tl_tag() const { return 0xbbadef07; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector & result); - bool write_result(::basictl::tl_ostream & s, std::vector & result); - - friend std::ostream& operator<<(std::ostream& s, const BoxedVector32& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32BoxedElem.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32BoxedElem.hpp deleted file mode 100644 index cfed4bcc..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector32BoxedElem.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct BoxedVector32BoxedElem { - // tl magic for function - static const uint32_t MAGIC = 0x591cecd4; - - std::vector x; - - std::string_view tl_name() const { return "boxedVector32BoxedElem"; } - uint32_t tl_tag() const { return 0x591cecd4; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector & result); - bool write_result(::basictl::tl_ostream & s, std::vector & result); - - friend std::ostream& operator<<(std::ostream& s, const BoxedVector32BoxedElem& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector64.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector64.hpp deleted file mode 100644 index df451116..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/boxedVector64.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct BoxedVector64 { - // tl magic for function - static const uint32_t MAGIC = 0x83659ba8; - - std::vector x; - - std::string_view tl_name() const { return "boxedVector64"; } - uint32_t tl_tag() const { return 0x83659ba8; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector & result); - bool write_result(::basictl::tl_ostream & s, std::vector & result); - - friend std::ostream& operator<<(std::ostream& s, const BoxedVector64& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getDouble.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getDouble.hpp deleted file mode 100644 index ba95889e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getDouble.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct GetDouble { - // tl magic for function - static const uint32_t MAGIC = 0x39711d7b; - - double x = 0; - - std::string_view tl_name() const { return "getDouble"; } - uint32_t tl_tag() const { return 0x39711d7b; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, double & result); - bool write_result(::basictl::tl_ostream & s, double & result); - - friend std::ostream& operator<<(std::ostream& s, const GetDouble& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getFloat.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getFloat.hpp deleted file mode 100644 index 415191b5..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getFloat.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct GetFloat { - // tl magic for function - static const uint32_t MAGIC = 0x25a7bc68; - - float x = 0; - - std::string_view tl_name() const { return "getFloat"; } - uint32_t tl_tag() const { return 0x25a7bc68; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, float & result); - bool write_result(::basictl::tl_ostream & s, float & result); - - friend std::ostream& operator<<(std::ostream& s, const GetFloat& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMaybeIface.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMaybeIface.hpp deleted file mode 100644 index b369260f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMaybeIface.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../service1/types/service1.Value.hpp" - - -namespace tl2 { -struct GetMaybeIface { - // tl magic for function - static const uint32_t MAGIC = 0x6b055ae4; - - ::tl2::service1::Value x; - - std::string_view tl_name() const { return "getMaybeIface"; } - uint32_t tl_tag() const { return 0x6b055ae4; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::optional<::tl2::service1::Value> & result); - bool write_result(::basictl::tl_ostream & s, std::optional<::tl2::service1::Value> & result); - - friend std::ostream& operator<<(std::ostream& s, const GetMaybeIface& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDictOfInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDictOfInt.hpp deleted file mode 100644 index b369d1ee..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDictOfInt.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myDictOfInt.hpp" - - -namespace tl2 { -struct GetMyDictOfInt { - // tl magic for function - static const uint32_t MAGIC = 0x166f962c; - - ::tl2::MyDictOfInt x{}; - - std::string_view tl_name() const { return "getMyDictOfInt"; } - uint32_t tl_tag() const { return 0x166f962c; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::MyDictOfInt & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::MyDictOfInt & result); - - friend std::ostream& operator<<(std::ostream& s, const GetMyDictOfInt& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDouble.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDouble.hpp deleted file mode 100644 index 5dcb4d13..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyDouble.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myDouble.hpp" - - -namespace tl2 { -struct GetMyDouble { - // tl magic for function - static const uint32_t MAGIC = 0xb660ad10; - - ::tl2::MyDouble x{}; - - std::string_view tl_name() const { return "getMyDouble"; } - uint32_t tl_tag() const { return 0xb660ad10; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::MyDouble & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::MyDouble & result); - - friend std::ostream& operator<<(std::ostream& s, const GetMyDouble& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyValue.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyValue.hpp deleted file mode 100644 index 6714306c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getMyValue.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/MyValue.hpp" - - -namespace tl2 { -struct GetMyValue { - // tl magic for function - static const uint32_t MAGIC = 0xb3df27fe; - - ::tl2::MyValue x; - - std::string_view tl_name() const { return "getMyValue"; } - uint32_t tl_tag() const { return 0xb3df27fe; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::MyValue & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::MyValue & result); - - friend std::ostream& operator<<(std::ostream& s, const GetMyValue& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getNonOptNat.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getNonOptNat.hpp deleted file mode 100644 index f5c6045f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getNonOptNat.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct GetNonOptNat { - // tl magic for function - static const uint32_t MAGIC = 0x67665961; - - uint32_t n = 0; - std::vector xs; - - std::string_view tl_name() const { return "getNonOptNat"; } - uint32_t tl_tag() const { return 0x67665961; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector & result); - bool write_result(::basictl::tl_ostream & s, std::vector & result); - - friend std::ostream& operator<<(std::ostream& s, const GetNonOptNat& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getStats.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getStats.hpp deleted file mode 100644 index d5bf5fa4..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/getStats.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../tasks/types/tasks.queueTypeStats.hpp" - - -namespace tl2 { -struct GetStats { - // tl magic for function - static const uint32_t MAGIC = 0xbaa6da35; - - ::tl2::tasks::QueueTypeStats x{}; - - std::string_view tl_name() const { return "getStats"; } - uint32_t tl_tag() const { return 0xbaa6da35; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::tasks::QueueTypeStats & result); - - friend std::ostream& operator<<(std::ostream& s, const GetStats& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/get_arrays.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/get_arrays.hpp deleted file mode 100644 index 20c41e8c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/functions/get_arrays.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct Get_arrays { - // tl magic for function - static const uint32_t MAGIC = 0x90658cdb; - - uint32_t n = 0; - std::vector a; - std::array b{}; - - std::string_view tl_name() const { return "get_arrays"; } - uint32_t tl_tag() const { return 0x90658cdb; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::array & result); - bool write_result(::basictl::tl_ostream & s, std::array & result); - - friend std::ostream& operator<<(std::ostream& s, const Get_arrays& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/Bool.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/Bool.hpp deleted file mode 100644 index 13bb927a..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/Bool.hpp +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/Bool.hpp" - -namespace tl2 { namespace details { - -bool BoolWriteJSON(std::ostream & s, bool item); -bool BoolReadBoxed(::basictl::tl_istream & s, bool& item); -bool BoolWriteBoxed(::basictl::tl_ostream & s, bool item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/Either.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/Either.hpp deleted file mode 100644 index 008e1b79..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/Either.hpp +++ /dev/null @@ -1,48 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/Either.hpp" -#include "../../service6/types/service6.findWithBoundsResult.hpp" -#include "../../service6/types/service6.findResultRow.hpp" -#include "../../service6/types/service6.error.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorEitherIntVectorService6FindWithBoundsResultReset(std::vector<::tl2::Either>>& item); - -bool BuiltinVectorEitherIntVectorService6FindWithBoundsResultWriteJSON(std::ostream & s, const std::vector<::tl2::Either>>& item); -bool BuiltinVectorEitherIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::Either>>& item); -bool BuiltinVectorEitherIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either>>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void BuiltinVectorEitherService6ErrorVectorService6FindResultRowReset(std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); - -bool BuiltinVectorEitherService6ErrorVectorService6FindResultRowWriteJSON(std::ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); -bool BuiltinVectorEitherService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); -bool BuiltinVectorEitherService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void EitherIntVectorService6FindWithBoundsResultReset(::tl2::Either>& item); - -bool EitherIntVectorService6FindWithBoundsResultWriteJSON(std::ostream & s, const ::tl2::Either>& item); -bool EitherIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::Either>& item); -bool EitherIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Either>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void EitherService6ErrorVectorService6FindResultRowReset(::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); - -bool EitherService6ErrorVectorService6FindResultRowWriteJSON(std::ostream & s, const ::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); -bool EitherService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); -bool EitherService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/MyValue.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/MyValue.hpp deleted file mode 100644 index f0e6693c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/MyValue.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/MyValue.hpp" - -namespace tl2 { namespace details { - -void MyValueReset(::tl2::MyValue& item); - -bool MyValueWriteJSON(std::ostream & s, const ::tl2::MyValue& item); -bool MyValueReadBoxed(::basictl::tl_istream & s, ::tl2::MyValue& item); -bool MyValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyValue& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/benchObject.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/benchObject.hpp deleted file mode 100644 index c782c97f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/benchObject.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/benchObject.hpp" - -namespace tl2 { namespace details { - -void BenchObjectReset(::tl2::BenchObject& item); - -bool BenchObjectWriteJSON(std::ostream& s, const ::tl2::BenchObject& item); -bool BenchObjectRead(::basictl::tl_istream & s, ::tl2::BenchObject& item); -bool BenchObjectWrite(::basictl::tl_ostream & s, const ::tl2::BenchObject& item); -bool BenchObjectReadBoxed(::basictl::tl_istream & s, ::tl2::BenchObject& item); -bool BenchObjectWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BenchObject& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedArray.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedArray.hpp deleted file mode 100644 index 4dccb972..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedArray.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/boxedArray.hpp" -#include "../types/myBoxedArray.hpp" - -namespace tl2 { namespace details { - -void BoxedArrayReset(::tl2::BoxedArray& item); - -bool BoxedArrayWriteJSON(std::ostream& s, const ::tl2::BoxedArray& item); -bool BoxedArrayRead(::basictl::tl_istream & s, ::tl2::BoxedArray& item); -bool BoxedArrayWrite(::basictl::tl_ostream & s, const ::tl2::BoxedArray& item); -bool BoxedArrayReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedArray& item); -bool BoxedArrayWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedArray& item); - -bool BoxedArrayReadResult(::basictl::tl_istream & s, ::tl2::BoxedArray& item, ::tl2::MyBoxedArray& result); -bool BoxedArrayWriteResult(::basictl::tl_ostream & s, ::tl2::BoxedArray& item, ::tl2::MyBoxedArray& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedInt.hpp deleted file mode 100644 index ea963c1e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedInt.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/boxedInt.hpp" - -namespace tl2 { namespace details { - -void BoxedIntReset(::tl2::BoxedInt& item); - -bool BoxedIntWriteJSON(std::ostream& s, const ::tl2::BoxedInt& item); -bool BoxedIntRead(::basictl::tl_istream & s, ::tl2::BoxedInt& item); -bool BoxedIntWrite(::basictl::tl_ostream & s, const ::tl2::BoxedInt& item); -bool BoxedIntReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedInt& item); -bool BoxedIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedInt& item); - -bool BoxedIntReadResult(::basictl::tl_istream & s, ::tl2::BoxedInt& item, int32_t& result); -bool BoxedIntWriteResult(::basictl::tl_ostream & s, ::tl2::BoxedInt& item, int32_t& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedString.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedString.hpp deleted file mode 100644 index c306b72f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedString.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/boxedString.hpp" - -namespace tl2 { namespace details { - -void BoxedStringReset(::tl2::BoxedString& item); - -bool BoxedStringWriteJSON(std::ostream& s, const ::tl2::BoxedString& item); -bool BoxedStringRead(::basictl::tl_istream & s, ::tl2::BoxedString& item); -bool BoxedStringWrite(::basictl::tl_ostream & s, const ::tl2::BoxedString& item); -bool BoxedStringReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedString& item); -bool BoxedStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedString& item); - -bool BoxedStringReadResult(::basictl::tl_istream & s, ::tl2::BoxedString& item, std::string& result); -bool BoxedStringWriteResult(::basictl::tl_ostream & s, ::tl2::BoxedString& item, std::string& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTuple.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTuple.hpp deleted file mode 100644 index d595dc2e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTuple.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/boxedTuple.hpp" -#include "../types/int.hpp" - -namespace tl2 { namespace details { - -void BoxedTupleReset(::tl2::BoxedTuple& item); - -bool BoxedTupleWriteJSON(std::ostream& s, const ::tl2::BoxedTuple& item); -bool BoxedTupleRead(::basictl::tl_istream & s, ::tl2::BoxedTuple& item); -bool BoxedTupleWrite(::basictl::tl_ostream & s, const ::tl2::BoxedTuple& item); -bool BoxedTupleReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTuple& item); -bool BoxedTupleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTuple& item); - -bool BoxedTupleReadResult(::basictl::tl_istream & s, ::tl2::BoxedTuple& item, std::array& result); -bool BoxedTupleWriteResult(::basictl::tl_ostream & s, ::tl2::BoxedTuple& item, std::array& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTupleSlice1.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTupleSlice1.hpp deleted file mode 100644 index e3e6cab9..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTupleSlice1.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/boxedTupleSlice1.hpp" -#include "../types/int.hpp" - -namespace tl2 { namespace details { - -void BoxedTupleSlice1Reset(::tl2::BoxedTupleSlice1& item); - -bool BoxedTupleSlice1WriteJSON(std::ostream& s, const ::tl2::BoxedTupleSlice1& item); -bool BoxedTupleSlice1Read(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice1& item); -bool BoxedTupleSlice1Write(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice1& item); -bool BoxedTupleSlice1ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice1& item); -bool BoxedTupleSlice1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice1& item); - -bool BoxedTupleSlice1ReadResult(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice1& item, std::vector& result); -bool BoxedTupleSlice1WriteResult(::basictl::tl_ostream & s, ::tl2::BoxedTupleSlice1& item, std::vector& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTupleSlice2.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTupleSlice2.hpp deleted file mode 100644 index 9cb2a1c3..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTupleSlice2.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/boxedTupleSlice2.hpp" -#include "../types/myBoxedTupleSlice.hpp" - -namespace tl2 { namespace details { - -void BoxedTupleSlice2Reset(::tl2::BoxedTupleSlice2& item); - -bool BoxedTupleSlice2WriteJSON(std::ostream& s, const ::tl2::BoxedTupleSlice2& item); -bool BoxedTupleSlice2Read(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice2& item); -bool BoxedTupleSlice2Write(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice2& item); -bool BoxedTupleSlice2ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice2& item); -bool BoxedTupleSlice2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice2& item); - -bool BoxedTupleSlice2ReadResult(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice2& item, ::tl2::MyBoxedTupleSlice& result); -bool BoxedTupleSlice2WriteResult(::basictl::tl_ostream & s, ::tl2::BoxedTupleSlice2& item, ::tl2::MyBoxedTupleSlice& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTupleSlice3.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTupleSlice3.hpp deleted file mode 100644 index 334c4d44..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedTupleSlice3.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/boxedTupleSlice3.hpp" -#include "../types/int.hpp" - -namespace tl2 { namespace details { - -void BoxedTupleSlice3Reset(::tl2::BoxedTupleSlice3& item); - -bool BoxedTupleSlice3WriteJSON(std::ostream& s, const ::tl2::BoxedTupleSlice3& item); -bool BoxedTupleSlice3Read(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice3& item); -bool BoxedTupleSlice3Write(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice3& item); -bool BoxedTupleSlice3ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice3& item); -bool BoxedTupleSlice3WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedTupleSlice3& item); - -bool BoxedTupleSlice3ReadResult(::basictl::tl_istream & s, ::tl2::BoxedTupleSlice3& item, std::vector& result); -bool BoxedTupleSlice3WriteResult(::basictl::tl_ostream & s, ::tl2::BoxedTupleSlice3& item, std::vector& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedVector32.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedVector32.hpp deleted file mode 100644 index d9c53013..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedVector32.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/boxedVector32.hpp" -#include "../types/int.hpp" - -namespace tl2 { namespace details { - -void BoxedVector32Reset(::tl2::BoxedVector32& item); - -bool BoxedVector32WriteJSON(std::ostream& s, const ::tl2::BoxedVector32& item); -bool BoxedVector32Read(::basictl::tl_istream & s, ::tl2::BoxedVector32& item); -bool BoxedVector32Write(::basictl::tl_ostream & s, const ::tl2::BoxedVector32& item); -bool BoxedVector32ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedVector32& item); -bool BoxedVector32WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedVector32& item); - -bool BoxedVector32ReadResult(::basictl::tl_istream & s, ::tl2::BoxedVector32& item, std::vector& result); -bool BoxedVector32WriteResult(::basictl::tl_ostream & s, ::tl2::BoxedVector32& item, std::vector& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedVector32BoxedElem.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedVector32BoxedElem.hpp deleted file mode 100644 index 2491a5f3..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedVector32BoxedElem.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/boxedVector32BoxedElem.hpp" -#include "../types/int.hpp" - -namespace tl2 { namespace details { - -void BoxedVector32BoxedElemReset(::tl2::BoxedVector32BoxedElem& item); - -bool BoxedVector32BoxedElemWriteJSON(std::ostream& s, const ::tl2::BoxedVector32BoxedElem& item); -bool BoxedVector32BoxedElemRead(::basictl::tl_istream & s, ::tl2::BoxedVector32BoxedElem& item); -bool BoxedVector32BoxedElemWrite(::basictl::tl_ostream & s, const ::tl2::BoxedVector32BoxedElem& item); -bool BoxedVector32BoxedElemReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedVector32BoxedElem& item); -bool BoxedVector32BoxedElemWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedVector32BoxedElem& item); - -bool BoxedVector32BoxedElemReadResult(::basictl::tl_istream & s, ::tl2::BoxedVector32BoxedElem& item, std::vector& result); -bool BoxedVector32BoxedElemWriteResult(::basictl::tl_ostream & s, ::tl2::BoxedVector32BoxedElem& item, std::vector& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedVector64.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedVector64.hpp deleted file mode 100644 index 9ae44289..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/boxedVector64.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/boxedVector64.hpp" -#include "../types/long.hpp" - -namespace tl2 { namespace details { - -void BoxedVector64Reset(::tl2::BoxedVector64& item); - -bool BoxedVector64WriteJSON(std::ostream& s, const ::tl2::BoxedVector64& item); -bool BoxedVector64Read(::basictl::tl_istream & s, ::tl2::BoxedVector64& item); -bool BoxedVector64Write(::basictl::tl_ostream & s, const ::tl2::BoxedVector64& item); -bool BoxedVector64ReadBoxed(::basictl::tl_istream & s, ::tl2::BoxedVector64& item); -bool BoxedVector64WriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoxedVector64& item); - -bool BoxedVector64ReadResult(::basictl::tl_istream & s, ::tl2::BoxedVector64& item, std::vector& result); -bool BoxedVector64WriteResult(::basictl::tl_ostream & s, ::tl2::BoxedVector64& item, std::vector& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/dictionary.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/dictionary.hpp deleted file mode 100644 index d98242fb..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/dictionary.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/dictionary.hpp" - -namespace tl2 { namespace details { - -void DictionaryIntReset(::tl2::Dictionary& item); - -bool DictionaryIntWriteJSON(std::ostream& s, const ::tl2::Dictionary& item); -bool DictionaryIntRead(::basictl::tl_istream & s, ::tl2::Dictionary& item); -bool DictionaryIntWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary& item); -bool DictionaryIntReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary& item); -bool DictionaryIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/dictionaryField.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/dictionaryField.hpp deleted file mode 100644 index 630eb567..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/dictionaryField.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/dictionaryField.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorDictionaryFieldIntReset(std::vector<::tl2::DictionaryField>& item); - -bool BuiltinVectorDictionaryFieldIntWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField>& item); -bool BuiltinVectorDictionaryFieldIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item); -bool BuiltinVectorDictionaryFieldIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void DictionaryFieldIntReset(::tl2::DictionaryField& item); - -bool DictionaryFieldIntWriteJSON(std::ostream& s, const ::tl2::DictionaryField& item); -bool DictionaryFieldIntRead(::basictl::tl_istream & s, ::tl2::DictionaryField& item); -bool DictionaryFieldIntWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item); -bool DictionaryFieldIntReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField& item); -bool DictionaryFieldIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/double.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/double.hpp deleted file mode 100644 index 2ba53a04..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/double.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/double.hpp" - -namespace tl2 { namespace details { - -void DoubleReset(double& item); - -bool DoubleWriteJSON(std::ostream& s, const double& item); -bool DoubleRead(::basictl::tl_istream & s, double& item); -bool DoubleWrite(::basictl::tl_ostream & s, const double& item); -bool DoubleReadBoxed(::basictl::tl_istream & s, double& item); -bool DoubleWriteBoxed(::basictl::tl_ostream & s, const double& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict1.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict1.hpp deleted file mode 100644 index ec00214a..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict1.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/fieldConflict1.hpp" - -namespace tl2 { namespace details { - -void FieldConflict1Reset(::tl2::FieldConflict1& item); - -bool FieldConflict1WriteJSON(std::ostream& s, const ::tl2::FieldConflict1& item); -bool FieldConflict1Read(::basictl::tl_istream & s, ::tl2::FieldConflict1& item); -bool FieldConflict1Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict1& item); -bool FieldConflict1ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict1& item); -bool FieldConflict1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict1& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict2.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict2.hpp deleted file mode 100644 index 2e0e7e2f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict2.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/fieldConflict2.hpp" - -namespace tl2 { namespace details { - -void FieldConflict2Reset(::tl2::FieldConflict2& item); - -bool FieldConflict2WriteJSON(std::ostream& s, const ::tl2::FieldConflict2& item); -bool FieldConflict2Read(::basictl::tl_istream & s, ::tl2::FieldConflict2& item); -bool FieldConflict2Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict2& item); -bool FieldConflict2ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict2& item); -bool FieldConflict2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict2& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict3.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict3.hpp deleted file mode 100644 index bdf3e1b5..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict3.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/fieldConflict3.hpp" - -namespace tl2 { namespace details { - -void FieldConflict3Reset(::tl2::FieldConflict3& item); - -bool FieldConflict3WriteJSON(std::ostream& s, const ::tl2::FieldConflict3& item); -bool FieldConflict3Read(::basictl::tl_istream & s, ::tl2::FieldConflict3& item); -bool FieldConflict3Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict3& item); -bool FieldConflict3ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict3& item); -bool FieldConflict3WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict3& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict4.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict4.hpp deleted file mode 100644 index fd6f8de6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/fieldConflict4.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/fieldConflict4.hpp" - -namespace tl2 { namespace details { - -void FieldConflict4Reset(::tl2::FieldConflict4& item); - -bool FieldConflict4WriteJSON(std::ostream& s, const ::tl2::FieldConflict4& item); -bool FieldConflict4Read(::basictl::tl_istream & s, ::tl2::FieldConflict4& item); -bool FieldConflict4Write(::basictl::tl_ostream & s, const ::tl2::FieldConflict4& item); -bool FieldConflict4ReadBoxed(::basictl::tl_istream & s, ::tl2::FieldConflict4& item); -bool FieldConflict4WriteBoxed(::basictl::tl_ostream & s, const ::tl2::FieldConflict4& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/float.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/float.hpp deleted file mode 100644 index f1bfbfb3..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/float.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/float.hpp" - -namespace tl2 { namespace details { - -void FloatReset(float& item); - -bool FloatWriteJSON(std::ostream& s, const float& item); -bool FloatRead(::basictl::tl_istream & s, float& item); -bool FloatWrite(::basictl::tl_ostream & s, const float& item); -bool FloatReadBoxed(::basictl::tl_istream & s, float& item); -bool FloatWriteBoxed(::basictl::tl_ostream & s, const float& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getDouble.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getDouble.hpp deleted file mode 100644 index 0b2def68..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getDouble.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/getDouble.hpp" - -namespace tl2 { namespace details { - -void GetDoubleReset(::tl2::GetDouble& item); - -bool GetDoubleWriteJSON(std::ostream& s, const ::tl2::GetDouble& item); -bool GetDoubleRead(::basictl::tl_istream & s, ::tl2::GetDouble& item); -bool GetDoubleWrite(::basictl::tl_ostream & s, const ::tl2::GetDouble& item); -bool GetDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::GetDouble& item); -bool GetDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetDouble& item); - -bool GetDoubleReadResult(::basictl::tl_istream & s, ::tl2::GetDouble& item, double& result); -bool GetDoubleWriteResult(::basictl::tl_ostream & s, ::tl2::GetDouble& item, double& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getFloat.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getFloat.hpp deleted file mode 100644 index 60254efd..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getFloat.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/getFloat.hpp" - -namespace tl2 { namespace details { - -void GetFloatReset(::tl2::GetFloat& item); - -bool GetFloatWriteJSON(std::ostream& s, const ::tl2::GetFloat& item); -bool GetFloatRead(::basictl::tl_istream & s, ::tl2::GetFloat& item); -bool GetFloatWrite(::basictl::tl_ostream & s, const ::tl2::GetFloat& item); -bool GetFloatReadBoxed(::basictl::tl_istream & s, ::tl2::GetFloat& item); -bool GetFloatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetFloat& item); - -bool GetFloatReadResult(::basictl::tl_istream & s, ::tl2::GetFloat& item, float& result); -bool GetFloatWriteResult(::basictl::tl_ostream & s, ::tl2::GetFloat& item, float& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMaybeIface.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMaybeIface.hpp deleted file mode 100644 index ae7ba3db..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMaybeIface.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/getMaybeIface.hpp" -#include "../../service1/types/service1.Value.hpp" - -namespace tl2 { namespace details { - -void GetMaybeIfaceReset(::tl2::GetMaybeIface& item); - -bool GetMaybeIfaceWriteJSON(std::ostream& s, const ::tl2::GetMaybeIface& item); -bool GetMaybeIfaceRead(::basictl::tl_istream & s, ::tl2::GetMaybeIface& item); -bool GetMaybeIfaceWrite(::basictl::tl_ostream & s, const ::tl2::GetMaybeIface& item); -bool GetMaybeIfaceReadBoxed(::basictl::tl_istream & s, ::tl2::GetMaybeIface& item); -bool GetMaybeIfaceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMaybeIface& item); - -bool GetMaybeIfaceReadResult(::basictl::tl_istream & s, ::tl2::GetMaybeIface& item, std::optional<::tl2::service1::Value>& result); -bool GetMaybeIfaceWriteResult(::basictl::tl_ostream & s, ::tl2::GetMaybeIface& item, std::optional<::tl2::service1::Value>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMyDictOfInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMyDictOfInt.hpp deleted file mode 100644 index 14fdc105..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMyDictOfInt.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/getMyDictOfInt.hpp" -#include "../types/myDictOfInt.hpp" - -namespace tl2 { namespace details { - -void GetMyDictOfIntReset(::tl2::GetMyDictOfInt& item); - -bool GetMyDictOfIntWriteJSON(std::ostream& s, const ::tl2::GetMyDictOfInt& item); -bool GetMyDictOfIntRead(::basictl::tl_istream & s, ::tl2::GetMyDictOfInt& item); -bool GetMyDictOfIntWrite(::basictl::tl_ostream & s, const ::tl2::GetMyDictOfInt& item); -bool GetMyDictOfIntReadBoxed(::basictl::tl_istream & s, ::tl2::GetMyDictOfInt& item); -bool GetMyDictOfIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMyDictOfInt& item); - -bool GetMyDictOfIntReadResult(::basictl::tl_istream & s, ::tl2::GetMyDictOfInt& item, ::tl2::MyDictOfInt& result); -bool GetMyDictOfIntWriteResult(::basictl::tl_ostream & s, ::tl2::GetMyDictOfInt& item, ::tl2::MyDictOfInt& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMyDouble.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMyDouble.hpp deleted file mode 100644 index adc69555..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMyDouble.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/getMyDouble.hpp" -#include "../types/myDouble.hpp" - -namespace tl2 { namespace details { - -void GetMyDoubleReset(::tl2::GetMyDouble& item); - -bool GetMyDoubleWriteJSON(std::ostream& s, const ::tl2::GetMyDouble& item); -bool GetMyDoubleRead(::basictl::tl_istream & s, ::tl2::GetMyDouble& item); -bool GetMyDoubleWrite(::basictl::tl_ostream & s, const ::tl2::GetMyDouble& item); -bool GetMyDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::GetMyDouble& item); -bool GetMyDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMyDouble& item); - -bool GetMyDoubleReadResult(::basictl::tl_istream & s, ::tl2::GetMyDouble& item, ::tl2::MyDouble& result); -bool GetMyDoubleWriteResult(::basictl::tl_ostream & s, ::tl2::GetMyDouble& item, ::tl2::MyDouble& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMyValue.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMyValue.hpp deleted file mode 100644 index 2933f006..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getMyValue.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/getMyValue.hpp" -#include "../types/MyValue.hpp" - -namespace tl2 { namespace details { - -void GetMyValueReset(::tl2::GetMyValue& item); - -bool GetMyValueWriteJSON(std::ostream& s, const ::tl2::GetMyValue& item); -bool GetMyValueRead(::basictl::tl_istream & s, ::tl2::GetMyValue& item); -bool GetMyValueWrite(::basictl::tl_ostream & s, const ::tl2::GetMyValue& item); -bool GetMyValueReadBoxed(::basictl::tl_istream & s, ::tl2::GetMyValue& item); -bool GetMyValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetMyValue& item); - -bool GetMyValueReadResult(::basictl::tl_istream & s, ::tl2::GetMyValue& item, ::tl2::MyValue& result); -bool GetMyValueWriteResult(::basictl::tl_ostream & s, ::tl2::GetMyValue& item, ::tl2::MyValue& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getNonOptNat.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getNonOptNat.hpp deleted file mode 100644 index 6ba3c07c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getNonOptNat.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/getNonOptNat.hpp" -#include "../types/int.hpp" - -namespace tl2 { namespace details { - -void GetNonOptNatReset(::tl2::GetNonOptNat& item); - -bool GetNonOptNatWriteJSON(std::ostream& s, const ::tl2::GetNonOptNat& item); -bool GetNonOptNatRead(::basictl::tl_istream & s, ::tl2::GetNonOptNat& item); -bool GetNonOptNatWrite(::basictl::tl_ostream & s, const ::tl2::GetNonOptNat& item); -bool GetNonOptNatReadBoxed(::basictl::tl_istream & s, ::tl2::GetNonOptNat& item); -bool GetNonOptNatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetNonOptNat& item); - -bool GetNonOptNatReadResult(::basictl::tl_istream & s, ::tl2::GetNonOptNat& item, std::vector& result); -bool GetNonOptNatWriteResult(::basictl::tl_ostream & s, ::tl2::GetNonOptNat& item, std::vector& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getStats.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getStats.hpp deleted file mode 100644 index 4f3b5536..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/getStats.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/getStats.hpp" -#include "../../tasks/types/tasks.queueTypeStats.hpp" - -namespace tl2 { namespace details { - -void GetStatsReset(::tl2::GetStats& item); - -bool GetStatsWriteJSON(std::ostream& s, const ::tl2::GetStats& item); -bool GetStatsRead(::basictl::tl_istream & s, ::tl2::GetStats& item); -bool GetStatsWrite(::basictl::tl_ostream & s, const ::tl2::GetStats& item); -bool GetStatsReadBoxed(::basictl::tl_istream & s, ::tl2::GetStats& item); -bool GetStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::GetStats& item); - -bool GetStatsReadResult(::basictl::tl_istream & s, ::tl2::GetStats& item, ::tl2::tasks::QueueTypeStats& result); -bool GetStatsWriteResult(::basictl::tl_ostream & s, ::tl2::GetStats& item, ::tl2::tasks::QueueTypeStats& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/get_arrays.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/get_arrays.hpp deleted file mode 100644 index 613f9932..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/get_arrays.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/get_arrays.hpp" -#include "../types/int.hpp" - -namespace tl2 { namespace details { - -void GetArraysReset(::tl2::Get_arrays& item); - -bool GetArraysWriteJSON(std::ostream& s, const ::tl2::Get_arrays& item); -bool GetArraysRead(::basictl::tl_istream & s, ::tl2::Get_arrays& item); -bool GetArraysWrite(::basictl::tl_ostream & s, const ::tl2::Get_arrays& item); -bool GetArraysReadBoxed(::basictl::tl_istream & s, ::tl2::Get_arrays& item); -bool GetArraysWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Get_arrays& item); - -bool GetArraysReadResult(::basictl::tl_istream & s, ::tl2::Get_arrays& item, std::array& result); -bool GetArraysWriteResult(::basictl::tl_ostream & s, ::tl2::Get_arrays& item, std::array& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/int.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/int.hpp deleted file mode 100644 index a91dedeb..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/int.hpp +++ /dev/null @@ -1,107 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/int.hpp" - -namespace tl2 { namespace details { - -void BuiltinTuple10IntBoxedReset(std::array& item); - -bool BuiltinTuple10IntBoxedWriteJSON(std::ostream & s, const std::array& item); -bool BuiltinTuple10IntBoxedRead(::basictl::tl_istream & s, std::array& item); -bool BuiltinTuple10IntBoxedWrite(::basictl::tl_ostream & s, const std::array& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void BuiltinTuple2IntBoxedReset(std::array& item); - -bool BuiltinTuple2IntBoxedWriteJSON(std::ostream & s, const std::array& item); -bool BuiltinTuple2IntBoxedRead(::basictl::tl_istream & s, std::array& item); -bool BuiltinTuple2IntBoxedWrite(::basictl::tl_ostream & s, const std::array& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void BuiltinTuple3IntReset(std::array& item); - -bool BuiltinTuple3IntWriteJSON(std::ostream & s, const std::array& item); -bool BuiltinTuple3IntRead(::basictl::tl_istream & s, std::array& item); -bool BuiltinTuple3IntWrite(::basictl::tl_ostream & s, const std::array& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void BuiltinTuple5IntReset(std::array& item); - -bool BuiltinTuple5IntWriteJSON(std::ostream & s, const std::array& item); -bool BuiltinTuple5IntRead(::basictl::tl_istream & s, std::array& item); -bool BuiltinTuple5IntWrite(::basictl::tl_ostream & s, const std::array& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void BuiltinTupleIntReset(std::vector& item); - -bool BuiltinTupleIntWriteJSON(std::ostream & s, const std::vector& item, uint32_t nat_n); -bool BuiltinTupleIntRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); -bool BuiltinTupleIntWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void BuiltinTupleIntBoxedReset(std::vector& item); - -bool BuiltinTupleIntBoxedWriteJSON(std::ostream & s, const std::vector& item, uint32_t nat_n); -bool BuiltinTupleIntBoxedRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); -bool BuiltinTupleIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void BuiltinVectorIntReset(std::vector& item); - -bool BuiltinVectorIntWriteJSON(std::ostream & s, const std::vector& item); -bool BuiltinVectorIntRead(::basictl::tl_istream & s, std::vector& item); -bool BuiltinVectorIntWrite(::basictl::tl_ostream & s, const std::vector& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void BuiltinVectorIntBoxedReset(std::vector& item); - -bool BuiltinVectorIntBoxedWriteJSON(std::ostream & s, const std::vector& item); -bool BuiltinVectorIntBoxedRead(::basictl::tl_istream & s, std::vector& item); -bool BuiltinVectorIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void IntReset(int32_t& item); - -bool IntWriteJSON(std::ostream& s, const int32_t& item); -bool IntRead(::basictl::tl_istream & s, int32_t& item); -bool IntWrite(::basictl::tl_ostream & s, const int32_t& item); -bool IntReadBoxed(::basictl::tl_istream & s, int32_t& item); -bool IntWriteBoxed(::basictl::tl_ostream & s, const int32_t& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -bool IntMaybeWriteJSON(std::ostream & s, const std::optional& item); - -bool IntMaybeReadBoxed(::basictl::tl_istream & s, std::optional& item); -bool IntMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional& item); - - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/integer.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/integer.hpp deleted file mode 100644 index 384668d5..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/integer.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/integer.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorIntegerReset(std::vector<::tl2::Integer>& item); - -bool BuiltinVectorIntegerWriteJSON(std::ostream & s, const std::vector<::tl2::Integer>& item); -bool BuiltinVectorIntegerRead(::basictl::tl_istream & s, std::vector<::tl2::Integer>& item); -bool BuiltinVectorIntegerWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Integer>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void IntegerReset(::tl2::Integer& item); - -bool IntegerWriteJSON(std::ostream& s, const ::tl2::Integer& item); -bool IntegerRead(::basictl::tl_istream & s, ::tl2::Integer& item); -bool IntegerWrite(::basictl::tl_ostream & s, const ::tl2::Integer& item); -bool IntegerReadBoxed(::basictl::tl_istream & s, ::tl2::Integer& item); -bool IntegerWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Integer& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/issue3498.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/issue3498.hpp deleted file mode 100644 index 7870dd34..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/issue3498.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/issue3498.hpp" - -namespace tl2 { namespace details { - -void Issue3498Reset(::tl2::Issue3498& item); - -bool Issue3498WriteJSON(std::ostream& s, const ::tl2::Issue3498& item); -bool Issue3498Read(::basictl::tl_istream & s, ::tl2::Issue3498& item); -bool Issue3498Write(::basictl::tl_ostream & s, const ::tl2::Issue3498& item); -bool Issue3498ReadBoxed(::basictl::tl_istream & s, ::tl2::Issue3498& item); -bool Issue3498WriteBoxed(::basictl::tl_ostream & s, const ::tl2::Issue3498& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/left.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/left.hpp deleted file mode 100644 index 1d8bf5aa..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/left.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/left.hpp" -#include "../../service6/types/service6.findWithBoundsResult.hpp" -#include "../../service6/types/service6.findResultRow.hpp" -#include "../../service6/types/service6.error.hpp" - -namespace tl2 { namespace details { - -void LeftIntVectorService6FindWithBoundsResultReset(::tl2::Left>& item); - -bool LeftIntVectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const ::tl2::Left>& item); -bool LeftIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, ::tl2::Left>& item); -bool LeftIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const ::tl2::Left>& item); -bool LeftIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::Left>& item); -bool LeftIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Left>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void LeftService6ErrorVectorService6FindResultRowReset(::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); - -bool LeftService6ErrorVectorService6FindResultRowWriteJSON(std::ostream& s, const ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); -bool LeftService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); -bool LeftService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); -bool LeftService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); -bool LeftService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Left<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/long.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/long.hpp deleted file mode 100644 index d848cfc8..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/long.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/long.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorLongBoxedReset(std::vector& item); - -bool BuiltinVectorLongBoxedWriteJSON(std::ostream & s, const std::vector& item); -bool BuiltinVectorLongBoxedRead(::basictl::tl_istream & s, std::vector& item); -bool BuiltinVectorLongBoxedWrite(::basictl::tl_ostream & s, const std::vector& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void LongReset(int64_t& item); - -bool LongWriteJSON(std::ostream& s, const int64_t& item); -bool LongRead(::basictl::tl_istream & s, int64_t& item); -bool LongWrite(::basictl::tl_ostream & s, const int64_t& item); -bool LongReadBoxed(::basictl::tl_istream & s, int64_t& item); -bool LongWriteBoxed(::basictl::tl_ostream & s, const int64_t& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/map.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/map.hpp deleted file mode 100644 index 47746a32..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/map.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/map.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorMapStringStringReset(std::vector<::tl2::Map>& item); - -bool BuiltinVectorMapStringStringWriteJSON(std::ostream & s, const std::vector<::tl2::Map>& item); -bool BuiltinVectorMapStringStringRead(::basictl::tl_istream & s, std::vector<::tl2::Map>& item); -bool BuiltinVectorMapStringStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Map>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void MapStringStringReset(::tl2::Map& item); - -bool MapStringStringWriteJSON(std::ostream& s, const ::tl2::Map& item); -bool MapStringStringRead(::basictl::tl_istream & s, ::tl2::Map& item); -bool MapStringStringWrite(::basictl::tl_ostream & s, const ::tl2::Map& item); -bool MapStringStringReadBoxed(::basictl::tl_istream & s, ::tl2::Map& item); -bool MapStringStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Map& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myAnonMcValue.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myAnonMcValue.hpp deleted file mode 100644 index c44085ce..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myAnonMcValue.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myAnonMcValue.hpp" - -namespace tl2 { namespace details { - -void MyAnonMcValueReset(::tl2::MyAnonMcValue& item); - -bool MyAnonMcValueWriteJSON(std::ostream& s, const ::tl2::MyAnonMcValue& item); -bool MyAnonMcValueRead(::basictl::tl_istream & s, ::tl2::MyAnonMcValue& item); -bool MyAnonMcValueWrite(::basictl::tl_ostream & s, const ::tl2::MyAnonMcValue& item); -bool MyAnonMcValueReadBoxed(::basictl::tl_istream & s, ::tl2::MyAnonMcValue& item); -bool MyAnonMcValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyAnonMcValue& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myBoxedArray.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myBoxedArray.hpp deleted file mode 100644 index 7308dad6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myBoxedArray.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myBoxedArray.hpp" - -namespace tl2 { namespace details { - -void MyBoxedArrayReset(::tl2::MyBoxedArray& item); - -bool MyBoxedArrayWriteJSON(std::ostream& s, const ::tl2::MyBoxedArray& item); -bool MyBoxedArrayRead(::basictl::tl_istream & s, ::tl2::MyBoxedArray& item); -bool MyBoxedArrayWrite(::basictl::tl_ostream & s, const ::tl2::MyBoxedArray& item); -bool MyBoxedArrayReadBoxed(::basictl::tl_istream & s, ::tl2::MyBoxedArray& item); -bool MyBoxedArrayWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyBoxedArray& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myBoxedTupleSlice.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myBoxedTupleSlice.hpp deleted file mode 100644 index 76552796..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myBoxedTupleSlice.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myBoxedTupleSlice.hpp" - -namespace tl2 { namespace details { - -void MyBoxedTupleSliceReset(::tl2::MyBoxedTupleSlice& item); - -bool MyBoxedTupleSliceWriteJSON(std::ostream& s, const ::tl2::MyBoxedTupleSlice& item); -bool MyBoxedTupleSliceRead(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice& item); -bool MyBoxedTupleSliceWrite(::basictl::tl_ostream & s, const ::tl2::MyBoxedTupleSlice& item); -bool MyBoxedTupleSliceReadBoxed(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice& item); -bool MyBoxedTupleSliceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyBoxedTupleSlice& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myBoxedVectorSlice.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myBoxedVectorSlice.hpp deleted file mode 100644 index d36e130c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myBoxedVectorSlice.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myBoxedVectorSlice.hpp" - -namespace tl2 { namespace details { - -void MyBoxedVectorSliceReset(::tl2::MyBoxedVectorSlice& item); - -bool MyBoxedVectorSliceWriteJSON(std::ostream& s, const ::tl2::MyBoxedVectorSlice& item); -bool MyBoxedVectorSliceRead(::basictl::tl_istream & s, ::tl2::MyBoxedVectorSlice& item); -bool MyBoxedVectorSliceWrite(::basictl::tl_ostream & s, const ::tl2::MyBoxedVectorSlice& item); -bool MyBoxedVectorSliceReadBoxed(::basictl::tl_istream & s, ::tl2::MyBoxedVectorSlice& item); -bool MyBoxedVectorSliceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyBoxedVectorSlice& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myDictOfInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myDictOfInt.hpp deleted file mode 100644 index 9d930e21..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myDictOfInt.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myDictOfInt.hpp" - -namespace tl2 { namespace details { - -void MyDictOfIntReset(::tl2::MyDictOfInt& item); - -bool MyDictOfIntWriteJSON(std::ostream& s, const ::tl2::MyDictOfInt& item); -bool MyDictOfIntRead(::basictl::tl_istream & s, ::tl2::MyDictOfInt& item); -bool MyDictOfIntWrite(::basictl::tl_ostream & s, const ::tl2::MyDictOfInt& item); -bool MyDictOfIntReadBoxed(::basictl::tl_istream & s, ::tl2::MyDictOfInt& item); -bool MyDictOfIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyDictOfInt& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myDouble.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myDouble.hpp deleted file mode 100644 index 7dc14087..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myDouble.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myDouble.hpp" - -namespace tl2 { namespace details { - -void MyDoubleReset(::tl2::MyDouble& item); - -bool MyDoubleWriteJSON(std::ostream& s, const ::tl2::MyDouble& item); -bool MyDoubleRead(::basictl::tl_istream & s, ::tl2::MyDouble& item); -bool MyDoubleWrite(::basictl::tl_ostream & s, const ::tl2::MyDouble& item); -bool MyDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::MyDouble& item); -bool MyDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyDouble& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myInt.hpp deleted file mode 100644 index 452347ba..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myInt.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myInt.hpp" - -namespace tl2 { namespace details { - -void MyIntReset(::tl2::MyInt& item); - -bool MyIntWriteJSON(std::ostream& s, const ::tl2::MyInt& item); -bool MyIntRead(::basictl::tl_istream & s, ::tl2::MyInt& item); -bool MyIntWrite(::basictl::tl_ostream & s, const ::tl2::MyInt& item); -bool MyIntReadBoxed(::basictl::tl_istream & s, ::tl2::MyInt& item); -bool MyIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyInt& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMaybe1.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMaybe1.hpp deleted file mode 100644 index 59b4ce1e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMaybe1.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myMaybe1.hpp" - -namespace tl2 { namespace details { - -void MyMaybe1Reset(::tl2::MyMaybe1& item); - -bool MyMaybe1WriteJSON(std::ostream& s, const ::tl2::MyMaybe1& item); -bool MyMaybe1Read(::basictl::tl_istream & s, ::tl2::MyMaybe1& item); -bool MyMaybe1Write(::basictl::tl_ostream & s, const ::tl2::MyMaybe1& item); -bool MyMaybe1ReadBoxed(::basictl::tl_istream & s, ::tl2::MyMaybe1& item); -bool MyMaybe1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMaybe1& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMaybe2.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMaybe2.hpp deleted file mode 100644 index 4b3676d7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMaybe2.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myMaybe2.hpp" - -namespace tl2 { namespace details { - -void MyMaybe2Reset(::tl2::MyMaybe2& item); - -bool MyMaybe2WriteJSON(std::ostream& s, const ::tl2::MyMaybe2& item); -bool MyMaybe2Read(::basictl::tl_istream & s, ::tl2::MyMaybe2& item); -bool MyMaybe2Write(::basictl::tl_ostream & s, const ::tl2::MyMaybe2& item); -bool MyMaybe2ReadBoxed(::basictl::tl_istream & s, ::tl2::MyMaybe2& item); -bool MyMaybe2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMaybe2& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMcValue.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMcValue.hpp deleted file mode 100644 index 13a7611a..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMcValue.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myMcValue.hpp" - -namespace tl2 { namespace details { - -void MyMcValueReset(::tl2::MyMcValue& item); - -bool MyMcValueWriteJSON(std::ostream& s, const ::tl2::MyMcValue& item); -bool MyMcValueRead(::basictl::tl_istream & s, ::tl2::MyMcValue& item); -bool MyMcValueWrite(::basictl::tl_ostream & s, const ::tl2::MyMcValue& item); -bool MyMcValueReadBoxed(::basictl::tl_istream & s, ::tl2::MyMcValue& item); -bool MyMcValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMcValue& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMcValueTuple.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMcValueTuple.hpp deleted file mode 100644 index 37a6afaf..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMcValueTuple.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myMcValueTuple.hpp" - -namespace tl2 { namespace details { - -void MyMcValueTupleReset(::tl2::MyMcValueTuple& item); - -bool MyMcValueTupleWriteJSON(std::ostream& s, const ::tl2::MyMcValueTuple& item); -bool MyMcValueTupleRead(::basictl::tl_istream & s, ::tl2::MyMcValueTuple& item); -bool MyMcValueTupleWrite(::basictl::tl_ostream & s, const ::tl2::MyMcValueTuple& item); -bool MyMcValueTupleReadBoxed(::basictl::tl_istream & s, ::tl2::MyMcValueTuple& item); -bool MyMcValueTupleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMcValueTuple& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMcValueVector.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMcValueVector.hpp deleted file mode 100644 index 150896eb..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myMcValueVector.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myMcValueVector.hpp" - -namespace tl2 { namespace details { - -void MyMcValueVectorReset(::tl2::MyMcValueVector& item); - -bool MyMcValueVectorWriteJSON(std::ostream& s, const ::tl2::MyMcValueVector& item); -bool MyMcValueVectorRead(::basictl::tl_istream & s, ::tl2::MyMcValueVector& item); -bool MyMcValueVectorWrite(::basictl::tl_ostream & s, const ::tl2::MyMcValueVector& item); -bool MyMcValueVectorReadBoxed(::basictl::tl_istream & s, ::tl2::MyMcValueVector& item); -bool MyMcValueVectorWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyMcValueVector& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myString.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myString.hpp deleted file mode 100644 index 353ae8e8..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myString.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myString.hpp" - -namespace tl2 { namespace details { - -void MyStringReset(::tl2::MyString& item); - -bool MyStringWriteJSON(std::ostream& s, const ::tl2::MyString& item); -bool MyStringRead(::basictl::tl_istream & s, ::tl2::MyString& item); -bool MyStringWrite(::basictl::tl_ostream & s, const ::tl2::MyString& item); -bool MyStringReadBoxed(::basictl::tl_istream & s, ::tl2::MyString& item); -bool MyStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyString& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myTuple.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myTuple.hpp deleted file mode 100644 index 51ab8720..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myTuple.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myTuple.hpp" - -namespace tl2 { namespace details { - -void MyTuple10Reset(::tl2::MyTuplen<10>& item); - -bool MyTuple10WriteJSON(std::ostream& s, const ::tl2::MyTuplen<10>& item); -bool MyTuple10Read(::basictl::tl_istream & s, ::tl2::MyTuplen<10>& item); -bool MyTuple10Write(::basictl::tl_ostream & s, const ::tl2::MyTuplen<10>& item); -bool MyTuple10ReadBoxed(::basictl::tl_istream & s, ::tl2::MyTuplen<10>& item); -bool MyTuple10WriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyTuplen<10>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -bool MyTuple10MaybeWriteJSON(std::ostream & s, const std::optional<::tl2::MyTuplen<10>>& item); - -bool MyTuple10MaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::MyTuplen<10>>& item); -bool MyTuple10MaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::MyTuplen<10>>& item); - - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myTwoDicts.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myTwoDicts.hpp deleted file mode 100644 index 720200da..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/myTwoDicts.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/myTwoDicts.hpp" - -namespace tl2 { namespace details { - -void MyTwoDictsReset(::tl2::MyTwoDicts& item); - -bool MyTwoDictsWriteJSON(std::ostream& s, const ::tl2::MyTwoDicts& item); -bool MyTwoDictsRead(::basictl::tl_istream & s, ::tl2::MyTwoDicts& item); -bool MyTwoDictsWrite(::basictl::tl_ostream & s, const ::tl2::MyTwoDicts& item); -bool MyTwoDictsReadBoxed(::basictl::tl_istream & s, ::tl2::MyTwoDicts& item); -bool MyTwoDictsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::MyTwoDicts& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/nonOptNat.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/nonOptNat.hpp deleted file mode 100644 index f5597485..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/nonOptNat.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/nonOptNat.hpp" - -namespace tl2 { namespace details { - -void NonOptNatReset(::tl2::NonOptNat& item); - -bool NonOptNatWriteJSON(std::ostream& s, const ::tl2::NonOptNat& item); -bool NonOptNatRead(::basictl::tl_istream & s, ::tl2::NonOptNat& item); -bool NonOptNatWrite(::basictl::tl_ostream & s, const ::tl2::NonOptNat& item); -bool NonOptNatReadBoxed(::basictl::tl_istream & s, ::tl2::NonOptNat& item); -bool NonOptNatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::NonOptNat& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/right.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/right.hpp deleted file mode 100644 index bb61294d..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/right.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/right.hpp" -#include "../../service6/types/service6.findWithBoundsResult.hpp" -#include "../../service6/types/service6.findResultRow.hpp" -#include "../../service6/types/service6.error.hpp" - -namespace tl2 { namespace details { - -void RightIntVectorService6FindWithBoundsResultReset(::tl2::Right>& item); - -bool RightIntVectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const ::tl2::Right>& item); -bool RightIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, ::tl2::Right>& item); -bool RightIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const ::tl2::Right>& item); -bool RightIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::Right>& item); -bool RightIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Right>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void RightService6ErrorVectorService6FindResultRowReset(::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); - -bool RightService6ErrorVectorService6FindResultRowWriteJSON(std::ostream& s, const ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); -bool RightService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); -bool RightService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); -bool RightService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); -bool RightService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Right<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/rpcInvokeReqExtra.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/rpcInvokeReqExtra.hpp deleted file mode 100644 index cceeabe6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/rpcInvokeReqExtra.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/rpcInvokeReqExtra.hpp" - -namespace tl2 { namespace details { - -void RpcInvokeReqExtraReset(::tl2::RpcInvokeReqExtra& item); - -bool RpcInvokeReqExtraWriteJSON(std::ostream& s, const ::tl2::RpcInvokeReqExtra& item); -bool RpcInvokeReqExtraRead(::basictl::tl_istream & s, ::tl2::RpcInvokeReqExtra& item); -bool RpcInvokeReqExtraWrite(::basictl::tl_ostream & s, const ::tl2::RpcInvokeReqExtra& item); -bool RpcInvokeReqExtraReadBoxed(::basictl::tl_istream & s, ::tl2::RpcInvokeReqExtra& item); -bool RpcInvokeReqExtraWriteBoxed(::basictl::tl_ostream & s, const ::tl2::RpcInvokeReqExtra& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/statOne.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/statOne.hpp deleted file mode 100644 index a5cf2d00..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/statOne.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/statOne.hpp" - -namespace tl2 { namespace details { - -void StatOneReset(::tl2::StatOne& item); - -bool StatOneWriteJSON(std::ostream& s, const ::tl2::StatOne& item); -bool StatOneRead(::basictl::tl_istream & s, ::tl2::StatOne& item); -bool StatOneWrite(::basictl::tl_ostream & s, const ::tl2::StatOne& item); -bool StatOneReadBoxed(::basictl::tl_istream & s, ::tl2::StatOne& item); -bool StatOneWriteBoxed(::basictl::tl_ostream & s, const ::tl2::StatOne& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/string.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/string.hpp deleted file mode 100644 index e180b73f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/string.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/string.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorStringReset(std::vector& item); - -bool BuiltinVectorStringWriteJSON(std::ostream & s, const std::vector& item); -bool BuiltinVectorStringRead(::basictl::tl_istream & s, std::vector& item); -bool BuiltinVectorStringWrite(::basictl::tl_ostream & s, const std::vector& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void StringReset(std::string& item); - -bool StringWriteJSON(std::ostream& s, const std::string& item); -bool StringRead(::basictl::tl_istream & s, std::string& item); -bool StringWrite(::basictl::tl_ostream & s, const std::string& item); -bool StringReadBoxed(::basictl::tl_istream & s, std::string& item); -bool StringWriteBoxed(::basictl::tl_ostream & s, const std::string& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/true.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/true.hpp deleted file mode 100644 index 25d0dde6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/true.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/true.hpp" - -namespace tl2 { namespace details { - -void TrueReset(::tl2::True& item); - -bool TrueWriteJSON(std::ostream& s, const ::tl2::True& item); -bool TrueRead(::basictl::tl_istream & s, ::tl2::True& item); -bool TrueWrite(::basictl::tl_ostream & s, const ::tl2::True& item); -bool TrueReadBoxed(::basictl::tl_istream & s, ::tl2::True& item); -bool TrueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::True& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/tuple.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/tuple.hpp deleted file mode 100644 index bc3e6b59..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/tuple.hpp +++ /dev/null @@ -1,104 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tuple.hpp" -#include "../../service2/types/service2.counterSet.hpp" -#include "../../service1/types/service1.Value.hpp" -#include "../types/int.hpp" - -namespace tl2 { namespace details { - -void TupleIntReset(std::vector& item); - -bool TupleIntWriteJSON(std::ostream& s, const std::vector& item, uint32_t nat_n); -bool TupleIntRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); -bool TupleIntWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); -bool TupleIntReadBoxed(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); -bool TupleIntWriteBoxed(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void TupleInt3Reset(std::array& item); - -bool TupleInt3WriteJSON(std::ostream& s, const std::array& item); -bool TupleInt3Read(::basictl::tl_istream & s, std::array& item); -bool TupleInt3Write(::basictl::tl_ostream & s, const std::array& item); -bool TupleInt3ReadBoxed(::basictl::tl_istream & s, std::array& item); -bool TupleInt3WriteBoxed(::basictl::tl_ostream & s, const std::array& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void TupleInt5Reset(std::array& item); - -bool TupleInt5WriteJSON(std::ostream& s, const std::array& item); -bool TupleInt5Read(::basictl::tl_istream & s, std::array& item); -bool TupleInt5Write(::basictl::tl_ostream & s, const std::array& item); -bool TupleInt5ReadBoxed(::basictl::tl_istream & s, std::array& item); -bool TupleInt5WriteBoxed(::basictl::tl_ostream & s, const std::array& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void TupleIntBoxedReset(std::vector& item); - -bool TupleIntBoxedWriteJSON(std::ostream& s, const std::vector& item, uint32_t nat_n); -bool TupleIntBoxedRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); -bool TupleIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); -bool TupleIntBoxedReadBoxed(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); -bool TupleIntBoxedWriteBoxed(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void TupleIntBoxed10Reset(std::array& item); - -bool TupleIntBoxed10WriteJSON(std::ostream& s, const std::array& item); -bool TupleIntBoxed10Read(::basictl::tl_istream & s, std::array& item); -bool TupleIntBoxed10Write(::basictl::tl_ostream & s, const std::array& item); -bool TupleIntBoxed10ReadBoxed(::basictl::tl_istream & s, std::array& item); -bool TupleIntBoxed10WriteBoxed(::basictl::tl_ostream & s, const std::array& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void TupleIntBoxed2Reset(std::array& item); - -bool TupleIntBoxed2WriteJSON(std::ostream& s, const std::array& item); -bool TupleIntBoxed2Read(::basictl::tl_istream & s, std::array& item); -bool TupleIntBoxed2Write(::basictl::tl_ostream & s, const std::array& item); -bool TupleIntBoxed2ReadBoxed(::basictl::tl_istream & s, std::array& item); -bool TupleIntBoxed2WriteBoxed(::basictl::tl_ostream & s, const std::array& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void TupleService1Value3Reset(std::array<::tl2::service1::Value, 3>& item); - -bool TupleService1Value3WriteJSON(std::ostream& s, const std::array<::tl2::service1::Value, 3>& item); -bool TupleService1Value3Read(::basictl::tl_istream & s, std::array<::tl2::service1::Value, 3>& item); -bool TupleService1Value3Write(::basictl::tl_ostream & s, const std::array<::tl2::service1::Value, 3>& item); -bool TupleService1Value3ReadBoxed(::basictl::tl_istream & s, std::array<::tl2::service1::Value, 3>& item); -bool TupleService1Value3WriteBoxed(::basictl::tl_ostream & s, const std::array<::tl2::service1::Value, 3>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void TupleService2CounterSetReset(std::vector<::tl2::service2::CounterSet>& item); - -bool TupleService2CounterSetWriteJSON(std::ostream& s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); -bool TupleService2CounterSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); -bool TupleService2CounterSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); -bool TupleService2CounterSetReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); -bool TupleService2CounterSetWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/vector.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/vector.hpp deleted file mode 100644 index f53031b6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/vector.hpp +++ /dev/null @@ -1,173 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/vector.hpp" -#include "../../tasks/types/tasks.queueTypeInfo.hpp" -#include "../../service6/types/service6.findWithBoundsResult.hpp" -#include "../types/map.hpp" -#include "../../service6/types/service6.findResultRow.hpp" -#include "../../service6/types/service6.error.hpp" -#include "../../service1/types/service1.Value.hpp" -#include "../types/Either.hpp" -#include "../types/dictionaryField.hpp" -#include "../types/string.hpp" -#include "../types/long.hpp" -#include "../types/integer.hpp" -#include "../types/int.hpp" - -namespace tl2 { namespace details { - -void VectorDictionaryFieldIntReset(std::vector<::tl2::DictionaryField>& item); - -bool VectorDictionaryFieldIntWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField>& item); -bool VectorDictionaryFieldIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item); -bool VectorDictionaryFieldIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item); -bool VectorDictionaryFieldIntReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item); -bool VectorDictionaryFieldIntWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorEitherIntVectorService6FindWithBoundsResultReset(std::vector<::tl2::Either>>& item); - -bool VectorEitherIntVectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const std::vector<::tl2::Either>>& item); -bool VectorEitherIntVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::Either>>& item); -bool VectorEitherIntVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either>>& item); -bool VectorEitherIntVectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Either>>& item); -bool VectorEitherIntVectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Either>>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorEitherService6ErrorVectorService6FindResultRowReset(std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); - -bool VectorEitherService6ErrorVectorService6FindResultRowWriteJSON(std::ostream& s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); -bool VectorEitherService6ErrorVectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); -bool VectorEitherService6ErrorVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); -bool VectorEitherService6ErrorVectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); -bool VectorEitherService6ErrorVectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorIntReset(std::vector& item); - -bool VectorIntWriteJSON(std::ostream& s, const std::vector& item); -bool VectorIntRead(::basictl::tl_istream & s, std::vector& item); -bool VectorIntWrite(::basictl::tl_ostream & s, const std::vector& item); -bool VectorIntReadBoxed(::basictl::tl_istream & s, std::vector& item); -bool VectorIntWriteBoxed(::basictl::tl_ostream & s, const std::vector& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorIntBoxedReset(std::vector& item); - -bool VectorIntBoxedWriteJSON(std::ostream& s, const std::vector& item); -bool VectorIntBoxedRead(::basictl::tl_istream & s, std::vector& item); -bool VectorIntBoxedWrite(::basictl::tl_ostream & s, const std::vector& item); -bool VectorIntBoxedReadBoxed(::basictl::tl_istream & s, std::vector& item); -bool VectorIntBoxedWriteBoxed(::basictl::tl_ostream & s, const std::vector& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorIntegerReset(std::vector<::tl2::Integer>& item); - -bool VectorIntegerWriteJSON(std::ostream& s, const std::vector<::tl2::Integer>& item); -bool VectorIntegerRead(::basictl::tl_istream & s, std::vector<::tl2::Integer>& item); -bool VectorIntegerWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Integer>& item); -bool VectorIntegerReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Integer>& item); -bool VectorIntegerWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Integer>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorLongBoxedReset(std::vector& item); - -bool VectorLongBoxedWriteJSON(std::ostream& s, const std::vector& item); -bool VectorLongBoxedRead(::basictl::tl_istream & s, std::vector& item); -bool VectorLongBoxedWrite(::basictl::tl_ostream & s, const std::vector& item); -bool VectorLongBoxedReadBoxed(::basictl::tl_istream & s, std::vector& item); -bool VectorLongBoxedWriteBoxed(::basictl::tl_ostream & s, const std::vector& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorMapStringStringReset(std::vector<::tl2::Map>& item); - -bool VectorMapStringStringWriteJSON(std::ostream& s, const std::vector<::tl2::Map>& item); -bool VectorMapStringStringRead(::basictl::tl_istream & s, std::vector<::tl2::Map>& item); -bool VectorMapStringStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::Map>& item); -bool VectorMapStringStringReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::Map>& item); -bool VectorMapStringStringWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::Map>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorService1ValueReset(std::vector<::tl2::service1::Value>& item); - -bool VectorService1ValueWriteJSON(std::ostream& s, const std::vector<::tl2::service1::Value>& item); -bool VectorService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::service1::Value>& item); -bool VectorService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service1::Value>& item); -bool VectorService1ValueReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service1::Value>& item); -bool VectorService1ValueWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service1::Value>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorService6FindResultRowReset(std::vector<::tl2::service6::FindResultRow>& item); - -bool VectorService6FindResultRowWriteJSON(std::ostream& s, const std::vector<::tl2::service6::FindResultRow>& item); -bool VectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindResultRow>& item); -bool VectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindResultRow>& item); -bool VectorService6FindResultRowReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service6::FindResultRow>& item); -bool VectorService6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindResultRow>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorService6FindWithBoundsResultReset(std::vector<::tl2::service6::FindWithBoundsResult>& item); - -bool VectorService6FindWithBoundsResultWriteJSON(std::ostream& s, const std::vector<::tl2::service6::FindWithBoundsResult>& item); -bool VectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindWithBoundsResult>& item); -bool VectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item); -bool VectorService6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service6::FindWithBoundsResult>& item); -bool VectorService6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorStringReset(std::vector& item); - -bool VectorStringWriteJSON(std::ostream& s, const std::vector& item); -bool VectorStringRead(::basictl::tl_istream & s, std::vector& item); -bool VectorStringWrite(::basictl::tl_ostream & s, const std::vector& item); -bool VectorStringReadBoxed(::basictl::tl_istream & s, std::vector& item); -bool VectorStringWriteBoxed(::basictl::tl_ostream & s, const std::vector& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorTasksQueueTypeInfoReset(std::vector<::tl2::tasks::QueueTypeInfo>& item); - -bool VectorTasksQueueTypeInfoWriteJSON(std::ostream& s, const std::vector<::tl2::tasks::QueueTypeInfo>& item); -bool VectorTasksQueueTypeInfoRead(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo>& item); -bool VectorTasksQueueTypeInfoWrite(::basictl::tl_ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item); -bool VectorTasksQueueTypeInfoReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo>& item); -bool VectorTasksQueueTypeInfoWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/withFloat.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/withFloat.hpp deleted file mode 100644 index 7f939fe8..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/headers/withFloat.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/withFloat.hpp" - -namespace tl2 { namespace details { - -void WithFloatReset(::tl2::WithFloat& item); - -bool WithFloatWriteJSON(std::ostream& s, const ::tl2::WithFloat& item); -bool WithFloatRead(::basictl::tl_istream & s, ::tl2::WithFloat& item); -bool WithFloatWrite(::basictl::tl_ostream & s, const ::tl2::WithFloat& item); -bool WithFloatReadBoxed(::basictl::tl_istream & s, ::tl2::WithFloat& item); -bool WithFloatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::WithFloat& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/Bool.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/Bool.hpp deleted file mode 100644 index 62a94887..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/Bool.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { - - enum { BoolFalse = 0xbc799737, BoolTrue = 0x997275b5 }; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/Either.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/Either.hpp deleted file mode 100644 index cd53cfac..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/Either.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "right.hpp" -#include "left.hpp" - - -namespace tl2 { -template -struct Either { - std::variant<::tl2::Left, ::tl2::Right> value; - - bool is_left() const { return value.index() == 0; } - bool is_right() const { return value.index() == 1; } - - - std::string_view tl_name() const; - uint32_t tl_tag() const; -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/MyValue.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/MyValue.hpp deleted file mode 100644 index 7616f513..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/MyValue.hpp +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "myString.hpp" -#include "myInt.hpp" - - -namespace tl2 { -struct MyValue { - std::variant<::tl2::MyInt, ::tl2::MyString> value; - - bool is_myInt() const { return value.index() == 0; } - bool is_myString() const { return value.index() == 1; } - - - std::string_view tl_name() const; - uint32_t tl_tag() const; - - bool write_json(std::ostream& s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/benchObject.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/benchObject.hpp deleted file mode 100644 index 14300a68..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/benchObject.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "integer.hpp" - - -namespace tl2 { -struct BenchObject { - std::vector xs; - std::vector<::tl2::Integer> ys; - - std::string_view tl_name() const { return "benchObject"; } - uint32_t tl_tag() const { return 0xb697e865; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const BenchObject& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/boolStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/boolStat.hpp deleted file mode 100644 index d4fedf98..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/boolStat.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct BoolStat { - int32_t statTrue = 0; - int32_t statFalse = 0; - int32_t statUnknown = 0; - - std::string_view tl_name() const { return "boolStat"; } - uint32_t tl_tag() const { return 0x92cbcbfa; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const BoolStat& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/dictionary.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/dictionary.hpp deleted file mode 100644 index 76688e0f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/dictionary.hpp +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "dictionaryField.hpp" - - -namespace tl2 { -template -using Dictionary = std::vector<::tl2::DictionaryField>; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/dictionaryField.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/dictionaryField.hpp deleted file mode 100644 index f6340159..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/dictionaryField.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -template -struct DictionaryField { - std::string key; - t value{}; - - std::string_view tl_name() const { return "dictionaryField"; } - uint32_t tl_tag() const { return 0x239c1b62; } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/double.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/double.hpp deleted file mode 100644 index 780c3a83..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/double.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -using Double = double; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict1.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict1.hpp deleted file mode 100644 index 5abd6a6c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict1.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct FieldConflict1 { - int32_t x = 0; - int32_t set_x = 0; - - std::string_view tl_name() const { return "fieldConflict1"; } - uint32_t tl_tag() const { return 0xf314bd09; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const FieldConflict1& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict2.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict2.hpp deleted file mode 100644 index 0a895681..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict2.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct FieldConflict2 { - int32_t x = 0; - int32_t setX = 0; - - std::string_view tl_name() const { return "fieldConflict2"; } - uint32_t tl_tag() const { return 0x1bba76b8; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const FieldConflict2& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict3.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict3.hpp deleted file mode 100644 index 97c5d133..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict3.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct FieldConflict3 { - int32_t x = 0; - int32_t SetX = 0; - - std::string_view tl_name() const { return "fieldConflict3"; } - uint32_t tl_tag() const { return 0x2cf6e157; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const FieldConflict3& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict4.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict4.hpp deleted file mode 100644 index a85bcae9..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/fieldConflict4.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct FieldConflict4 { - int32_t X = 0; - int32_t SetX = 0; - - std::string_view tl_name() const { return "fieldConflict4"; } - uint32_t tl_tag() const { return 0xd93c186a; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const FieldConflict4& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/float.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/float.hpp deleted file mode 100644 index fa9834b7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/float.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -using Float = float; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/int.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/int.hpp deleted file mode 100644 index 95bcfbc7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/int.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -using Int = int32_t; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/integer.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/integer.hpp deleted file mode 100644 index 8ca98381..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/integer.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct Integer { - int32_t value = 0; - - std::string_view tl_name() const { return "integer"; } - uint32_t tl_tag() const { return 0x7e194796; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const Integer& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/issue3498.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/issue3498.hpp deleted file mode 100644 index fa4221be..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/issue3498.hpp +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../service6/types/service6.findResultRow.hpp" -#include "../../service6/types/service6.error.hpp" -#include "Either.hpp" - - -namespace tl2 { -struct Issue3498 { - std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> x; - - std::string_view tl_name() const { return "issue3498"; } - uint32_t tl_tag() const { return 0xf54b7b0a; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const Issue3498& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/left.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/left.hpp deleted file mode 100644 index 18a9d7f7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/left.hpp +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -template -struct Left { - X value{}; - - std::string_view tl_name() const { return "left"; } - uint32_t tl_tag() const { return 0x0a29cd5d; } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/long.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/long.hpp deleted file mode 100644 index cd9546fe..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/long.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -using Long = int64_t; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/map.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/map.hpp deleted file mode 100644 index 67c0e2f4..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/map.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -template -struct Map { - X key{}; - Y value{}; - - std::string_view tl_name() const { return "map"; } - uint32_t tl_tag() const { return 0x79c473a4; } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myAnonMcValue.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myAnonMcValue.hpp deleted file mode 100644 index 6a0cc8f1..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myAnonMcValue.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../service1/types/service1.Value.hpp" - - -namespace tl2 { -using MyAnonMcValue = ::tl2::service1::Value; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myBoxedArray.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myBoxedArray.hpp deleted file mode 100644 index 23eca660..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myBoxedArray.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct MyBoxedArray { - std::array data{}; - - std::string_view tl_name() const { return "myBoxedArray"; } - uint32_t tl_tag() const { return 0x288f64f0; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const MyBoxedArray& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myBoxedTupleSlice.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myBoxedTupleSlice.hpp deleted file mode 100644 index 36987829..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myBoxedTupleSlice.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct MyBoxedTupleSlice { - uint32_t n = 0; - std::vector data; - - std::string_view tl_name() const { return "myBoxedTupleSlice"; } - uint32_t tl_tag() const { return 0x25d1a1be; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const MyBoxedTupleSlice& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myBoxedVectorSlice.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myBoxedVectorSlice.hpp deleted file mode 100644 index 7e5c6bbe..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myBoxedVectorSlice.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct MyBoxedVectorSlice { - std::vector data; - - std::string_view tl_name() const { return "myBoxedVectorSlice"; } - uint32_t tl_tag() const { return 0x57d164bb; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const MyBoxedVectorSlice& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myDictOfInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myDictOfInt.hpp deleted file mode 100644 index f8c2af2e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myDictOfInt.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "dictionary.hpp" - - -namespace tl2 { -using MyDictOfInt = ::tl2::Dictionary; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myDouble.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myDouble.hpp deleted file mode 100644 index 0d56f0f7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myDouble.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -using MyDouble = double; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myInt.hpp deleted file mode 100644 index 518e8627..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myInt.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct MyInt { - int32_t val1 = 0; - - std::string_view tl_name() const { return "myInt"; } - uint32_t tl_tag() const { return 0xc12375b7; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const MyInt& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMaybe1.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMaybe1.hpp deleted file mode 100644 index 0021a7e6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMaybe1.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "myTuple.hpp" - - -namespace tl2 { -using MyMaybe1 = std::optional<::tl2::MyTuplen<10>>; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMaybe2.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMaybe2.hpp deleted file mode 100644 index 6cb2f9fe..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMaybe2.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "myTuple.hpp" - - -namespace tl2 { -using MyMaybe2 = std::optional<::tl2::MyTuplen<10>>; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMcValue.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMcValue.hpp deleted file mode 100644 index 013124af..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMcValue.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../service1/types/service1.Value.hpp" - - -namespace tl2 { -struct MyMcValue { - ::tl2::service1::Value x; - - std::string_view tl_name() const { return "myMcValue"; } - uint32_t tl_tag() const { return 0xe2ffd978; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const MyMcValue& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMcValueTuple.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMcValueTuple.hpp deleted file mode 100644 index eb7c4310..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMcValueTuple.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../service1/types/service1.Value.hpp" - - -namespace tl2 { -struct MyMcValueTuple { - std::array<::tl2::service1::Value, 3> xs{}; - - std::string_view tl_name() const { return "myMcValueTuple"; } - uint32_t tl_tag() const { return 0x1287d116; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const MyMcValueTuple& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMcValueVector.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMcValueVector.hpp deleted file mode 100644 index c89c86a2..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myMcValueVector.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../service1/types/service1.Value.hpp" - - -namespace tl2 { -struct MyMcValueVector { - std::vector<::tl2::service1::Value> xs; - - std::string_view tl_name() const { return "myMcValueVector"; } - uint32_t tl_tag() const { return 0x761d6d58; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const MyMcValueVector& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myString.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myString.hpp deleted file mode 100644 index a9ea5339..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myString.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct MyString { - std::string val2; - - std::string_view tl_name() const { return "myString"; } - uint32_t tl_tag() const { return 0xc8bfa969; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const MyString& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myTuple.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myTuple.hpp deleted file mode 100644 index e9a9b3d6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myTuple.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -template -using MyTuplen = std::array; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myTwoDicts.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myTwoDicts.hpp deleted file mode 100644 index c7f11145..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/myTwoDicts.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "dictionary.hpp" - - -namespace tl2 { -struct MyTwoDicts { - ::tl2::Dictionary a{}; - ::tl2::Dictionary b{}; - - std::string_view tl_name() const { return "myTwoDicts"; } - uint32_t tl_tag() const { return 0xa859581d; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const MyTwoDicts& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/nonOptNat.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/nonOptNat.hpp deleted file mode 100644 index 155937d2..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/nonOptNat.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct NonOptNat { - uint32_t n = 0; - std::vector xs; - - std::string_view tl_name() const { return "nonOptNat"; } - uint32_t tl_tag() const { return 0x45366605; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const NonOptNat& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/right.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/right.hpp deleted file mode 100644 index 49b74c1d..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/right.hpp +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -template -struct Right { - Y value{}; - - std::string_view tl_name() const { return "right"; } - uint32_t tl_tag() const { return 0xdf3ecb3b; } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/rpcInvokeReqExtra.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/rpcInvokeReqExtra.hpp deleted file mode 100644 index bf799deb..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/rpcInvokeReqExtra.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "true.hpp" - - -namespace tl2 { -struct RpcInvokeReqExtra { - uint32_t fields_mask = 0; - ::tl2::True query{}; - ::tl2::True sort{}; - ::tl2::True sort_reverse{}; - int64_t wait_binlog_pos = 0; - std::vector string_forward_keys; - - std::string_view tl_name() const { return "rpcInvokeReqExtra"; } - uint32_t tl_tag() const { return 0xf3ef81a9; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const RpcInvokeReqExtra& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/statOne.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/statOne.hpp deleted file mode 100644 index d2c82dd7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/statOne.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct StatOne { - std::string key; - std::string value; - - std::string_view tl_name() const { return "statOne"; } - uint32_t tl_tag() const { return 0x74b0604b; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const StatOne& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/string.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/string.hpp deleted file mode 100644 index 8030fc84..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/string.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -using String = std::string; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/true.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/true.hpp deleted file mode 100644 index 2b7a0846..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/true.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct True { - - std::string_view tl_name() const { return "true"; } - uint32_t tl_tag() const { return 0x3fedd339; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const True& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/tuple.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/tuple.hpp deleted file mode 100644 index 9f00b0d7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/tuple.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -template -using Tuple = std::vector; -} // namespace tl2 - -namespace tl2 { -template -using Tuplen = std::array; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/vector.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/vector.hpp deleted file mode 100644 index 14003173..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/vector.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -template -using Vector = std::vector; -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/withFloat.hpp b/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/withFloat.hpp deleted file mode 100644 index c0d4376c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__common_namespace/types/withFloat.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { -struct WithFloat { - float x = 0; - float y = 0; - float z = 0; - - std::string_view tl_name() const { return "withFloat"; } - uint32_t tl_tag() const { return 0x071b8685; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const WithFloat& rhs) { - rhs.write_json(s); - return s; - } -}; - -} // namespace tl2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/__factory/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/__factory/details.cpp deleted file mode 100644 index eaf326a5..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__factory/details.cpp +++ /dev/null @@ -1,3239 +0,0 @@ -#include "../__meta/headers.hpp" -#include "headers.hpp" - -#include "../__common_namespace/types/withFloat.hpp" -#include "../__common_namespace/types/vector.hpp" -#include "../unique/functions/unique.stringToInt.hpp" -#include "../unique/functions/unique.get.hpp" -#include "../__common_namespace/types/tuple.hpp" -#include "../tree_stats/types/tree_stats.objectLimitValueLong.hpp" -#include "../tasks/types/tasks.TaskStatusItems.hpp" -#include "../tasks/types/tasks.taskInfo.hpp" -#include "../tasks/types/tasks.queueTypeInfo.hpp" -#include "../tasks/types/tasks.queueTypeSettings.hpp" -#include "../tasks/types/tasks.queueStats.hpp" -#include "../tasks/functions/tasks.getTaskFromQueue.hpp" -#include "../tasks/functions/tasks.getQueueTypes.hpp" -#include "../tasks/functions/tasks.getQueueSize.hpp" -#include "../tasks/functions/tasks.getAnyTask.hpp" -#include "../tasks/types/tasks.cronTaskWithId.hpp" -#include "../tasks/types/tasks.cronTask.hpp" -#include "../tasks/types/tasks.cronTime.hpp" -#include "../tasks/functions/tasks.addTask.hpp" -#include "../tasks/types/tasks.task.hpp" -#include "../__common_namespace/types/string.hpp" -#include "../__common_namespace/types/statOne.hpp" -#include "../service6/functions/service6.multiFindWithBounds.hpp" -#include "../service6/functions/service6.multiFind.hpp" -#include "../service6/types/service6.findWithBoundsResult.hpp" -#include "../service5/functions/service5.query.hpp" -#include "../service5/functions/service5.performQuery.hpp" -#include "../service5/types/service5.params.hpp" -#include "../service5/types/service5.Output.hpp" -#include "../service5/types/service5.stringOutput.hpp" -#include "../service5/functions/service5.insert.hpp" -#include "../service5/types/service5.emptyOutput.hpp" -#include "../service4/types/service4.modifiedNewsEntry.hpp" -#include "../service4/types/service4.object.hpp" -#include "../service3/functions/service3.setLimits.hpp" -#include "../service3/functions/service3.setLastVisitTimestamp.hpp" -#include "../service3/functions/service3.restoreProduct.hpp" -#include "../service3/functions/service3.restoreGroupedProducts.hpp" -#include "../service3/functions/service3.restoreAllProducts.hpp" -#include "../service3/types/service3.productStatsOld.hpp" -#include "../service3/types/service3.limits.hpp" -#include "../service3/types/service3.groupSizeLimit.hpp" -#include "../service3/types/service3.groupCountLimit.hpp" -#include "../service3/functions/service3.getScheduledProducts.hpp" -#include "../service3/functions/service3.getProducts.hpp" -#include "../service3/functions/service3.getProductStats.hpp" -#include "../service3/functions/service3.getLimits.hpp" -#include "../service3/functions/service3.getLastVisitTimestamp.hpp" -#include "../service3/functions/service3.deleteProduct.hpp" -#include "../service3/functions/service3.deleteGroupedProducts.hpp" -#include "../service3/functions/service3.deleteAllProducts.hpp" -#include "../service3/functions/service3.createProduct.hpp" -#include "../service2/functions/service2.setObjectTtl.hpp" -#include "../service2/functions/service2.set.hpp" -#include "../service2/functions/service2.addOrIncrMany.hpp" -#include "../service1/functions/service1.touch.hpp" -#include "../service1/functions/service1.setOrIncr.hpp" -#include "../service1/functions/service1.set.hpp" -#include "../service1/functions/service1.replaceOrIncr.hpp" -#include "../service1/functions/service1.replace.hpp" -#include "../service1/types/service1.keysStat.hpp" -#include "../service1/functions/service1.incr.hpp" -#include "../service1/functions/service1.getWildcardWithFlags.hpp" -#include "../service1/functions/service1.getWildcardList.hpp" -#include "../service1/functions/service1.getWildcardDict.hpp" -#include "../service1/functions/service1.getWildcard.hpp" -#include "../service1/functions/service1.getKeysStatPeriods.hpp" -#include "../service1/functions/service1.getKeysStat.hpp" -#include "../service1/functions/service1.getExpireTime.hpp" -#include "../service1/functions/service1.get.hpp" -#include "../service1/functions/service1.exists.hpp" -#include "../service1/functions/service1.enableKeysStat.hpp" -#include "../service1/functions/service1.enableExpiration.hpp" -#include "../service1/functions/service1.disableKeysStat.hpp" -#include "../service1/functions/service1.disableExpiration.hpp" -#include "../service1/functions/service1.delete.hpp" -#include "../service1/functions/service1.decr.hpp" -#include "../service1/functions/service1.cas.hpp" -#include "../service1/functions/service1.append.hpp" -#include "../service1/functions/service1.addOrIncr.hpp" -#include "../service1/functions/service1.addOrGet.hpp" -#include "../service1/functions/service1.add.hpp" -#include "../__common_namespace/types/rpcInvokeReqExtra.hpp" -#include "../__common_namespace/types/true.hpp" -#include "../pkg2/types/pkg2.t1.hpp" -#include "../pkg2/types/pkg2.foo.hpp" -#include "../__common_namespace/types/nonOptNat.hpp" -#include "../__common_namespace/types/myTwoDicts.hpp" -#include "../__common_namespace/types/myMcValueVector.hpp" -#include "../__common_namespace/types/myMcValueTuple.hpp" -#include "../__common_namespace/types/myMcValue.hpp" -#include "../__common_namespace/types/myBoxedVectorSlice.hpp" -#include "../__common_namespace/types/long.hpp" -#include "../__common_namespace/types/issue3498.hpp" -#include "../service6/types/service6.findResultRow.hpp" -#include "../service6/types/service6.error.hpp" -#include "../__common_namespace/types/int.hpp" -#include "../__common_namespace/functions/getStats.hpp" -#include "../tasks/types/tasks.queueTypeStats.hpp" -#include "../__common_namespace/functions/getNonOptNat.hpp" -#include "../__common_namespace/functions/getMyValue.hpp" -#include "../__common_namespace/types/MyValue.hpp" -#include "../__common_namespace/types/myString.hpp" -#include "../__common_namespace/types/myInt.hpp" -#include "../__common_namespace/functions/getMyDouble.hpp" -#include "../__common_namespace/types/myDouble.hpp" -#include "../__common_namespace/functions/getMyDictOfInt.hpp" -#include "../__common_namespace/types/myDictOfInt.hpp" -#include "../__common_namespace/functions/getMaybeIface.hpp" -#include "../service1/types/service1.Value.hpp" -#include "../service1/types/service1.strvalueWithTime.hpp" -#include "../service1/types/service1.strvalue.hpp" -#include "../service1/types/service1.not_found.hpp" -#include "../service1/types/service1.longvalueWithTime.hpp" -#include "../service1/types/service1.longvalue.hpp" -#include "../__common_namespace/functions/getFloat.hpp" -#include "../__common_namespace/functions/getDouble.hpp" -#include "../__common_namespace/functions/get_arrays.hpp" -#include "../__common_namespace/types/float.hpp" -#include "../__common_namespace/types/fieldConflict4.hpp" -#include "../__common_namespace/types/fieldConflict3.hpp" -#include "../__common_namespace/types/fieldConflict2.hpp" -#include "../__common_namespace/types/fieldConflict1.hpp" -#include "../__common_namespace/types/double.hpp" -#include "../__common_namespace/types/dictionary.hpp" -#include "../__common_namespace/functions/boxedVector64.hpp" -#include "../__common_namespace/functions/boxedVector32BoxedElem.hpp" -#include "../__common_namespace/functions/boxedVector32.hpp" -#include "../__common_namespace/functions/boxedTupleSlice3.hpp" -#include "../__common_namespace/functions/boxedTupleSlice2.hpp" -#include "../__common_namespace/types/myBoxedTupleSlice.hpp" -#include "../__common_namespace/functions/boxedTupleSlice1.hpp" -#include "../__common_namespace/functions/boxedTuple.hpp" -#include "../__common_namespace/functions/boxedString.hpp" -#include "../__common_namespace/functions/boxedInt.hpp" -#include "../__common_namespace/functions/boxedArray.hpp" -#include "../__common_namespace/types/myBoxedArray.hpp" -#include "../__common_namespace/types/boolStat.hpp" -#include "../__common_namespace/types/Bool.hpp" -#include "../__common_namespace/types/benchObject.hpp" -#include "../__common_namespace/types/integer.hpp" -#include "../antispam/types/antispam.PatternFull.hpp" -#include "../antispam/types/antispam.patternNotFound.hpp" -#include "../antispam/types/antispam.patternFound.hpp" -#include "../antispam/functions/antispam.getPattern.hpp" - -void tl2::factory::set_all_factories() { - - struct tl2_antispam_GetPattern_tl_function : public tl2::meta::tl_function { - tl2::antispam::GetPattern object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::antispam::PatternFull result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("antispam.getPattern", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("antispam.getPattern", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_antispam_PatternFound_tl_object : public tl2::meta::tl_object { - tl2::antispam::PatternFound object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("antispam.patternFound", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_antispam_PatternNotFound_tl_object : public tl2::meta::tl_object { - tl2::antispam::PatternNotFound object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("antispam.patternNotFound", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_BenchObject_tl_object : public tl2::meta::tl_object { - tl2::BenchObject object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("benchObject", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_BoolStat_tl_object : public tl2::meta::tl_object { - tl2::BoolStat object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("boolStat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_BoxedArray_tl_function : public tl2::meta::tl_function { - tl2::BoxedArray object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::MyBoxedArray result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("boxedArray", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("boxedArray", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_BoxedInt_tl_function : public tl2::meta::tl_function { - tl2::BoxedInt object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - int32_t result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("boxedInt", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("boxedInt", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_BoxedString_tl_function : public tl2::meta::tl_function { - tl2::BoxedString object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::string result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("boxedString", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("boxedString", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_BoxedTuple_tl_function : public tl2::meta::tl_function { - tl2::BoxedTuple object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::array result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("boxedTuple", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("boxedTuple", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_BoxedTupleSlice1_tl_function : public tl2::meta::tl_function { - tl2::BoxedTupleSlice1 object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("boxedTupleSlice1", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("boxedTupleSlice1", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_BoxedTupleSlice2_tl_function : public tl2::meta::tl_function { - tl2::BoxedTupleSlice2 object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::MyBoxedTupleSlice result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("boxedTupleSlice2", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("boxedTupleSlice2", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_BoxedTupleSlice3_tl_function : public tl2::meta::tl_function { - tl2::BoxedTupleSlice3 object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("boxedTupleSlice3", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("boxedTupleSlice3", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_BoxedVector32_tl_function : public tl2::meta::tl_function { - tl2::BoxedVector32 object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("boxedVector32", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("boxedVector32", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_BoxedVector32BoxedElem_tl_function : public tl2::meta::tl_function { - tl2::BoxedVector32BoxedElem object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("boxedVector32BoxedElem", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("boxedVector32BoxedElem", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_BoxedVector64_tl_function : public tl2::meta::tl_function { - tl2::BoxedVector64 object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("boxedVector64", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("boxedVector64", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_FieldConflict1_tl_object : public tl2::meta::tl_object { - tl2::FieldConflict1 object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("fieldConflict1", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_FieldConflict2_tl_object : public tl2::meta::tl_object { - tl2::FieldConflict2 object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("fieldConflict2", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_FieldConflict3_tl_object : public tl2::meta::tl_object { - tl2::FieldConflict3 object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("fieldConflict3", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_FieldConflict4_tl_object : public tl2::meta::tl_object { - tl2::FieldConflict4 object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("fieldConflict4", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_Get_arrays_tl_function : public tl2::meta::tl_function { - tl2::Get_arrays object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::array result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("get_arrays", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("get_arrays", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_GetDouble_tl_function : public tl2::meta::tl_function { - tl2::GetDouble object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - double result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("getDouble", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("getDouble", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_GetFloat_tl_function : public tl2::meta::tl_function { - tl2::GetFloat object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - float result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("getFloat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("getFloat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_GetMaybeIface_tl_function : public tl2::meta::tl_function { - tl2::GetMaybeIface object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::optional<::tl2::service1::Value> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("getMaybeIface", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("getMaybeIface", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_GetMyDictOfInt_tl_function : public tl2::meta::tl_function { - tl2::GetMyDictOfInt object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::MyDictOfInt result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("getMyDictOfInt", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("getMyDictOfInt", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_GetMyDouble_tl_function : public tl2::meta::tl_function { - tl2::GetMyDouble object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::MyDouble result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("getMyDouble", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("getMyDouble", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_GetMyValue_tl_function : public tl2::meta::tl_function { - tl2::GetMyValue object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::MyValue result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("getMyValue", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("getMyValue", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_GetNonOptNat_tl_function : public tl2::meta::tl_function { - tl2::GetNonOptNat object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("getNonOptNat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("getNonOptNat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_GetStats_tl_function : public tl2::meta::tl_function { - tl2::GetStats object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::tasks::QueueTypeStats result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("getStats", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("getStats", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_Integer_tl_object : public tl2::meta::tl_object { - tl2::Integer object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("integer", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_Issue3498_tl_object : public tl2::meta::tl_object { - tl2::Issue3498 object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("issue3498", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_MyBoxedArray_tl_object : public tl2::meta::tl_object { - tl2::MyBoxedArray object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("myBoxedArray", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_MyBoxedTupleSlice_tl_object : public tl2::meta::tl_object { - tl2::MyBoxedTupleSlice object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("myBoxedTupleSlice", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_MyBoxedVectorSlice_tl_object : public tl2::meta::tl_object { - tl2::MyBoxedVectorSlice object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("myBoxedVectorSlice", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_MyInt_tl_object : public tl2::meta::tl_object { - tl2::MyInt object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("myInt", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_MyMcValue_tl_object : public tl2::meta::tl_object { - tl2::MyMcValue object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("myMcValue", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_MyMcValueTuple_tl_object : public tl2::meta::tl_object { - tl2::MyMcValueTuple object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("myMcValueTuple", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_MyMcValueVector_tl_object : public tl2::meta::tl_object { - tl2::MyMcValueVector object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("myMcValueVector", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_MyString_tl_object : public tl2::meta::tl_object { - tl2::MyString object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("myString", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_MyTwoDicts_tl_object : public tl2::meta::tl_object { - tl2::MyTwoDicts object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("myTwoDicts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_NonOptNat_tl_object : public tl2::meta::tl_object { - tl2::NonOptNat object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("nonOptNat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_pkg2_Foo_tl_object : public tl2::meta::tl_object { - tl2::pkg2::Foo object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("pkg2.foo", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_pkg2_T1_tl_object : public tl2::meta::tl_object { - tl2::pkg2::T1 object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("pkg2.t1", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_RpcInvokeReqExtra_tl_object : public tl2::meta::tl_object { - tl2::RpcInvokeReqExtra object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("rpcInvokeReqExtra", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Add_tl_function : public tl2::meta::tl_function { - tl2::service1::Add object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.add", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.add", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_AddOrGet_tl_function : public tl2::meta::tl_function { - tl2::service1::AddOrGet object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::service1::Value result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.addOrGet", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.addOrGet", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_AddOrIncr_tl_function : public tl2::meta::tl_function { - tl2::service1::AddOrIncr object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::service1::Value result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.addOrIncr", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.addOrIncr", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Append_tl_function : public tl2::meta::tl_function { - tl2::service1::Append object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.append", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.append", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Cas_tl_function : public tl2::meta::tl_function { - tl2::service1::Cas object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.cas", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.cas", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Decr_tl_function : public tl2::meta::tl_function { - tl2::service1::Decr object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::service1::Value result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.decr", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.decr", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Delete_tl_function : public tl2::meta::tl_function { - tl2::service1::Delete object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.delete", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.delete", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_DisableExpiration_tl_function : public tl2::meta::tl_function { - tl2::service1::DisableExpiration object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.disableExpiration", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.disableExpiration", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_DisableKeysStat_tl_function : public tl2::meta::tl_function { - tl2::service1::DisableKeysStat object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.disableKeysStat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.disableKeysStat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_EnableExpiration_tl_function : public tl2::meta::tl_function { - tl2::service1::EnableExpiration object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.enableExpiration", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.enableExpiration", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_EnableKeysStat_tl_function : public tl2::meta::tl_function { - tl2::service1::EnableKeysStat object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.enableKeysStat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.enableKeysStat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Exists_tl_function : public tl2::meta::tl_function { - tl2::service1::Exists object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.exists", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.exists", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Get_tl_function : public tl2::meta::tl_function { - tl2::service1::Get object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::service1::Value result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.get", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.get", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_GetExpireTime_tl_function : public tl2::meta::tl_function { - tl2::service1::GetExpireTime object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::optional result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.getExpireTime", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.getExpireTime", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_GetKeysStat_tl_function : public tl2::meta::tl_function { - tl2::service1::GetKeysStat object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::optional<::tl2::service1::KeysStat> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.getKeysStat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.getKeysStat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_GetKeysStatPeriods_tl_function : public tl2::meta::tl_function { - tl2::service1::GetKeysStatPeriods object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.getKeysStatPeriods", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.getKeysStatPeriods", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_GetWildcard_tl_function : public tl2::meta::tl_function { - tl2::service1::GetWildcard object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector<::tl2::Map> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.getWildcard", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.getWildcard", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_GetWildcardDict_tl_function : public tl2::meta::tl_function { - tl2::service1::GetWildcardDict object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::Dictionary result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.getWildcardDict", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.getWildcardDict", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_GetWildcardList_tl_function : public tl2::meta::tl_function { - tl2::service1::GetWildcardList object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.getWildcardList", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.getWildcardList", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_GetWildcardWithFlags_tl_function : public tl2::meta::tl_function { - tl2::service1::GetWildcardWithFlags object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::Dictionary<::tl2::service1::Value> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.getWildcardWithFlags", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.getWildcardWithFlags", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Incr_tl_function : public tl2::meta::tl_function { - tl2::service1::Incr object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::service1::Value result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.incr", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.incr", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_KeysStat_tl_object : public tl2::meta::tl_object { - tl2::service1::KeysStat object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service1.keysStat", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Longvalue_tl_object : public tl2::meta::tl_object { - tl2::service1::Longvalue object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service1.longvalue", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_LongvalueWithTime_tl_object : public tl2::meta::tl_object { - tl2::service1::LongvalueWithTime object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service1.longvalueWithTime", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Not_found_tl_object : public tl2::meta::tl_object { - tl2::service1::Not_found object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service1.not_found", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Replace_tl_function : public tl2::meta::tl_function { - tl2::service1::Replace object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.replace", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.replace", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_ReplaceOrIncr_tl_function : public tl2::meta::tl_function { - tl2::service1::ReplaceOrIncr object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::service1::Value result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.replaceOrIncr", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.replaceOrIncr", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Set_tl_function : public tl2::meta::tl_function { - tl2::service1::Set object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.set", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.set", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_SetOrIncr_tl_function : public tl2::meta::tl_function { - tl2::service1::SetOrIncr object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::service1::Value result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.setOrIncr", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.setOrIncr", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Strvalue_tl_object : public tl2::meta::tl_object { - tl2::service1::Strvalue object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service1.strvalue", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_StrvalueWithTime_tl_object : public tl2::meta::tl_object { - tl2::service1::StrvalueWithTime object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service1.strvalueWithTime", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service1_Touch_tl_function : public tl2::meta::tl_function { - tl2::service1::Touch object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service1.touch", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service1.touch", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service2_AddOrIncrMany_tl_function : public tl2::meta::tl_function { - tl2::service2::AddOrIncrMany object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector<::tl2::service2::CounterSet> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service2.addOrIncrMany", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service2.addOrIncrMany", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service2_Set_tl_function : public tl2::meta::tl_function { - tl2::service2::Set object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::True result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service2.set", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service2.set", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service2_SetObjectTtl_tl_function : public tl2::meta::tl_function { - tl2::service2::SetObjectTtl object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::True result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service2.setObjectTtl", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service2.setObjectTtl", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_CreateProduct_tl_function : public tl2::meta::tl_function { - tl2::service3::CreateProduct object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.createProduct", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.createProduct", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_DeleteAllProducts_tl_function : public tl2::meta::tl_function { - tl2::service3::DeleteAllProducts object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.deleteAllProducts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.deleteAllProducts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_DeleteGroupedProducts_tl_function : public tl2::meta::tl_function { - tl2::service3::DeleteGroupedProducts object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.deleteGroupedProducts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.deleteGroupedProducts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_DeleteProduct_tl_function : public tl2::meta::tl_function { - tl2::service3::DeleteProduct object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.deleteProduct", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.deleteProduct", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_GetLastVisitTimestamp_tl_function : public tl2::meta::tl_function { - tl2::service3::GetLastVisitTimestamp object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::optional result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.getLastVisitTimestamp", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.getLastVisitTimestamp", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_GetLimits_tl_function : public tl2::meta::tl_function { - tl2::service3::GetLimits object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::service3::Limits result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.getLimits", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.getLimits", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_GetProductStats_tl_function : public tl2::meta::tl_function { - tl2::service3::GetProductStats object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::optional> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.getProductStats", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.getProductStats", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_GetProducts_tl_function : public tl2::meta::tl_function { - tl2::service3::GetProducts object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::optional> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.getProducts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.getProducts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_GetScheduledProducts_tl_function : public tl2::meta::tl_function { - tl2::service3::GetScheduledProducts object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::optional>> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.getScheduledProducts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.getScheduledProducts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_GroupCountLimit_tl_object : public tl2::meta::tl_object { - tl2::service3::GroupCountLimit object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service3.groupCountLimit", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_GroupSizeLimit_tl_object : public tl2::meta::tl_object { - tl2::service3::GroupSizeLimit object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service3.groupSizeLimit", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_Limits_tl_object : public tl2::meta::tl_object { - tl2::service3::Limits object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service3.limits", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_ProductStatsOld_tl_object : public tl2::meta::tl_object { - tl2::service3::ProductStatsOld object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service3.productStatsOld", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_RestoreAllProducts_tl_function : public tl2::meta::tl_function { - tl2::service3::RestoreAllProducts object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.restoreAllProducts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.restoreAllProducts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_RestoreGroupedProducts_tl_function : public tl2::meta::tl_function { - tl2::service3::RestoreGroupedProducts object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.restoreGroupedProducts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.restoreGroupedProducts", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_RestoreProduct_tl_function : public tl2::meta::tl_function { - tl2::service3::RestoreProduct object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.restoreProduct", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.restoreProduct", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_SetLastVisitTimestamp_tl_function : public tl2::meta::tl_function { - tl2::service3::SetLastVisitTimestamp object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - bool result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.setLastVisitTimestamp", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.setLastVisitTimestamp", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service3_SetLimits_tl_function : public tl2::meta::tl_function { - tl2::service3::SetLimits object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::BoolStat result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service3.setLimits", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service3.setLimits", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service4_ModifiedNewsEntry_tl_object : public tl2::meta::tl_object { - tl2::service4::ModifiedNewsEntry object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service4.modifiedNewsEntry", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service4_Object_tl_object : public tl2::meta::tl_object { - tl2::service4::Object object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service4.object", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service5_EmptyOutput_tl_object : public tl2::meta::tl_object { - tl2::service5::EmptyOutput object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service5.emptyOutput", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service5_Insert_tl_function : public tl2::meta::tl_function { - tl2::service5::Insert object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::service5::Output result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service5.insert", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service5.insert", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service5_Params_tl_object : public tl2::meta::tl_object { - tl2::service5::Params object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service5.params", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service5_PerformQuery_tl_function : public tl2::meta::tl_function { - tl2::service5::PerformQuery object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::service5::Output result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service5.performQuery", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service5.performQuery", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service5_Query_tl_function : public tl2::meta::tl_function { - tl2::service5::Query object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::service5::Output result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service5.query", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service5.query", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service5_StringOutput_tl_object : public tl2::meta::tl_object { - tl2::service5::StringOutput object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service5.stringOutput", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service6_Error_tl_object : public tl2::meta::tl_object { - tl2::service6::Error object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service6.error", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service6_FindResultRow_tl_object : public tl2::meta::tl_object { - tl2::service6::FindResultRow object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service6.findResultRow", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service6_FindWithBoundsResult_tl_object : public tl2::meta::tl_object { - tl2::service6::FindWithBoundsResult object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("service6.findWithBoundsResult", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service6_MultiFind_tl_function : public tl2::meta::tl_function { - tl2::service6::MultiFind object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service6.multiFind", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service6.multiFind", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_service6_MultiFindWithBounds_tl_function : public tl2::meta::tl_function { - tl2::service6::MultiFindWithBounds object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector<::tl2::Either>> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("service6.multiFindWithBounds", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("service6.multiFindWithBounds", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_StatOne_tl_object : public tl2::meta::tl_object { - tl2::StatOne object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("statOne", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_AddTask_tl_function : public tl2::meta::tl_function { - tl2::tasks::AddTask object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - int64_t result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("tasks.addTask", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("tasks.addTask", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_CronTask_tl_object : public tl2::meta::tl_object { - tl2::tasks::CronTask object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tasks.cronTask", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_CronTaskWithId_tl_object : public tl2::meta::tl_object { - tl2::tasks::CronTaskWithId object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tasks.cronTaskWithId", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_CronTime_tl_object : public tl2::meta::tl_object { - tl2::tasks::CronTime object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tasks.cronTime", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_GetAnyTask_tl_function : public tl2::meta::tl_function { - tl2::tasks::GetAnyTask object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::optional<::tl2::tasks::TaskInfo> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("tasks.getAnyTask", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("tasks.getAnyTask", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_GetQueueSize_tl_function : public tl2::meta::tl_function { - tl2::tasks::GetQueueSize object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - tl2::tasks::QueueStats result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("tasks.getQueueSize", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("tasks.getQueueSize", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_GetQueueTypes_tl_function : public tl2::meta::tl_function { - tl2::tasks::GetQueueTypes object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::vector<::tl2::tasks::QueueTypeInfo> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("tasks.getQueueTypes", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("tasks.getQueueTypes", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_GetTaskFromQueue_tl_function : public tl2::meta::tl_function { - tl2::tasks::GetTaskFromQueue object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::optional<::tl2::tasks::TaskInfo> result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("tasks.getTaskFromQueue", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("tasks.getTaskFromQueue", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_QueueTypeInfo_tl_object : public tl2::meta::tl_object { - tl2::tasks::QueueTypeInfo object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tasks.queueTypeInfo", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_QueueTypeSettings_tl_object : public tl2::meta::tl_object { - tl2::tasks::QueueTypeSettings object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tasks.queueTypeSettings", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_QueueTypeStats_tl_object : public tl2::meta::tl_object { - tl2::tasks::QueueTypeStats object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tasks.queueTypeStats", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_Task_tl_object : public tl2::meta::tl_object { - tl2::tasks::Task object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tasks.task", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_TaskInfo_tl_object : public tl2::meta::tl_object { - tl2::tasks::TaskInfo object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tasks.taskInfo", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_TaskStatusInProgress_tl_object : public tl2::meta::tl_object { - tl2::tasks::TaskStatusInProgress object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tasks.taskStatusInProgress", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_TaskStatusNotCurrentlyInEngine_tl_object : public tl2::meta::tl_object { - tl2::tasks::TaskStatusNotCurrentlyInEngine object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tasks.taskStatusNotCurrentlyInEngine", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_TaskStatusScheduled_tl_object : public tl2::meta::tl_object { - tl2::tasks::TaskStatusScheduled object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tasks.taskStatusScheduled", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tasks_TaskStatusWaiting_tl_object : public tl2::meta::tl_object { - tl2::tasks::TaskStatusWaiting object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tasks.taskStatusWaiting", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_tree_stats_ObjectLimitValueLong_tl_object : public tl2::meta::tl_object { - tl2::tree_stats::ObjectLimitValueLong object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("tree_stats.objectLimitValueLong", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_True_tl_object : public tl2::meta::tl_object { - tl2::True object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("true", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_unique_Get_tl_function : public tl2::meta::tl_function { - tl2::unique::Get object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - std::optional result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("unique.get", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("unique.get", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_unique_StringToInt_tl_function : public tl2::meta::tl_function { - tl2::unique::StringToInt object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - bool read_write_result(basictl::tl_istream &in, basictl::tl_ostream &out) override { - int32_t result; - bool read_result = this->object.read_result(in, result); - if (!read_result) { - return false; - } - return this->object.write_result(out, result); - } - - }; - tl2::meta::set_create_object_by_name("unique.stringToInt", []() -> std::unique_ptr { - return std::make_unique(); - }); - - tl2::meta::set_create_function_by_name("unique.stringToInt", []() -> std::unique_ptr { - return std::make_unique(); - }); - - struct tl2_WithFloat_tl_object : public tl2::meta::tl_object { - tl2::WithFloat object; - - bool read(basictl::tl_istream &s) override {return object.read(s);} - bool write(basictl::tl_ostream &s) override {return object.write(s);} - - bool read_boxed(basictl::tl_istream &s) override {return object.read_boxed(s);} - bool write_boxed(basictl::tl_ostream &s) override {return object.write_boxed(s);} - - bool write_json(std::ostream &s) override {return object.write_json(s);} - - }; - tl2::meta::set_create_object_by_name("withFloat", []() -> std::unique_ptr { - return std::make_unique(); - }); - -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/__factory/headers.hpp b/internal/tlcodegen/test/gen/schema_cpp/__factory/headers.hpp deleted file mode 100644 index 2b9f810c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__factory/headers.hpp +++ /dev/null @@ -1,7 +0,0 @@ - -#pragma once -namespace tl2 { - namespace factory { - void set_all_factories(); - } -} \ No newline at end of file diff --git a/internal/tlcodegen/test/gen/schema_cpp/__meta/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/__meta/details.cpp deleted file mode 100644 index 3ee9e3c3..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__meta/details.cpp +++ /dev/null @@ -1,491 +0,0 @@ -#include "../a_tlgen_helpers_code.hpp" - -#include - -#include "headers.hpp" - -namespace { - struct tl_items { - public: - std::map> items; - std::map> items_by_tag; - tl_items(); - }; - - tl_items items; - std::function()> no_object_generator = []() -> std::unique_ptr { - throw std::runtime_error("no generation for this type of objects"); - }; - std::function()> no_function_generator = []() -> std::unique_ptr { - throw std::runtime_error("no generation for this type of functions"); - }; -} - -tl2::meta::tl_item tl2::meta::get_item_by_name(std::string &&s) { - auto item = items.items.find(s); - if (item != items.items.end()) { - return *item->second; - } - throw std::runtime_error("no item with such name + \"" + s + "\""); -} - -tl2::meta::tl_item tl2::meta::get_item_by_tag(std::uint32_t &&tag) { - auto item = items.items_by_tag.find(tag); - if (item != items.items_by_tag.end()) { - return *item->second; - } - throw std::runtime_error("no item with such tag + \"" + std::to_string(tag) + "\""); -} - -void tl2::meta::set_create_object_by_name(std::string &&s, std::function()>&& gen) { - auto item = items.items.find(s); - if (item != items.items.end()) { - item->second->create_object = gen; - return; - } - throw std::runtime_error("no item with such name + \"" + s + "\""); -} - -void tl2::meta::set_create_function_by_name(std::string &&s, std::function()>&& gen) { - auto item = items.items.find(s); - if (item != items.items.end()) { - item->second->create_function = gen; - return; - } - throw std::runtime_error("no item with such name + \"" + s + "\""); -} - -tl_items::tl_items() { - auto item1038172470 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x3de14136,.annotations=0x1,.name="antispam.getPattern",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["antispam.getPattern"] = item1038172470; - (this->items_by_tag)[0x3de14136] = item1038172470; - auto item2808644754 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xa7688492,.annotations=0x0,.name="antispam.patternFound",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["antispam.patternFound"] = item2808644754; - (this->items_by_tag)[0xa7688492] = item2808644754; - auto item740483621 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x2c22e225,.annotations=0x0,.name="antispam.patternNotFound",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["antispam.patternNotFound"] = item740483621; - (this->items_by_tag)[0x2c22e225] = item740483621; - auto item3063408741 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb697e865,.annotations=0x0,.name="benchObject",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["benchObject"] = item3063408741; - (this->items_by_tag)[0xb697e865] = item3063408741; - auto item2462829562 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x92cbcbfa,.annotations=0x0,.name="boolStat",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["boolStat"] = item2462829562; - (this->items_by_tag)[0x92cbcbfa] = item2462829562; - auto item2514274487 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x95dcc8b7,.annotations=0x1,.name="boxedArray",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["boxedArray"] = item2514274487; - (this->items_by_tag)[0x95dcc8b7] = item2514274487; - auto item1451813807 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5688ebaf,.annotations=0x1,.name="boxedInt",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["boxedInt"] = item1451813807; - (this->items_by_tag)[0x5688ebaf] = item1451813807; - auto item1418302683 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x548994db,.annotations=0x1,.name="boxedString",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["boxedString"] = item1418302683; - (this->items_by_tag)[0x548994db] = item1418302683; - auto item818533683 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x30c9d533,.annotations=0x1,.name="boxedTuple",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["boxedTuple"] = item818533683; - (this->items_by_tag)[0x30c9d533] = item818533683; - auto item623054144 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x25230d40,.annotations=0x1,.name="boxedTupleSlice1",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["boxedTupleSlice1"] = item623054144; - (this->items_by_tag)[0x25230d40] = item623054144; - auto item484394757 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x1cdf4705,.annotations=0x1,.name="boxedTupleSlice2",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["boxedTupleSlice2"] = item484394757; - (this->items_by_tag)[0x1cdf4705] = item484394757; - auto item2711322886 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xa19b8106,.annotations=0x1,.name="boxedTupleSlice3",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["boxedTupleSlice3"] = item2711322886; - (this->items_by_tag)[0xa19b8106] = item2711322886; - auto item3148738311 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xbbadef07,.annotations=0x1,.name="boxedVector32",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["boxedVector32"] = item3148738311; - (this->items_by_tag)[0xbbadef07] = item3148738311; - auto item1495067860 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x591cecd4,.annotations=0x1,.name="boxedVector32BoxedElem",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["boxedVector32BoxedElem"] = item1495067860; - (this->items_by_tag)[0x591cecd4] = item1495067860; - auto item2204474280 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x83659ba8,.annotations=0x1,.name="boxedVector64",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["boxedVector64"] = item2204474280; - (this->items_by_tag)[0x83659ba8] = item2204474280; - auto item571523412 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x2210c154,.annotations=0x0,.name="double",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["double"] = item571523412; - (this->items_by_tag)[0x2210c154] = item571523412; - auto item4078222601 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xf314bd09,.annotations=0x0,.name="fieldConflict1",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["fieldConflict1"] = item4078222601; - (this->items_by_tag)[0xf314bd09] = item4078222601; - auto item465204920 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x1bba76b8,.annotations=0x0,.name="fieldConflict2",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["fieldConflict2"] = item465204920; - (this->items_by_tag)[0x1bba76b8] = item465204920; - auto item754377047 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x2cf6e157,.annotations=0x0,.name="fieldConflict3",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["fieldConflict3"] = item754377047; - (this->items_by_tag)[0x2cf6e157] = item754377047; - auto item3644594282 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xd93c186a,.annotations=0x0,.name="fieldConflict4",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["fieldConflict4"] = item3644594282; - (this->items_by_tag)[0xd93c186a] = item3644594282; - auto item2186128162 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x824dab22,.annotations=0x0,.name="float",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["float"] = item2186128162; - (this->items_by_tag)[0x824dab22] = item2186128162; - auto item2422574299 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x90658cdb,.annotations=0x1,.name="get_arrays",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["get_arrays"] = item2422574299; - (this->items_by_tag)[0x90658cdb] = item2422574299; - auto item963714427 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x39711d7b,.annotations=0x1,.name="getDouble",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["getDouble"] = item963714427; - (this->items_by_tag)[0x39711d7b] = item963714427; - auto item631749736 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x25a7bc68,.annotations=0x1,.name="getFloat",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["getFloat"] = item631749736; - (this->items_by_tag)[0x25a7bc68] = item631749736; - auto item1795513060 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6b055ae4,.annotations=0x1,.name="getMaybeIface",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["getMaybeIface"] = item1795513060; - (this->items_by_tag)[0x6b055ae4] = item1795513060; - auto item376411692 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x166f962c,.annotations=0x1,.name="getMyDictOfInt",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["getMyDictOfInt"] = item376411692; - (this->items_by_tag)[0x166f962c] = item376411692; - auto item3059789072 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb660ad10,.annotations=0x1,.name="getMyDouble",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["getMyDouble"] = item3059789072; - (this->items_by_tag)[0xb660ad10] = item3059789072; - auto item3017746430 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb3df27fe,.annotations=0x1,.name="getMyValue",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["getMyValue"] = item3017746430; - (this->items_by_tag)[0xb3df27fe] = item3017746430; - auto item1734760801 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x67665961,.annotations=0x1,.name="getNonOptNat",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["getNonOptNat"] = item1734760801; - (this->items_by_tag)[0x67665961] = item1734760801; - auto item3131497013 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xbaa6da35,.annotations=0x1,.name="getStats",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["getStats"] = item3131497013; - (this->items_by_tag)[0xbaa6da35] = item3131497013; - auto item2823855066 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xa8509bda,.annotations=0x0,.name="int",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["int"] = item2823855066; - (this->items_by_tag)[0xa8509bda] = item2823855066; - auto item2115585942 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x7e194796,.annotations=0x0,.name="integer",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["integer"] = item2115585942; - (this->items_by_tag)[0x7e194796] = item2115585942; - auto item4115364618 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xf54b7b0a,.annotations=0x0,.name="issue3498",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["issue3498"] = item4115364618; - (this->items_by_tag)[0xf54b7b0a] = item4115364618; - auto item570911930 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x22076cba,.annotations=0x0,.name="long",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["long"] = item570911930; - (this->items_by_tag)[0x22076cba] = item570911930; - auto item1452478683 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x569310db,.annotations=0x0,.name="myAnonMcValue",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myAnonMcValue"] = item1452478683; - (this->items_by_tag)[0x569310db] = item1452478683; - auto item680486128 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x288f64f0,.annotations=0x0,.name="myBoxedArray",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myBoxedArray"] = item680486128; - (this->items_by_tag)[0x288f64f0] = item680486128; - auto item634495422 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x25d1a1be,.annotations=0x0,.name="myBoxedTupleSlice",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myBoxedTupleSlice"] = item634495422; - (this->items_by_tag)[0x25d1a1be] = item634495422; - auto item1473340603 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x57d164bb,.annotations=0x0,.name="myBoxedVectorSlice",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myBoxedVectorSlice"] = item1473340603; - (this->items_by_tag)[0x57d164bb] = item1473340603; - auto item3087112765 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb8019a3d,.annotations=0x0,.name="myDictOfInt",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myDictOfInt"] = item3087112765; - (this->items_by_tag)[0xb8019a3d] = item3087112765; - auto item2426849062 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x90a6c726,.annotations=0x0,.name="myDouble",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myDouble"] = item2426849062; - (this->items_by_tag)[0x90a6c726] = item2426849062; - auto item3240326583 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xc12375b7,.annotations=0x0,.name="myInt",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myInt"] = item3240326583; - (this->items_by_tag)[0xc12375b7] = item3240326583; - auto item851788286 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x32c541fe,.annotations=0x0,.name="myMaybe1",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myMaybe1"] = item851788286; - (this->items_by_tag)[0x32c541fe] = item851788286; - auto item4016911708 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xef6d355c,.annotations=0x0,.name="myMaybe2",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myMaybe2"] = item4016911708; - (this->items_by_tag)[0xef6d355c] = item4016911708; - auto item3808418168 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xe2ffd978,.annotations=0x0,.name="myMcValue",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myMcValue"] = item3808418168; - (this->items_by_tag)[0xe2ffd978] = item3808418168; - auto item310890774 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x1287d116,.annotations=0x0,.name="myMcValueTuple",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myMcValueTuple"] = item310890774; - (this->items_by_tag)[0x1287d116] = item310890774; - auto item1981640024 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x761d6d58,.annotations=0x0,.name="myMcValueVector",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myMcValueVector"] = item1981640024; - (this->items_by_tag)[0x761d6d58] = item1981640024; - auto item3368003945 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xc8bfa969,.annotations=0x0,.name="myString",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myString"] = item3368003945; - (this->items_by_tag)[0xc8bfa969] = item3368003945; - auto item2824427549 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xa859581d,.annotations=0x0,.name="myTwoDicts",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["myTwoDicts"] = item2824427549; - (this->items_by_tag)[0xa859581d] = item2824427549; - auto item1161192965 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x45366605,.annotations=0x0,.name="nonOptNat",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["nonOptNat"] = item1161192965; - (this->items_by_tag)[0x45366605] = item1161192965; - auto item3779358781 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xe144703d,.annotations=0x0,.name="pkg2.foo",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["pkg2.foo"] = item3779358781; - (this->items_by_tag)[0xe144703d] = item3779358781; - auto item1669465836 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x638206ec,.annotations=0x0,.name="pkg2.t1",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["pkg2.t1"] = item1669465836; - (this->items_by_tag)[0x638206ec] = item1669465836; - auto item3605376924 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xd6e5af9c,.annotations=0x0,.name="pkg2.t2",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["pkg2.t2"] = item3605376924; - (this->items_by_tag)[0xd6e5af9c] = item3605376924; - auto item4092559785 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xf3ef81a9,.annotations=0x0,.name="rpcInvokeReqExtra",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["rpcInvokeReqExtra"] = item4092559785; - (this->items_by_tag)[0xf3ef81a9] = item4092559785; - auto item1209923774 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x481df8be,.annotations=0x1,.name="service1.add",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.add"] = item1209923774; - (this->items_by_tag)[0x481df8be] = item1209923774; - auto item1782774445 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6a42faad,.annotations=0x1,.name="service1.addOrGet",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.addOrGet"] = item1782774445; - (this->items_by_tag)[0x6a42faad] = item1782774445; - auto item2428810242 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x90c4b402,.annotations=0x1,.name="service1.addOrIncr",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.addOrIncr"] = item2428810242; - (this->items_by_tag)[0x90c4b402] = item2428810242; - auto item81708657 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x04dec671,.annotations=0x1,.name="service1.append",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.append"] = item81708657; - (this->items_by_tag)[0x04dec671] = item81708657; - auto item1367677284 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x51851964,.annotations=0x1,.name="service1.cas",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.cas"] = item1367677284; - (this->items_by_tag)[0x51851964] = item1367677284; - auto item3944193255 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xeb179ce7,.annotations=0x1,.name="service1.decr",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.decr"] = item3944193255; - (this->items_by_tag)[0xeb179ce7] = item3944193255; - auto item2200401767 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x83277767,.annotations=0x1,.name="service1.delete",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.delete"] = item2200401767; - (this->items_by_tag)[0x83277767] = item2200401767; - auto item4056128557 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xf1c39c2d,.annotations=0x1,.name="service1.disableExpiration",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.disableExpiration"] = item4056128557; - (this->items_by_tag)[0xf1c39c2d] = item4056128557; - auto item2044073487 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x79d6160f,.annotations=0x1,.name="service1.disableKeysStat",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.disableKeysStat"] = item2044073487; - (this->items_by_tag)[0x79d6160f] = item2044073487; - auto item726773095 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x2b51ad67,.annotations=0x1,.name="service1.enableExpiration",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.enableExpiration"] = item726773095; - (this->items_by_tag)[0x2b51ad67] = item726773095; - auto item698812686 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x29a7090e,.annotations=0x1,.name="service1.enableKeysStat",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.enableKeysStat"] = item698812686; - (this->items_by_tag)[0x29a7090e] = item698812686; - auto item3760737438 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xe0284c9e,.annotations=0x1,.name="service1.exists",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.exists"] = item3760737438; - (this->items_by_tag)[0xe0284c9e] = item3760737438; - auto item688495385 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x29099b19,.annotations=0x1,.name="service1.get",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.get"] = item688495385; - (this->items_by_tag)[0x29099b19] = item688495385; - auto item1517490288 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5a731070,.annotations=0x1,.name="service1.getExpireTime",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.getExpireTime"] = item1517490288; - (this->items_by_tag)[0x5a731070] = item1517490288; - auto item114216280 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x06cecd58,.annotations=0x1,.name="service1.getKeysStat",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.getKeysStat"] = item114216280; - (this->items_by_tag)[0x06cecd58] = item114216280; - auto item2363439587 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x8cdf39e3,.annotations=0x1,.name="service1.getKeysStatPeriods",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.getKeysStatPeriods"] = item2363439587; - (this->items_by_tag)[0x8cdf39e3] = item2363439587; - auto item791330579 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x2f2abf13,.annotations=0x1,.name="service1.getWildcard",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.getWildcard"] = item791330579; - (this->items_by_tag)[0x2f2abf13] = item791330579; - auto item1924909083 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x72bbc81b,.annotations=0x1,.name="service1.getWildcardDict",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.getWildcardDict"] = item1924909083; - (this->items_by_tag)[0x72bbc81b] = item1924909083; - auto item1454828244 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x56b6ead4,.annotations=0x1,.name="service1.getWildcardList",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.getWildcardList"] = item1454828244; - (this->items_by_tag)[0x56b6ead4] = item1454828244; - auto item1600790392 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5f6a1f78,.annotations=0x1,.name="service1.getWildcardWithFlags",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.getWildcardWithFlags"] = item1600790392; - (this->items_by_tag)[0x5f6a1f78] = item1600790392; - auto item261535086 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x0f96b56e,.annotations=0x1,.name="service1.incr",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.incr"] = item261535086; - (this->items_by_tag)[0x0f96b56e] = item261535086; - auto item4042701928 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xf0f6bc68,.annotations=0x0,.name="service1.keysStat",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.keysStat"] = item4042701928; - (this->items_by_tag)[0xf0f6bc68] = item4042701928; - auto item137234757 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x082e0945,.annotations=0x0,.name="service1.longvalue",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.longvalue"] = item137234757; - (this->items_by_tag)[0x082e0945] = item137234757; - auto item2688943852 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xa04606ec,.annotations=0x0,.name="service1.longvalueWithTime",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.longvalueWithTime"] = item2688943852; - (this->items_by_tag)[0xa04606ec] = item2688943852; - auto item493292438 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x1d670b96,.annotations=0x0,.name="service1.not_found",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.not_found"] = item493292438; - (this->items_by_tag)[0x1d670b96] = item493292438; - auto item2133607549 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x7f2c447d,.annotations=0x1,.name="service1.replace",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.replace"] = item2133607549; - (this->items_by_tag)[0x7f2c447d] = item2133607549; - auto item2635848957 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x9d1bdcfd,.annotations=0x1,.name="service1.replaceOrIncr",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.replaceOrIncr"] = item2635848957; - (this->items_by_tag)[0x9d1bdcfd] = item2635848957; - auto item95313766 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x05ae5f66,.annotations=0x1,.name="service1.set",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.set"] = item95313766; - (this->items_by_tag)[0x05ae5f66] = item95313766; - auto item1999517965 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x772e390d,.annotations=0x1,.name="service1.setOrIncr",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.setOrIncr"] = item1999517965; - (this->items_by_tag)[0x772e390d] = item1999517965; - auto item1604979794 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5faa0c52,.annotations=0x0,.name="service1.strvalue",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.strvalue"] = item1604979794; - (this->items_by_tag)[0x5faa0c52] = item1604979794; - auto item2561778820 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x98b1a484,.annotations=0x0,.name="service1.strvalueWithTime",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.strvalueWithTime"] = item2561778820; - (this->items_by_tag)[0x98b1a484] = item2561778820; - auto item3073878531 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb737aa03,.annotations=0x1,.name="service1.touch",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service1.touch"] = item3073878531; - (this->items_by_tag)[0xb737aa03] = item3073878531; - auto item1520772233 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5aa52489,.annotations=0x2,.name="service2.addOrIncrMany",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service2.addOrIncrMany"] = item1520772233; - (this->items_by_tag)[0x5aa52489] = item1520772233; - auto item221378109 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x0d31f63d,.annotations=0x4,.name="service2.set",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service2.set"] = item221378109; - (this->items_by_tag)[0x0d31f63d] = item221378109; - auto item1872293925 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6f98f025,.annotations=0x4,.name="service2.setObjectTtl",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service2.setObjectTtl"] = item1872293925; - (this->items_by_tag)[0x6f98f025] = item1872293925; - auto item3084463065 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb7d92bd9,.annotations=0x1,.name="service3.createProduct",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.createProduct"] = item3084463065; - (this->items_by_tag)[0xb7d92bd9] = item3084463065; - auto item1150594242 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x4494acc2,.annotations=0x1,.name="service3.deleteAllProducts",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.deleteAllProducts"] = item1150594242; - (this->items_by_tag)[0x4494acc2] = item1150594242; - auto item3832079892 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xe468e614,.annotations=0x1,.name="service3.deleteGroupedProducts",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.deleteGroupedProducts"] = item3832079892; - (this->items_by_tag)[0xe468e614] = item3832079892; - auto item1751639815 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6867e707,.annotations=0x1,.name="service3.deleteProduct",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.deleteProduct"] = item1751639815; - (this->items_by_tag)[0x6867e707] = item1751639815; - auto item2588702861 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x9a4c788d,.annotations=0x1,.name="service3.getLastVisitTimestamp",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.getLastVisitTimestamp"] = item2588702861; - (this->items_by_tag)[0x9a4c788d] = item2588702861; - auto item3946419303 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xeb399467,.annotations=0x1,.name="service3.getLimits",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.getLimits"] = item3946419303; - (this->items_by_tag)[0xeb399467] = item3946419303; - auto item639592600 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x261f6898,.annotations=0x1,.name="service3.getProductStats",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.getProductStats"] = item639592600; - (this->items_by_tag)[0x261f6898] = item639592600; - auto item3945816627 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xeb306233,.annotations=0x1,.name="service3.getProducts",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.getProducts"] = item3945816627; - (this->items_by_tag)[0xeb306233] = item3945816627; - auto item4114274237 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xf53ad7bd,.annotations=0x1,.name="service3.getScheduledProducts",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.getScheduledProducts"] = item4114274237; - (this->items_by_tag)[0xf53ad7bd] = item4114274237; - auto item2349132415 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x8c04ea7f,.annotations=0x0,.name="service3.groupCountLimit",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.groupCountLimit"] = item2349132415; - (this->items_by_tag)[0x8c04ea7f] = item2349132415; - auto item2430964630 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x90e59396,.annotations=0x0,.name="service3.groupSizeLimit",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.groupSizeLimit"] = item2430964630; - (this->items_by_tag)[0x90e59396] = item2430964630; - auto item2163106250 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x80ee61ca,.annotations=0x0,.name="service3.limits",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.limits"] = item2163106250; - (this->items_by_tag)[0x80ee61ca] = item2163106250; - auto item1662615819 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6319810b,.annotations=0x0,.name="service3.productStatsOld",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.productStatsOld"] = item1662615819; - (this->items_by_tag)[0x6319810b] = item1662615819; - auto item1300471504 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x4d839ed0,.annotations=0x1,.name="service3.restoreAllProducts",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.restoreAllProducts"] = item1300471504; - (this->items_by_tag)[0x4d839ed0] = item1300471504; - auto item521650092 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x1f17bfac,.annotations=0x1,.name="service3.restoreGroupedProducts",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.restoreGroupedProducts"] = item521650092; - (this->items_by_tag)[0x1f17bfac] = item521650092; - auto item1634784533 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6170d515,.annotations=0x1,.name="service3.restoreProduct",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.restoreProduct"] = item1634784533; - (this->items_by_tag)[0x6170d515] = item1634784533; - auto item2030678048 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x7909b020,.annotations=0x1,.name="service3.setLastVisitTimestamp",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.setLastVisitTimestamp"] = item2030678048; - (this->items_by_tag)[0x7909b020] = item2030678048; - auto item987087260 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x3ad5c19c,.annotations=0x1,.name="service3.setLimits",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service3.setLimits"] = item987087260; - (this->items_by_tag)[0x3ad5c19c] = item987087260; - auto item3659105066 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xda19832a,.annotations=0x0,.name="service4.modifiedNewsEntry",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service4.modifiedNewsEntry"] = item3659105066; - (this->items_by_tag)[0xda19832a] = item3659105066; - auto item2800667215 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xa6eeca4f,.annotations=0x0,.name="service4.object",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service4.object"] = item2800667215; - (this->items_by_tag)[0xa6eeca4f] = item2800667215; - auto item300181625 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x11e46879,.annotations=0x0,.name="service5.emptyOutput",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service5.emptyOutput"] = item300181625; - (this->items_by_tag)[0x11e46879] = item300181625; - auto item3373395500 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xc911ee2c,.annotations=0x1,.name="service5.insert",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service5.insert"] = item3373395500; - (this->items_by_tag)[0xc911ee2c] = item3373395500; - auto item313416885 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x12ae5cb5,.annotations=0x0,.name="service5.params",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service5.params"] = item313416885; - (this->items_by_tag)[0x12ae5cb5] = item313416885; - auto item27099301 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x019d80a5,.annotations=0x1,.name="service5.performQuery",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service5.performQuery"] = item27099301; - (this->items_by_tag)[0x019d80a5] = item27099301; - auto item3015058707 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb3b62513,.annotations=0x1,.name="service5.query",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service5.query"] = item3015058707; - (this->items_by_tag)[0xb3b62513] = item3015058707; - auto item396269667 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x179e9863,.annotations=0x0,.name="service5.stringOutput",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service5.stringOutput"] = item396269667; - (this->items_by_tag)[0x179e9863] = item396269667; - auto item1938117615 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x738553ef,.annotations=0x0,.name="service6.error",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service6.error"] = item1938117615; - (this->items_by_tag)[0x738553ef] = item1938117615; - auto item3174647523 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xbd3946e3,.annotations=0x0,.name="service6.findResultRow",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service6.findResultRow"] = item3174647523; - (this->items_by_tag)[0xbd3946e3] = item3174647523; - auto item1038976266 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x3ded850a,.annotations=0x0,.name="service6.findWithBoundsResult",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service6.findWithBoundsResult"] = item1038976266; - (this->items_by_tag)[0x3ded850a] = item1038976266; - auto item3860953304 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xe62178d8,.annotations=0x1,.name="service6.multiFind",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service6.multiFind"] = item3860953304; - (this->items_by_tag)[0xe62178d8] = item3860953304; - auto item2226219215 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x84b168cf,.annotations=0x1,.name="service6.multiFindWithBounds",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["service6.multiFindWithBounds"] = item2226219215; - (this->items_by_tag)[0x84b168cf] = item2226219215; - auto item1957716043 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x74b0604b,.annotations=0x0,.name="statOne",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["statOne"] = item1957716043; - (this->items_by_tag)[0x74b0604b] = item1957716043; - auto item3039325732 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb5286e24,.annotations=0x0,.name="string",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["string"] = item3039325732; - (this->items_by_tag)[0xb5286e24] = item3039325732; - auto item748712917 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x2ca073d5,.annotations=0x1,.name="tasks.addTask",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.addTask"] = item748712917; - (this->items_by_tag)[0x2ca073d5] = item748712917; - auto item3373068938 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xc90cf28a,.annotations=0x0,.name="tasks.cronTask",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.cronTask"] = item3373068938; - (this->items_by_tag)[0xc90cf28a] = item3373068938; - auto item982876161 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x3a958001,.annotations=0x0,.name="tasks.cronTaskWithId",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.cronTaskWithId"] = item982876161; - (this->items_by_tag)[0x3a958001] = item982876161; - auto item3558309247 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xd4177d7f,.annotations=0x0,.name="tasks.cronTime",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.cronTime"] = item3558309247; - (this->items_by_tag)[0xd4177d7f] = item3558309247; - auto item1251769787 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x4a9c7dbb,.annotations=0x1,.name="tasks.getAnyTask",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.getAnyTask"] = item1251769787; - (this->items_by_tag)[0x4a9c7dbb] = item1251769787; - auto item3640449539 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xd8fcda03,.annotations=0x1,.name="tasks.getQueueSize",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.getQueueSize"] = item3640449539; - (this->items_by_tag)[0xd8fcda03] = item3640449539; - auto item1412711802 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5434457a,.annotations=0x1,.name="tasks.getQueueTypes",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.getQueueTypes"] = item1412711802; - (this->items_by_tag)[0x5434457a] = item1412711802; - auto item1783805592 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x6a52b698,.annotations=0x1,.name="tasks.getTaskFromQueue",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.getTaskFromQueue"] = item1783805592; - (this->items_by_tag)[0x6a52b698] = item1783805592; - auto item953388350 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x38d38d3e,.annotations=0x0,.name="tasks.queueTypeInfo",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.queueTypeInfo"] = item953388350; - (this->items_by_tag)[0x38d38d3e] = item953388350; - auto item1444920329 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x561fbc09,.annotations=0x0,.name="tasks.queueTypeSettings",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.queueTypeSettings"] = item1444920329; - (this->items_by_tag)[0x561fbc09] = item1444920329; - auto item3786900978 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xe1b785f2,.annotations=0x0,.name="tasks.queueTypeStats",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.queueTypeStats"] = item3786900978; - (this->items_by_tag)[0xe1b785f2] = item3786900978; - auto item2082716716 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x7c23bc2c,.annotations=0x0,.name="tasks.task",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.task"] = item2082716716; - (this->items_by_tag)[0x7c23bc2c] = item2082716716; - auto item116442790 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x06f0c6a6,.annotations=0x0,.name="tasks.taskInfo",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.taskInfo"] = item116442790; - (this->items_by_tag)[0x06f0c6a6] = item116442790; - auto item116355303 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x06ef70e7,.annotations=0x0,.name="tasks.taskStatusInProgress",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.taskStatusInProgress"] = item116355303; - (this->items_by_tag)[0x06ef70e7] = item116355303; - auto item2986855082 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xb207caaa,.annotations=0x0,.name="tasks.taskStatusNotCurrentlyInEngine",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.taskStatusNotCurrentlyInEngine"] = item2986855082; - (this->items_by_tag)[0xb207caaa] = item2986855082; - auto item181043369 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x0aca80a9,.annotations=0x0,.name="tasks.taskStatusScheduled",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.taskStatusScheduled"] = item181043369; - (this->items_by_tag)[0x0aca80a9] = item181043369; - auto item376675372 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x16739c2c,.annotations=0x0,.name="tasks.taskStatusWaiting",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tasks.taskStatusWaiting"] = item376675372; - (this->items_by_tag)[0x16739c2c] = item376675372; - auto item1576765462 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x5dfb8816,.annotations=0x0,.name="tree_stats.objectLimitValueDouble",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tree_stats.objectLimitValueDouble"] = item1576765462; - (this->items_by_tag)[0x5dfb8816] = item1576765462; - auto item1930500499 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x73111993,.annotations=0x0,.name="tree_stats.objectLimitValueLong",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["tree_stats.objectLimitValueLong"] = item1930500499; - (this->items_by_tag)[0x73111993] = item1930500499; - auto item1072550713 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x3fedd339,.annotations=0x0,.name="true",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["true"] = item1072550713; - (this->items_by_tag)[0x3fedd339] = item1072550713; - auto item3465133042 = std::shared_ptr(new tl2::meta::tl_item{.tag=0xce89bbf2,.annotations=0x1,.name="unique.get",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["unique.get"] = item3465133042; - (this->items_by_tag)[0xce89bbf2] = item3465133042; - auto item259419189 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x0f766c35,.annotations=0x1,.name="unique.stringToInt",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["unique.stringToInt"] = item259419189; - (this->items_by_tag)[0x0f766c35] = item259419189; - auto item119244421 = std::shared_ptr(new tl2::meta::tl_item{.tag=0x071b8685,.annotations=0x0,.name="withFloat",.create_object=no_object_generator,.create_function=no_function_generator}); - (this->items)["withFloat"] = item119244421; - (this->items_by_tag)[0x071b8685] = item119244421; -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/__meta/headers.hpp b/internal/tlcodegen/test/gen/schema_cpp/__meta/headers.hpp deleted file mode 100644 index aad18e93..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/__meta/headers.hpp +++ /dev/null @@ -1,46 +0,0 @@ - -#pragma once - -#include -#include -#include - -#include "../a_tlgen_helpers_code.hpp" - -namespace tl2 { - namespace meta { - struct tl_object { - virtual bool read(::basictl::tl_istream &s) = 0; - virtual bool write(::basictl::tl_ostream &s) = 0; - - virtual bool read_boxed(::basictl::tl_istream &s) = 0; - virtual bool write_boxed(::basictl::tl_ostream &s) = 0; - - virtual bool write_json(std::ostream &s) = 0; - - virtual ~tl_object() = default; - }; - - struct tl_function : public tl_object { - virtual bool read_write_result(::basictl::tl_istream &in, ::basictl::tl_ostream &out) = 0; - - virtual ~tl_function() = default; - }; - - struct tl_item { - uint32_t tag{}; - uint32_t annotations{}; - std::string name; - - std::function()> create_object; - std::function()> create_function; - }; - - tl2::meta::tl_item get_item_by_name(std::string &&s); - tl2::meta::tl_item get_item_by_tag(uint32_t &&tag); - - void set_create_object_by_name(std::string &&s, std::function()> &&factory); - void set_create_function_by_name(std::string &&s, std::function()> &&factory); - - } -} \ No newline at end of file diff --git a/internal/tlcodegen/test/gen/schema_cpp/a_tlgen_helpers_code.hpp b/internal/tlcodegen/test/gen/schema_cpp/a_tlgen_helpers_code.hpp deleted file mode 100644 index 44d7e4b6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/a_tlgen_helpers_code.hpp +++ /dev/null @@ -1,304 +0,0 @@ -// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. -#pragma once - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define TLGEN2_UNLIKELY(x) (x) // __builtin_expect((x), 0) // could improve performance on your platform -#define TLGEN2_NOINLINE // __attribute__ ((noinline)) // could improve performance on your platform - -namespace basictl { - - - -enum { - TL_MAX_TINY_STRING_LEN = 253, - TL_BIG_STRING_LEN = 0xffffff, - TL_BIG_STRING_MARKER = 0xfe, -}; - -class tl_istream { // TODO - prohibit copy/move -public: - virtual ~tl_istream() = default; - bool nat_read(uint32_t & value) { - return fetch_data(&value, 4); - } - bool nat_read_exact_tag(uint32_t tag) { - uint32_t actual_tag = 0; - if (TLGEN2_UNLIKELY(!nat_read(actual_tag))) { return false; } - if (TLGEN2_UNLIKELY(tag != actual_tag)) { return set_error_expected_tag(); } - return true; - } - bool int_read(int32_t & value) { - return fetch_data(&value, 4); - } - bool long_read(int64_t & value) { - return fetch_data(&value, 8); - } - bool float_read(float & value) { - return fetch_data(&value, 4); - } - bool double_read(double & value) { - return fetch_data(&value, 8); - } - bool bool_read(bool & value, uint32_t f, uint32_t t) { - uint32_t tag = 0; - if (TLGEN2_UNLIKELY(!nat_read(tag))) { return false; } - if (tag == t) { value = true; return true; } - if (TLGEN2_UNLIKELY(tag != f)) { set_error_bool_tag(); } - value = false; - return true; - } - bool string_read(std::string & value) { - if (TLGEN2_UNLIKELY(!ensure_byte())) { return false; } - auto len = size_t(static_cast(*ptr)); - if (TLGEN2_UNLIKELY(len >= TL_BIG_STRING_MARKER)) { - if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_MARKER)) { - return set_error("TODO - huge string"); - } - uint32_t len32 = 0; - if (TLGEN2_UNLIKELY(!nat_read(len32))) { return false; } - len = len32 >> 8U; - value.clear(); - if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { return false; } - if (TLGEN2_UNLIKELY(!fetch_pad((-len) & 3))) { return false; } - return true; - } - auto pad = ((-(len+1)) & 3); - auto fullLen = 1 + len + pad; - if (TLGEN2_UNLIKELY(ptr + fullLen > end)) { - ptr += 1; - value.clear(); - if (TLGEN2_UNLIKELY(!fetch_data_append(value, len))) { return false; } - if (TLGEN2_UNLIKELY(!fetch_pad(pad))) { return false; } - return true; - } - // fast path for short strings that fully fit in buffer - uint32_t x = 0; - std::memcpy(&x, ptr + fullLen - 4, 4); - if (TLGEN2_UNLIKELY((x & ~(0xFFFFFFFFU >> (8*pad))) != 0)) { - return set_error_string_padding(); - } - value.assign(ptr + 1, len); - ptr += fullLen; - return true; - } - bool set_error(const char * e) { return false; } // TODO - set error field - bool set_error_eof() { return set_error("EOF"); } - bool set_error_sequence_length() { return set_error("sequence_length"); } - bool set_error_string_padding() { return set_error("string_padding"); } - bool set_error_bool_tag() { return set_error("bool_tag"); } - bool set_error_expected_tag() { return set_error("expected_tag"); } - bool set_error_union_tag() { return set_error("union_tag"); } -protected: - const char * ptr{}; - const char * end{}; - virtual void grow_buffer(size_t size_hint) = 0; // after call buffer must contain at least single byte, otherwise error -private: - bool ensure_byte() { - if (TLGEN2_UNLIKELY(ptr >= end)) { - // assert(ptr <= end) - grow_buffer(1); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - return true; - } - bool fetch_data(void * vdata, size_t size) { - char * data = reinterpret_cast(vdata); - if (TLGEN2_UNLIKELY(ptr + size > end)) { - return fetch_data2(vdata, size); - } - std::memcpy(data, ptr, size); - ptr += size; - return true; - } - bool fetch_data2(void * vdata, size_t size) { - char * data = reinterpret_cast(vdata); - for (;TLGEN2_UNLIKELY(ptr + size > end);) { - // assert(ptr <= end) - std::memcpy(data, ptr, end - ptr); - data += end - ptr; - size -= end - ptr; - ptr = end; - grow_buffer(size); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - std::memcpy(data, ptr, size); - ptr += size; - return true; - } - bool fetch_data_append(std::string & value, size_t size) { - for (;TLGEN2_UNLIKELY(ptr + size > end);) { - // assert(ptr <= end) - value.append(ptr, end - ptr); - size -= end - ptr; - ptr = end; - grow_buffer(size); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - value.append(ptr, size); - ptr += size; - return true; - } - bool fetch_pad(size_t len) { - uint32_t x = 0; - if (TLGEN2_UNLIKELY(!fetch_data(&x, len))) { return false; } - if (TLGEN2_UNLIKELY(x != 0)) { return set_error_string_padding(); } - return true; - } -}; - -class tl_ostream { // TODO - prohibit copy/move -public: - virtual ~tl_ostream() = default; - bool nat_write(uint32_t value) { - return store_data(&value, 4); - } - bool int_write(int32_t value) { - return store_data(&value, 4); - } - bool long_write(int64_t value) { - return store_data(&value, 8); - } - bool float_write(float value) { - return store_data(&value, 4); - } - bool double_write(double value) { - return store_data(&value, 8); - } - bool string_write(const std::string & value) { - auto len = value.size(); - if (TLGEN2_UNLIKELY(len > TL_MAX_TINY_STRING_LEN)) { - if (TLGEN2_UNLIKELY(len > TL_BIG_STRING_LEN)) { - return set_error("TODO - huge string"); - } - uint32_t p = (len << 8U) | TL_BIG_STRING_MARKER; - if (TLGEN2_UNLIKELY(!store_data(&p, 4))) { return false; } - if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { return false; } - if (TLGEN2_UNLIKELY(!store_pad((-len) & 3))) { return false; } - return true; - } - auto pad = ((-(len+1)) & 3); - auto fullLen = 1 + len + pad; - if (TLGEN2_UNLIKELY(ptr + fullLen > end)) { - auto p = static_cast(len); - if (TLGEN2_UNLIKELY(!store_data(&p,1))) { return false; } - if (TLGEN2_UNLIKELY(!store_data(value.data(), value.size()))) { return false; } - if (TLGEN2_UNLIKELY(!store_pad(pad))) { return false; } - return true; - } - // fast path for short strings that fully fit in buffer - uint32_t x = 0; - std::memcpy(ptr + fullLen - 4, &x, 4); // padding first - *ptr = static_cast(len); - std::memcpy(ptr + 1, value.data(), len); - ptr += fullLen; - return true; - } - bool set_error(const char * e) { return false; } // TODO - set error field - bool set_error_eof() { return set_error("EOF"); } - bool set_error_sequence_length() { return set_error("sequence_length"); } -protected: - char * ptr{}; - char * end{}; - virtual void grow_buffer(size_t size) = 0; // after call buffer must contain at least single bytes, otherwise error -private: - bool store_data(const void * vdata, size_t size) { - const char * data = reinterpret_cast(vdata); - for (;TLGEN2_UNLIKELY(ptr + size > end);) { - // assert(ptr <= end) - std::memcpy(ptr, data, end - ptr); - data += end - ptr; - size -= end - ptr; - ptr = end; - grow_buffer(size); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - std::memcpy(ptr, data, size); - ptr += size; - return true; - } - bool store_pad(size_t size) { - for (;TLGEN2_UNLIKELY(ptr + size > end);) { - // assert(ptr <= end) - std::memset(ptr, 0, end - ptr); - size -= end - ptr; - ptr = end; - grow_buffer(size); - // assert(ptr <= end) - if (TLGEN2_UNLIKELY(ptr == end)) { - return set_error_eof(); - } - } - if (size != 0) { - ptr[0] = 0; - ptr[size-1] = 0; - ptr[size/2] = 0; - ptr += size; - } - return true; - } -}; - -class tl_istream_string : public tl_istream { // TODO - custom copy/move -public: - explicit tl_istream_string(const std::string & buf) { - ptr = buf.data(); - end = ptr + buf.size(); - } -protected: - void grow_buffer(size_t size) override {} -}; - -class tl_ostream_string : public tl_ostream { // TODO - custom copy/move -public: - explicit tl_ostream_string() { - resize(INITIAL_SIZE); - } - std::string & get_buffer() { - resize(ptr - buf.data()); - return buf; - } -protected: - void grow_buffer(size_t size) override { - auto pos = ptr - buf.data(); - resize(buf.size()*3/2 + INITIAL_SIZE + size); // some arbitrary strategy - ptr += pos; - } -private: - enum { INITIAL_SIZE = 1024 }; - std::string buf; - void resize(size_t size) { - buf.resize(size); - ptr = const_cast(buf.data()); // works for all known implementations - end = ptr + buf.size(); - } -}; - - -} // namespace basictl - - -#undef TLGEN2_NOINLINE -#undef TLGEN2_UNLIKELY diff --git a/internal/tlcodegen/test/gen/schema_cpp/antispam/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/antispam/details.cpp deleted file mode 100644 index 1cd89422..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/antispam/details.cpp +++ /dev/null @@ -1,303 +0,0 @@ -#include "headers/antispam.PatternFull.hpp" -#include "headers/antispam.patternNotFound.hpp" -#include "headers/antispam.patternFound.hpp" -#include "headers/antispam.getPattern.hpp" - - -bool tl2::antispam::GetPattern::write_json(std::ostream& s)const { - if (!::tl2::details::AntispamGetPatternWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::antispam::GetPattern::read(::basictl::tl_istream & s) { - if (!::tl2::details::AntispamGetPatternRead(s, *this)) { return false; } - return true; -} - -bool tl2::antispam::GetPattern::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::AntispamGetPatternWrite(s, *this)) { return false; } - return true; -} - -bool tl2::antispam::GetPattern::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::AntispamGetPatternReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::antispam::GetPattern::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::AntispamGetPatternWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::AntispamGetPatternReset(::tl2::antispam::GetPattern& item) { - item.id = 0; -} - -bool tl2::details::AntispamGetPatternWriteJSON(std::ostream& s, const ::tl2::antispam::GetPattern& item) { - s << "{"; - if (item.id != 0) { - s << "\"id\":"; - s << item.id; - } - s << "}"; - return true; -} - -bool tl2::details::AntispamGetPatternRead(::basictl::tl_istream & s, ::tl2::antispam::GetPattern& item) { - if (!s.int_read(item.id)) { return false; } - return true; -} - -bool tl2::details::AntispamGetPatternWrite(::basictl::tl_ostream & s, const ::tl2::antispam::GetPattern& item) { - if (!s.int_write(item.id)) { return false;} - return true; -} - -bool tl2::details::AntispamGetPatternReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::GetPattern& item) { - if (!s.nat_read_exact_tag(0x3de14136)) { return false; } - return tl2::details::AntispamGetPatternRead(s, item); -} - -bool tl2::details::AntispamGetPatternWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::GetPattern& item) { - if (!s.nat_write(0x3de14136)) { return false; } - return tl2::details::AntispamGetPatternWrite(s, item); -} - -bool tl2::details::AntispamGetPatternReadResult(::basictl::tl_istream & s, tl2::antispam::GetPattern& item, ::tl2::antispam::PatternFull& result) { - if (!::tl2::details::AntispamPatternFullReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::AntispamGetPatternWriteResult(::basictl::tl_ostream & s, tl2::antispam::GetPattern& item, ::tl2::antispam::PatternFull& result) { - if (!::tl2::details::AntispamPatternFullWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::antispam::GetPattern::read_result(::basictl::tl_istream & s, ::tl2::antispam::PatternFull & result) { - return tl2::details::AntispamGetPatternReadResult(s, *this, result); -} -bool tl2::antispam::GetPattern::write_result(::basictl::tl_ostream & s, ::tl2::antispam::PatternFull & result) { - return tl2::details::AntispamGetPatternWriteResult(s, *this, result); -} - -bool tl2::antispam::PatternFound::write_json(std::ostream& s)const { - if (!::tl2::details::AntispamPatternFoundWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::antispam::PatternFound::read(::basictl::tl_istream & s) { - if (!::tl2::details::AntispamPatternFoundRead(s, *this)) { return false; } - return true; -} - -bool tl2::antispam::PatternFound::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::AntispamPatternFoundWrite(s, *this)) { return false; } - return true; -} - -bool tl2::antispam::PatternFound::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::AntispamPatternFoundReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::antispam::PatternFound::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::AntispamPatternFoundWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::AntispamPatternFoundReset(::tl2::antispam::PatternFound& item) { - item.ip = 0; - item.uahash = 0; - item.flags = 0; - item.type = 0; - item.text.clear(); -} - -bool tl2::details::AntispamPatternFoundWriteJSON(std::ostream& s, const ::tl2::antispam::PatternFound& item) { - auto add_comma = false; - s << "{"; - if (item.ip != 0) { - add_comma = true; - s << "\"ip\":"; - s << item.ip; - } - if (item.uahash != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"uahash\":"; - s << item.uahash; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.type != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.text.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"text\":"; - s << "\"" << item.text << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::AntispamPatternFoundRead(::basictl::tl_istream & s, ::tl2::antispam::PatternFound& item) { - if (!s.int_read(item.ip)) { return false; } - if (!s.int_read(item.uahash)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!s.int_read(item.type)) { return false; } - if (!s.string_read(item.text)) { return false; } - return true; -} - -bool tl2::details::AntispamPatternFoundWrite(::basictl::tl_ostream & s, const ::tl2::antispam::PatternFound& item) { - if (!s.int_write(item.ip)) { return false;} - if (!s.int_write(item.uahash)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!s.int_write(item.type)) { return false;} - if (!s.string_write(item.text)) { return false;} - return true; -} - -bool tl2::details::AntispamPatternFoundReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::PatternFound& item) { - if (!s.nat_read_exact_tag(0xa7688492)) { return false; } - return tl2::details::AntispamPatternFoundRead(s, item); -} - -bool tl2::details::AntispamPatternFoundWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::PatternFound& item) { - if (!s.nat_write(0xa7688492)) { return false; } - return tl2::details::AntispamPatternFoundWrite(s, item); -} - -static const std::string_view AntispamPatternFull_tbl_tl_name[]{"antispam.patternFound", "antispam.patternNotFound"}; -static const uint32_t AntispamPatternFull_tbl_tl_tag[]{0xa7688492, 0x2c22e225}; - -bool tl2::antispam::PatternFull::write_json(std::ostream & s)const { - if (!::tl2::details::AntispamPatternFullWriteJSON(s, *this)) { return false; } - return true; -} -bool tl2::antispam::PatternFull::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::AntispamPatternFullReadBoxed(s, *this)) { return false; } - return true; -} -bool tl2::antispam::PatternFull::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::AntispamPatternFullWriteBoxed(s, *this)) { return false; } - return true; -} -std::string_view tl2::antispam::PatternFull::tl_name() const { - return AntispamPatternFull_tbl_tl_name[value.index()]; -} -uint32_t tl2::antispam::PatternFull::tl_tag() const { - return AntispamPatternFull_tbl_tl_tag[value.index()]; -} - - -void tl2::details::AntispamPatternFullReset(::tl2::antispam::PatternFull& item) { - item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function -} - -bool tl2::details::AntispamPatternFullWriteJSON(std::ostream & s, const ::tl2::antispam::PatternFull& item) { - s << "{"; - s << "\"type\":"; - s << "\"" << AntispamPatternFull_tbl_tl_name[item.value.index()] << "\""; - switch (item.value.index()) { - case 0: - s << ",\"value\":"; - if (!::tl2::details::AntispamPatternFoundWriteJSON(s, std::get<0>(item.value))) { return false; } - break; - } - s << "}"; - return true; -} -bool tl2::details::AntispamPatternFullReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::PatternFull& item) { - uint32_t nat; - s.nat_read(nat); - switch (nat) { - case 0xa7688492: - if (item.value.index() != 0) { item.value.emplace<0>(); } - if (!::tl2::details::AntispamPatternFoundRead(s, std::get<0>(item.value))) { return false; } - break; - case 0x2c22e225: - if (item.value.index() != 1) { item.value.emplace<1>(); } - break; - default: - return s.set_error_union_tag(); - } - return true; -} - -bool tl2::details::AntispamPatternFullWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::PatternFull& item) { - s.nat_write(AntispamPatternFull_tbl_tl_tag[item.value.index()]); - switch (item.value.index()) { - case 0: - if (!::tl2::details::AntispamPatternFoundWrite(s, std::get<0>(item.value))) { return false; } - break; - } - return true; -} - -bool tl2::antispam::PatternNotFound::write_json(std::ostream& s)const { - if (!::tl2::details::AntispamPatternNotFoundWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::antispam::PatternNotFound::read(::basictl::tl_istream & s) { - if (!::tl2::details::AntispamPatternNotFoundRead(s, *this)) { return false; } - return true; -} - -bool tl2::antispam::PatternNotFound::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::AntispamPatternNotFoundWrite(s, *this)) { return false; } - return true; -} - -bool tl2::antispam::PatternNotFound::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::AntispamPatternNotFoundReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::antispam::PatternNotFound::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::AntispamPatternNotFoundWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::AntispamPatternNotFoundReset(::tl2::antispam::PatternNotFound& item) { -} - -bool tl2::details::AntispamPatternNotFoundWriteJSON(std::ostream& s, const ::tl2::antispam::PatternNotFound& item) { - s << "true"; - return true; -} - -bool tl2::details::AntispamPatternNotFoundRead(::basictl::tl_istream & s, ::tl2::antispam::PatternNotFound& item) { - return true; -} - -bool tl2::details::AntispamPatternNotFoundWrite(::basictl::tl_ostream & s, const ::tl2::antispam::PatternNotFound& item) { - return true; -} - -bool tl2::details::AntispamPatternNotFoundReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::PatternNotFound& item) { - if (!s.nat_read_exact_tag(0x2c22e225)) { return false; } - return tl2::details::AntispamPatternNotFoundRead(s, item); -} - -bool tl2::details::AntispamPatternNotFoundWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::PatternNotFound& item) { - if (!s.nat_write(0x2c22e225)) { return false; } - return tl2::details::AntispamPatternNotFoundWrite(s, item); -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/antispam/functions/antispam.getPattern.hpp b/internal/tlcodegen/test/gen/schema_cpp/antispam/functions/antispam.getPattern.hpp deleted file mode 100644 index 3bd3c8da..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/antispam/functions/antispam.getPattern.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/antispam.PatternFull.hpp" - - -namespace tl2 { namespace antispam { -struct GetPattern { - // tl magic for function - static const uint32_t MAGIC = 0x3de14136; - - int32_t id = 0; - - std::string_view tl_name() const { return "antispam.getPattern"; } - uint32_t tl_tag() const { return 0x3de14136; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::antispam::PatternFull & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::antispam::PatternFull & result); - - friend std::ostream& operator<<(std::ostream& s, const GetPattern& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::antispam - diff --git a/internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.PatternFull.hpp b/internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.PatternFull.hpp deleted file mode 100644 index a7895216..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.PatternFull.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/antispam.PatternFull.hpp" - -namespace tl2 { namespace details { - -void AntispamPatternFullReset(::tl2::antispam::PatternFull& item); - -bool AntispamPatternFullWriteJSON(std::ostream & s, const ::tl2::antispam::PatternFull& item); -bool AntispamPatternFullReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::PatternFull& item); -bool AntispamPatternFullWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::PatternFull& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.getPattern.hpp b/internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.getPattern.hpp deleted file mode 100644 index 44ebacf7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.getPattern.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/antispam.getPattern.hpp" -#include "../types/antispam.PatternFull.hpp" - -namespace tl2 { namespace details { - -void AntispamGetPatternReset(::tl2::antispam::GetPattern& item); - -bool AntispamGetPatternWriteJSON(std::ostream& s, const ::tl2::antispam::GetPattern& item); -bool AntispamGetPatternRead(::basictl::tl_istream & s, ::tl2::antispam::GetPattern& item); -bool AntispamGetPatternWrite(::basictl::tl_ostream & s, const ::tl2::antispam::GetPattern& item); -bool AntispamGetPatternReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::GetPattern& item); -bool AntispamGetPatternWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::GetPattern& item); - -bool AntispamGetPatternReadResult(::basictl::tl_istream & s, ::tl2::antispam::GetPattern& item, ::tl2::antispam::PatternFull& result); -bool AntispamGetPatternWriteResult(::basictl::tl_ostream & s, ::tl2::antispam::GetPattern& item, ::tl2::antispam::PatternFull& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.patternFound.hpp b/internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.patternFound.hpp deleted file mode 100644 index bf99eca0..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.patternFound.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/antispam.patternFound.hpp" - -namespace tl2 { namespace details { - -void AntispamPatternFoundReset(::tl2::antispam::PatternFound& item); - -bool AntispamPatternFoundWriteJSON(std::ostream& s, const ::tl2::antispam::PatternFound& item); -bool AntispamPatternFoundRead(::basictl::tl_istream & s, ::tl2::antispam::PatternFound& item); -bool AntispamPatternFoundWrite(::basictl::tl_ostream & s, const ::tl2::antispam::PatternFound& item); -bool AntispamPatternFoundReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::PatternFound& item); -bool AntispamPatternFoundWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::PatternFound& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.patternNotFound.hpp b/internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.patternNotFound.hpp deleted file mode 100644 index 43241326..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/antispam/headers/antispam.patternNotFound.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/antispam.patternNotFound.hpp" - -namespace tl2 { namespace details { - -void AntispamPatternNotFoundReset(::tl2::antispam::PatternNotFound& item); - -bool AntispamPatternNotFoundWriteJSON(std::ostream& s, const ::tl2::antispam::PatternNotFound& item); -bool AntispamPatternNotFoundRead(::basictl::tl_istream & s, ::tl2::antispam::PatternNotFound& item); -bool AntispamPatternNotFoundWrite(::basictl::tl_ostream & s, const ::tl2::antispam::PatternNotFound& item); -bool AntispamPatternNotFoundReadBoxed(::basictl::tl_istream & s, ::tl2::antispam::PatternNotFound& item); -bool AntispamPatternNotFoundWriteBoxed(::basictl::tl_ostream & s, const ::tl2::antispam::PatternNotFound& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/antispam/types/antispam.PatternFull.hpp b/internal/tlcodegen/test/gen/schema_cpp/antispam/types/antispam.PatternFull.hpp deleted file mode 100644 index aba53e0c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/antispam/types/antispam.PatternFull.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "antispam.patternNotFound.hpp" -#include "antispam.patternFound.hpp" - - -namespace tl2 { namespace antispam { -struct PatternFull { - std::variant<::tl2::antispam::PatternFound, ::tl2::antispam::PatternNotFound> value; - - bool is_patternFound() const { return value.index() == 0; } - bool is_patternNotFound() const { return value.index() == 1; } - - void set_patternNotFound() { value.emplace<1>(); } - - std::string_view tl_name() const; - uint32_t tl_tag() const; - - bool write_json(std::ostream& s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; -}; - -}} // namespace tl2::antispam - diff --git a/internal/tlcodegen/test/gen/schema_cpp/antispam/types/antispam.patternFound.hpp b/internal/tlcodegen/test/gen/schema_cpp/antispam/types/antispam.patternFound.hpp deleted file mode 100644 index 75042e9a..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/antispam/types/antispam.patternFound.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace antispam { -struct PatternFound { - int32_t ip = 0; - int32_t uahash = 0; - int32_t flags = 0; - int32_t type = 0; - std::string text; - - std::string_view tl_name() const { return "antispam.patternFound"; } - uint32_t tl_tag() const { return 0xa7688492; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const PatternFound& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::antispam - diff --git a/internal/tlcodegen/test/gen/schema_cpp/antispam/types/antispam.patternNotFound.hpp b/internal/tlcodegen/test/gen/schema_cpp/antispam/types/antispam.patternNotFound.hpp deleted file mode 100644 index 5b48cc5a..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/antispam/types/antispam.patternNotFound.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace antispam { -struct PatternNotFound { - - std::string_view tl_name() const { return "antispam.patternNotFound"; } - uint32_t tl_tag() const { return 0x2c22e225; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const PatternNotFound& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::antispam - diff --git a/internal/tlcodegen/test/gen/schema_cpp/pkg2/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/pkg2/details.cpp deleted file mode 100644 index 124c1ac8..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/pkg2/details.cpp +++ /dev/null @@ -1,149 +0,0 @@ -#include "headers/pkg2.t2.hpp" -#include "headers/pkg2.t1.hpp" -#include "headers/pkg2.foo.hpp" - - -bool tl2::pkg2::Foo::write_json(std::ostream& s)const { - if (!::tl2::details::Pkg2FooWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::pkg2::Foo::read(::basictl::tl_istream & s) { - if (!::tl2::details::Pkg2FooRead(s, *this)) { return false; } - return true; -} - -bool tl2::pkg2::Foo::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Pkg2FooWrite(s, *this)) { return false; } - return true; -} - -bool tl2::pkg2::Foo::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Pkg2FooReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::pkg2::Foo::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Pkg2FooWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Pkg2FooReset(::tl2::pkg2::Foo& item) { - item.x = 0; -} - -bool tl2::details::Pkg2FooWriteJSON(std::ostream& s, const ::tl2::pkg2::Foo& item) { - s << "{"; - if (item.x != 0) { - s << "\"x\":"; - s << item.x; - } - s << "}"; - return true; -} - -bool tl2::details::Pkg2FooRead(::basictl::tl_istream & s, ::tl2::pkg2::Foo& item) { - if (!s.int_read(item.x)) { return false; } - return true; -} - -bool tl2::details::Pkg2FooWrite(::basictl::tl_ostream & s, const ::tl2::pkg2::Foo& item) { - if (!s.int_write(item.x)) { return false;} - return true; -} - -bool tl2::details::Pkg2FooReadBoxed(::basictl::tl_istream & s, ::tl2::pkg2::Foo& item) { - if (!s.nat_read_exact_tag(0xe144703d)) { return false; } - return tl2::details::Pkg2FooRead(s, item); -} - -bool tl2::details::Pkg2FooWriteBoxed(::basictl::tl_ostream & s, const ::tl2::pkg2::Foo& item) { - if (!s.nat_write(0xe144703d)) { return false; } - return tl2::details::Pkg2FooWrite(s, item); -} - -bool tl2::pkg2::T1::write_json(std::ostream& s)const { - if (!::tl2::details::Pkg2T1WriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::pkg2::T1::read(::basictl::tl_istream & s) { - if (!::tl2::details::Pkg2T1Read(s, *this)) { return false; } - return true; -} - -bool tl2::pkg2::T1::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Pkg2T1Write(s, *this)) { return false; } - return true; -} - -bool tl2::pkg2::T1::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Pkg2T1ReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::pkg2::T1::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Pkg2T1WriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Pkg2T1Reset(::tl2::pkg2::T1& item) { - ::tl2::details::Pkg2FooReset(item.x); -} - -bool tl2::details::Pkg2T1WriteJSON(std::ostream& s, const ::tl2::pkg2::T1& item) { - s << "{"; - s << "\"x\":"; - if (!::tl2::details::Pkg2FooWriteJSON(s, item.x)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::Pkg2T1Read(::basictl::tl_istream & s, ::tl2::pkg2::T1& item) { - if (!::tl2::details::Pkg2FooReadBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::Pkg2T1Write(::basictl::tl_ostream & s, const ::tl2::pkg2::T1& item) { - if (!::tl2::details::Pkg2FooWriteBoxed(s, item.x)) { return false; } - return true; -} - -bool tl2::details::Pkg2T1ReadBoxed(::basictl::tl_istream & s, ::tl2::pkg2::T1& item) { - if (!s.nat_read_exact_tag(0x638206ec)) { return false; } - return tl2::details::Pkg2T1Read(s, item); -} - -bool tl2::details::Pkg2T1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::pkg2::T1& item) { - if (!s.nat_write(0x638206ec)) { return false; } - return tl2::details::Pkg2T1Write(s, item); -} - -void tl2::details::Pkg2T2Reset(::tl2::pkg2::T2& item) { - ::tl2::details::Pkg2FooReset(item); -} - -bool tl2::details::Pkg2T2WriteJSON(std::ostream& s, const ::tl2::pkg2::T2& item) { - if (!::tl2::details::Pkg2FooWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::Pkg2T2Read(::basictl::tl_istream & s, ::tl2::pkg2::T2& item) { - if (!::tl2::details::Pkg2FooRead(s, item)) { return false; } - return true; -} - -bool tl2::details::Pkg2T2Write(::basictl::tl_ostream & s, const ::tl2::pkg2::T2& item) { - if (!::tl2::details::Pkg2FooWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::Pkg2T2ReadBoxed(::basictl::tl_istream & s, ::tl2::pkg2::T2& item) { - if (!s.nat_read_exact_tag(0xd6e5af9c)) { return false; } - return tl2::details::Pkg2T2Read(s, item); -} - -bool tl2::details::Pkg2T2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::pkg2::T2& item) { - if (!s.nat_write(0xd6e5af9c)) { return false; } - return tl2::details::Pkg2T2Write(s, item); -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/pkg2/headers/pkg2.foo.hpp b/internal/tlcodegen/test/gen/schema_cpp/pkg2/headers/pkg2.foo.hpp deleted file mode 100644 index 87e431b7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/pkg2/headers/pkg2.foo.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/pkg2.foo.hpp" - -namespace tl2 { namespace details { - -void Pkg2FooReset(::tl2::pkg2::Foo& item); - -bool Pkg2FooWriteJSON(std::ostream& s, const ::tl2::pkg2::Foo& item); -bool Pkg2FooRead(::basictl::tl_istream & s, ::tl2::pkg2::Foo& item); -bool Pkg2FooWrite(::basictl::tl_ostream & s, const ::tl2::pkg2::Foo& item); -bool Pkg2FooReadBoxed(::basictl::tl_istream & s, ::tl2::pkg2::Foo& item); -bool Pkg2FooWriteBoxed(::basictl::tl_ostream & s, const ::tl2::pkg2::Foo& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/pkg2/headers/pkg2.t1.hpp b/internal/tlcodegen/test/gen/schema_cpp/pkg2/headers/pkg2.t1.hpp deleted file mode 100644 index 7af7ab1f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/pkg2/headers/pkg2.t1.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/pkg2.t1.hpp" - -namespace tl2 { namespace details { - -void Pkg2T1Reset(::tl2::pkg2::T1& item); - -bool Pkg2T1WriteJSON(std::ostream& s, const ::tl2::pkg2::T1& item); -bool Pkg2T1Read(::basictl::tl_istream & s, ::tl2::pkg2::T1& item); -bool Pkg2T1Write(::basictl::tl_ostream & s, const ::tl2::pkg2::T1& item); -bool Pkg2T1ReadBoxed(::basictl::tl_istream & s, ::tl2::pkg2::T1& item); -bool Pkg2T1WriteBoxed(::basictl::tl_ostream & s, const ::tl2::pkg2::T1& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/pkg2/headers/pkg2.t2.hpp b/internal/tlcodegen/test/gen/schema_cpp/pkg2/headers/pkg2.t2.hpp deleted file mode 100644 index 8e15c0c8..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/pkg2/headers/pkg2.t2.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/pkg2.t2.hpp" - -namespace tl2 { namespace details { - -void Pkg2T2Reset(::tl2::pkg2::T2& item); - -bool Pkg2T2WriteJSON(std::ostream& s, const ::tl2::pkg2::T2& item); -bool Pkg2T2Read(::basictl::tl_istream & s, ::tl2::pkg2::T2& item); -bool Pkg2T2Write(::basictl::tl_ostream & s, const ::tl2::pkg2::T2& item); -bool Pkg2T2ReadBoxed(::basictl::tl_istream & s, ::tl2::pkg2::T2& item); -bool Pkg2T2WriteBoxed(::basictl::tl_ostream & s, const ::tl2::pkg2::T2& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/pkg2/types/pkg2.foo.hpp b/internal/tlcodegen/test/gen/schema_cpp/pkg2/types/pkg2.foo.hpp deleted file mode 100644 index 88eb85ac..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/pkg2/types/pkg2.foo.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace pkg2 { -struct Foo { - int32_t x = 0; - - std::string_view tl_name() const { return "pkg2.foo"; } - uint32_t tl_tag() const { return 0xe144703d; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const Foo& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::pkg2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/pkg2/types/pkg2.t1.hpp b/internal/tlcodegen/test/gen/schema_cpp/pkg2/types/pkg2.t1.hpp deleted file mode 100644 index 2d3fe94b..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/pkg2/types/pkg2.t1.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "pkg2.foo.hpp" - - -namespace tl2 { namespace pkg2 { -struct T1 { - ::tl2::pkg2::Foo x{}; - - std::string_view tl_name() const { return "pkg2.t1"; } - uint32_t tl_tag() const { return 0x638206ec; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const T1& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::pkg2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/pkg2/types/pkg2.t2.hpp b/internal/tlcodegen/test/gen/schema_cpp/pkg2/types/pkg2.t2.hpp deleted file mode 100644 index ff1c527b..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/pkg2/types/pkg2.t2.hpp +++ /dev/null @@ -1,10 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "pkg2.foo.hpp" - - -namespace tl2 { namespace pkg2 { -using T2 = ::tl2::pkg2::Foo; -}} // namespace tl2::pkg2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/service1/details.cpp deleted file mode 100644 index adc8d76a..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/details.cpp +++ /dev/null @@ -1,3447 +0,0 @@ -#include "headers/service1_vector.hpp" -#include "headers/service1.Value.hpp" -#include "headers/service1.touch.hpp" -#include "headers/service1.setOrIncr.hpp" -#include "headers/service1.set.hpp" -#include "headers/service1.replaceOrIncr.hpp" -#include "headers/service1.replace.hpp" -#include "headers/service1.keysStat.hpp" -#include "headers/service1.incr.hpp" -#include "headers/service1.getWildcardWithFlags.hpp" -#include "headers/service1.getWildcardList.hpp" -#include "headers/service1.getWildcardDict.hpp" -#include "headers/service1.getWildcard.hpp" -#include "headers/service1.getKeysStatPeriods.hpp" -#include "headers/service1.getKeysStat.hpp" -#include "headers/service1.getExpireTime.hpp" -#include "headers/service1.get.hpp" -#include "headers/service1.exists.hpp" -#include "headers/service1.enableKeysStat.hpp" -#include "headers/service1.enableExpiration.hpp" -#include "headers/service1.disableKeysStat.hpp" -#include "headers/service1.disableExpiration.hpp" -#include "headers/service1.delete.hpp" -#include "headers/service1.decr.hpp" -#include "headers/service1.cas.hpp" -#include "headers/service1.append.hpp" -#include "headers/service1.addOrIncr.hpp" -#include "headers/service1.addOrGet.hpp" -#include "headers/service1.add.hpp" -#include "../__common_namespace/headers/int.hpp" -#include "headers/service1.strvalueWithTime.hpp" -#include "headers/service1.strvalue.hpp" -#include "headers/service1.not_found.hpp" -#include "headers/service1.longvalueWithTime.hpp" -#include "headers/service1.longvalue.hpp" -#include "headers/service1_dictionary.hpp" -#include "../__common_namespace/headers/dictionary.hpp" -#include "headers/service1_dictionaryField.hpp" -#include "../__common_namespace/headers/string.hpp" -#include "../__common_namespace/headers/map.hpp" -#include "../__common_namespace/headers/Bool.hpp" - - -void tl2::details::BuiltinTuple3Service1ValueReset(std::array<::tl2::service1::Value, 3>& item) { - for(auto && el : item) { - ::tl2::details::Service1ValueReset(el); - } -} - -bool tl2::details::BuiltinTuple3Service1ValueWriteJSON(std::ostream &s, const std::array<::tl2::service1::Value, 3>& item) { - s << "["; - size_t index = 0; - for(auto && el : item) { - if (!::tl2::details::Service1ValueWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinTuple3Service1ValueRead(::basictl::tl_istream & s, std::array<::tl2::service1::Value, 3>& item) { - for(auto && el : item) { - if (!::tl2::details::Service1ValueReadBoxed(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinTuple3Service1ValueWrite(::basictl::tl_ostream & s, const std::array<::tl2::service1::Value, 3>& item) { - for(const auto & el : item) { - if (!::tl2::details::Service1ValueWriteBoxed(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorDictionaryFieldDictionaryIntReset(std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorDictionaryFieldDictionaryIntWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::DictionaryFieldDictionaryIntWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorDictionaryFieldDictionaryIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::DictionaryFieldDictionaryIntRead(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorDictionaryFieldDictionaryIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::DictionaryFieldDictionaryIntWrite(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorDictionaryFieldService1ValueReset(std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorDictionaryFieldService1ValueWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::DictionaryFieldService1ValueWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorDictionaryFieldService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::DictionaryFieldService1ValueRead(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorDictionaryFieldService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::DictionaryFieldService1ValueWrite(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorDictionaryFieldStringReset(std::vector<::tl2::DictionaryField>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorDictionaryFieldStringWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::DictionaryFieldStringWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorDictionaryFieldStringRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::DictionaryFieldStringRead(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorDictionaryFieldStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::DictionaryFieldStringWrite(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorService1ValueReset(std::vector<::tl2::service1::Value>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorService1ValueWriteJSON(std::ostream & s, const std::vector<::tl2::service1::Value>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::Service1ValueWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::service1::Value>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::Service1ValueReadBoxed(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service1::Value>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::Service1ValueWriteBoxed(s, el)) { return false; } - } - return true; -} - -void tl2::details::DictionaryDictionaryIntReset(::tl2::Dictionary<::tl2::Dictionary>& item) { - item.clear(); -} - -bool tl2::details::DictionaryDictionaryIntWriteJSON(std::ostream& s, const ::tl2::Dictionary<::tl2::Dictionary>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldDictionaryIntWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::DictionaryDictionaryIntRead(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::Dictionary>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldDictionaryIntRead(s, item)) { return false; } - return true; -} - -bool tl2::details::DictionaryDictionaryIntWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::Dictionary>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldDictionaryIntWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::DictionaryDictionaryIntReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::Dictionary>& item) { - if (!s.nat_read_exact_tag(0x1f4c618f)) { return false; } - return tl2::details::DictionaryDictionaryIntRead(s, item); -} - -bool tl2::details::DictionaryDictionaryIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::Dictionary>& item) { - if (!s.nat_write(0x1f4c618f)) { return false; } - return tl2::details::DictionaryDictionaryIntWrite(s, item); -} - -void tl2::details::DictionaryFieldDictionaryIntReset(::tl2::DictionaryField<::tl2::Dictionary>& item) { - item.key.clear(); - ::tl2::details::DictionaryIntReset(item.value); -} - -bool tl2::details::DictionaryFieldDictionaryIntWriteJSON(std::ostream& s, const ::tl2::DictionaryField<::tl2::Dictionary>& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.value.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - if (!::tl2::details::DictionaryIntWriteJSON(s, item.value)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::DictionaryFieldDictionaryIntRead(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::Dictionary>& item) { - if (!s.string_read(item.key)) { return false; } - if (!::tl2::details::DictionaryIntRead(s, item.value)) { return false; } - return true; -} - -bool tl2::details::DictionaryFieldDictionaryIntWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::Dictionary>& item) { - if (!s.string_write(item.key)) { return false;} - if (!::tl2::details::DictionaryIntWrite(s, item.value)) { return false; } - return true; -} - -bool tl2::details::DictionaryFieldDictionaryIntReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::Dictionary>& item) { - if (!s.nat_read_exact_tag(0x239c1b62)) { return false; } - return tl2::details::DictionaryFieldDictionaryIntRead(s, item); -} - -bool tl2::details::DictionaryFieldDictionaryIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::Dictionary>& item) { - if (!s.nat_write(0x239c1b62)) { return false; } - return tl2::details::DictionaryFieldDictionaryIntWrite(s, item); -} - -void tl2::details::DictionaryFieldService1ValueReset(::tl2::DictionaryField<::tl2::service1::Value>& item) { - item.key.clear(); - ::tl2::details::Service1ValueReset(item.value); -} - -bool tl2::details::DictionaryFieldService1ValueWriteJSON(std::ostream& s, const ::tl2::DictionaryField<::tl2::service1::Value>& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - if (!::tl2::details::Service1ValueWriteJSON(s, item.value)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::DictionaryFieldService1ValueRead(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::service1::Value>& item) { - if (!s.string_read(item.key)) { return false; } - if (!::tl2::details::Service1ValueReadBoxed(s, item.value)) { return false; } - return true; -} - -bool tl2::details::DictionaryFieldService1ValueWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::service1::Value>& item) { - if (!s.string_write(item.key)) { return false;} - if (!::tl2::details::Service1ValueWriteBoxed(s, item.value)) { return false; } - return true; -} - -bool tl2::details::DictionaryFieldService1ValueReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::service1::Value>& item) { - if (!s.nat_read_exact_tag(0x239c1b62)) { return false; } - return tl2::details::DictionaryFieldService1ValueRead(s, item); -} - -bool tl2::details::DictionaryFieldService1ValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::service1::Value>& item) { - if (!s.nat_write(0x239c1b62)) { return false; } - return tl2::details::DictionaryFieldService1ValueWrite(s, item); -} - -void tl2::details::DictionaryFieldStringReset(::tl2::DictionaryField& item) { - item.key.clear(); - item.value.clear(); -} - -bool tl2::details::DictionaryFieldStringWriteJSON(std::ostream& s, const ::tl2::DictionaryField& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.value.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << "\"" << item.value << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::DictionaryFieldStringRead(::basictl::tl_istream & s, ::tl2::DictionaryField& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.string_read(item.value)) { return false; } - return true; -} - -bool tl2::details::DictionaryFieldStringWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.string_write(item.value)) { return false;} - return true; -} - -bool tl2::details::DictionaryFieldStringReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField& item) { - if (!s.nat_read_exact_tag(0x239c1b62)) { return false; } - return tl2::details::DictionaryFieldStringRead(s, item); -} - -bool tl2::details::DictionaryFieldStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item) { - if (!s.nat_write(0x239c1b62)) { return false; } - return tl2::details::DictionaryFieldStringWrite(s, item); -} - -void tl2::details::DictionaryService1ValueReset(::tl2::Dictionary<::tl2::service1::Value>& item) { - item.clear(); -} - -bool tl2::details::DictionaryService1ValueWriteJSON(std::ostream& s, const ::tl2::Dictionary<::tl2::service1::Value>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldService1ValueWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::DictionaryService1ValueRead(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldService1ValueRead(s, item)) { return false; } - return true; -} - -bool tl2::details::DictionaryService1ValueWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::service1::Value>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldService1ValueWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::DictionaryService1ValueReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value>& item) { - if (!s.nat_read_exact_tag(0x1f4c618f)) { return false; } - return tl2::details::DictionaryService1ValueRead(s, item); -} - -bool tl2::details::DictionaryService1ValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::service1::Value>& item) { - if (!s.nat_write(0x1f4c618f)) { return false; } - return tl2::details::DictionaryService1ValueWrite(s, item); -} - -void tl2::details::DictionaryStringReset(::tl2::Dictionary& item) { - item.clear(); -} - -bool tl2::details::DictionaryStringWriteJSON(std::ostream& s, const ::tl2::Dictionary& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldStringWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::DictionaryStringRead(::basictl::tl_istream & s, ::tl2::Dictionary& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldStringRead(s, item)) { return false; } - return true; -} - -bool tl2::details::DictionaryStringWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldStringWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::DictionaryStringReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary& item) { - if (!s.nat_read_exact_tag(0x1f4c618f)) { return false; } - return tl2::details::DictionaryStringRead(s, item); -} - -bool tl2::details::DictionaryStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary& item) { - if (!s.nat_write(0x1f4c618f)) { return false; } - return tl2::details::DictionaryStringWrite(s, item); -} - -bool tl2::service1::Add::write_json(std::ostream& s)const { - if (!::tl2::details::Service1AddWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Add::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1AddRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Add::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1AddWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Add::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1AddReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Add::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1AddWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1AddReset(::tl2::service1::Add& item) { - item.key.clear(); - item.flags = 0; - item.delay = 0; - item.value.clear(); -} - -bool tl2::details::Service1AddWriteJSON(std::ostream& s, const ::tl2::service1::Add& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.delay != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"delay\":"; - s << item.delay; - } - if (item.value.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << "\"" << item.value << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1AddRead(::basictl::tl_istream & s, ::tl2::service1::Add& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!s.int_read(item.delay)) { return false; } - if (!s.string_read(item.value)) { return false; } - return true; -} - -bool tl2::details::Service1AddWrite(::basictl::tl_ostream & s, const ::tl2::service1::Add& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!s.int_write(item.delay)) { return false;} - if (!s.string_write(item.value)) { return false;} - return true; -} - -bool tl2::details::Service1AddReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Add& item) { - if (!s.nat_read_exact_tag(0x481df8be)) { return false; } - return tl2::details::Service1AddRead(s, item); -} - -bool tl2::details::Service1AddWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Add& item) { - if (!s.nat_write(0x481df8be)) { return false; } - return tl2::details::Service1AddWrite(s, item); -} - -bool tl2::details::Service1AddReadResult(::basictl::tl_istream & s, tl2::service1::Add& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1AddWriteResult(::basictl::tl_ostream & s, tl2::service1::Add& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::Add::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1AddReadResult(s, *this, result); -} -bool tl2::service1::Add::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1AddWriteResult(s, *this, result); -} - -bool tl2::service1::AddOrGet::write_json(std::ostream& s)const { - if (!::tl2::details::Service1AddOrGetWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::AddOrGet::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1AddOrGetRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::AddOrGet::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1AddOrGetWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::AddOrGet::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1AddOrGetReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::AddOrGet::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1AddOrGetWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1AddOrGetReset(::tl2::service1::AddOrGet& item) { - item.key.clear(); - item.flags = 0; - item.delay = 0; - item.value.clear(); -} - -bool tl2::details::Service1AddOrGetWriteJSON(std::ostream& s, const ::tl2::service1::AddOrGet& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.delay != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"delay\":"; - s << item.delay; - } - if (item.value.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << "\"" << item.value << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1AddOrGetRead(::basictl::tl_istream & s, ::tl2::service1::AddOrGet& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!s.int_read(item.delay)) { return false; } - if (!s.string_read(item.value)) { return false; } - return true; -} - -bool tl2::details::Service1AddOrGetWrite(::basictl::tl_ostream & s, const ::tl2::service1::AddOrGet& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!s.int_write(item.delay)) { return false;} - if (!s.string_write(item.value)) { return false;} - return true; -} - -bool tl2::details::Service1AddOrGetReadBoxed(::basictl::tl_istream & s, ::tl2::service1::AddOrGet& item) { - if (!s.nat_read_exact_tag(0x6a42faad)) { return false; } - return tl2::details::Service1AddOrGetRead(s, item); -} - -bool tl2::details::Service1AddOrGetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::AddOrGet& item) { - if (!s.nat_write(0x6a42faad)) { return false; } - return tl2::details::Service1AddOrGetWrite(s, item); -} - -bool tl2::details::Service1AddOrGetReadResult(::basictl::tl_istream & s, tl2::service1::AddOrGet& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1AddOrGetWriteResult(::basictl::tl_ostream & s, tl2::service1::AddOrGet& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::AddOrGet::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1AddOrGetReadResult(s, *this, result); -} -bool tl2::service1::AddOrGet::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1AddOrGetWriteResult(s, *this, result); -} - -bool tl2::service1::AddOrIncr::write_json(std::ostream& s)const { - if (!::tl2::details::Service1AddOrIncrWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::AddOrIncr::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1AddOrIncrRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::AddOrIncr::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1AddOrIncrWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::AddOrIncr::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1AddOrIncrReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::AddOrIncr::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1AddOrIncrWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1AddOrIncrReset(::tl2::service1::AddOrIncr& item) { - item.key.clear(); - item.flags = 0; - item.delay = 0; - item.value = 0; -} - -bool tl2::details::Service1AddOrIncrWriteJSON(std::ostream& s, const ::tl2::service1::AddOrIncr& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.delay != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"delay\":"; - s << item.delay; - } - if (item.value != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << item.value; - } - s << "}"; - return true; -} - -bool tl2::details::Service1AddOrIncrRead(::basictl::tl_istream & s, ::tl2::service1::AddOrIncr& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!s.int_read(item.delay)) { return false; } - if (!s.long_read(item.value)) { return false; } - return true; -} - -bool tl2::details::Service1AddOrIncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::AddOrIncr& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!s.int_write(item.delay)) { return false;} - if (!s.long_write(item.value)) { return false;} - return true; -} - -bool tl2::details::Service1AddOrIncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::AddOrIncr& item) { - if (!s.nat_read_exact_tag(0x90c4b402)) { return false; } - return tl2::details::Service1AddOrIncrRead(s, item); -} - -bool tl2::details::Service1AddOrIncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::AddOrIncr& item) { - if (!s.nat_write(0x90c4b402)) { return false; } - return tl2::details::Service1AddOrIncrWrite(s, item); -} - -bool tl2::details::Service1AddOrIncrReadResult(::basictl::tl_istream & s, tl2::service1::AddOrIncr& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1AddOrIncrWriteResult(::basictl::tl_ostream & s, tl2::service1::AddOrIncr& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::AddOrIncr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1AddOrIncrReadResult(s, *this, result); -} -bool tl2::service1::AddOrIncr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1AddOrIncrWriteResult(s, *this, result); -} - -bool tl2::service1::Append::write_json(std::ostream& s)const { - if (!::tl2::details::Service1AppendWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Append::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1AppendRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Append::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1AppendWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Append::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1AppendReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Append::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1AppendWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1AppendReset(::tl2::service1::Append& item) { - item.key.clear(); - item.flags = 0; - item.delay = 0; - item.suffix.clear(); -} - -bool tl2::details::Service1AppendWriteJSON(std::ostream& s, const ::tl2::service1::Append& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.delay != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"delay\":"; - s << item.delay; - } - if (item.suffix.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"suffix\":"; - s << "\"" << item.suffix << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1AppendRead(::basictl::tl_istream & s, ::tl2::service1::Append& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!s.int_read(item.delay)) { return false; } - if (!s.string_read(item.suffix)) { return false; } - return true; -} - -bool tl2::details::Service1AppendWrite(::basictl::tl_ostream & s, const ::tl2::service1::Append& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!s.int_write(item.delay)) { return false;} - if (!s.string_write(item.suffix)) { return false;} - return true; -} - -bool tl2::details::Service1AppendReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Append& item) { - if (!s.nat_read_exact_tag(0x04dec671)) { return false; } - return tl2::details::Service1AppendRead(s, item); -} - -bool tl2::details::Service1AppendWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Append& item) { - if (!s.nat_write(0x04dec671)) { return false; } - return tl2::details::Service1AppendWrite(s, item); -} - -bool tl2::details::Service1AppendReadResult(::basictl::tl_istream & s, tl2::service1::Append& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1AppendWriteResult(::basictl::tl_ostream & s, tl2::service1::Append& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::Append::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1AppendReadResult(s, *this, result); -} -bool tl2::service1::Append::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1AppendWriteResult(s, *this, result); -} - -bool tl2::service1::Cas::write_json(std::ostream& s)const { - if (!::tl2::details::Service1CasWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Cas::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1CasRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Cas::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1CasWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Cas::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1CasReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Cas::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1CasWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1CasReset(::tl2::service1::Cas& item) { - item.key.clear(); - item.flags = 0; - item.delay = 0; - item.casToken.clear(); - item.newValue.clear(); -} - -bool tl2::details::Service1CasWriteJSON(std::ostream& s, const ::tl2::service1::Cas& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.delay != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"delay\":"; - s << item.delay; - } - if (item.casToken.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"casToken\":"; - s << "\"" << item.casToken << "\""; - } - if (item.newValue.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"newValue\":"; - s << "\"" << item.newValue << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1CasRead(::basictl::tl_istream & s, ::tl2::service1::Cas& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!s.int_read(item.delay)) { return false; } - if (!s.string_read(item.casToken)) { return false; } - if (!s.string_read(item.newValue)) { return false; } - return true; -} - -bool tl2::details::Service1CasWrite(::basictl::tl_ostream & s, const ::tl2::service1::Cas& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!s.int_write(item.delay)) { return false;} - if (!s.string_write(item.casToken)) { return false;} - if (!s.string_write(item.newValue)) { return false;} - return true; -} - -bool tl2::details::Service1CasReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Cas& item) { - if (!s.nat_read_exact_tag(0x51851964)) { return false; } - return tl2::details::Service1CasRead(s, item); -} - -bool tl2::details::Service1CasWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Cas& item) { - if (!s.nat_write(0x51851964)) { return false; } - return tl2::details::Service1CasWrite(s, item); -} - -bool tl2::details::Service1CasReadResult(::basictl::tl_istream & s, tl2::service1::Cas& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1CasWriteResult(::basictl::tl_ostream & s, tl2::service1::Cas& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::Cas::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1CasReadResult(s, *this, result); -} -bool tl2::service1::Cas::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1CasWriteResult(s, *this, result); -} - -bool tl2::service1::Decr::write_json(std::ostream& s)const { - if (!::tl2::details::Service1DecrWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Decr::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1DecrRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Decr::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1DecrWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Decr::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1DecrReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Decr::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1DecrWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1DecrReset(::tl2::service1::Decr& item) { - item.key.clear(); - item.value = 0; -} - -bool tl2::details::Service1DecrWriteJSON(std::ostream& s, const ::tl2::service1::Decr& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.value != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << item.value; - } - s << "}"; - return true; -} - -bool tl2::details::Service1DecrRead(::basictl::tl_istream & s, ::tl2::service1::Decr& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.long_read(item.value)) { return false; } - return true; -} - -bool tl2::details::Service1DecrWrite(::basictl::tl_ostream & s, const ::tl2::service1::Decr& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.long_write(item.value)) { return false;} - return true; -} - -bool tl2::details::Service1DecrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Decr& item) { - if (!s.nat_read_exact_tag(0xeb179ce7)) { return false; } - return tl2::details::Service1DecrRead(s, item); -} - -bool tl2::details::Service1DecrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Decr& item) { - if (!s.nat_write(0xeb179ce7)) { return false; } - return tl2::details::Service1DecrWrite(s, item); -} - -bool tl2::details::Service1DecrReadResult(::basictl::tl_istream & s, tl2::service1::Decr& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1DecrWriteResult(::basictl::tl_ostream & s, tl2::service1::Decr& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::Decr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1DecrReadResult(s, *this, result); -} -bool tl2::service1::Decr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1DecrWriteResult(s, *this, result); -} - -bool tl2::service1::Delete::write_json(std::ostream& s)const { - if (!::tl2::details::Service1DeleteWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Delete::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1DeleteRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Delete::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1DeleteWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Delete::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1DeleteReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Delete::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1DeleteWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1DeleteReset(::tl2::service1::Delete& item) { - item.key.clear(); -} - -bool tl2::details::Service1DeleteWriteJSON(std::ostream& s, const ::tl2::service1::Delete& item) { - s << "{"; - if (item.key.size() != 0) { - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1DeleteRead(::basictl::tl_istream & s, ::tl2::service1::Delete& item) { - if (!s.string_read(item.key)) { return false; } - return true; -} - -bool tl2::details::Service1DeleteWrite(::basictl::tl_ostream & s, const ::tl2::service1::Delete& item) { - if (!s.string_write(item.key)) { return false;} - return true; -} - -bool tl2::details::Service1DeleteReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Delete& item) { - if (!s.nat_read_exact_tag(0x83277767)) { return false; } - return tl2::details::Service1DeleteRead(s, item); -} - -bool tl2::details::Service1DeleteWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Delete& item) { - if (!s.nat_write(0x83277767)) { return false; } - return tl2::details::Service1DeleteWrite(s, item); -} - -bool tl2::details::Service1DeleteReadResult(::basictl::tl_istream & s, tl2::service1::Delete& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1DeleteWriteResult(::basictl::tl_ostream & s, tl2::service1::Delete& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::Delete::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1DeleteReadResult(s, *this, result); -} -bool tl2::service1::Delete::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1DeleteWriteResult(s, *this, result); -} - -bool tl2::service1::DisableExpiration::write_json(std::ostream& s)const { - if (!::tl2::details::Service1DisableExpirationWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::DisableExpiration::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1DisableExpirationRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::DisableExpiration::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1DisableExpirationWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::DisableExpiration::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1DisableExpirationReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::DisableExpiration::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1DisableExpirationWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1DisableExpirationReset(::tl2::service1::DisableExpiration& item) { - item.prefix.clear(); -} - -bool tl2::details::Service1DisableExpirationWriteJSON(std::ostream& s, const ::tl2::service1::DisableExpiration& item) { - s << "{"; - if (item.prefix.size() != 0) { - s << "\"prefix\":"; - s << "\"" << item.prefix << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1DisableExpirationRead(::basictl::tl_istream & s, ::tl2::service1::DisableExpiration& item) { - if (!s.string_read(item.prefix)) { return false; } - return true; -} - -bool tl2::details::Service1DisableExpirationWrite(::basictl::tl_ostream & s, const ::tl2::service1::DisableExpiration& item) { - if (!s.string_write(item.prefix)) { return false;} - return true; -} - -bool tl2::details::Service1DisableExpirationReadBoxed(::basictl::tl_istream & s, ::tl2::service1::DisableExpiration& item) { - if (!s.nat_read_exact_tag(0xf1c39c2d)) { return false; } - return tl2::details::Service1DisableExpirationRead(s, item); -} - -bool tl2::details::Service1DisableExpirationWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::DisableExpiration& item) { - if (!s.nat_write(0xf1c39c2d)) { return false; } - return tl2::details::Service1DisableExpirationWrite(s, item); -} - -bool tl2::details::Service1DisableExpirationReadResult(::basictl::tl_istream & s, tl2::service1::DisableExpiration& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1DisableExpirationWriteResult(::basictl::tl_ostream & s, tl2::service1::DisableExpiration& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::DisableExpiration::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1DisableExpirationReadResult(s, *this, result); -} -bool tl2::service1::DisableExpiration::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1DisableExpirationWriteResult(s, *this, result); -} - -bool tl2::service1::DisableKeysStat::write_json(std::ostream& s)const { - if (!::tl2::details::Service1DisableKeysStatWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::DisableKeysStat::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1DisableKeysStatRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::DisableKeysStat::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1DisableKeysStatWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::DisableKeysStat::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1DisableKeysStatReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::DisableKeysStat::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1DisableKeysStatWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1DisableKeysStatReset(::tl2::service1::DisableKeysStat& item) { - item.period = 0; -} - -bool tl2::details::Service1DisableKeysStatWriteJSON(std::ostream& s, const ::tl2::service1::DisableKeysStat& item) { - s << "{"; - if (item.period != 0) { - s << "\"period\":"; - s << item.period; - } - s << "}"; - return true; -} - -bool tl2::details::Service1DisableKeysStatRead(::basictl::tl_istream & s, ::tl2::service1::DisableKeysStat& item) { - if (!s.int_read(item.period)) { return false; } - return true; -} - -bool tl2::details::Service1DisableKeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::DisableKeysStat& item) { - if (!s.int_write(item.period)) { return false;} - return true; -} - -bool tl2::details::Service1DisableKeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::DisableKeysStat& item) { - if (!s.nat_read_exact_tag(0x79d6160f)) { return false; } - return tl2::details::Service1DisableKeysStatRead(s, item); -} - -bool tl2::details::Service1DisableKeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::DisableKeysStat& item) { - if (!s.nat_write(0x79d6160f)) { return false; } - return tl2::details::Service1DisableKeysStatWrite(s, item); -} - -bool tl2::details::Service1DisableKeysStatReadResult(::basictl::tl_istream & s, tl2::service1::DisableKeysStat& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1DisableKeysStatWriteResult(::basictl::tl_ostream & s, tl2::service1::DisableKeysStat& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::DisableKeysStat::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1DisableKeysStatReadResult(s, *this, result); -} -bool tl2::service1::DisableKeysStat::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1DisableKeysStatWriteResult(s, *this, result); -} - -bool tl2::service1::EnableExpiration::write_json(std::ostream& s)const { - if (!::tl2::details::Service1EnableExpirationWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::EnableExpiration::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1EnableExpirationRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::EnableExpiration::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1EnableExpirationWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::EnableExpiration::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1EnableExpirationReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::EnableExpiration::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1EnableExpirationWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1EnableExpirationReset(::tl2::service1::EnableExpiration& item) { - item.prefix.clear(); -} - -bool tl2::details::Service1EnableExpirationWriteJSON(std::ostream& s, const ::tl2::service1::EnableExpiration& item) { - s << "{"; - if (item.prefix.size() != 0) { - s << "\"prefix\":"; - s << "\"" << item.prefix << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1EnableExpirationRead(::basictl::tl_istream & s, ::tl2::service1::EnableExpiration& item) { - if (!s.string_read(item.prefix)) { return false; } - return true; -} - -bool tl2::details::Service1EnableExpirationWrite(::basictl::tl_ostream & s, const ::tl2::service1::EnableExpiration& item) { - if (!s.string_write(item.prefix)) { return false;} - return true; -} - -bool tl2::details::Service1EnableExpirationReadBoxed(::basictl::tl_istream & s, ::tl2::service1::EnableExpiration& item) { - if (!s.nat_read_exact_tag(0x2b51ad67)) { return false; } - return tl2::details::Service1EnableExpirationRead(s, item); -} - -bool tl2::details::Service1EnableExpirationWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::EnableExpiration& item) { - if (!s.nat_write(0x2b51ad67)) { return false; } - return tl2::details::Service1EnableExpirationWrite(s, item); -} - -bool tl2::details::Service1EnableExpirationReadResult(::basictl::tl_istream & s, tl2::service1::EnableExpiration& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1EnableExpirationWriteResult(::basictl::tl_ostream & s, tl2::service1::EnableExpiration& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::EnableExpiration::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1EnableExpirationReadResult(s, *this, result); -} -bool tl2::service1::EnableExpiration::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1EnableExpirationWriteResult(s, *this, result); -} - -bool tl2::service1::EnableKeysStat::write_json(std::ostream& s)const { - if (!::tl2::details::Service1EnableKeysStatWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::EnableKeysStat::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1EnableKeysStatRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::EnableKeysStat::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1EnableKeysStatWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::EnableKeysStat::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1EnableKeysStatReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::EnableKeysStat::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1EnableKeysStatWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1EnableKeysStatReset(::tl2::service1::EnableKeysStat& item) { - item.period = 0; -} - -bool tl2::details::Service1EnableKeysStatWriteJSON(std::ostream& s, const ::tl2::service1::EnableKeysStat& item) { - s << "{"; - if (item.period != 0) { - s << "\"period\":"; - s << item.period; - } - s << "}"; - return true; -} - -bool tl2::details::Service1EnableKeysStatRead(::basictl::tl_istream & s, ::tl2::service1::EnableKeysStat& item) { - if (!s.int_read(item.period)) { return false; } - return true; -} - -bool tl2::details::Service1EnableKeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::EnableKeysStat& item) { - if (!s.int_write(item.period)) { return false;} - return true; -} - -bool tl2::details::Service1EnableKeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::EnableKeysStat& item) { - if (!s.nat_read_exact_tag(0x29a7090e)) { return false; } - return tl2::details::Service1EnableKeysStatRead(s, item); -} - -bool tl2::details::Service1EnableKeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::EnableKeysStat& item) { - if (!s.nat_write(0x29a7090e)) { return false; } - return tl2::details::Service1EnableKeysStatWrite(s, item); -} - -bool tl2::details::Service1EnableKeysStatReadResult(::basictl::tl_istream & s, tl2::service1::EnableKeysStat& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1EnableKeysStatWriteResult(::basictl::tl_ostream & s, tl2::service1::EnableKeysStat& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::EnableKeysStat::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1EnableKeysStatReadResult(s, *this, result); -} -bool tl2::service1::EnableKeysStat::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1EnableKeysStatWriteResult(s, *this, result); -} - -bool tl2::service1::Exists::write_json(std::ostream& s)const { - if (!::tl2::details::Service1ExistsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Exists::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1ExistsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Exists::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1ExistsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Exists::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1ExistsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Exists::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1ExistsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1ExistsReset(::tl2::service1::Exists& item) { - item.key.clear(); -} - -bool tl2::details::Service1ExistsWriteJSON(std::ostream& s, const ::tl2::service1::Exists& item) { - s << "{"; - if (item.key.size() != 0) { - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1ExistsRead(::basictl::tl_istream & s, ::tl2::service1::Exists& item) { - if (!s.string_read(item.key)) { return false; } - return true; -} - -bool tl2::details::Service1ExistsWrite(::basictl::tl_ostream & s, const ::tl2::service1::Exists& item) { - if (!s.string_write(item.key)) { return false;} - return true; -} - -bool tl2::details::Service1ExistsReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Exists& item) { - if (!s.nat_read_exact_tag(0xe0284c9e)) { return false; } - return tl2::details::Service1ExistsRead(s, item); -} - -bool tl2::details::Service1ExistsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Exists& item) { - if (!s.nat_write(0xe0284c9e)) { return false; } - return tl2::details::Service1ExistsWrite(s, item); -} - -bool tl2::details::Service1ExistsReadResult(::basictl::tl_istream & s, tl2::service1::Exists& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1ExistsWriteResult(::basictl::tl_ostream & s, tl2::service1::Exists& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::Exists::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1ExistsReadResult(s, *this, result); -} -bool tl2::service1::Exists::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1ExistsWriteResult(s, *this, result); -} - -bool tl2::service1::Get::write_json(std::ostream& s)const { - if (!::tl2::details::Service1GetWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Get::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Get::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Get::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Get::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1GetReset(::tl2::service1::Get& item) { - item.key.clear(); -} - -bool tl2::details::Service1GetWriteJSON(std::ostream& s, const ::tl2::service1::Get& item) { - s << "{"; - if (item.key.size() != 0) { - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1GetRead(::basictl::tl_istream & s, ::tl2::service1::Get& item) { - if (!s.string_read(item.key)) { return false; } - return true; -} - -bool tl2::details::Service1GetWrite(::basictl::tl_ostream & s, const ::tl2::service1::Get& item) { - if (!s.string_write(item.key)) { return false;} - return true; -} - -bool tl2::details::Service1GetReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Get& item) { - if (!s.nat_read_exact_tag(0x29099b19)) { return false; } - return tl2::details::Service1GetRead(s, item); -} - -bool tl2::details::Service1GetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Get& item) { - if (!s.nat_write(0x29099b19)) { return false; } - return tl2::details::Service1GetWrite(s, item); -} - -bool tl2::details::Service1GetReadResult(::basictl::tl_istream & s, tl2::service1::Get& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1GetWriteResult(::basictl::tl_ostream & s, tl2::service1::Get& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::Get::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1GetReadResult(s, *this, result); -} -bool tl2::service1::Get::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1GetWriteResult(s, *this, result); -} - -bool tl2::service1::GetExpireTime::write_json(std::ostream& s)const { - if (!::tl2::details::Service1GetExpireTimeWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetExpireTime::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetExpireTimeRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetExpireTime::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetExpireTimeWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetExpireTime::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetExpireTimeReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetExpireTime::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetExpireTimeWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1GetExpireTimeReset(::tl2::service1::GetExpireTime& item) { - item.key.clear(); -} - -bool tl2::details::Service1GetExpireTimeWriteJSON(std::ostream& s, const ::tl2::service1::GetExpireTime& item) { - s << "{"; - if (item.key.size() != 0) { - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1GetExpireTimeRead(::basictl::tl_istream & s, ::tl2::service1::GetExpireTime& item) { - if (!s.string_read(item.key)) { return false; } - return true; -} - -bool tl2::details::Service1GetExpireTimeWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetExpireTime& item) { - if (!s.string_write(item.key)) { return false;} - return true; -} - -bool tl2::details::Service1GetExpireTimeReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetExpireTime& item) { - if (!s.nat_read_exact_tag(0x5a731070)) { return false; } - return tl2::details::Service1GetExpireTimeRead(s, item); -} - -bool tl2::details::Service1GetExpireTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetExpireTime& item) { - if (!s.nat_write(0x5a731070)) { return false; } - return tl2::details::Service1GetExpireTimeWrite(s, item); -} - -bool tl2::details::Service1GetExpireTimeReadResult(::basictl::tl_istream & s, tl2::service1::GetExpireTime& item, std::optional& result) { - if (!::tl2::details::IntMaybeReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1GetExpireTimeWriteResult(::basictl::tl_ostream & s, tl2::service1::GetExpireTime& item, std::optional& result) { - if (!::tl2::details::IntMaybeWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::GetExpireTime::read_result(::basictl::tl_istream & s, std::optional & result) { - return tl2::details::Service1GetExpireTimeReadResult(s, *this, result); -} -bool tl2::service1::GetExpireTime::write_result(::basictl::tl_ostream & s, std::optional & result) { - return tl2::details::Service1GetExpireTimeWriteResult(s, *this, result); -} - -bool tl2::service1::GetKeysStat::write_json(std::ostream& s)const { - if (!::tl2::details::Service1GetKeysStatWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetKeysStat::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetKeysStatRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetKeysStat::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetKeysStatWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetKeysStat::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetKeysStatReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetKeysStat::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetKeysStatWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1GetKeysStatReset(::tl2::service1::GetKeysStat& item) { - item.period = 0; -} - -bool tl2::details::Service1GetKeysStatWriteJSON(std::ostream& s, const ::tl2::service1::GetKeysStat& item) { - s << "{"; - if (item.period != 0) { - s << "\"period\":"; - s << item.period; - } - s << "}"; - return true; -} - -bool tl2::details::Service1GetKeysStatRead(::basictl::tl_istream & s, ::tl2::service1::GetKeysStat& item) { - if (!s.int_read(item.period)) { return false; } - return true; -} - -bool tl2::details::Service1GetKeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStat& item) { - if (!s.int_write(item.period)) { return false;} - return true; -} - -bool tl2::details::Service1GetKeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetKeysStat& item) { - if (!s.nat_read_exact_tag(0x06cecd58)) { return false; } - return tl2::details::Service1GetKeysStatRead(s, item); -} - -bool tl2::details::Service1GetKeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStat& item) { - if (!s.nat_write(0x06cecd58)) { return false; } - return tl2::details::Service1GetKeysStatWrite(s, item); -} - -bool tl2::details::Service1GetKeysStatReadResult(::basictl::tl_istream & s, tl2::service1::GetKeysStat& item, std::optional<::tl2::service1::KeysStat>& result) { - if (!::tl2::details::Service1KeysStatMaybeReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1GetKeysStatWriteResult(::basictl::tl_ostream & s, tl2::service1::GetKeysStat& item, std::optional<::tl2::service1::KeysStat>& result) { - if (!::tl2::details::Service1KeysStatMaybeWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::GetKeysStat::read_result(::basictl::tl_istream & s, std::optional<::tl2::service1::KeysStat> & result) { - return tl2::details::Service1GetKeysStatReadResult(s, *this, result); -} -bool tl2::service1::GetKeysStat::write_result(::basictl::tl_ostream & s, std::optional<::tl2::service1::KeysStat> & result) { - return tl2::details::Service1GetKeysStatWriteResult(s, *this, result); -} - -bool tl2::service1::GetKeysStatPeriods::write_json(std::ostream& s)const { - if (!::tl2::details::Service1GetKeysStatPeriodsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetKeysStatPeriods::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetKeysStatPeriodsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetKeysStatPeriods::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetKeysStatPeriodsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetKeysStatPeriods::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetKeysStatPeriodsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetKeysStatPeriods::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetKeysStatPeriodsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1GetKeysStatPeriodsReset(::tl2::service1::GetKeysStatPeriods& item) { -} - -bool tl2::details::Service1GetKeysStatPeriodsWriteJSON(std::ostream& s, const ::tl2::service1::GetKeysStatPeriods& item) { - s << "true"; - return true; -} - -bool tl2::details::Service1GetKeysStatPeriodsRead(::basictl::tl_istream & s, ::tl2::service1::GetKeysStatPeriods& item) { - return true; -} - -bool tl2::details::Service1GetKeysStatPeriodsWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStatPeriods& item) { - return true; -} - -bool tl2::details::Service1GetKeysStatPeriodsReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetKeysStatPeriods& item) { - if (!s.nat_read_exact_tag(0x8cdf39e3)) { return false; } - return tl2::details::Service1GetKeysStatPeriodsRead(s, item); -} - -bool tl2::details::Service1GetKeysStatPeriodsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStatPeriods& item) { - if (!s.nat_write(0x8cdf39e3)) { return false; } - return tl2::details::Service1GetKeysStatPeriodsWrite(s, item); -} - -bool tl2::details::Service1GetKeysStatPeriodsReadResult(::basictl::tl_istream & s, tl2::service1::GetKeysStatPeriods& item, std::vector& result) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorIntRead(s, result)) { return false; } - return true; -} -bool tl2::details::Service1GetKeysStatPeriodsWriteResult(::basictl::tl_ostream & s, tl2::service1::GetKeysStatPeriods& item, std::vector& result) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorIntWrite(s, result)) { return false; } - return true; -} - -bool tl2::service1::GetKeysStatPeriods::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::Service1GetKeysStatPeriodsReadResult(s, *this, result); -} -bool tl2::service1::GetKeysStatPeriods::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::Service1GetKeysStatPeriodsWriteResult(s, *this, result); -} - -bool tl2::service1::GetWildcard::write_json(std::ostream& s)const { - if (!::tl2::details::Service1GetWildcardWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcard::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetWildcardRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcard::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetWildcardWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcard::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetWildcardReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcard::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetWildcardWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1GetWildcardReset(::tl2::service1::GetWildcard& item) { - item.prefix.clear(); -} - -bool tl2::details::Service1GetWildcardWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcard& item) { - s << "{"; - if (item.prefix.size() != 0) { - s << "\"prefix\":"; - s << "\"" << item.prefix << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1GetWildcardRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcard& item) { - if (!s.string_read(item.prefix)) { return false; } - return true; -} - -bool tl2::details::Service1GetWildcardWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcard& item) { - if (!s.string_write(item.prefix)) { return false;} - return true; -} - -bool tl2::details::Service1GetWildcardReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcard& item) { - if (!s.nat_read_exact_tag(0x2f2abf13)) { return false; } - return tl2::details::Service1GetWildcardRead(s, item); -} - -bool tl2::details::Service1GetWildcardWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcard& item) { - if (!s.nat_write(0x2f2abf13)) { return false; } - return tl2::details::Service1GetWildcardWrite(s, item); -} - -bool tl2::details::Service1GetWildcardReadResult(::basictl::tl_istream & s, tl2::service1::GetWildcard& item, std::vector<::tl2::Map>& result) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorMapStringStringRead(s, result)) { return false; } - return true; -} -bool tl2::details::Service1GetWildcardWriteResult(::basictl::tl_ostream & s, tl2::service1::GetWildcard& item, std::vector<::tl2::Map>& result) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorMapStringStringWrite(s, result)) { return false; } - return true; -} - -bool tl2::service1::GetWildcard::read_result(::basictl::tl_istream & s, std::vector<::tl2::Map> & result) { - return tl2::details::Service1GetWildcardReadResult(s, *this, result); -} -bool tl2::service1::GetWildcard::write_result(::basictl::tl_ostream & s, std::vector<::tl2::Map> & result) { - return tl2::details::Service1GetWildcardWriteResult(s, *this, result); -} - -bool tl2::service1::GetWildcardDict::write_json(std::ostream& s)const { - if (!::tl2::details::Service1GetWildcardDictWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardDict::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetWildcardDictRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardDict::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetWildcardDictWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardDict::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetWildcardDictReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardDict::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetWildcardDictWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1GetWildcardDictReset(::tl2::service1::GetWildcardDict& item) { - item.prefix.clear(); -} - -bool tl2::details::Service1GetWildcardDictWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcardDict& item) { - s << "{"; - if (item.prefix.size() != 0) { - s << "\"prefix\":"; - s << "\"" << item.prefix << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1GetWildcardDictRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcardDict& item) { - if (!s.string_read(item.prefix)) { return false; } - return true; -} - -bool tl2::details::Service1GetWildcardDictWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardDict& item) { - if (!s.string_write(item.prefix)) { return false;} - return true; -} - -bool tl2::details::Service1GetWildcardDictReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcardDict& item) { - if (!s.nat_read_exact_tag(0x72bbc81b)) { return false; } - return tl2::details::Service1GetWildcardDictRead(s, item); -} - -bool tl2::details::Service1GetWildcardDictWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardDict& item) { - if (!s.nat_write(0x72bbc81b)) { return false; } - return tl2::details::Service1GetWildcardDictWrite(s, item); -} - -bool tl2::details::Service1GetWildcardDictReadResult(::basictl::tl_istream & s, tl2::service1::GetWildcardDict& item, ::tl2::Dictionary& result) { - if (!::tl2::details::DictionaryStringReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1GetWildcardDictWriteResult(::basictl::tl_ostream & s, tl2::service1::GetWildcardDict& item, ::tl2::Dictionary& result) { - if (!::tl2::details::DictionaryStringWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardDict::read_result(::basictl::tl_istream & s, ::tl2::Dictionary & result) { - return tl2::details::Service1GetWildcardDictReadResult(s, *this, result); -} -bool tl2::service1::GetWildcardDict::write_result(::basictl::tl_ostream & s, ::tl2::Dictionary & result) { - return tl2::details::Service1GetWildcardDictWriteResult(s, *this, result); -} - -bool tl2::service1::GetWildcardList::write_json(std::ostream& s)const { - if (!::tl2::details::Service1GetWildcardListWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardList::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetWildcardListRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardList::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetWildcardListWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardList::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetWildcardListReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardList::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetWildcardListWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1GetWildcardListReset(::tl2::service1::GetWildcardList& item) { - item.prefix.clear(); -} - -bool tl2::details::Service1GetWildcardListWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcardList& item) { - s << "{"; - if (item.prefix.size() != 0) { - s << "\"prefix\":"; - s << "\"" << item.prefix << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1GetWildcardListRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcardList& item) { - if (!s.string_read(item.prefix)) { return false; } - return true; -} - -bool tl2::details::Service1GetWildcardListWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardList& item) { - if (!s.string_write(item.prefix)) { return false;} - return true; -} - -bool tl2::details::Service1GetWildcardListReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcardList& item) { - if (!s.nat_read_exact_tag(0x56b6ead4)) { return false; } - return tl2::details::Service1GetWildcardListRead(s, item); -} - -bool tl2::details::Service1GetWildcardListWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardList& item) { - if (!s.nat_write(0x56b6ead4)) { return false; } - return tl2::details::Service1GetWildcardListWrite(s, item); -} - -bool tl2::details::Service1GetWildcardListReadResult(::basictl::tl_istream & s, tl2::service1::GetWildcardList& item, std::vector& result) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorStringRead(s, result)) { return false; } - return true; -} -bool tl2::details::Service1GetWildcardListWriteResult(::basictl::tl_ostream & s, tl2::service1::GetWildcardList& item, std::vector& result) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorStringWrite(s, result)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardList::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::Service1GetWildcardListReadResult(s, *this, result); -} -bool tl2::service1::GetWildcardList::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::Service1GetWildcardListWriteResult(s, *this, result); -} - -bool tl2::service1::GetWildcardWithFlags::write_json(std::ostream& s)const { - if (!::tl2::details::Service1GetWildcardWithFlagsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardWithFlags::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetWildcardWithFlagsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardWithFlags::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetWildcardWithFlagsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardWithFlags::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1GetWildcardWithFlagsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardWithFlags::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1GetWildcardWithFlagsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1GetWildcardWithFlagsReset(::tl2::service1::GetWildcardWithFlags& item) { - item.prefix.clear(); -} - -bool tl2::details::Service1GetWildcardWithFlagsWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcardWithFlags& item) { - s << "{"; - if (item.prefix.size() != 0) { - s << "\"prefix\":"; - s << "\"" << item.prefix << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1GetWildcardWithFlagsRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcardWithFlags& item) { - if (!s.string_read(item.prefix)) { return false; } - return true; -} - -bool tl2::details::Service1GetWildcardWithFlagsWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardWithFlags& item) { - if (!s.string_write(item.prefix)) { return false;} - return true; -} - -bool tl2::details::Service1GetWildcardWithFlagsReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcardWithFlags& item) { - if (!s.nat_read_exact_tag(0x5f6a1f78)) { return false; } - return tl2::details::Service1GetWildcardWithFlagsRead(s, item); -} - -bool tl2::details::Service1GetWildcardWithFlagsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardWithFlags& item) { - if (!s.nat_write(0x5f6a1f78)) { return false; } - return tl2::details::Service1GetWildcardWithFlagsWrite(s, item); -} - -bool tl2::details::Service1GetWildcardWithFlagsReadResult(::basictl::tl_istream & s, tl2::service1::GetWildcardWithFlags& item, ::tl2::Dictionary<::tl2::service1::Value>& result) { - if (!::tl2::details::DictionaryService1ValueReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1GetWildcardWithFlagsWriteResult(::basictl::tl_ostream & s, tl2::service1::GetWildcardWithFlags& item, ::tl2::Dictionary<::tl2::service1::Value>& result) { - if (!::tl2::details::DictionaryService1ValueWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::GetWildcardWithFlags::read_result(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value> & result) { - return tl2::details::Service1GetWildcardWithFlagsReadResult(s, *this, result); -} -bool tl2::service1::GetWildcardWithFlags::write_result(::basictl::tl_ostream & s, ::tl2::Dictionary<::tl2::service1::Value> & result) { - return tl2::details::Service1GetWildcardWithFlagsWriteResult(s, *this, result); -} - -bool tl2::service1::Incr::write_json(std::ostream& s)const { - if (!::tl2::details::Service1IncrWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Incr::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1IncrRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Incr::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1IncrWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Incr::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1IncrReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Incr::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1IncrWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1IncrReset(::tl2::service1::Incr& item) { - item.key.clear(); - item.value = 0; -} - -bool tl2::details::Service1IncrWriteJSON(std::ostream& s, const ::tl2::service1::Incr& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.value != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << item.value; - } - s << "}"; - return true; -} - -bool tl2::details::Service1IncrRead(::basictl::tl_istream & s, ::tl2::service1::Incr& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.long_read(item.value)) { return false; } - return true; -} - -bool tl2::details::Service1IncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::Incr& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.long_write(item.value)) { return false;} - return true; -} - -bool tl2::details::Service1IncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Incr& item) { - if (!s.nat_read_exact_tag(0x0f96b56e)) { return false; } - return tl2::details::Service1IncrRead(s, item); -} - -bool tl2::details::Service1IncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Incr& item) { - if (!s.nat_write(0x0f96b56e)) { return false; } - return tl2::details::Service1IncrWrite(s, item); -} - -bool tl2::details::Service1IncrReadResult(::basictl::tl_istream & s, tl2::service1::Incr& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1IncrWriteResult(::basictl::tl_ostream & s, tl2::service1::Incr& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::Incr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1IncrReadResult(s, *this, result); -} -bool tl2::service1::Incr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1IncrWriteResult(s, *this, result); -} - -bool tl2::service1::KeysStat::write_json(std::ostream& s)const { - if (!::tl2::details::Service1KeysStatWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::KeysStat::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1KeysStatRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::KeysStat::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1KeysStatWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::KeysStat::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1KeysStatReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::KeysStat::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1KeysStatWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1KeysStatReset(::tl2::service1::KeysStat& item) { - item.start_time = 0; - ::tl2::details::DictionaryDictionaryIntReset(item.keys_tops); -} - -bool tl2::details::Service1KeysStatWriteJSON(std::ostream& s, const ::tl2::service1::KeysStat& item) { - auto add_comma = false; - s << "{"; - if (item.start_time != 0) { - add_comma = true; - s << "\"start_time\":"; - s << item.start_time; - } - if (item.keys_tops.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"keys_tops\":"; - if (!::tl2::details::DictionaryDictionaryIntWriteJSON(s, item.keys_tops)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service1KeysStatRead(::basictl::tl_istream & s, ::tl2::service1::KeysStat& item) { - if (!s.int_read(item.start_time)) { return false; } - if (!::tl2::details::DictionaryDictionaryIntRead(s, item.keys_tops)) { return false; } - return true; -} - -bool tl2::details::Service1KeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::KeysStat& item) { - if (!s.int_write(item.start_time)) { return false;} - if (!::tl2::details::DictionaryDictionaryIntWrite(s, item.keys_tops)) { return false; } - return true; -} - -bool tl2::details::Service1KeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::KeysStat& item) { - if (!s.nat_read_exact_tag(0xf0f6bc68)) { return false; } - return tl2::details::Service1KeysStatRead(s, item); -} - -bool tl2::details::Service1KeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::KeysStat& item) { - if (!s.nat_write(0xf0f6bc68)) { return false; } - return tl2::details::Service1KeysStatWrite(s, item); -} - -bool tl2::details::Service1KeysStatMaybeWriteJSON(std::ostream & s, const std::optional<::tl2::service1::KeysStat>& item) { - s << "{"; - if (item) { - s << "\"ok\":true"; - s << ",\"value\":"; - if (!::tl2::details::Service1KeysStatWriteJSON(s, *item)) { return false; } - } - s << "}"; - return true; -} -bool tl2::details::Service1KeysStatMaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::service1::KeysStat>& item) { - bool has_item = false; - if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } - if (has_item) { - if (!item) { - item.emplace(); - } - if (!::tl2::details::Service1KeysStatRead(s, *item)) { return false; } - return true; - } - item.reset(); - return true; -} - -bool tl2::details::Service1KeysStatMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::service1::KeysStat>& item) { - if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } - if (item) { - if (!::tl2::details::Service1KeysStatWrite(s, *item)) { return false; } - } - return true; -} - -bool tl2::service1::Longvalue::write_json(std::ostream& s)const { - if (!::tl2::details::Service1LongvalueWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Longvalue::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1LongvalueRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Longvalue::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1LongvalueWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Longvalue::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1LongvalueReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Longvalue::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1LongvalueWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1LongvalueReset(::tl2::service1::Longvalue& item) { - item.value = 0; - item.flags = 0; -} - -bool tl2::details::Service1LongvalueWriteJSON(std::ostream& s, const ::tl2::service1::Longvalue& item) { - auto add_comma = false; - s << "{"; - if (item.value != 0) { - add_comma = true; - s << "\"value\":"; - s << item.value; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - s << "}"; - return true; -} - -bool tl2::details::Service1LongvalueRead(::basictl::tl_istream & s, ::tl2::service1::Longvalue& item) { - if (!s.long_read(item.value)) { return false; } - if (!s.int_read(item.flags)) { return false; } - return true; -} - -bool tl2::details::Service1LongvalueWrite(::basictl::tl_ostream & s, const ::tl2::service1::Longvalue& item) { - if (!s.long_write(item.value)) { return false;} - if (!s.int_write(item.flags)) { return false;} - return true; -} - -bool tl2::details::Service1LongvalueReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Longvalue& item) { - if (!s.nat_read_exact_tag(0x082e0945)) { return false; } - return tl2::details::Service1LongvalueRead(s, item); -} - -bool tl2::details::Service1LongvalueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Longvalue& item) { - if (!s.nat_write(0x082e0945)) { return false; } - return tl2::details::Service1LongvalueWrite(s, item); -} - -bool tl2::service1::LongvalueWithTime::write_json(std::ostream& s)const { - if (!::tl2::details::Service1LongvalueWithTimeWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::LongvalueWithTime::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1LongvalueWithTimeRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::LongvalueWithTime::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1LongvalueWithTimeWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::LongvalueWithTime::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1LongvalueWithTimeReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::LongvalueWithTime::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1LongvalueWithTimeWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1LongvalueWithTimeReset(::tl2::service1::LongvalueWithTime& item) { - item.value = 0; - item.flags = 0; - item.modificationTime = 0; -} - -bool tl2::details::Service1LongvalueWithTimeWriteJSON(std::ostream& s, const ::tl2::service1::LongvalueWithTime& item) { - auto add_comma = false; - s << "{"; - if (item.value != 0) { - add_comma = true; - s << "\"value\":"; - s << item.value; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.modificationTime != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"modificationTime\":"; - s << item.modificationTime; - } - s << "}"; - return true; -} - -bool tl2::details::Service1LongvalueWithTimeRead(::basictl::tl_istream & s, ::tl2::service1::LongvalueWithTime& item) { - if (!s.long_read(item.value)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!s.int_read(item.modificationTime)) { return false; } - return true; -} - -bool tl2::details::Service1LongvalueWithTimeWrite(::basictl::tl_ostream & s, const ::tl2::service1::LongvalueWithTime& item) { - if (!s.long_write(item.value)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!s.int_write(item.modificationTime)) { return false;} - return true; -} - -bool tl2::details::Service1LongvalueWithTimeReadBoxed(::basictl::tl_istream & s, ::tl2::service1::LongvalueWithTime& item) { - if (!s.nat_read_exact_tag(0xa04606ec)) { return false; } - return tl2::details::Service1LongvalueWithTimeRead(s, item); -} - -bool tl2::details::Service1LongvalueWithTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::LongvalueWithTime& item) { - if (!s.nat_write(0xa04606ec)) { return false; } - return tl2::details::Service1LongvalueWithTimeWrite(s, item); -} - -bool tl2::service1::Not_found::write_json(std::ostream& s)const { - if (!::tl2::details::Service1NotFoundWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Not_found::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1NotFoundRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Not_found::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1NotFoundWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Not_found::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1NotFoundReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Not_found::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1NotFoundWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1NotFoundReset(::tl2::service1::Not_found& item) { -} - -bool tl2::details::Service1NotFoundWriteJSON(std::ostream& s, const ::tl2::service1::Not_found& item) { - s << "true"; - return true; -} - -bool tl2::details::Service1NotFoundRead(::basictl::tl_istream & s, ::tl2::service1::Not_found& item) { - return true; -} - -bool tl2::details::Service1NotFoundWrite(::basictl::tl_ostream & s, const ::tl2::service1::Not_found& item) { - return true; -} - -bool tl2::details::Service1NotFoundReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Not_found& item) { - if (!s.nat_read_exact_tag(0x1d670b96)) { return false; } - return tl2::details::Service1NotFoundRead(s, item); -} - -bool tl2::details::Service1NotFoundWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Not_found& item) { - if (!s.nat_write(0x1d670b96)) { return false; } - return tl2::details::Service1NotFoundWrite(s, item); -} - -bool tl2::service1::Replace::write_json(std::ostream& s)const { - if (!::tl2::details::Service1ReplaceWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Replace::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1ReplaceRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Replace::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1ReplaceWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Replace::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1ReplaceReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Replace::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1ReplaceWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1ReplaceReset(::tl2::service1::Replace& item) { - item.key.clear(); - item.flags = 0; - item.delay = 0; - item.value.clear(); -} - -bool tl2::details::Service1ReplaceWriteJSON(std::ostream& s, const ::tl2::service1::Replace& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.delay != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"delay\":"; - s << item.delay; - } - if (item.value.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << "\"" << item.value << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1ReplaceRead(::basictl::tl_istream & s, ::tl2::service1::Replace& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!s.int_read(item.delay)) { return false; } - if (!s.string_read(item.value)) { return false; } - return true; -} - -bool tl2::details::Service1ReplaceWrite(::basictl::tl_ostream & s, const ::tl2::service1::Replace& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!s.int_write(item.delay)) { return false;} - if (!s.string_write(item.value)) { return false;} - return true; -} - -bool tl2::details::Service1ReplaceReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Replace& item) { - if (!s.nat_read_exact_tag(0x7f2c447d)) { return false; } - return tl2::details::Service1ReplaceRead(s, item); -} - -bool tl2::details::Service1ReplaceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Replace& item) { - if (!s.nat_write(0x7f2c447d)) { return false; } - return tl2::details::Service1ReplaceWrite(s, item); -} - -bool tl2::details::Service1ReplaceReadResult(::basictl::tl_istream & s, tl2::service1::Replace& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1ReplaceWriteResult(::basictl::tl_ostream & s, tl2::service1::Replace& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::Replace::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1ReplaceReadResult(s, *this, result); -} -bool tl2::service1::Replace::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1ReplaceWriteResult(s, *this, result); -} - -bool tl2::service1::ReplaceOrIncr::write_json(std::ostream& s)const { - if (!::tl2::details::Service1ReplaceOrIncrWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::ReplaceOrIncr::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1ReplaceOrIncrRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::ReplaceOrIncr::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1ReplaceOrIncrWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::ReplaceOrIncr::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1ReplaceOrIncrReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::ReplaceOrIncr::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1ReplaceOrIncrWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1ReplaceOrIncrReset(::tl2::service1::ReplaceOrIncr& item) { - item.key.clear(); - item.flags = 0; - item.delay = 0; - item.value = 0; -} - -bool tl2::details::Service1ReplaceOrIncrWriteJSON(std::ostream& s, const ::tl2::service1::ReplaceOrIncr& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.delay != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"delay\":"; - s << item.delay; - } - if (item.value != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << item.value; - } - s << "}"; - return true; -} - -bool tl2::details::Service1ReplaceOrIncrRead(::basictl::tl_istream & s, ::tl2::service1::ReplaceOrIncr& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!s.int_read(item.delay)) { return false; } - if (!s.long_read(item.value)) { return false; } - return true; -} - -bool tl2::details::Service1ReplaceOrIncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::ReplaceOrIncr& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!s.int_write(item.delay)) { return false;} - if (!s.long_write(item.value)) { return false;} - return true; -} - -bool tl2::details::Service1ReplaceOrIncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::ReplaceOrIncr& item) { - if (!s.nat_read_exact_tag(0x9d1bdcfd)) { return false; } - return tl2::details::Service1ReplaceOrIncrRead(s, item); -} - -bool tl2::details::Service1ReplaceOrIncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::ReplaceOrIncr& item) { - if (!s.nat_write(0x9d1bdcfd)) { return false; } - return tl2::details::Service1ReplaceOrIncrWrite(s, item); -} - -bool tl2::details::Service1ReplaceOrIncrReadResult(::basictl::tl_istream & s, tl2::service1::ReplaceOrIncr& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1ReplaceOrIncrWriteResult(::basictl::tl_ostream & s, tl2::service1::ReplaceOrIncr& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::ReplaceOrIncr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1ReplaceOrIncrReadResult(s, *this, result); -} -bool tl2::service1::ReplaceOrIncr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1ReplaceOrIncrWriteResult(s, *this, result); -} - -bool tl2::service1::Set::write_json(std::ostream& s)const { - if (!::tl2::details::Service1SetWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Set::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1SetRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Set::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1SetWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Set::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1SetReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Set::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1SetWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1SetReset(::tl2::service1::Set& item) { - item.key.clear(); - item.flags = 0; - item.delay = 0; - item.value.clear(); -} - -bool tl2::details::Service1SetWriteJSON(std::ostream& s, const ::tl2::service1::Set& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.delay != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"delay\":"; - s << item.delay; - } - if (item.value.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << "\"" << item.value << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service1SetRead(::basictl::tl_istream & s, ::tl2::service1::Set& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!s.int_read(item.delay)) { return false; } - if (!s.string_read(item.value)) { return false; } - return true; -} - -bool tl2::details::Service1SetWrite(::basictl::tl_ostream & s, const ::tl2::service1::Set& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!s.int_write(item.delay)) { return false;} - if (!s.string_write(item.value)) { return false;} - return true; -} - -bool tl2::details::Service1SetReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Set& item) { - if (!s.nat_read_exact_tag(0x05ae5f66)) { return false; } - return tl2::details::Service1SetRead(s, item); -} - -bool tl2::details::Service1SetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Set& item) { - if (!s.nat_write(0x05ae5f66)) { return false; } - return tl2::details::Service1SetWrite(s, item); -} - -bool tl2::details::Service1SetReadResult(::basictl::tl_istream & s, tl2::service1::Set& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1SetWriteResult(::basictl::tl_ostream & s, tl2::service1::Set& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::Set::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1SetReadResult(s, *this, result); -} -bool tl2::service1::Set::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1SetWriteResult(s, *this, result); -} - -bool tl2::service1::SetOrIncr::write_json(std::ostream& s)const { - if (!::tl2::details::Service1SetOrIncrWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::SetOrIncr::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1SetOrIncrRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::SetOrIncr::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1SetOrIncrWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::SetOrIncr::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1SetOrIncrReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::SetOrIncr::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1SetOrIncrWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1SetOrIncrReset(::tl2::service1::SetOrIncr& item) { - item.key.clear(); - item.flags = 0; - item.delay = 0; - item.value = 0; -} - -bool tl2::details::Service1SetOrIncrWriteJSON(std::ostream& s, const ::tl2::service1::SetOrIncr& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.delay != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"delay\":"; - s << item.delay; - } - if (item.value != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"value\":"; - s << item.value; - } - s << "}"; - return true; -} - -bool tl2::details::Service1SetOrIncrRead(::basictl::tl_istream & s, ::tl2::service1::SetOrIncr& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!s.int_read(item.delay)) { return false; } - if (!s.long_read(item.value)) { return false; } - return true; -} - -bool tl2::details::Service1SetOrIncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::SetOrIncr& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!s.int_write(item.delay)) { return false;} - if (!s.long_write(item.value)) { return false;} - return true; -} - -bool tl2::details::Service1SetOrIncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::SetOrIncr& item) { - if (!s.nat_read_exact_tag(0x772e390d)) { return false; } - return tl2::details::Service1SetOrIncrRead(s, item); -} - -bool tl2::details::Service1SetOrIncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::SetOrIncr& item) { - if (!s.nat_write(0x772e390d)) { return false; } - return tl2::details::Service1SetOrIncrWrite(s, item); -} - -bool tl2::details::Service1SetOrIncrReadResult(::basictl::tl_istream & s, tl2::service1::SetOrIncr& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1SetOrIncrWriteResult(::basictl::tl_ostream & s, tl2::service1::SetOrIncr& item, ::tl2::service1::Value& result) { - if (!::tl2::details::Service1ValueWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::SetOrIncr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1SetOrIncrReadResult(s, *this, result); -} -bool tl2::service1::SetOrIncr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1SetOrIncrWriteResult(s, *this, result); -} - -bool tl2::service1::Strvalue::write_json(std::ostream& s)const { - if (!::tl2::details::Service1StrvalueWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Strvalue::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1StrvalueRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Strvalue::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1StrvalueWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Strvalue::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1StrvalueReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Strvalue::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1StrvalueWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1StrvalueReset(::tl2::service1::Strvalue& item) { - item.value.clear(); - item.flags = 0; -} - -bool tl2::details::Service1StrvalueWriteJSON(std::ostream& s, const ::tl2::service1::Strvalue& item) { - auto add_comma = false; - s << "{"; - if (item.value.size() != 0) { - add_comma = true; - s << "\"value\":"; - s << "\"" << item.value << "\""; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - s << "}"; - return true; -} - -bool tl2::details::Service1StrvalueRead(::basictl::tl_istream & s, ::tl2::service1::Strvalue& item) { - if (!s.string_read(item.value)) { return false; } - if (!s.int_read(item.flags)) { return false; } - return true; -} - -bool tl2::details::Service1StrvalueWrite(::basictl::tl_ostream & s, const ::tl2::service1::Strvalue& item) { - if (!s.string_write(item.value)) { return false;} - if (!s.int_write(item.flags)) { return false;} - return true; -} - -bool tl2::details::Service1StrvalueReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Strvalue& item) { - if (!s.nat_read_exact_tag(0x5faa0c52)) { return false; } - return tl2::details::Service1StrvalueRead(s, item); -} - -bool tl2::details::Service1StrvalueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Strvalue& item) { - if (!s.nat_write(0x5faa0c52)) { return false; } - return tl2::details::Service1StrvalueWrite(s, item); -} - -bool tl2::service1::StrvalueWithTime::write_json(std::ostream& s)const { - if (!::tl2::details::Service1StrvalueWithTimeWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::StrvalueWithTime::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1StrvalueWithTimeRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::StrvalueWithTime::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1StrvalueWithTimeWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::StrvalueWithTime::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1StrvalueWithTimeReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::StrvalueWithTime::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1StrvalueWithTimeWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1StrvalueWithTimeReset(::tl2::service1::StrvalueWithTime& item) { - item.value.clear(); - item.flags = 0; - item.modificationTime = 0; -} - -bool tl2::details::Service1StrvalueWithTimeWriteJSON(std::ostream& s, const ::tl2::service1::StrvalueWithTime& item) { - auto add_comma = false; - s << "{"; - if (item.value.size() != 0) { - add_comma = true; - s << "\"value\":"; - s << "\"" << item.value << "\""; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.modificationTime != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"modificationTime\":"; - s << item.modificationTime; - } - s << "}"; - return true; -} - -bool tl2::details::Service1StrvalueWithTimeRead(::basictl::tl_istream & s, ::tl2::service1::StrvalueWithTime& item) { - if (!s.string_read(item.value)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!s.int_read(item.modificationTime)) { return false; } - return true; -} - -bool tl2::details::Service1StrvalueWithTimeWrite(::basictl::tl_ostream & s, const ::tl2::service1::StrvalueWithTime& item) { - if (!s.string_write(item.value)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!s.int_write(item.modificationTime)) { return false;} - return true; -} - -bool tl2::details::Service1StrvalueWithTimeReadBoxed(::basictl::tl_istream & s, ::tl2::service1::StrvalueWithTime& item) { - if (!s.nat_read_exact_tag(0x98b1a484)) { return false; } - return tl2::details::Service1StrvalueWithTimeRead(s, item); -} - -bool tl2::details::Service1StrvalueWithTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::StrvalueWithTime& item) { - if (!s.nat_write(0x98b1a484)) { return false; } - return tl2::details::Service1StrvalueWithTimeWrite(s, item); -} - -bool tl2::service1::Touch::write_json(std::ostream& s)const { - if (!::tl2::details::Service1TouchWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Touch::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service1TouchRead(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Touch::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1TouchWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Touch::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1TouchReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service1::Touch::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1TouchWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service1TouchReset(::tl2::service1::Touch& item) { - item.key.clear(); - item.delay = 0; -} - -bool tl2::details::Service1TouchWriteJSON(std::ostream& s, const ::tl2::service1::Touch& item) { - auto add_comma = false; - s << "{"; - if (item.key.size() != 0) { - add_comma = true; - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - if (item.delay != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"delay\":"; - s << item.delay; - } - s << "}"; - return true; -} - -bool tl2::details::Service1TouchRead(::basictl::tl_istream & s, ::tl2::service1::Touch& item) { - if (!s.string_read(item.key)) { return false; } - if (!s.int_read(item.delay)) { return false; } - return true; -} - -bool tl2::details::Service1TouchWrite(::basictl::tl_ostream & s, const ::tl2::service1::Touch& item) { - if (!s.string_write(item.key)) { return false;} - if (!s.int_write(item.delay)) { return false;} - return true; -} - -bool tl2::details::Service1TouchReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Touch& item) { - if (!s.nat_read_exact_tag(0xb737aa03)) { return false; } - return tl2::details::Service1TouchRead(s, item); -} - -bool tl2::details::Service1TouchWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Touch& item) { - if (!s.nat_write(0xb737aa03)) { return false; } - return tl2::details::Service1TouchWrite(s, item); -} - -bool tl2::details::Service1TouchReadResult(::basictl::tl_istream & s, tl2::service1::Touch& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service1TouchWriteResult(::basictl::tl_ostream & s, tl2::service1::Touch& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service1::Touch::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1TouchReadResult(s, *this, result); -} -bool tl2::service1::Touch::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1TouchWriteResult(s, *this, result); -} - -static const std::string_view Service1Value_tbl_tl_name[]{"service1.not_found", "service1.strvalue", "service1.longvalue", "service1.strvalueWithTime", "service1.longvalueWithTime"}; -static const uint32_t Service1Value_tbl_tl_tag[]{0x1d670b96, 0x5faa0c52, 0x082e0945, 0x98b1a484, 0xa04606ec}; - -bool tl2::service1::Value::write_json(std::ostream & s)const { - if (!::tl2::details::Service1ValueWriteJSON(s, *this)) { return false; } - return true; -} -bool tl2::service1::Value::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service1ValueReadBoxed(s, *this)) { return false; } - return true; -} -bool tl2::service1::Value::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service1ValueWriteBoxed(s, *this)) { return false; } - return true; -} -std::string_view tl2::service1::Value::tl_name() const { - return Service1Value_tbl_tl_name[value.index()]; -} -uint32_t tl2::service1::Value::tl_tag() const { - return Service1Value_tbl_tl_tag[value.index()]; -} - - -void tl2::details::Service1ValueReset(::tl2::service1::Value& item) { - item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function -} - -bool tl2::details::Service1ValueWriteJSON(std::ostream & s, const ::tl2::service1::Value& item) { - s << "{"; - s << "\"type\":"; - s << "\"" << Service1Value_tbl_tl_name[item.value.index()] << "\""; - switch (item.value.index()) { - case 1: - s << ",\"value\":"; - if (!::tl2::details::Service1StrvalueWriteJSON(s, std::get<1>(item.value))) { return false; } - break; - case 2: - s << ",\"value\":"; - if (!::tl2::details::Service1LongvalueWriteJSON(s, std::get<2>(item.value))) { return false; } - break; - case 3: - s << ",\"value\":"; - if (!::tl2::details::Service1StrvalueWithTimeWriteJSON(s, std::get<3>(item.value))) { return false; } - break; - case 4: - s << ",\"value\":"; - if (!::tl2::details::Service1LongvalueWithTimeWriteJSON(s, std::get<4>(item.value))) { return false; } - break; - } - s << "}"; - return true; -} -bool tl2::details::Service1ValueReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Value& item) { - uint32_t nat; - s.nat_read(nat); - switch (nat) { - case 0x1d670b96: - if (item.value.index() != 0) { item.value.emplace<0>(); } - break; - case 0x5faa0c52: - if (item.value.index() != 1) { item.value.emplace<1>(); } - if (!::tl2::details::Service1StrvalueRead(s, std::get<1>(item.value))) { return false; } - break; - case 0x082e0945: - if (item.value.index() != 2) { item.value.emplace<2>(); } - if (!::tl2::details::Service1LongvalueRead(s, std::get<2>(item.value))) { return false; } - break; - case 0x98b1a484: - if (item.value.index() != 3) { item.value.emplace<3>(); } - if (!::tl2::details::Service1StrvalueWithTimeRead(s, std::get<3>(item.value))) { return false; } - break; - case 0xa04606ec: - if (item.value.index() != 4) { item.value.emplace<4>(); } - if (!::tl2::details::Service1LongvalueWithTimeRead(s, std::get<4>(item.value))) { return false; } - break; - default: - return s.set_error_union_tag(); - } - return true; -} - -bool tl2::details::Service1ValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Value& item) { - s.nat_write(Service1Value_tbl_tl_tag[item.value.index()]); - switch (item.value.index()) { - case 1: - if (!::tl2::details::Service1StrvalueWrite(s, std::get<1>(item.value))) { return false; } - break; - case 2: - if (!::tl2::details::Service1LongvalueWrite(s, std::get<2>(item.value))) { return false; } - break; - case 3: - if (!::tl2::details::Service1StrvalueWithTimeWrite(s, std::get<3>(item.value))) { return false; } - break; - case 4: - if (!::tl2::details::Service1LongvalueWithTimeWrite(s, std::get<4>(item.value))) { return false; } - break; - } - return true; -} - -bool tl2::details::Service1ValueBoxedMaybeWriteJSON(std::ostream & s, const std::optional<::tl2::service1::Value>& item) { - s << "{"; - if (item) { - s << "\"ok\":true"; - s << ",\"value\":"; - if (!::tl2::details::Service1ValueWriteJSON(s, *item)) { return false; } - } - s << "}"; - return true; -} -bool tl2::details::Service1ValueBoxedMaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::service1::Value>& item) { - bool has_item = false; - if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } - if (has_item) { - if (!item) { - item.emplace(); - } - if (!::tl2::details::Service1ValueReadBoxed(s, *item)) { return false; } - return true; - } - item.reset(); - return true; -} - -bool tl2::details::Service1ValueBoxedMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::service1::Value>& item) { - if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } - if (item) { - if (!::tl2::details::Service1ValueWriteBoxed(s, *item)) { return false; } - } - return true; -} - -void tl2::details::VectorDictionaryFieldDictionaryIntReset(std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { - item.clear(); -} - -bool tl2::details::VectorDictionaryFieldDictionaryIntWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldDictionaryIntWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorDictionaryFieldDictionaryIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldDictionaryIntRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorDictionaryFieldDictionaryIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldDictionaryIntWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorDictionaryFieldDictionaryIntReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorDictionaryFieldDictionaryIntRead(s, item); -} - -bool tl2::details::VectorDictionaryFieldDictionaryIntWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorDictionaryFieldDictionaryIntWrite(s, item); -} - -void tl2::details::VectorDictionaryFieldService1ValueReset(std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { - item.clear(); -} - -bool tl2::details::VectorDictionaryFieldService1ValueWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldService1ValueWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorDictionaryFieldService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldService1ValueRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorDictionaryFieldService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldService1ValueWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorDictionaryFieldService1ValueReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorDictionaryFieldService1ValueRead(s, item); -} - -bool tl2::details::VectorDictionaryFieldService1ValueWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorDictionaryFieldService1ValueWrite(s, item); -} - -void tl2::details::VectorDictionaryFieldStringReset(std::vector<::tl2::DictionaryField>& item) { - item.clear(); -} - -bool tl2::details::VectorDictionaryFieldStringWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldStringWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorDictionaryFieldStringRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldStringRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorDictionaryFieldStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item) { - if (!::tl2::details::BuiltinVectorDictionaryFieldStringWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorDictionaryFieldStringReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorDictionaryFieldStringRead(s, item); -} - -bool tl2::details::VectorDictionaryFieldStringWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorDictionaryFieldStringWrite(s, item); -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.add.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.add.hpp deleted file mode 100644 index 2335e3ad..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.add.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct Add { - // tl magic for function - static const uint32_t MAGIC = 0x481df8be; - - std::string key; - int32_t flags = 0; - int32_t delay = 0; - std::string value; - - std::string_view tl_name() const { return "service1.add"; } - uint32_t tl_tag() const { return 0x481df8be; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const Add& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrGet.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrGet.hpp deleted file mode 100644 index a612a350..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrGet.hpp +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.Value.hpp" - - -namespace tl2 { namespace service1 { -struct AddOrGet { - // tl magic for function - static const uint32_t MAGIC = 0x6a42faad; - - std::string key; - int32_t flags = 0; - int32_t delay = 0; - std::string value; - - std::string_view tl_name() const { return "service1.addOrGet"; } - uint32_t tl_tag() const { return 0x6a42faad; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); - - friend std::ostream& operator<<(std::ostream& s, const AddOrGet& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrIncr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrIncr.hpp deleted file mode 100644 index dd650c8e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.addOrIncr.hpp +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.Value.hpp" - - -namespace tl2 { namespace service1 { -struct AddOrIncr { - // tl magic for function - static const uint32_t MAGIC = 0x90c4b402; - - std::string key; - int32_t flags = 0; - int32_t delay = 0; - int64_t value = 0; - - std::string_view tl_name() const { return "service1.addOrIncr"; } - uint32_t tl_tag() const { return 0x90c4b402; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); - - friend std::ostream& operator<<(std::ostream& s, const AddOrIncr& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.append.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.append.hpp deleted file mode 100644 index bb838d84..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.append.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct Append { - // tl magic for function - static const uint32_t MAGIC = 0x04dec671; - - std::string key; - int32_t flags = 0; - int32_t delay = 0; - std::string suffix; - - std::string_view tl_name() const { return "service1.append"; } - uint32_t tl_tag() const { return 0x04dec671; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const Append& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.cas.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.cas.hpp deleted file mode 100644 index c30daa4a..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.cas.hpp +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct Cas { - // tl magic for function - static const uint32_t MAGIC = 0x51851964; - - std::string key; - int32_t flags = 0; - int32_t delay = 0; - std::string casToken; - std::string newValue; - - std::string_view tl_name() const { return "service1.cas"; } - uint32_t tl_tag() const { return 0x51851964; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const Cas& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.decr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.decr.hpp deleted file mode 100644 index fcc77a12..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.decr.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.Value.hpp" - - -namespace tl2 { namespace service1 { -struct Decr { - // tl magic for function - static const uint32_t MAGIC = 0xeb179ce7; - - std::string key; - int64_t value = 0; - - std::string_view tl_name() const { return "service1.decr"; } - uint32_t tl_tag() const { return 0xeb179ce7; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); - - friend std::ostream& operator<<(std::ostream& s, const Decr& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.delete.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.delete.hpp deleted file mode 100644 index 368902e8..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.delete.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct Delete { - // tl magic for function - static const uint32_t MAGIC = 0x83277767; - - std::string key; - - std::string_view tl_name() const { return "service1.delete"; } - uint32_t tl_tag() const { return 0x83277767; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const Delete& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableExpiration.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableExpiration.hpp deleted file mode 100644 index f2e901dd..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableExpiration.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct DisableExpiration { - // tl magic for function - static const uint32_t MAGIC = 0xf1c39c2d; - - std::string prefix; - - std::string_view tl_name() const { return "service1.disableExpiration"; } - uint32_t tl_tag() const { return 0xf1c39c2d; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const DisableExpiration& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableKeysStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableKeysStat.hpp deleted file mode 100644 index 5f103d6c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.disableKeysStat.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct DisableKeysStat { - // tl magic for function - static const uint32_t MAGIC = 0x79d6160f; - - int32_t period = 0; - - std::string_view tl_name() const { return "service1.disableKeysStat"; } - uint32_t tl_tag() const { return 0x79d6160f; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const DisableKeysStat& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableExpiration.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableExpiration.hpp deleted file mode 100644 index 761111cc..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableExpiration.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct EnableExpiration { - // tl magic for function - static const uint32_t MAGIC = 0x2b51ad67; - - std::string prefix; - - std::string_view tl_name() const { return "service1.enableExpiration"; } - uint32_t tl_tag() const { return 0x2b51ad67; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const EnableExpiration& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableKeysStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableKeysStat.hpp deleted file mode 100644 index 9c6c21b1..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.enableKeysStat.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct EnableKeysStat { - // tl magic for function - static const uint32_t MAGIC = 0x29a7090e; - - int32_t period = 0; - - std::string_view tl_name() const { return "service1.enableKeysStat"; } - uint32_t tl_tag() const { return 0x29a7090e; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const EnableKeysStat& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.exists.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.exists.hpp deleted file mode 100644 index a12574c9..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.exists.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct Exists { - // tl magic for function - static const uint32_t MAGIC = 0xe0284c9e; - - std::string key; - - std::string_view tl_name() const { return "service1.exists"; } - uint32_t tl_tag() const { return 0xe0284c9e; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const Exists& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.get.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.get.hpp deleted file mode 100644 index f80c3717..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.get.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.Value.hpp" - - -namespace tl2 { namespace service1 { -struct Get { - // tl magic for function - static const uint32_t MAGIC = 0x29099b19; - - std::string key; - - std::string_view tl_name() const { return "service1.get"; } - uint32_t tl_tag() const { return 0x29099b19; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); - - friend std::ostream& operator<<(std::ostream& s, const Get& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getExpireTime.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getExpireTime.hpp deleted file mode 100644 index 3dcabc29..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getExpireTime.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct GetExpireTime { - // tl magic for function - static const uint32_t MAGIC = 0x5a731070; - - std::string key; - - std::string_view tl_name() const { return "service1.getExpireTime"; } - uint32_t tl_tag() const { return 0x5a731070; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::optional & result); - bool write_result(::basictl::tl_ostream & s, std::optional & result); - - friend std::ostream& operator<<(std::ostream& s, const GetExpireTime& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStat.hpp deleted file mode 100644 index 892d4200..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStat.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.keysStat.hpp" - - -namespace tl2 { namespace service1 { -struct GetKeysStat { - // tl magic for function - static const uint32_t MAGIC = 0x06cecd58; - - int32_t period = 0; - - std::string_view tl_name() const { return "service1.getKeysStat"; } - uint32_t tl_tag() const { return 0x06cecd58; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::optional<::tl2::service1::KeysStat> & result); - bool write_result(::basictl::tl_ostream & s, std::optional<::tl2::service1::KeysStat> & result); - - friend std::ostream& operator<<(std::ostream& s, const GetKeysStat& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStatPeriods.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStatPeriods.hpp deleted file mode 100644 index 7a2abfb4..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getKeysStatPeriods.hpp +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct GetKeysStatPeriods { - // tl magic for function - static const uint32_t MAGIC = 0x8cdf39e3; - - - std::string_view tl_name() const { return "service1.getKeysStatPeriods"; } - uint32_t tl_tag() const { return 0x8cdf39e3; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector & result); - bool write_result(::basictl::tl_ostream & s, std::vector & result); - - friend std::ostream& operator<<(std::ostream& s, const GetKeysStatPeriods& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcard.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcard.hpp deleted file mode 100644 index c0ccded6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcard.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/map.hpp" - - -namespace tl2 { namespace service1 { -struct GetWildcard { - // tl magic for function - static const uint32_t MAGIC = 0x2f2abf13; - - std::string prefix; - - std::string_view tl_name() const { return "service1.getWildcard"; } - uint32_t tl_tag() const { return 0x2f2abf13; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector<::tl2::Map> & result); - bool write_result(::basictl::tl_ostream & s, std::vector<::tl2::Map> & result); - - friend std::ostream& operator<<(std::ostream& s, const GetWildcard& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardDict.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardDict.hpp deleted file mode 100644 index 754ecf01..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardDict.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionary.hpp" - - -namespace tl2 { namespace service1 { -struct GetWildcardDict { - // tl magic for function - static const uint32_t MAGIC = 0x72bbc81b; - - std::string prefix; - - std::string_view tl_name() const { return "service1.getWildcardDict"; } - uint32_t tl_tag() const { return 0x72bbc81b; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::Dictionary & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::Dictionary & result); - - friend std::ostream& operator<<(std::ostream& s, const GetWildcardDict& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardList.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardList.hpp deleted file mode 100644 index eb2070a4..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardList.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct GetWildcardList { - // tl magic for function - static const uint32_t MAGIC = 0x56b6ead4; - - std::string prefix; - - std::string_view tl_name() const { return "service1.getWildcardList"; } - uint32_t tl_tag() const { return 0x56b6ead4; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector & result); - bool write_result(::basictl::tl_ostream & s, std::vector & result); - - friend std::ostream& operator<<(std::ostream& s, const GetWildcardList& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardWithFlags.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardWithFlags.hpp deleted file mode 100644 index 04e5c36e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.getWildcardWithFlags.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.Value.hpp" -#include "../../__common_namespace/types/dictionary.hpp" - - -namespace tl2 { namespace service1 { -struct GetWildcardWithFlags { - // tl magic for function - static const uint32_t MAGIC = 0x5f6a1f78; - - std::string prefix; - - std::string_view tl_name() const { return "service1.getWildcardWithFlags"; } - uint32_t tl_tag() const { return 0x5f6a1f78; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value> & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::Dictionary<::tl2::service1::Value> & result); - - friend std::ostream& operator<<(std::ostream& s, const GetWildcardWithFlags& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.incr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.incr.hpp deleted file mode 100644 index 199bedb9..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.incr.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.Value.hpp" - - -namespace tl2 { namespace service1 { -struct Incr { - // tl magic for function - static const uint32_t MAGIC = 0x0f96b56e; - - std::string key; - int64_t value = 0; - - std::string_view tl_name() const { return "service1.incr"; } - uint32_t tl_tag() const { return 0x0f96b56e; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); - - friend std::ostream& operator<<(std::ostream& s, const Incr& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replace.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replace.hpp deleted file mode 100644 index 89e75caf..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replace.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct Replace { - // tl magic for function - static const uint32_t MAGIC = 0x7f2c447d; - - std::string key; - int32_t flags = 0; - int32_t delay = 0; - std::string value; - - std::string_view tl_name() const { return "service1.replace"; } - uint32_t tl_tag() const { return 0x7f2c447d; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const Replace& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replaceOrIncr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replaceOrIncr.hpp deleted file mode 100644 index 4652a92d..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.replaceOrIncr.hpp +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.Value.hpp" - - -namespace tl2 { namespace service1 { -struct ReplaceOrIncr { - // tl magic for function - static const uint32_t MAGIC = 0x9d1bdcfd; - - std::string key; - int32_t flags = 0; - int32_t delay = 0; - int64_t value = 0; - - std::string_view tl_name() const { return "service1.replaceOrIncr"; } - uint32_t tl_tag() const { return 0x9d1bdcfd; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); - - friend std::ostream& operator<<(std::ostream& s, const ReplaceOrIncr& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.set.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.set.hpp deleted file mode 100644 index 8bf0a7f3..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.set.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct Set { - // tl magic for function - static const uint32_t MAGIC = 0x05ae5f66; - - std::string key; - int32_t flags = 0; - int32_t delay = 0; - std::string value; - - std::string_view tl_name() const { return "service1.set"; } - uint32_t tl_tag() const { return 0x05ae5f66; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const Set& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.setOrIncr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.setOrIncr.hpp deleted file mode 100644 index 298eecd7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.setOrIncr.hpp +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.Value.hpp" - - -namespace tl2 { namespace service1 { -struct SetOrIncr { - // tl magic for function - static const uint32_t MAGIC = 0x772e390d; - - std::string key; - int32_t flags = 0; - int32_t delay = 0; - int64_t value = 0; - - std::string_view tl_name() const { return "service1.setOrIncr"; } - uint32_t tl_tag() const { return 0x772e390d; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result); - - friend std::ostream& operator<<(std::ostream& s, const SetOrIncr& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.touch.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.touch.hpp deleted file mode 100644 index 3e6b384d..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/functions/service1.touch.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct Touch { - // tl magic for function - static const uint32_t MAGIC = 0xb737aa03; - - std::string key; - int32_t delay = 0; - - std::string_view tl_name() const { return "service1.touch"; } - uint32_t tl_tag() const { return 0xb737aa03; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const Touch& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.Value.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.Value.hpp deleted file mode 100644 index 69149e80..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.Value.hpp +++ /dev/null @@ -1,45 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.Value.hpp" - -namespace tl2 { namespace details { - -void BuiltinTuple3Service1ValueReset(std::array<::tl2::service1::Value, 3>& item); - -bool BuiltinTuple3Service1ValueWriteJSON(std::ostream & s, const std::array<::tl2::service1::Value, 3>& item); -bool BuiltinTuple3Service1ValueRead(::basictl::tl_istream & s, std::array<::tl2::service1::Value, 3>& item); -bool BuiltinTuple3Service1ValueWrite(::basictl::tl_ostream & s, const std::array<::tl2::service1::Value, 3>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void BuiltinVectorService1ValueReset(std::vector<::tl2::service1::Value>& item); - -bool BuiltinVectorService1ValueWriteJSON(std::ostream & s, const std::vector<::tl2::service1::Value>& item); -bool BuiltinVectorService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::service1::Value>& item); -bool BuiltinVectorService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service1::Value>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void Service1ValueReset(::tl2::service1::Value& item); - -bool Service1ValueWriteJSON(std::ostream & s, const ::tl2::service1::Value& item); -bool Service1ValueReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Value& item); -bool Service1ValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Value& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -bool Service1ValueBoxedMaybeWriteJSON(std::ostream & s, const std::optional<::tl2::service1::Value>& item); - -bool Service1ValueBoxedMaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::service1::Value>& item); -bool Service1ValueBoxedMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::service1::Value>& item); - - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.add.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.add.hpp deleted file mode 100644 index d7497b75..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.add.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.add.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service1AddReset(::tl2::service1::Add& item); - -bool Service1AddWriteJSON(std::ostream& s, const ::tl2::service1::Add& item); -bool Service1AddRead(::basictl::tl_istream & s, ::tl2::service1::Add& item); -bool Service1AddWrite(::basictl::tl_ostream & s, const ::tl2::service1::Add& item); -bool Service1AddReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Add& item); -bool Service1AddWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Add& item); - -bool Service1AddReadResult(::basictl::tl_istream & s, ::tl2::service1::Add& item, bool& result); -bool Service1AddWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Add& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.addOrGet.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.addOrGet.hpp deleted file mode 100644 index 1299fedf..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.addOrGet.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.addOrGet.hpp" -#include "../types/service1.Value.hpp" - -namespace tl2 { namespace details { - -void Service1AddOrGetReset(::tl2::service1::AddOrGet& item); - -bool Service1AddOrGetWriteJSON(std::ostream& s, const ::tl2::service1::AddOrGet& item); -bool Service1AddOrGetRead(::basictl::tl_istream & s, ::tl2::service1::AddOrGet& item); -bool Service1AddOrGetWrite(::basictl::tl_ostream & s, const ::tl2::service1::AddOrGet& item); -bool Service1AddOrGetReadBoxed(::basictl::tl_istream & s, ::tl2::service1::AddOrGet& item); -bool Service1AddOrGetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::AddOrGet& item); - -bool Service1AddOrGetReadResult(::basictl::tl_istream & s, ::tl2::service1::AddOrGet& item, ::tl2::service1::Value& result); -bool Service1AddOrGetWriteResult(::basictl::tl_ostream & s, ::tl2::service1::AddOrGet& item, ::tl2::service1::Value& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.addOrIncr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.addOrIncr.hpp deleted file mode 100644 index 1801a19f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.addOrIncr.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.addOrIncr.hpp" -#include "../types/service1.Value.hpp" - -namespace tl2 { namespace details { - -void Service1AddOrIncrReset(::tl2::service1::AddOrIncr& item); - -bool Service1AddOrIncrWriteJSON(std::ostream& s, const ::tl2::service1::AddOrIncr& item); -bool Service1AddOrIncrRead(::basictl::tl_istream & s, ::tl2::service1::AddOrIncr& item); -bool Service1AddOrIncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::AddOrIncr& item); -bool Service1AddOrIncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::AddOrIncr& item); -bool Service1AddOrIncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::AddOrIncr& item); - -bool Service1AddOrIncrReadResult(::basictl::tl_istream & s, ::tl2::service1::AddOrIncr& item, ::tl2::service1::Value& result); -bool Service1AddOrIncrWriteResult(::basictl::tl_ostream & s, ::tl2::service1::AddOrIncr& item, ::tl2::service1::Value& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.append.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.append.hpp deleted file mode 100644 index 19426ccb..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.append.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.append.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service1AppendReset(::tl2::service1::Append& item); - -bool Service1AppendWriteJSON(std::ostream& s, const ::tl2::service1::Append& item); -bool Service1AppendRead(::basictl::tl_istream & s, ::tl2::service1::Append& item); -bool Service1AppendWrite(::basictl::tl_ostream & s, const ::tl2::service1::Append& item); -bool Service1AppendReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Append& item); -bool Service1AppendWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Append& item); - -bool Service1AppendReadResult(::basictl::tl_istream & s, ::tl2::service1::Append& item, bool& result); -bool Service1AppendWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Append& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.cas.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.cas.hpp deleted file mode 100644 index f1a68e61..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.cas.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.cas.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service1CasReset(::tl2::service1::Cas& item); - -bool Service1CasWriteJSON(std::ostream& s, const ::tl2::service1::Cas& item); -bool Service1CasRead(::basictl::tl_istream & s, ::tl2::service1::Cas& item); -bool Service1CasWrite(::basictl::tl_ostream & s, const ::tl2::service1::Cas& item); -bool Service1CasReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Cas& item); -bool Service1CasWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Cas& item); - -bool Service1CasReadResult(::basictl::tl_istream & s, ::tl2::service1::Cas& item, bool& result); -bool Service1CasWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Cas& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.decr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.decr.hpp deleted file mode 100644 index d7608c55..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.decr.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.decr.hpp" -#include "../types/service1.Value.hpp" - -namespace tl2 { namespace details { - -void Service1DecrReset(::tl2::service1::Decr& item); - -bool Service1DecrWriteJSON(std::ostream& s, const ::tl2::service1::Decr& item); -bool Service1DecrRead(::basictl::tl_istream & s, ::tl2::service1::Decr& item); -bool Service1DecrWrite(::basictl::tl_ostream & s, const ::tl2::service1::Decr& item); -bool Service1DecrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Decr& item); -bool Service1DecrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Decr& item); - -bool Service1DecrReadResult(::basictl::tl_istream & s, ::tl2::service1::Decr& item, ::tl2::service1::Value& result); -bool Service1DecrWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Decr& item, ::tl2::service1::Value& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.delete.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.delete.hpp deleted file mode 100644 index 2f861350..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.delete.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.delete.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service1DeleteReset(::tl2::service1::Delete& item); - -bool Service1DeleteWriteJSON(std::ostream& s, const ::tl2::service1::Delete& item); -bool Service1DeleteRead(::basictl::tl_istream & s, ::tl2::service1::Delete& item); -bool Service1DeleteWrite(::basictl::tl_ostream & s, const ::tl2::service1::Delete& item); -bool Service1DeleteReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Delete& item); -bool Service1DeleteWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Delete& item); - -bool Service1DeleteReadResult(::basictl::tl_istream & s, ::tl2::service1::Delete& item, bool& result); -bool Service1DeleteWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Delete& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.disableExpiration.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.disableExpiration.hpp deleted file mode 100644 index 0ef74954..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.disableExpiration.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.disableExpiration.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service1DisableExpirationReset(::tl2::service1::DisableExpiration& item); - -bool Service1DisableExpirationWriteJSON(std::ostream& s, const ::tl2::service1::DisableExpiration& item); -bool Service1DisableExpirationRead(::basictl::tl_istream & s, ::tl2::service1::DisableExpiration& item); -bool Service1DisableExpirationWrite(::basictl::tl_ostream & s, const ::tl2::service1::DisableExpiration& item); -bool Service1DisableExpirationReadBoxed(::basictl::tl_istream & s, ::tl2::service1::DisableExpiration& item); -bool Service1DisableExpirationWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::DisableExpiration& item); - -bool Service1DisableExpirationReadResult(::basictl::tl_istream & s, ::tl2::service1::DisableExpiration& item, bool& result); -bool Service1DisableExpirationWriteResult(::basictl::tl_ostream & s, ::tl2::service1::DisableExpiration& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.disableKeysStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.disableKeysStat.hpp deleted file mode 100644 index cb8b174a..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.disableKeysStat.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.disableKeysStat.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service1DisableKeysStatReset(::tl2::service1::DisableKeysStat& item); - -bool Service1DisableKeysStatWriteJSON(std::ostream& s, const ::tl2::service1::DisableKeysStat& item); -bool Service1DisableKeysStatRead(::basictl::tl_istream & s, ::tl2::service1::DisableKeysStat& item); -bool Service1DisableKeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::DisableKeysStat& item); -bool Service1DisableKeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::DisableKeysStat& item); -bool Service1DisableKeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::DisableKeysStat& item); - -bool Service1DisableKeysStatReadResult(::basictl::tl_istream & s, ::tl2::service1::DisableKeysStat& item, bool& result); -bool Service1DisableKeysStatWriteResult(::basictl::tl_ostream & s, ::tl2::service1::DisableKeysStat& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.enableExpiration.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.enableExpiration.hpp deleted file mode 100644 index 3bacbb85..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.enableExpiration.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.enableExpiration.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service1EnableExpirationReset(::tl2::service1::EnableExpiration& item); - -bool Service1EnableExpirationWriteJSON(std::ostream& s, const ::tl2::service1::EnableExpiration& item); -bool Service1EnableExpirationRead(::basictl::tl_istream & s, ::tl2::service1::EnableExpiration& item); -bool Service1EnableExpirationWrite(::basictl::tl_ostream & s, const ::tl2::service1::EnableExpiration& item); -bool Service1EnableExpirationReadBoxed(::basictl::tl_istream & s, ::tl2::service1::EnableExpiration& item); -bool Service1EnableExpirationWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::EnableExpiration& item); - -bool Service1EnableExpirationReadResult(::basictl::tl_istream & s, ::tl2::service1::EnableExpiration& item, bool& result); -bool Service1EnableExpirationWriteResult(::basictl::tl_ostream & s, ::tl2::service1::EnableExpiration& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.enableKeysStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.enableKeysStat.hpp deleted file mode 100644 index 92e85769..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.enableKeysStat.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.enableKeysStat.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service1EnableKeysStatReset(::tl2::service1::EnableKeysStat& item); - -bool Service1EnableKeysStatWriteJSON(std::ostream& s, const ::tl2::service1::EnableKeysStat& item); -bool Service1EnableKeysStatRead(::basictl::tl_istream & s, ::tl2::service1::EnableKeysStat& item); -bool Service1EnableKeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::EnableKeysStat& item); -bool Service1EnableKeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::EnableKeysStat& item); -bool Service1EnableKeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::EnableKeysStat& item); - -bool Service1EnableKeysStatReadResult(::basictl::tl_istream & s, ::tl2::service1::EnableKeysStat& item, bool& result); -bool Service1EnableKeysStatWriteResult(::basictl::tl_ostream & s, ::tl2::service1::EnableKeysStat& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.exists.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.exists.hpp deleted file mode 100644 index 3c6e9e64..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.exists.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.exists.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service1ExistsReset(::tl2::service1::Exists& item); - -bool Service1ExistsWriteJSON(std::ostream& s, const ::tl2::service1::Exists& item); -bool Service1ExistsRead(::basictl::tl_istream & s, ::tl2::service1::Exists& item); -bool Service1ExistsWrite(::basictl::tl_ostream & s, const ::tl2::service1::Exists& item); -bool Service1ExistsReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Exists& item); -bool Service1ExistsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Exists& item); - -bool Service1ExistsReadResult(::basictl::tl_istream & s, ::tl2::service1::Exists& item, bool& result); -bool Service1ExistsWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Exists& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.get.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.get.hpp deleted file mode 100644 index 4e50f1a6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.get.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.get.hpp" -#include "../types/service1.Value.hpp" - -namespace tl2 { namespace details { - -void Service1GetReset(::tl2::service1::Get& item); - -bool Service1GetWriteJSON(std::ostream& s, const ::tl2::service1::Get& item); -bool Service1GetRead(::basictl::tl_istream & s, ::tl2::service1::Get& item); -bool Service1GetWrite(::basictl::tl_ostream & s, const ::tl2::service1::Get& item); -bool Service1GetReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Get& item); -bool Service1GetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Get& item); - -bool Service1GetReadResult(::basictl::tl_istream & s, ::tl2::service1::Get& item, ::tl2::service1::Value& result); -bool Service1GetWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Get& item, ::tl2::service1::Value& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getExpireTime.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getExpireTime.hpp deleted file mode 100644 index 32678033..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getExpireTime.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.getExpireTime.hpp" -#include "../../__common_namespace/types/int.hpp" - -namespace tl2 { namespace details { - -void Service1GetExpireTimeReset(::tl2::service1::GetExpireTime& item); - -bool Service1GetExpireTimeWriteJSON(std::ostream& s, const ::tl2::service1::GetExpireTime& item); -bool Service1GetExpireTimeRead(::basictl::tl_istream & s, ::tl2::service1::GetExpireTime& item); -bool Service1GetExpireTimeWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetExpireTime& item); -bool Service1GetExpireTimeReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetExpireTime& item); -bool Service1GetExpireTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetExpireTime& item); - -bool Service1GetExpireTimeReadResult(::basictl::tl_istream & s, ::tl2::service1::GetExpireTime& item, std::optional& result); -bool Service1GetExpireTimeWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetExpireTime& item, std::optional& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getKeysStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getKeysStat.hpp deleted file mode 100644 index 446747e8..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getKeysStat.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.getKeysStat.hpp" -#include "../types/service1.keysStat.hpp" - -namespace tl2 { namespace details { - -void Service1GetKeysStatReset(::tl2::service1::GetKeysStat& item); - -bool Service1GetKeysStatWriteJSON(std::ostream& s, const ::tl2::service1::GetKeysStat& item); -bool Service1GetKeysStatRead(::basictl::tl_istream & s, ::tl2::service1::GetKeysStat& item); -bool Service1GetKeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStat& item); -bool Service1GetKeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetKeysStat& item); -bool Service1GetKeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStat& item); - -bool Service1GetKeysStatReadResult(::basictl::tl_istream & s, ::tl2::service1::GetKeysStat& item, std::optional<::tl2::service1::KeysStat>& result); -bool Service1GetKeysStatWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetKeysStat& item, std::optional<::tl2::service1::KeysStat>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getKeysStatPeriods.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getKeysStatPeriods.hpp deleted file mode 100644 index 69a4241e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getKeysStatPeriods.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.getKeysStatPeriods.hpp" -#include "../../__common_namespace/types/int.hpp" - -namespace tl2 { namespace details { - -void Service1GetKeysStatPeriodsReset(::tl2::service1::GetKeysStatPeriods& item); - -bool Service1GetKeysStatPeriodsWriteJSON(std::ostream& s, const ::tl2::service1::GetKeysStatPeriods& item); -bool Service1GetKeysStatPeriodsRead(::basictl::tl_istream & s, ::tl2::service1::GetKeysStatPeriods& item); -bool Service1GetKeysStatPeriodsWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStatPeriods& item); -bool Service1GetKeysStatPeriodsReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetKeysStatPeriods& item); -bool Service1GetKeysStatPeriodsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetKeysStatPeriods& item); - -bool Service1GetKeysStatPeriodsReadResult(::basictl::tl_istream & s, ::tl2::service1::GetKeysStatPeriods& item, std::vector& result); -bool Service1GetKeysStatPeriodsWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetKeysStatPeriods& item, std::vector& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcard.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcard.hpp deleted file mode 100644 index e9e77d1b..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcard.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.getWildcard.hpp" -#include "../../__common_namespace/types/map.hpp" - -namespace tl2 { namespace details { - -void Service1GetWildcardReset(::tl2::service1::GetWildcard& item); - -bool Service1GetWildcardWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcard& item); -bool Service1GetWildcardRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcard& item); -bool Service1GetWildcardWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcard& item); -bool Service1GetWildcardReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcard& item); -bool Service1GetWildcardWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcard& item); - -bool Service1GetWildcardReadResult(::basictl::tl_istream & s, ::tl2::service1::GetWildcard& item, std::vector<::tl2::Map>& result); -bool Service1GetWildcardWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetWildcard& item, std::vector<::tl2::Map>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcardDict.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcardDict.hpp deleted file mode 100644 index 9d4a0560..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcardDict.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.getWildcardDict.hpp" -#include "../../__common_namespace/types/dictionary.hpp" - -namespace tl2 { namespace details { - -void Service1GetWildcardDictReset(::tl2::service1::GetWildcardDict& item); - -bool Service1GetWildcardDictWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcardDict& item); -bool Service1GetWildcardDictRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcardDict& item); -bool Service1GetWildcardDictWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardDict& item); -bool Service1GetWildcardDictReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcardDict& item); -bool Service1GetWildcardDictWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardDict& item); - -bool Service1GetWildcardDictReadResult(::basictl::tl_istream & s, ::tl2::service1::GetWildcardDict& item, ::tl2::Dictionary& result); -bool Service1GetWildcardDictWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetWildcardDict& item, ::tl2::Dictionary& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcardList.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcardList.hpp deleted file mode 100644 index fd0c5051..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcardList.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.getWildcardList.hpp" -#include "../../__common_namespace/types/string.hpp" - -namespace tl2 { namespace details { - -void Service1GetWildcardListReset(::tl2::service1::GetWildcardList& item); - -bool Service1GetWildcardListWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcardList& item); -bool Service1GetWildcardListRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcardList& item); -bool Service1GetWildcardListWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardList& item); -bool Service1GetWildcardListReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcardList& item); -bool Service1GetWildcardListWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardList& item); - -bool Service1GetWildcardListReadResult(::basictl::tl_istream & s, ::tl2::service1::GetWildcardList& item, std::vector& result); -bool Service1GetWildcardListWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetWildcardList& item, std::vector& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcardWithFlags.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcardWithFlags.hpp deleted file mode 100644 index 1dfce25c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.getWildcardWithFlags.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.getWildcardWithFlags.hpp" -#include "../types/service1.Value.hpp" -#include "../../__common_namespace/types/dictionary.hpp" - -namespace tl2 { namespace details { - -void Service1GetWildcardWithFlagsReset(::tl2::service1::GetWildcardWithFlags& item); - -bool Service1GetWildcardWithFlagsWriteJSON(std::ostream& s, const ::tl2::service1::GetWildcardWithFlags& item); -bool Service1GetWildcardWithFlagsRead(::basictl::tl_istream & s, ::tl2::service1::GetWildcardWithFlags& item); -bool Service1GetWildcardWithFlagsWrite(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardWithFlags& item); -bool Service1GetWildcardWithFlagsReadBoxed(::basictl::tl_istream & s, ::tl2::service1::GetWildcardWithFlags& item); -bool Service1GetWildcardWithFlagsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::GetWildcardWithFlags& item); - -bool Service1GetWildcardWithFlagsReadResult(::basictl::tl_istream & s, ::tl2::service1::GetWildcardWithFlags& item, ::tl2::Dictionary<::tl2::service1::Value>& result); -bool Service1GetWildcardWithFlagsWriteResult(::basictl::tl_ostream & s, ::tl2::service1::GetWildcardWithFlags& item, ::tl2::Dictionary<::tl2::service1::Value>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.incr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.incr.hpp deleted file mode 100644 index e599fdd2..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.incr.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.incr.hpp" -#include "../types/service1.Value.hpp" - -namespace tl2 { namespace details { - -void Service1IncrReset(::tl2::service1::Incr& item); - -bool Service1IncrWriteJSON(std::ostream& s, const ::tl2::service1::Incr& item); -bool Service1IncrRead(::basictl::tl_istream & s, ::tl2::service1::Incr& item); -bool Service1IncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::Incr& item); -bool Service1IncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Incr& item); -bool Service1IncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Incr& item); - -bool Service1IncrReadResult(::basictl::tl_istream & s, ::tl2::service1::Incr& item, ::tl2::service1::Value& result); -bool Service1IncrWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Incr& item, ::tl2::service1::Value& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.keysStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.keysStat.hpp deleted file mode 100644 index 2a3289f5..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.keysStat.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.keysStat.hpp" - -namespace tl2 { namespace details { - -void Service1KeysStatReset(::tl2::service1::KeysStat& item); - -bool Service1KeysStatWriteJSON(std::ostream& s, const ::tl2::service1::KeysStat& item); -bool Service1KeysStatRead(::basictl::tl_istream & s, ::tl2::service1::KeysStat& item); -bool Service1KeysStatWrite(::basictl::tl_ostream & s, const ::tl2::service1::KeysStat& item); -bool Service1KeysStatReadBoxed(::basictl::tl_istream & s, ::tl2::service1::KeysStat& item); -bool Service1KeysStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::KeysStat& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -bool Service1KeysStatMaybeWriteJSON(std::ostream & s, const std::optional<::tl2::service1::KeysStat>& item); - -bool Service1KeysStatMaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::service1::KeysStat>& item); -bool Service1KeysStatMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::service1::KeysStat>& item); - - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.longvalue.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.longvalue.hpp deleted file mode 100644 index 908a319e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.longvalue.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.longvalue.hpp" - -namespace tl2 { namespace details { - -void Service1LongvalueReset(::tl2::service1::Longvalue& item); - -bool Service1LongvalueWriteJSON(std::ostream& s, const ::tl2::service1::Longvalue& item); -bool Service1LongvalueRead(::basictl::tl_istream & s, ::tl2::service1::Longvalue& item); -bool Service1LongvalueWrite(::basictl::tl_ostream & s, const ::tl2::service1::Longvalue& item); -bool Service1LongvalueReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Longvalue& item); -bool Service1LongvalueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Longvalue& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.longvalueWithTime.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.longvalueWithTime.hpp deleted file mode 100644 index d3eb1e0b..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.longvalueWithTime.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.longvalueWithTime.hpp" - -namespace tl2 { namespace details { - -void Service1LongvalueWithTimeReset(::tl2::service1::LongvalueWithTime& item); - -bool Service1LongvalueWithTimeWriteJSON(std::ostream& s, const ::tl2::service1::LongvalueWithTime& item); -bool Service1LongvalueWithTimeRead(::basictl::tl_istream & s, ::tl2::service1::LongvalueWithTime& item); -bool Service1LongvalueWithTimeWrite(::basictl::tl_ostream & s, const ::tl2::service1::LongvalueWithTime& item); -bool Service1LongvalueWithTimeReadBoxed(::basictl::tl_istream & s, ::tl2::service1::LongvalueWithTime& item); -bool Service1LongvalueWithTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::LongvalueWithTime& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.not_found.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.not_found.hpp deleted file mode 100644 index 1469bc4d..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.not_found.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.not_found.hpp" - -namespace tl2 { namespace details { - -void Service1NotFoundReset(::tl2::service1::Not_found& item); - -bool Service1NotFoundWriteJSON(std::ostream& s, const ::tl2::service1::Not_found& item); -bool Service1NotFoundRead(::basictl::tl_istream & s, ::tl2::service1::Not_found& item); -bool Service1NotFoundWrite(::basictl::tl_ostream & s, const ::tl2::service1::Not_found& item); -bool Service1NotFoundReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Not_found& item); -bool Service1NotFoundWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Not_found& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.replace.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.replace.hpp deleted file mode 100644 index 3f33ef17..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.replace.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.replace.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service1ReplaceReset(::tl2::service1::Replace& item); - -bool Service1ReplaceWriteJSON(std::ostream& s, const ::tl2::service1::Replace& item); -bool Service1ReplaceRead(::basictl::tl_istream & s, ::tl2::service1::Replace& item); -bool Service1ReplaceWrite(::basictl::tl_ostream & s, const ::tl2::service1::Replace& item); -bool Service1ReplaceReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Replace& item); -bool Service1ReplaceWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Replace& item); - -bool Service1ReplaceReadResult(::basictl::tl_istream & s, ::tl2::service1::Replace& item, bool& result); -bool Service1ReplaceWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Replace& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.replaceOrIncr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.replaceOrIncr.hpp deleted file mode 100644 index c03fa074..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.replaceOrIncr.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.replaceOrIncr.hpp" -#include "../types/service1.Value.hpp" - -namespace tl2 { namespace details { - -void Service1ReplaceOrIncrReset(::tl2::service1::ReplaceOrIncr& item); - -bool Service1ReplaceOrIncrWriteJSON(std::ostream& s, const ::tl2::service1::ReplaceOrIncr& item); -bool Service1ReplaceOrIncrRead(::basictl::tl_istream & s, ::tl2::service1::ReplaceOrIncr& item); -bool Service1ReplaceOrIncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::ReplaceOrIncr& item); -bool Service1ReplaceOrIncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::ReplaceOrIncr& item); -bool Service1ReplaceOrIncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::ReplaceOrIncr& item); - -bool Service1ReplaceOrIncrReadResult(::basictl::tl_istream & s, ::tl2::service1::ReplaceOrIncr& item, ::tl2::service1::Value& result); -bool Service1ReplaceOrIncrWriteResult(::basictl::tl_ostream & s, ::tl2::service1::ReplaceOrIncr& item, ::tl2::service1::Value& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.set.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.set.hpp deleted file mode 100644 index b6e9f30c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.set.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.set.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service1SetReset(::tl2::service1::Set& item); - -bool Service1SetWriteJSON(std::ostream& s, const ::tl2::service1::Set& item); -bool Service1SetRead(::basictl::tl_istream & s, ::tl2::service1::Set& item); -bool Service1SetWrite(::basictl::tl_ostream & s, const ::tl2::service1::Set& item); -bool Service1SetReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Set& item); -bool Service1SetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Set& item); - -bool Service1SetReadResult(::basictl::tl_istream & s, ::tl2::service1::Set& item, bool& result); -bool Service1SetWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Set& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.setOrIncr.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.setOrIncr.hpp deleted file mode 100644 index 833cfb26..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.setOrIncr.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.setOrIncr.hpp" -#include "../types/service1.Value.hpp" - -namespace tl2 { namespace details { - -void Service1SetOrIncrReset(::tl2::service1::SetOrIncr& item); - -bool Service1SetOrIncrWriteJSON(std::ostream& s, const ::tl2::service1::SetOrIncr& item); -bool Service1SetOrIncrRead(::basictl::tl_istream & s, ::tl2::service1::SetOrIncr& item); -bool Service1SetOrIncrWrite(::basictl::tl_ostream & s, const ::tl2::service1::SetOrIncr& item); -bool Service1SetOrIncrReadBoxed(::basictl::tl_istream & s, ::tl2::service1::SetOrIncr& item); -bool Service1SetOrIncrWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::SetOrIncr& item); - -bool Service1SetOrIncrReadResult(::basictl::tl_istream & s, ::tl2::service1::SetOrIncr& item, ::tl2::service1::Value& result); -bool Service1SetOrIncrWriteResult(::basictl::tl_ostream & s, ::tl2::service1::SetOrIncr& item, ::tl2::service1::Value& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.strvalue.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.strvalue.hpp deleted file mode 100644 index 7f1db2d2..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.strvalue.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.strvalue.hpp" - -namespace tl2 { namespace details { - -void Service1StrvalueReset(::tl2::service1::Strvalue& item); - -bool Service1StrvalueWriteJSON(std::ostream& s, const ::tl2::service1::Strvalue& item); -bool Service1StrvalueRead(::basictl::tl_istream & s, ::tl2::service1::Strvalue& item); -bool Service1StrvalueWrite(::basictl::tl_ostream & s, const ::tl2::service1::Strvalue& item); -bool Service1StrvalueReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Strvalue& item); -bool Service1StrvalueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Strvalue& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.strvalueWithTime.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.strvalueWithTime.hpp deleted file mode 100644 index 372c3cc1..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.strvalueWithTime.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service1.strvalueWithTime.hpp" - -namespace tl2 { namespace details { - -void Service1StrvalueWithTimeReset(::tl2::service1::StrvalueWithTime& item); - -bool Service1StrvalueWithTimeWriteJSON(std::ostream& s, const ::tl2::service1::StrvalueWithTime& item); -bool Service1StrvalueWithTimeRead(::basictl::tl_istream & s, ::tl2::service1::StrvalueWithTime& item); -bool Service1StrvalueWithTimeWrite(::basictl::tl_ostream & s, const ::tl2::service1::StrvalueWithTime& item); -bool Service1StrvalueWithTimeReadBoxed(::basictl::tl_istream & s, ::tl2::service1::StrvalueWithTime& item); -bool Service1StrvalueWithTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::StrvalueWithTime& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.touch.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.touch.hpp deleted file mode 100644 index 0b589876..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1.touch.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service1.touch.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service1TouchReset(::tl2::service1::Touch& item); - -bool Service1TouchWriteJSON(std::ostream& s, const ::tl2::service1::Touch& item); -bool Service1TouchRead(::basictl::tl_istream & s, ::tl2::service1::Touch& item); -bool Service1TouchWrite(::basictl::tl_ostream & s, const ::tl2::service1::Touch& item); -bool Service1TouchReadBoxed(::basictl::tl_istream & s, ::tl2::service1::Touch& item); -bool Service1TouchWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service1::Touch& item); - -bool Service1TouchReadResult(::basictl::tl_istream & s, ::tl2::service1::Touch& item, bool& result); -bool Service1TouchWriteResult(::basictl::tl_ostream & s, ::tl2::service1::Touch& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1_dictionary.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1_dictionary.hpp deleted file mode 100644 index 16c78105..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1_dictionary.hpp +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionary.hpp" -#include "../types/service1.Value.hpp" - -namespace tl2 { namespace details { - -void DictionaryDictionaryIntReset(::tl2::Dictionary<::tl2::Dictionary>& item); - -bool DictionaryDictionaryIntWriteJSON(std::ostream& s, const ::tl2::Dictionary<::tl2::Dictionary>& item); -bool DictionaryDictionaryIntRead(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::Dictionary>& item); -bool DictionaryDictionaryIntWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::Dictionary>& item); -bool DictionaryDictionaryIntReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::Dictionary>& item); -bool DictionaryDictionaryIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::Dictionary>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void DictionaryService1ValueReset(::tl2::Dictionary<::tl2::service1::Value>& item); - -bool DictionaryService1ValueWriteJSON(std::ostream& s, const ::tl2::Dictionary<::tl2::service1::Value>& item); -bool DictionaryService1ValueRead(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value>& item); -bool DictionaryService1ValueWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::service1::Value>& item); -bool DictionaryService1ValueReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value>& item); -bool DictionaryService1ValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary<::tl2::service1::Value>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void DictionaryStringReset(::tl2::Dictionary& item); - -bool DictionaryStringWriteJSON(std::ostream& s, const ::tl2::Dictionary& item); -bool DictionaryStringRead(::basictl::tl_istream & s, ::tl2::Dictionary& item); -bool DictionaryStringWrite(::basictl::tl_ostream & s, const ::tl2::Dictionary& item); -bool DictionaryStringReadBoxed(::basictl::tl_istream & s, ::tl2::Dictionary& item); -bool DictionaryStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::Dictionary& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1_dictionaryField.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1_dictionaryField.hpp deleted file mode 100644 index de15749c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1_dictionaryField.hpp +++ /dev/null @@ -1,73 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionaryField.hpp" -#include "../types/service1.Value.hpp" -#include "../../__common_namespace/types/dictionary.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorDictionaryFieldDictionaryIntReset(std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); - -bool BuiltinVectorDictionaryFieldDictionaryIntWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); -bool BuiltinVectorDictionaryFieldDictionaryIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); -bool BuiltinVectorDictionaryFieldDictionaryIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void BuiltinVectorDictionaryFieldService1ValueReset(std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); - -bool BuiltinVectorDictionaryFieldService1ValueWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); -bool BuiltinVectorDictionaryFieldService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); -bool BuiltinVectorDictionaryFieldService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void BuiltinVectorDictionaryFieldStringReset(std::vector<::tl2::DictionaryField>& item); - -bool BuiltinVectorDictionaryFieldStringWriteJSON(std::ostream & s, const std::vector<::tl2::DictionaryField>& item); -bool BuiltinVectorDictionaryFieldStringRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item); -bool BuiltinVectorDictionaryFieldStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void DictionaryFieldDictionaryIntReset(::tl2::DictionaryField<::tl2::Dictionary>& item); - -bool DictionaryFieldDictionaryIntWriteJSON(std::ostream& s, const ::tl2::DictionaryField<::tl2::Dictionary>& item); -bool DictionaryFieldDictionaryIntRead(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::Dictionary>& item); -bool DictionaryFieldDictionaryIntWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::Dictionary>& item); -bool DictionaryFieldDictionaryIntReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::Dictionary>& item); -bool DictionaryFieldDictionaryIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::Dictionary>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void DictionaryFieldService1ValueReset(::tl2::DictionaryField<::tl2::service1::Value>& item); - -bool DictionaryFieldService1ValueWriteJSON(std::ostream& s, const ::tl2::DictionaryField<::tl2::service1::Value>& item); -bool DictionaryFieldService1ValueRead(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::service1::Value>& item); -bool DictionaryFieldService1ValueWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::service1::Value>& item); -bool DictionaryFieldService1ValueReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField<::tl2::service1::Value>& item); -bool DictionaryFieldService1ValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField<::tl2::service1::Value>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void DictionaryFieldStringReset(::tl2::DictionaryField& item); - -bool DictionaryFieldStringWriteJSON(std::ostream& s, const ::tl2::DictionaryField& item); -bool DictionaryFieldStringRead(::basictl::tl_istream & s, ::tl2::DictionaryField& item); -bool DictionaryFieldStringWrite(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item); -bool DictionaryFieldStringReadBoxed(::basictl::tl_istream & s, ::tl2::DictionaryField& item); -bool DictionaryFieldStringWriteBoxed(::basictl::tl_ostream & s, const ::tl2::DictionaryField& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1_vector.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1_vector.hpp deleted file mode 100644 index d7a8f828..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/headers/service1_vector.hpp +++ /dev/null @@ -1,44 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/vector.hpp" -#include "../types/service1.Value.hpp" -#include "../../__common_namespace/types/dictionary.hpp" -#include "../../__common_namespace/types/dictionaryField.hpp" - -namespace tl2 { namespace details { - -void VectorDictionaryFieldDictionaryIntReset(std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); - -bool VectorDictionaryFieldDictionaryIntWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); -bool VectorDictionaryFieldDictionaryIntRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); -bool VectorDictionaryFieldDictionaryIntWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); -bool VectorDictionaryFieldDictionaryIntReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); -bool VectorDictionaryFieldDictionaryIntWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::Dictionary>>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorDictionaryFieldService1ValueReset(std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); - -bool VectorDictionaryFieldService1ValueWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); -bool VectorDictionaryFieldService1ValueRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); -bool VectorDictionaryFieldService1ValueWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); -bool VectorDictionaryFieldService1ValueReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); -bool VectorDictionaryFieldService1ValueWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField<::tl2::service1::Value>>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorDictionaryFieldStringReset(std::vector<::tl2::DictionaryField>& item); - -bool VectorDictionaryFieldStringWriteJSON(std::ostream& s, const std::vector<::tl2::DictionaryField>& item); -bool VectorDictionaryFieldStringRead(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item); -bool VectorDictionaryFieldStringWrite(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item); -bool VectorDictionaryFieldStringReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::DictionaryField>& item); -bool VectorDictionaryFieldStringWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::DictionaryField>& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.Value.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.Value.hpp deleted file mode 100644 index b1d691a9..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.Value.hpp +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "service1.strvalueWithTime.hpp" -#include "service1.strvalue.hpp" -#include "service1.not_found.hpp" -#include "service1.longvalueWithTime.hpp" -#include "service1.longvalue.hpp" - - -namespace tl2 { namespace service1 { -struct Value { - std::variant<::tl2::service1::Not_found, ::tl2::service1::Strvalue, ::tl2::service1::Longvalue, ::tl2::service1::StrvalueWithTime, ::tl2::service1::LongvalueWithTime> value; - - bool is_not_found() const { return value.index() == 0; } - bool is_strvalue() const { return value.index() == 1; } - bool is_longvalue() const { return value.index() == 2; } - bool is_strvalueWithTime() const { return value.index() == 3; } - bool is_longvalueWithTime() const { return value.index() == 4; } - - void set_not_found() { value.emplace<0>(); } - - std::string_view tl_name() const; - uint32_t tl_tag() const; - - bool write_json(std::ostream& s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.keysStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.keysStat.hpp deleted file mode 100644 index ea21e592..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.keysStat.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/dictionary.hpp" - - -namespace tl2 { namespace service1 { -struct KeysStat { - int32_t start_time = 0; - ::tl2::Dictionary<::tl2::Dictionary> keys_tops{}; - - std::string_view tl_name() const { return "service1.keysStat"; } - uint32_t tl_tag() const { return 0xf0f6bc68; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const KeysStat& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.longvalue.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.longvalue.hpp deleted file mode 100644 index e7e51e2a..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.longvalue.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct Longvalue { - int64_t value = 0; - int32_t flags = 0; - - std::string_view tl_name() const { return "service1.longvalue"; } - uint32_t tl_tag() const { return 0x082e0945; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const Longvalue& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.longvalueWithTime.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.longvalueWithTime.hpp deleted file mode 100644 index 1d74f28b..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.longvalueWithTime.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct LongvalueWithTime { - int64_t value = 0; - int32_t flags = 0; - int32_t modificationTime = 0; - - std::string_view tl_name() const { return "service1.longvalueWithTime"; } - uint32_t tl_tag() const { return 0xa04606ec; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const LongvalueWithTime& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.not_found.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.not_found.hpp deleted file mode 100644 index 6a62c8cd..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.not_found.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct Not_found { - - std::string_view tl_name() const { return "service1.not_found"; } - uint32_t tl_tag() const { return 0x1d670b96; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const Not_found& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.strvalue.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.strvalue.hpp deleted file mode 100644 index b40e88bd..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.strvalue.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct Strvalue { - std::string value; - int32_t flags = 0; - - std::string_view tl_name() const { return "service1.strvalue"; } - uint32_t tl_tag() const { return 0x5faa0c52; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const Strvalue& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.strvalueWithTime.hpp b/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.strvalueWithTime.hpp deleted file mode 100644 index b1cc7dec..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service1/types/service1.strvalueWithTime.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service1 { -struct StrvalueWithTime { - std::string value; - int32_t flags = 0; - int32_t modificationTime = 0; - - std::string_view tl_name() const { return "service1.strvalueWithTime"; } - uint32_t tl_tag() const { return 0x98b1a484; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const StrvalueWithTime& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service1 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/service2/details.cpp deleted file mode 100644 index 55d89f24..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/details.cpp +++ /dev/null @@ -1,760 +0,0 @@ -#include "headers/service2_tuple.hpp" -#include "headers/service2.setObjectTtl.hpp" -#include "headers/service2.set.hpp" -#include "headers/service2.addOrIncrMany.hpp" -#include "headers/service2.deltaSet.hpp" -#include "headers/service2.objectId.hpp" -#include "headers/service2.counterSet.hpp" -#include "../__common_namespace/headers/true.hpp" -#include "../__common_namespace/headers/int.hpp" -#include "headers/service2_double.hpp" - - -void tl2::details::BuiltinTupleDoubleReset(std::vector& item) { - item.resize(0); -} - -bool tl2::details::BuiltinTupleDoubleWriteJSON(std::ostream & s, const std::vector& item, uint32_t nat_n) { - if (item.size() != nat_n) { - // TODO add exception - return false; - } - s << "["; - size_t index = 0; - for(const auto & el : item) { - s << el; - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinTupleDoubleRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { - // TODO - check length sanity - item.resize(nat_n); - for(auto && el : item) { - if (!s.double_read(el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinTupleDoubleWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { - if (item.size() != nat_n) - return s.set_error_sequence_length(); - for(const auto & el : item) { - if (!s.double_write(el)) { return false;} - } - return true; -} - -void tl2::details::BuiltinTupleService2CounterSetReset(std::vector<::tl2::service2::CounterSet>& item) { - item.resize(0); -} - -bool tl2::details::BuiltinTupleService2CounterSetWriteJSON(std::ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_n, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum) { - if (item.size() != nat_n) { - // TODO add exception - return false; - } - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::Service2CounterSetWriteJSON(s, el, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinTupleService2CounterSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_n, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum) { - // TODO - check length sanity - item.resize(nat_n); - for(auto && el : item) { - if (!::tl2::details::Service2CounterSetRead(s, el, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinTupleService2CounterSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_n, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum) { - if (item.size() != nat_n) - return s.set_error_sequence_length(); - for(const auto & el : item) { - if (!::tl2::details::Service2CounterSetWrite(s, el, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } - } - return true; -} - -void tl2::details::BuiltinTupleService2DeltaSetReset(std::vector<::tl2::service2::DeltaSet>& item) { - item.resize(0); -} - -bool tl2::details::BuiltinTupleService2DeltaSetWriteJSON(std::ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_n, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum) { - if (item.size() != nat_n) { - // TODO add exception - return false; - } - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::Service2DeltaSetWriteJSON(s, el, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinTupleService2DeltaSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_n, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum) { - // TODO - check length sanity - item.resize(nat_n); - for(auto && el : item) { - if (!::tl2::details::Service2DeltaSetRead(s, el, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinTupleService2DeltaSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_n, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum) { - if (item.size() != nat_n) - return s.set_error_sequence_length(); - for(const auto & el : item) { - if (!::tl2::details::Service2DeltaSetWrite(s, el, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } - } - return true; -} - -bool tl2::service2::AddOrIncrMany::write_json(std::ostream& s)const { - if (!::tl2::details::Service2AddOrIncrManyWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service2::AddOrIncrMany::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service2AddOrIncrManyRead(s, *this)) { return false; } - return true; -} - -bool tl2::service2::AddOrIncrMany::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service2AddOrIncrManyWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service2::AddOrIncrMany::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service2AddOrIncrManyReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service2::AddOrIncrMany::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service2AddOrIncrManyWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service2AddOrIncrManyReset(::tl2::service2::AddOrIncrMany& item) { - item.objectIdLength = 0; - item.intCountersNum = 0; - item.floatCountersNum = 0; - item.objectsNum = 0; - item.intCounters.clear(); - item.floatCounters.clear(); - item.deltas.clear(); -} - -bool tl2::details::Service2AddOrIncrManyWriteJSON(std::ostream& s, const ::tl2::service2::AddOrIncrMany& item) { - auto add_comma = false; - s << "{"; - if (item.objectIdLength != 0) { - add_comma = true; - s << "\"objectIdLength\":"; - s << item.objectIdLength; - } - if (item.intCountersNum != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"intCountersNum\":"; - s << item.intCountersNum; - } - if (item.floatCountersNum != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"floatCountersNum\":"; - s << item.floatCountersNum; - } - if (item.objectsNum != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"objectsNum\":"; - s << item.objectsNum; - } - if ((item.intCounters.size() != 0) || (item.intCountersNum != 0)) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"intCounters\":"; - if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.intCounters, item.intCountersNum)) { return false; } - } - if ((item.floatCounters.size() != 0) || (item.floatCountersNum != 0)) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"floatCounters\":"; - if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.floatCounters, item.floatCountersNum)) { return false; } - } - if ((item.deltas.size() != 0) || (item.objectIdLength != 0)) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"deltas\":"; - if (!::tl2::details::BuiltinTupleService2DeltaSetWriteJSON(s, item.deltas, item.objectsNum, item.objectIdLength, item.intCountersNum, item.floatCountersNum)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service2AddOrIncrManyRead(::basictl::tl_istream & s, ::tl2::service2::AddOrIncrMany& item) { - if (!s.nat_read(item.objectIdLength)) { return false; } - if (!s.nat_read(item.intCountersNum)) { return false; } - if (!s.nat_read(item.floatCountersNum)) { return false; } - if (!s.nat_read(item.objectsNum)) { return false; } - if (!::tl2::details::BuiltinTupleIntRead(s, item.intCounters, item.intCountersNum)) { return false; } - if (!::tl2::details::BuiltinTupleIntRead(s, item.floatCounters, item.floatCountersNum)) { return false; } - if (!::tl2::details::BuiltinTupleService2DeltaSetRead(s, item.deltas, item.objectsNum, item.objectIdLength, item.intCountersNum, item.floatCountersNum)) { return false; } - return true; -} - -bool tl2::details::Service2AddOrIncrManyWrite(::basictl::tl_ostream & s, const ::tl2::service2::AddOrIncrMany& item) { - if (!s.nat_write(item.objectIdLength)) { return false;} - if (!s.nat_write(item.intCountersNum)) { return false;} - if (!s.nat_write(item.floatCountersNum)) { return false;} - if (!s.nat_write(item.objectsNum)) { return false;} - if (!::tl2::details::BuiltinTupleIntWrite(s, item.intCounters, item.intCountersNum)) { return false; } - if (!::tl2::details::BuiltinTupleIntWrite(s, item.floatCounters, item.floatCountersNum)) { return false; } - if (!::tl2::details::BuiltinTupleService2DeltaSetWrite(s, item.deltas, item.objectsNum, item.objectIdLength, item.intCountersNum, item.floatCountersNum)) { return false; } - return true; -} - -bool tl2::details::Service2AddOrIncrManyReadBoxed(::basictl::tl_istream & s, ::tl2::service2::AddOrIncrMany& item) { - if (!s.nat_read_exact_tag(0x5aa52489)) { return false; } - return tl2::details::Service2AddOrIncrManyRead(s, item); -} - -bool tl2::details::Service2AddOrIncrManyWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::AddOrIncrMany& item) { - if (!s.nat_write(0x5aa52489)) { return false; } - return tl2::details::Service2AddOrIncrManyWrite(s, item); -} - -bool tl2::details::Service2AddOrIncrManyReadResult(::basictl::tl_istream & s, tl2::service2::AddOrIncrMany& item, std::vector<::tl2::service2::CounterSet>& result) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false;} - if (!::tl2::details::BuiltinTupleService2CounterSetRead(s, result, item.objectsNum, item.intCountersNum, item.floatCountersNum)) { return false; } - return true; -} -bool tl2::details::Service2AddOrIncrManyWriteResult(::basictl::tl_ostream & s, tl2::service2::AddOrIncrMany& item, std::vector<::tl2::service2::CounterSet>& result) { - if (!s.nat_write(0x9770768a)) { return false; } - if (!::tl2::details::BuiltinTupleService2CounterSetWrite(s, result, item.objectsNum, item.intCountersNum, item.floatCountersNum)) { return false; } - return true; -} - -bool tl2::service2::AddOrIncrMany::read_result(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet> & result) { - return tl2::details::Service2AddOrIncrManyReadResult(s, *this, result); -} -bool tl2::service2::AddOrIncrMany::write_result(::basictl::tl_ostream & s, std::vector<::tl2::service2::CounterSet> & result) { - return tl2::details::Service2AddOrIncrManyWriteResult(s, *this, result); -} - -bool tl2::service2::CounterSet::write_json(std::ostream& s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { - if (!::tl2::details::Service2CounterSetWriteJSON(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } - return true; -} - -bool tl2::service2::CounterSet::read(::basictl::tl_istream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - if (!::tl2::details::Service2CounterSetRead(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } - return true; -} - -bool tl2::service2::CounterSet::write(::basictl::tl_ostream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { - if (!::tl2::details::Service2CounterSetWrite(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } - return true; -} - -bool tl2::service2::CounterSet::read_boxed(::basictl::tl_istream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - if (!::tl2::details::Service2CounterSetReadBoxed(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } - return true; -} - -bool tl2::service2::CounterSet::write_boxed(::basictl::tl_ostream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { - if (!::tl2::details::Service2CounterSetWriteBoxed(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } - return true; -} - -void tl2::details::Service2CounterSetReset(::tl2::service2::CounterSet& item) { - item.intCounters.clear(); - item.floatCounters.clear(); -} - -bool tl2::details::Service2CounterSetWriteJSON(std::ostream& s, const ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - auto add_comma = false; - s << "{"; - if ((item.intCounters.size() != 0) || (nat_intCountersNum != 0)) { - add_comma = true; - s << "\"intCounters\":"; - if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.intCounters, nat_intCountersNum)) { return false; } - } - if ((item.floatCounters.size() != 0) || (nat_floatCountersNum != 0)) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"floatCounters\":"; - if (!::tl2::details::BuiltinTupleDoubleWriteJSON(s, item.floatCounters, nat_floatCountersNum)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service2CounterSetRead(::basictl::tl_istream & s, ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - if (!::tl2::details::BuiltinTupleIntRead(s, item.intCounters, nat_intCountersNum)) { return false; } - if (!::tl2::details::BuiltinTupleDoubleRead(s, item.floatCounters, nat_floatCountersNum)) { return false; } - return true; -} - -bool tl2::details::Service2CounterSetWrite(::basictl::tl_ostream & s, const ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - if (!::tl2::details::BuiltinTupleIntWrite(s, item.intCounters, nat_intCountersNum)) { return false; } - if (!::tl2::details::BuiltinTupleDoubleWrite(s, item.floatCounters, nat_floatCountersNum)) { return false; } - return true; -} - -bool tl2::details::Service2CounterSetReadBoxed(::basictl::tl_istream & s, ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - if (!s.nat_read_exact_tag(0xf5403fd9)) { return false; } - return tl2::details::Service2CounterSetRead(s, item, nat_intCountersNum, nat_floatCountersNum); -} - -bool tl2::details::Service2CounterSetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - if (!s.nat_write(0xf5403fd9)) { return false; } - return tl2::details::Service2CounterSetWrite(s, item, nat_intCountersNum, nat_floatCountersNum); -} - -bool tl2::service2::DeltaSet::write_json(std::ostream& s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { - if (!::tl2::details::Service2DeltaSetWriteJSON(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } - return true; -} - -bool tl2::service2::DeltaSet::read(::basictl::tl_istream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - if (!::tl2::details::Service2DeltaSetRead(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } - return true; -} - -bool tl2::service2::DeltaSet::write(::basictl::tl_ostream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { - if (!::tl2::details::Service2DeltaSetWrite(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } - return true; -} - -bool tl2::service2::DeltaSet::read_boxed(::basictl::tl_istream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - if (!::tl2::details::Service2DeltaSetReadBoxed(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } - return true; -} - -bool tl2::service2::DeltaSet::write_boxed(::basictl::tl_ostream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { - if (!::tl2::details::Service2DeltaSetWriteBoxed(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } - return true; -} - -void tl2::details::Service2DeltaSetReset(::tl2::service2::DeltaSet& item) { - ::tl2::details::Service2ObjectIdReset(item.id); - ::tl2::details::Service2CounterSetReset(item.counters); -} - -bool tl2::details::Service2DeltaSetWriteJSON(std::ostream& s, const ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - auto add_comma = false; - s << "{"; - add_comma = true; - s << "\"id\":"; - if (!::tl2::details::Service2ObjectIdWriteJSON(s, item.id, nat_objectIdLength)) { return false; } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"counters\":"; - if (!::tl2::details::Service2CounterSetWriteJSON(s, item.counters, nat_intCountersNum, nat_floatCountersNum)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::Service2DeltaSetRead(::basictl::tl_istream & s, ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - if (!::tl2::details::Service2ObjectIdRead(s, item.id, nat_objectIdLength)) { return false; } - if (!::tl2::details::Service2CounterSetRead(s, item.counters, nat_intCountersNum, nat_floatCountersNum)) { return false; } - return true; -} - -bool tl2::details::Service2DeltaSetWrite(::basictl::tl_ostream & s, const ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - if (!::tl2::details::Service2ObjectIdWrite(s, item.id, nat_objectIdLength)) { return false; } - if (!::tl2::details::Service2CounterSetWrite(s, item.counters, nat_intCountersNum, nat_floatCountersNum)) { return false; } - return true; -} - -bool tl2::details::Service2DeltaSetReadBoxed(::basictl::tl_istream & s, ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - if (!s.nat_read_exact_tag(0xbf49abc2)) { return false; } - return tl2::details::Service2DeltaSetRead(s, item, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum); -} - -bool tl2::details::Service2DeltaSetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { - if (!s.nat_write(0xbf49abc2)) { return false; } - return tl2::details::Service2DeltaSetWrite(s, item, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum); -} - -bool tl2::service2::ObjectId::write_json(std::ostream& s, uint32_t nat_objectIdLength)const { - if (!::tl2::details::Service2ObjectIdWriteJSON(s, *this, nat_objectIdLength)) { return false; } - return true; -} - -bool tl2::service2::ObjectId::read(::basictl::tl_istream & s, uint32_t nat_objectIdLength) { - if (!::tl2::details::Service2ObjectIdRead(s, *this, nat_objectIdLength)) { return false; } - return true; -} - -bool tl2::service2::ObjectId::write(::basictl::tl_ostream & s, uint32_t nat_objectIdLength)const { - if (!::tl2::details::Service2ObjectIdWrite(s, *this, nat_objectIdLength)) { return false; } - return true; -} - -bool tl2::service2::ObjectId::read_boxed(::basictl::tl_istream & s, uint32_t nat_objectIdLength) { - if (!::tl2::details::Service2ObjectIdReadBoxed(s, *this, nat_objectIdLength)) { return false; } - return true; -} - -bool tl2::service2::ObjectId::write_boxed(::basictl::tl_ostream & s, uint32_t nat_objectIdLength)const { - if (!::tl2::details::Service2ObjectIdWriteBoxed(s, *this, nat_objectIdLength)) { return false; } - return true; -} - -void tl2::details::Service2ObjectIdReset(::tl2::service2::ObjectId& item) { - item.id.clear(); -} - -bool tl2::details::Service2ObjectIdWriteJSON(std::ostream& s, const ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength) { - s << "{"; - if ((item.id.size() != 0) || (nat_objectIdLength != 0)) { - s << "\"id\":"; - if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.id, nat_objectIdLength)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service2ObjectIdRead(::basictl::tl_istream & s, ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength) { - if (!::tl2::details::BuiltinTupleIntRead(s, item.id, nat_objectIdLength)) { return false; } - return true; -} - -bool tl2::details::Service2ObjectIdWrite(::basictl::tl_ostream & s, const ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength) { - if (!::tl2::details::BuiltinTupleIntWrite(s, item.id, nat_objectIdLength)) { return false; } - return true; -} - -bool tl2::details::Service2ObjectIdReadBoxed(::basictl::tl_istream & s, ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength) { - if (!s.nat_read_exact_tag(0xaa0af282)) { return false; } - return tl2::details::Service2ObjectIdRead(s, item, nat_objectIdLength); -} - -bool tl2::details::Service2ObjectIdWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength) { - if (!s.nat_write(0xaa0af282)) { return false; } - return tl2::details::Service2ObjectIdWrite(s, item, nat_objectIdLength); -} - -bool tl2::service2::Set::write_json(std::ostream& s)const { - if (!::tl2::details::Service2SetWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service2::Set::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service2SetRead(s, *this)) { return false; } - return true; -} - -bool tl2::service2::Set::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service2SetWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service2::Set::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service2SetReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service2::Set::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service2SetWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service2SetReset(::tl2::service2::Set& item) { - item.objectIdLength = 0; - item.intCountersNum = 0; - item.floatCountersNum = 0; - item.intCounters.clear(); - item.floatCounters.clear(); - ::tl2::details::Service2DeltaSetReset(item.newValues); -} - -bool tl2::details::Service2SetWriteJSON(std::ostream& s, const ::tl2::service2::Set& item) { - auto add_comma = false; - s << "{"; - if (item.objectIdLength != 0) { - add_comma = true; - s << "\"objectIdLength\":"; - s << item.objectIdLength; - } - if (item.intCountersNum != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"intCountersNum\":"; - s << item.intCountersNum; - } - if (item.floatCountersNum != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"floatCountersNum\":"; - s << item.floatCountersNum; - } - if ((item.intCounters.size() != 0) || (item.intCountersNum != 0)) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"intCounters\":"; - if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.intCounters, item.intCountersNum)) { return false; } - } - if ((item.floatCounters.size() != 0) || (item.floatCountersNum != 0)) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"floatCounters\":"; - if (!::tl2::details::BuiltinTupleIntWriteJSON(s, item.floatCounters, item.floatCountersNum)) { return false; } - } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"newValues\":"; - if (!::tl2::details::Service2DeltaSetWriteJSON(s, item.newValues, item.objectIdLength, item.intCountersNum, item.floatCountersNum)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::Service2SetRead(::basictl::tl_istream & s, ::tl2::service2::Set& item) { - if (!s.nat_read(item.objectIdLength)) { return false; } - if (!s.nat_read(item.intCountersNum)) { return false; } - if (!s.nat_read(item.floatCountersNum)) { return false; } - if (!::tl2::details::BuiltinTupleIntRead(s, item.intCounters, item.intCountersNum)) { return false; } - if (!::tl2::details::BuiltinTupleIntRead(s, item.floatCounters, item.floatCountersNum)) { return false; } - if (!::tl2::details::Service2DeltaSetRead(s, item.newValues, item.objectIdLength, item.intCountersNum, item.floatCountersNum)) { return false; } - return true; -} - -bool tl2::details::Service2SetWrite(::basictl::tl_ostream & s, const ::tl2::service2::Set& item) { - if (!s.nat_write(item.objectIdLength)) { return false;} - if (!s.nat_write(item.intCountersNum)) { return false;} - if (!s.nat_write(item.floatCountersNum)) { return false;} - if (!::tl2::details::BuiltinTupleIntWrite(s, item.intCounters, item.intCountersNum)) { return false; } - if (!::tl2::details::BuiltinTupleIntWrite(s, item.floatCounters, item.floatCountersNum)) { return false; } - if (!::tl2::details::Service2DeltaSetWrite(s, item.newValues, item.objectIdLength, item.intCountersNum, item.floatCountersNum)) { return false; } - return true; -} - -bool tl2::details::Service2SetReadBoxed(::basictl::tl_istream & s, ::tl2::service2::Set& item) { - if (!s.nat_read_exact_tag(0x0d31f63d)) { return false; } - return tl2::details::Service2SetRead(s, item); -} - -bool tl2::details::Service2SetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::Set& item) { - if (!s.nat_write(0x0d31f63d)) { return false; } - return tl2::details::Service2SetWrite(s, item); -} - -bool tl2::details::Service2SetReadResult(::basictl::tl_istream & s, tl2::service2::Set& item, ::tl2::True& result) { - if (!::tl2::details::TrueReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service2SetWriteResult(::basictl::tl_ostream & s, tl2::service2::Set& item, ::tl2::True& result) { - if (!::tl2::details::TrueWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service2::Set::read_result(::basictl::tl_istream & s, ::tl2::True & result) { - return tl2::details::Service2SetReadResult(s, *this, result); -} -bool tl2::service2::Set::write_result(::basictl::tl_ostream & s, ::tl2::True & result) { - return tl2::details::Service2SetWriteResult(s, *this, result); -} - -bool tl2::service2::SetObjectTtl::write_json(std::ostream& s)const { - if (!::tl2::details::Service2SetObjectTtlWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service2::SetObjectTtl::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service2SetObjectTtlRead(s, *this)) { return false; } - return true; -} - -bool tl2::service2::SetObjectTtl::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service2SetObjectTtlWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service2::SetObjectTtl::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service2SetObjectTtlReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service2::SetObjectTtl::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service2SetObjectTtlWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service2SetObjectTtlReset(::tl2::service2::SetObjectTtl& item) { - item.objectIdLength = 0; - ::tl2::details::Service2ObjectIdReset(item.objectId); - item.ttl = 0; -} - -bool tl2::details::Service2SetObjectTtlWriteJSON(std::ostream& s, const ::tl2::service2::SetObjectTtl& item) { - auto add_comma = false; - s << "{"; - if (item.objectIdLength != 0) { - add_comma = true; - s << "\"objectIdLength\":"; - s << item.objectIdLength; - } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"objectId\":"; - if (!::tl2::details::Service2ObjectIdWriteJSON(s, item.objectId, item.objectIdLength)) { return false; } - if (item.ttl != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"ttl\":"; - s << item.ttl; - } - s << "}"; - return true; -} - -bool tl2::details::Service2SetObjectTtlRead(::basictl::tl_istream & s, ::tl2::service2::SetObjectTtl& item) { - if (!s.nat_read(item.objectIdLength)) { return false; } - if (!::tl2::details::Service2ObjectIdRead(s, item.objectId, item.objectIdLength)) { return false; } - if (!s.int_read(item.ttl)) { return false; } - return true; -} - -bool tl2::details::Service2SetObjectTtlWrite(::basictl::tl_ostream & s, const ::tl2::service2::SetObjectTtl& item) { - if (!s.nat_write(item.objectIdLength)) { return false;} - if (!::tl2::details::Service2ObjectIdWrite(s, item.objectId, item.objectIdLength)) { return false; } - if (!s.int_write(item.ttl)) { return false;} - return true; -} - -bool tl2::details::Service2SetObjectTtlReadBoxed(::basictl::tl_istream & s, ::tl2::service2::SetObjectTtl& item) { - if (!s.nat_read_exact_tag(0x6f98f025)) { return false; } - return tl2::details::Service2SetObjectTtlRead(s, item); -} - -bool tl2::details::Service2SetObjectTtlWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::SetObjectTtl& item) { - if (!s.nat_write(0x6f98f025)) { return false; } - return tl2::details::Service2SetObjectTtlWrite(s, item); -} - -bool tl2::details::Service2SetObjectTtlReadResult(::basictl::tl_istream & s, tl2::service2::SetObjectTtl& item, ::tl2::True& result) { - if (!::tl2::details::TrueReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service2SetObjectTtlWriteResult(::basictl::tl_ostream & s, tl2::service2::SetObjectTtl& item, ::tl2::True& result) { - if (!::tl2::details::TrueWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service2::SetObjectTtl::read_result(::basictl::tl_istream & s, ::tl2::True & result) { - return tl2::details::Service2SetObjectTtlReadResult(s, *this, result); -} -bool tl2::service2::SetObjectTtl::write_result(::basictl::tl_ostream & s, ::tl2::True & result) { - return tl2::details::Service2SetObjectTtlWriteResult(s, *this, result); -} - -void tl2::details::TupleDoubleReset(std::vector& item) { - item.clear(); -} - -bool tl2::details::TupleDoubleWriteJSON(std::ostream& s, const std::vector& item, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleDoubleWriteJSON(s, item, nat_n)) { return false; } - return true; -} - -bool tl2::details::TupleDoubleRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleDoubleRead(s, item, nat_n)) { return false; } - return true; -} - -bool tl2::details::TupleDoubleWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleDoubleWrite(s, item, nat_n)) { return false; } - return true; -} - -bool tl2::details::TupleDoubleReadBoxed(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false; } - return tl2::details::TupleDoubleRead(s, item, nat_n); -} - -bool tl2::details::TupleDoubleWriteBoxed(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n) { - if (!s.nat_write(0x9770768a)) { return false; } - return tl2::details::TupleDoubleWrite(s, item, nat_n); -} - -void tl2::details::TupleService2DeltaSetReset(std::vector<::tl2::service2::DeltaSet>& item) { - item.clear(); -} - -bool tl2::details::TupleService2DeltaSetWriteJSON(std::ostream& s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleService2DeltaSetWriteJSON(s, item, nat_n, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } - return true; -} - -bool tl2::details::TupleService2DeltaSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleService2DeltaSetRead(s, item, nat_n, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } - return true; -} - -bool tl2::details::TupleService2DeltaSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { - if (!::tl2::details::BuiltinTupleService2DeltaSetWrite(s, item, nat_n, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum)) { return false; } - return true; -} - -bool tl2::details::TupleService2DeltaSetReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { - if (!s.nat_read_exact_tag(0x9770768a)) { return false; } - return tl2::details::TupleService2DeltaSetRead(s, item, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum, nat_n); -} - -bool tl2::details::TupleService2DeltaSetWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n) { - if (!s.nat_write(0x9770768a)) { return false; } - return tl2::details::TupleService2DeltaSetWrite(s, item, nat_tobjectIdLength, nat_tintCountersNum, nat_tfloatCountersNum, nat_n); -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.addOrIncrMany.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.addOrIncrMany.hpp deleted file mode 100644 index e55a5dc8..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.addOrIncrMany.hpp +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service2.deltaSet.hpp" -#include "../types/service2.counterSet.hpp" - - -namespace tl2 { namespace service2 { -struct AddOrIncrMany { - // tl magic for function - static const uint32_t MAGIC = 0x5aa52489; - - uint32_t objectIdLength = 0; - uint32_t intCountersNum = 0; - uint32_t floatCountersNum = 0; - uint32_t objectsNum = 0; - std::vector intCounters; - std::vector floatCounters; - std::vector<::tl2::service2::DeltaSet> deltas; - - std::string_view tl_name() const { return "service2.addOrIncrMany"; } - uint32_t tl_tag() const { return 0x5aa52489; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet> & result); - bool write_result(::basictl::tl_ostream & s, std::vector<::tl2::service2::CounterSet> & result); - - friend std::ostream& operator<<(std::ostream& s, const AddOrIncrMany& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.set.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.set.hpp deleted file mode 100644 index cd4da684..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.set.hpp +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service2.deltaSet.hpp" -#include "../../__common_namespace/types/true.hpp" - - -namespace tl2 { namespace service2 { -struct Set { - // tl magic for function - static const uint32_t MAGIC = 0x0d31f63d; - - uint32_t objectIdLength = 0; - uint32_t intCountersNum = 0; - uint32_t floatCountersNum = 0; - std::vector intCounters; - std::vector floatCounters; - ::tl2::service2::DeltaSet newValues{}; - - std::string_view tl_name() const { return "service2.set"; } - uint32_t tl_tag() const { return 0x0d31f63d; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::True & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::True & result); - - friend std::ostream& operator<<(std::ostream& s, const Set& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.setObjectTtl.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.setObjectTtl.hpp deleted file mode 100644 index 07ca7fb4..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/functions/service2.setObjectTtl.hpp +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service2.objectId.hpp" -#include "../../__common_namespace/types/true.hpp" - - -namespace tl2 { namespace service2 { -struct SetObjectTtl { - // tl magic for function - static const uint32_t MAGIC = 0x6f98f025; - - uint32_t objectIdLength = 0; - ::tl2::service2::ObjectId objectId{}; - int32_t ttl = 0; - - std::string_view tl_name() const { return "service2.setObjectTtl"; } - uint32_t tl_tag() const { return 0x6f98f025; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::True & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::True & result); - - friend std::ostream& operator<<(std::ostream& s, const SetObjectTtl& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.addOrIncrMany.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.addOrIncrMany.hpp deleted file mode 100644 index 482f2cf2..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.addOrIncrMany.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service2.addOrIncrMany.hpp" -#include "../types/service2.counterSet.hpp" - -namespace tl2 { namespace details { - -void Service2AddOrIncrManyReset(::tl2::service2::AddOrIncrMany& item); - -bool Service2AddOrIncrManyWriteJSON(std::ostream& s, const ::tl2::service2::AddOrIncrMany& item); -bool Service2AddOrIncrManyRead(::basictl::tl_istream & s, ::tl2::service2::AddOrIncrMany& item); -bool Service2AddOrIncrManyWrite(::basictl::tl_ostream & s, const ::tl2::service2::AddOrIncrMany& item); -bool Service2AddOrIncrManyReadBoxed(::basictl::tl_istream & s, ::tl2::service2::AddOrIncrMany& item); -bool Service2AddOrIncrManyWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::AddOrIncrMany& item); - -bool Service2AddOrIncrManyReadResult(::basictl::tl_istream & s, ::tl2::service2::AddOrIncrMany& item, std::vector<::tl2::service2::CounterSet>& result); -bool Service2AddOrIncrManyWriteResult(::basictl::tl_ostream & s, ::tl2::service2::AddOrIncrMany& item, std::vector<::tl2::service2::CounterSet>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.counterSet.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.counterSet.hpp deleted file mode 100644 index 33d6a679..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.counterSet.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service2.counterSet.hpp" - -namespace tl2 { namespace details { - -void BuiltinTupleService2CounterSetReset(std::vector<::tl2::service2::CounterSet>& item); - -bool BuiltinTupleService2CounterSetWriteJSON(std::ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_n, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum); -bool BuiltinTupleService2CounterSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_n, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum); -bool BuiltinTupleService2CounterSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::CounterSet>& item, uint32_t nat_n, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void Service2CounterSetReset(::tl2::service2::CounterSet& item); - -bool Service2CounterSetWriteJSON(std::ostream& s, const ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); -bool Service2CounterSetRead(::basictl::tl_istream & s, ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); -bool Service2CounterSetWrite(::basictl::tl_ostream & s, const ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); -bool Service2CounterSetReadBoxed(::basictl::tl_istream & s, ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); -bool Service2CounterSetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::CounterSet& item, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.deltaSet.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.deltaSet.hpp deleted file mode 100644 index 7707faca..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.deltaSet.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service2.deltaSet.hpp" - -namespace tl2 { namespace details { - -void BuiltinTupleService2DeltaSetReset(std::vector<::tl2::service2::DeltaSet>& item); - -bool BuiltinTupleService2DeltaSetWriteJSON(std::ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_n, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum); -bool BuiltinTupleService2DeltaSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_n, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum); -bool BuiltinTupleService2DeltaSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_n, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void Service2DeltaSetReset(::tl2::service2::DeltaSet& item); - -bool Service2DeltaSetWriteJSON(std::ostream& s, const ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); -bool Service2DeltaSetRead(::basictl::tl_istream & s, ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); -bool Service2DeltaSetWrite(::basictl::tl_ostream & s, const ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); -bool Service2DeltaSetReadBoxed(::basictl::tl_istream & s, ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); -bool Service2DeltaSetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::DeltaSet& item, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.objectId.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.objectId.hpp deleted file mode 100644 index f0c0b872..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.objectId.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service2.objectId.hpp" - -namespace tl2 { namespace details { - -void Service2ObjectIdReset(::tl2::service2::ObjectId& item); - -bool Service2ObjectIdWriteJSON(std::ostream& s, const ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength); -bool Service2ObjectIdRead(::basictl::tl_istream & s, ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength); -bool Service2ObjectIdWrite(::basictl::tl_ostream & s, const ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength); -bool Service2ObjectIdReadBoxed(::basictl::tl_istream & s, ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength); -bool Service2ObjectIdWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::ObjectId& item, uint32_t nat_objectIdLength); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.set.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.set.hpp deleted file mode 100644 index 4ba50f15..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.set.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service2.set.hpp" -#include "../../__common_namespace/types/true.hpp" - -namespace tl2 { namespace details { - -void Service2SetReset(::tl2::service2::Set& item); - -bool Service2SetWriteJSON(std::ostream& s, const ::tl2::service2::Set& item); -bool Service2SetRead(::basictl::tl_istream & s, ::tl2::service2::Set& item); -bool Service2SetWrite(::basictl::tl_ostream & s, const ::tl2::service2::Set& item); -bool Service2SetReadBoxed(::basictl::tl_istream & s, ::tl2::service2::Set& item); -bool Service2SetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::Set& item); - -bool Service2SetReadResult(::basictl::tl_istream & s, ::tl2::service2::Set& item, ::tl2::True& result); -bool Service2SetWriteResult(::basictl::tl_ostream & s, ::tl2::service2::Set& item, ::tl2::True& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.setObjectTtl.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.setObjectTtl.hpp deleted file mode 100644 index 5b9d2db6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2.setObjectTtl.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service2.setObjectTtl.hpp" -#include "../../__common_namespace/types/true.hpp" - -namespace tl2 { namespace details { - -void Service2SetObjectTtlReset(::tl2::service2::SetObjectTtl& item); - -bool Service2SetObjectTtlWriteJSON(std::ostream& s, const ::tl2::service2::SetObjectTtl& item); -bool Service2SetObjectTtlRead(::basictl::tl_istream & s, ::tl2::service2::SetObjectTtl& item); -bool Service2SetObjectTtlWrite(::basictl::tl_ostream & s, const ::tl2::service2::SetObjectTtl& item); -bool Service2SetObjectTtlReadBoxed(::basictl::tl_istream & s, ::tl2::service2::SetObjectTtl& item); -bool Service2SetObjectTtlWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service2::SetObjectTtl& item); - -bool Service2SetObjectTtlReadResult(::basictl::tl_istream & s, ::tl2::service2::SetObjectTtl& item, ::tl2::True& result); -bool Service2SetObjectTtlWriteResult(::basictl::tl_ostream & s, ::tl2::service2::SetObjectTtl& item, ::tl2::True& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2_double.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2_double.hpp deleted file mode 100644 index c941b95e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2_double.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/double.hpp" - -namespace tl2 { namespace details { - -void BuiltinTupleDoubleReset(std::vector& item); - -bool BuiltinTupleDoubleWriteJSON(std::ostream & s, const std::vector& item, uint32_t nat_n); -bool BuiltinTupleDoubleRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); -bool BuiltinTupleDoubleWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2_tuple.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2_tuple.hpp deleted file mode 100644 index 684dcdea..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/headers/service2_tuple.hpp +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/tuple.hpp" -#include "../types/service2.deltaSet.hpp" -#include "../../__common_namespace/types/double.hpp" - -namespace tl2 { namespace details { - -void TupleDoubleReset(std::vector& item); - -bool TupleDoubleWriteJSON(std::ostream& s, const std::vector& item, uint32_t nat_n); -bool TupleDoubleRead(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); -bool TupleDoubleWrite(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); -bool TupleDoubleReadBoxed(::basictl::tl_istream & s, std::vector& item, uint32_t nat_n); -bool TupleDoubleWriteBoxed(::basictl::tl_ostream & s, const std::vector& item, uint32_t nat_n); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void TupleService2DeltaSetReset(std::vector<::tl2::service2::DeltaSet>& item); - -bool TupleService2DeltaSetWriteJSON(std::ostream& s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); -bool TupleService2DeltaSetRead(::basictl::tl_istream & s, std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); -bool TupleService2DeltaSetWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); -bool TupleService2DeltaSetReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); -bool TupleService2DeltaSetWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service2::DeltaSet>& item, uint32_t nat_tobjectIdLength, uint32_t nat_tintCountersNum, uint32_t nat_tfloatCountersNum, uint32_t nat_n); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/types/service2.counterSet.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/types/service2.counterSet.hpp deleted file mode 100644 index 76c5f843..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/types/service2.counterSet.hpp +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service2 { -struct CounterSet { - std::vector intCounters; - std::vector floatCounters; - - std::string_view tl_name() const { return "service2.counterSet"; } - uint32_t tl_tag() const { return 0xf5403fd9; } - - bool write_json(std::ostream& s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const; - - bool read(::basictl::tl_istream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); - bool write(::basictl::tl_ostream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const; - - bool read_boxed(::basictl::tl_istream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); - bool write_boxed(::basictl::tl_ostream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const; -}; - -}} // namespace tl2::service2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/types/service2.deltaSet.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/types/service2.deltaSet.hpp deleted file mode 100644 index af30c27d..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/types/service2.deltaSet.hpp +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "service2.objectId.hpp" -#include "service2.counterSet.hpp" - - -namespace tl2 { namespace service2 { -struct DeltaSet { - ::tl2::service2::ObjectId id{}; - ::tl2::service2::CounterSet counters{}; - - std::string_view tl_name() const { return "service2.deltaSet"; } - uint32_t tl_tag() const { return 0xbf49abc2; } - - bool write_json(std::ostream& s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const; - - bool read(::basictl::tl_istream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); - bool write(::basictl::tl_ostream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const; - - bool read_boxed(::basictl::tl_istream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum); - bool write_boxed(::basictl::tl_ostream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const; -}; - -}} // namespace tl2::service2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service2/types/service2.objectId.hpp b/internal/tlcodegen/test/gen/schema_cpp/service2/types/service2.objectId.hpp deleted file mode 100644 index bb2c8794..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service2/types/service2.objectId.hpp +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service2 { -struct ObjectId { - std::vector id; - - std::string_view tl_name() const { return "service2.objectId"; } - uint32_t tl_tag() const { return 0xaa0af282; } - - bool write_json(std::ostream& s, uint32_t nat_objectIdLength)const; - - bool read(::basictl::tl_istream & s, uint32_t nat_objectIdLength); - bool write(::basictl::tl_ostream & s, uint32_t nat_objectIdLength)const; - - bool read_boxed(::basictl::tl_istream & s, uint32_t nat_objectIdLength); - bool write_boxed(::basictl::tl_ostream & s, uint32_t nat_objectIdLength)const; -}; - -}} // namespace tl2::service2 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/service3/details.cpp deleted file mode 100644 index 013f3c4f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/details.cpp +++ /dev/null @@ -1,2548 +0,0 @@ -#include "headers/service3_vector.hpp" -#include "headers/service3.setLimits.hpp" -#include "headers/service3.setLastVisitTimestamp.hpp" -#include "headers/service3.restoreProduct.hpp" -#include "headers/service3.restoreGroupedProducts.hpp" -#include "headers/service3.restoreAllProducts.hpp" -#include "headers/service3.productStatsOld.hpp" -#include "headers/service3.product.hpp" -#include "headers/service3.limits.hpp" -#include "headers/service3.groupSizeLimit.hpp" -#include "headers/service3.groupCountLimit.hpp" -#include "headers/service3.getScheduledProducts.hpp" -#include "headers/service3.getProducts.hpp" -#include "headers/service3.getProductStats.hpp" -#include "headers/service3.getLimits.hpp" -#include "headers/service3.getLastVisitTimestamp.hpp" -#include "headers/service3.deleteProduct.hpp" -#include "headers/service3.deleteGroupedProducts.hpp" -#include "headers/service3.deleteAllProducts.hpp" -#include "headers/service3.createProduct.hpp" -#include "../__common_namespace/headers/int.hpp" -#include "headers/service3_boolStat.hpp" -#include "../__common_namespace/headers/Bool.hpp" - - -bool tl2::BoolStat::write_json(std::ostream& s)const { - if (!::tl2::details::BoolStatWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::BoolStat::read(::basictl::tl_istream & s) { - if (!::tl2::details::BoolStatRead(s, *this)) { return false; } - return true; -} - -bool tl2::BoolStat::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoolStatWrite(s, *this)) { return false; } - return true; -} - -bool tl2::BoolStat::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::BoolStatReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::BoolStat::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::BoolStatWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::BoolStatReset(::tl2::BoolStat& item) { - item.statTrue = 0; - item.statFalse = 0; - item.statUnknown = 0; -} - -bool tl2::details::BoolStatWriteJSON(std::ostream& s, const ::tl2::BoolStat& item) { - auto add_comma = false; - s << "{"; - if (item.statTrue != 0) { - add_comma = true; - s << "\"statTrue\":"; - s << item.statTrue; - } - if (item.statFalse != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"statFalse\":"; - s << item.statFalse; - } - if (item.statUnknown != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"statUnknown\":"; - s << item.statUnknown; - } - s << "}"; - return true; -} - -bool tl2::details::BoolStatRead(::basictl::tl_istream & s, ::tl2::BoolStat& item) { - if (!s.int_read(item.statTrue)) { return false; } - if (!s.int_read(item.statFalse)) { return false; } - if (!s.int_read(item.statUnknown)) { return false; } - return true; -} - -bool tl2::details::BoolStatWrite(::basictl::tl_ostream & s, const ::tl2::BoolStat& item) { - if (!s.int_write(item.statTrue)) { return false;} - if (!s.int_write(item.statFalse)) { return false;} - if (!s.int_write(item.statUnknown)) { return false;} - return true; -} - -bool tl2::details::BoolStatReadBoxed(::basictl::tl_istream & s, ::tl2::BoolStat& item) { - if (!s.nat_read_exact_tag(0x92cbcbfa)) { return false; } - return tl2::details::BoolStatRead(s, item); -} - -bool tl2::details::BoolStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoolStat& item) { - if (!s.nat_write(0x92cbcbfa)) { return false; } - return tl2::details::BoolStatWrite(s, item); -} - -void tl2::details::BuiltinVectorService3GroupCountLimitReset(std::vector<::tl2::service3::GroupCountLimit>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorService3GroupCountLimitWriteJSON(std::ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::Service3GroupCountLimitWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorService3GroupCountLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupCountLimit>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::Service3GroupCountLimitRead(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorService3GroupCountLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::Service3GroupCountLimitWrite(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorService3GroupSizeLimitReset(std::vector<::tl2::service3::GroupSizeLimit>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorService3GroupSizeLimitWriteJSON(std::ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::Service3GroupSizeLimitWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorService3GroupSizeLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupSizeLimit>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::Service3GroupSizeLimitRead(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorService3GroupSizeLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::Service3GroupSizeLimitWrite(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorService3ProductReset(std::vector<::tl2::service3::Product>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorService3ProductWriteJSON(std::ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::Service3ProductWriteJSON(s, el, nat_t)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorService3ProductRead(::basictl::tl_istream & s, std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::Service3ProductRead(s, el, nat_t)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorService3ProductWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::Service3ProductWrite(s, el, nat_t)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorService3Product0Reset(std::vector<::tl2::service3::Productmode<0>>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorService3Product0WriteJSON(std::ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::Service3Product0WriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorService3Product0Read(::basictl::tl_istream & s, std::vector<::tl2::service3::Productmode<0>>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::Service3Product0Read(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorService3Product0Write(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::Service3Product0Write(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorService3ProductStatsOldReset(std::vector<::tl2::service3::ProductStatsOld>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorService3ProductStatsOldWriteJSON(std::ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::Service3ProductStatsOldWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorService3ProductStatsOldRead(::basictl::tl_istream & s, std::vector<::tl2::service3::ProductStatsOld>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::Service3ProductStatsOldRead(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorService3ProductStatsOldWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::Service3ProductStatsOldWrite(s, el)) { return false; } - } - return true; -} - -bool tl2::service3::CreateProduct::write_json(std::ostream& s)const { - if (!::tl2::details::Service3CreateProductWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::CreateProduct::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3CreateProductRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::CreateProduct::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3CreateProductWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::CreateProduct::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3CreateProductReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::CreateProduct::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3CreateProductWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3CreateProductReset(::tl2::service3::CreateProduct& item) { - item.user_id = 0; - item.type = 0; - item.id.clear(); - item.info.clear(); - item.date = 0; - item.expiration_date = 0; -} - -bool tl2::details::Service3CreateProductWriteJSON(std::ostream& s, const ::tl2::service3::CreateProduct& item) { - auto add_comma = false; - s << "{"; - if (item.user_id != 0) { - add_comma = true; - s << "\"user_id\":"; - s << item.user_id; - } - if (item.type != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } - } - if (item.info.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"info\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.info)) { return false; } - } - if (item.date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"date\":"; - s << item.date; - } - if (item.expiration_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"expiration_date\":"; - s << item.expiration_date; - } - s << "}"; - return true; -} - -bool tl2::details::Service3CreateProductRead(::basictl::tl_istream & s, ::tl2::service3::CreateProduct& item) { - if (!s.int_read(item.user_id)) { return false; } - if (!s.int_read(item.type)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.info)) { return false; } - if (!s.int_read(item.date)) { return false; } - if (!s.int_read(item.expiration_date)) { return false; } - return true; -} - -bool tl2::details::Service3CreateProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::CreateProduct& item) { - if (!s.int_write(item.user_id)) { return false;} - if (!s.int_write(item.type)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } - if (!::tl2::details::BuiltinVectorIntWrite(s, item.info)) { return false; } - if (!s.int_write(item.date)) { return false;} - if (!s.int_write(item.expiration_date)) { return false;} - return true; -} - -bool tl2::details::Service3CreateProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::CreateProduct& item) { - if (!s.nat_read_exact_tag(0xb7d92bd9)) { return false; } - return tl2::details::Service3CreateProductRead(s, item); -} - -bool tl2::details::Service3CreateProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::CreateProduct& item) { - if (!s.nat_write(0xb7d92bd9)) { return false; } - return tl2::details::Service3CreateProductWrite(s, item); -} - -bool tl2::details::Service3CreateProductReadResult(::basictl::tl_istream & s, tl2::service3::CreateProduct& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3CreateProductWriteResult(::basictl::tl_ostream & s, tl2::service3::CreateProduct& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::CreateProduct::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3CreateProductReadResult(s, *this, result); -} -bool tl2::service3::CreateProduct::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3CreateProductWriteResult(s, *this, result); -} - -bool tl2::service3::DeleteAllProducts::write_json(std::ostream& s)const { - if (!::tl2::details::Service3DeleteAllProductsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::DeleteAllProducts::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3DeleteAllProductsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::DeleteAllProducts::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3DeleteAllProductsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::DeleteAllProducts::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3DeleteAllProductsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::DeleteAllProducts::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3DeleteAllProductsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3DeleteAllProductsReset(::tl2::service3::DeleteAllProducts& item) { - item.user_id = 0; - item.type = 0; - item.start_date = 0; - item.end_date = 0; -} - -bool tl2::details::Service3DeleteAllProductsWriteJSON(std::ostream& s, const ::tl2::service3::DeleteAllProducts& item) { - auto add_comma = false; - s << "{"; - if (item.user_id != 0) { - add_comma = true; - s << "\"user_id\":"; - s << item.user_id; - } - if (item.type != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.start_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"start_date\":"; - s << item.start_date; - } - if (item.end_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"end_date\":"; - s << item.end_date; - } - s << "}"; - return true; -} - -bool tl2::details::Service3DeleteAllProductsRead(::basictl::tl_istream & s, ::tl2::service3::DeleteAllProducts& item) { - if (!s.int_read(item.user_id)) { return false; } - if (!s.int_read(item.type)) { return false; } - if (!s.int_read(item.start_date)) { return false; } - if (!s.int_read(item.end_date)) { return false; } - return true; -} - -bool tl2::details::Service3DeleteAllProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::DeleteAllProducts& item) { - if (!s.int_write(item.user_id)) { return false;} - if (!s.int_write(item.type)) { return false;} - if (!s.int_write(item.start_date)) { return false;} - if (!s.int_write(item.end_date)) { return false;} - return true; -} - -bool tl2::details::Service3DeleteAllProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::DeleteAllProducts& item) { - if (!s.nat_read_exact_tag(0x4494acc2)) { return false; } - return tl2::details::Service3DeleteAllProductsRead(s, item); -} - -bool tl2::details::Service3DeleteAllProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::DeleteAllProducts& item) { - if (!s.nat_write(0x4494acc2)) { return false; } - return tl2::details::Service3DeleteAllProductsWrite(s, item); -} - -bool tl2::details::Service3DeleteAllProductsReadResult(::basictl::tl_istream & s, tl2::service3::DeleteAllProducts& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3DeleteAllProductsWriteResult(::basictl::tl_ostream & s, tl2::service3::DeleteAllProducts& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::DeleteAllProducts::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3DeleteAllProductsReadResult(s, *this, result); -} -bool tl2::service3::DeleteAllProducts::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3DeleteAllProductsWriteResult(s, *this, result); -} - -bool tl2::service3::DeleteGroupedProducts::write_json(std::ostream& s)const { - if (!::tl2::details::Service3DeleteGroupedProductsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::DeleteGroupedProducts::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3DeleteGroupedProductsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::DeleteGroupedProducts::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3DeleteGroupedProductsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::DeleteGroupedProducts::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3DeleteGroupedProductsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::DeleteGroupedProducts::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3DeleteGroupedProductsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3DeleteGroupedProductsReset(::tl2::service3::DeleteGroupedProducts& item) { - item.user_id = 0; - item.type = 0; - item.id.clear(); - item.start_date = 0; - item.end_date = 0; -} - -bool tl2::details::Service3DeleteGroupedProductsWriteJSON(std::ostream& s, const ::tl2::service3::DeleteGroupedProducts& item) { - auto add_comma = false; - s << "{"; - if (item.user_id != 0) { - add_comma = true; - s << "\"user_id\":"; - s << item.user_id; - } - if (item.type != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } - } - if (item.start_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"start_date\":"; - s << item.start_date; - } - if (item.end_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"end_date\":"; - s << item.end_date; - } - s << "}"; - return true; -} - -bool tl2::details::Service3DeleteGroupedProductsRead(::basictl::tl_istream & s, ::tl2::service3::DeleteGroupedProducts& item) { - if (!s.int_read(item.user_id)) { return false; } - if (!s.int_read(item.type)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } - if (!s.int_read(item.start_date)) { return false; } - if (!s.int_read(item.end_date)) { return false; } - return true; -} - -bool tl2::details::Service3DeleteGroupedProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::DeleteGroupedProducts& item) { - if (!s.int_write(item.user_id)) { return false;} - if (!s.int_write(item.type)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } - if (!s.int_write(item.start_date)) { return false;} - if (!s.int_write(item.end_date)) { return false;} - return true; -} - -bool tl2::details::Service3DeleteGroupedProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::DeleteGroupedProducts& item) { - if (!s.nat_read_exact_tag(0xe468e614)) { return false; } - return tl2::details::Service3DeleteGroupedProductsRead(s, item); -} - -bool tl2::details::Service3DeleteGroupedProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::DeleteGroupedProducts& item) { - if (!s.nat_write(0xe468e614)) { return false; } - return tl2::details::Service3DeleteGroupedProductsWrite(s, item); -} - -bool tl2::details::Service3DeleteGroupedProductsReadResult(::basictl::tl_istream & s, tl2::service3::DeleteGroupedProducts& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3DeleteGroupedProductsWriteResult(::basictl::tl_ostream & s, tl2::service3::DeleteGroupedProducts& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::DeleteGroupedProducts::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3DeleteGroupedProductsReadResult(s, *this, result); -} -bool tl2::service3::DeleteGroupedProducts::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3DeleteGroupedProductsWriteResult(s, *this, result); -} - -bool tl2::service3::DeleteProduct::write_json(std::ostream& s)const { - if (!::tl2::details::Service3DeleteProductWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::DeleteProduct::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3DeleteProductRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::DeleteProduct::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3DeleteProductWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::DeleteProduct::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3DeleteProductReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::DeleteProduct::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3DeleteProductWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3DeleteProductReset(::tl2::service3::DeleteProduct& item) { - item.user_id = 0; - item.type = 0; - item.id.clear(); - item.info.clear(); -} - -bool tl2::details::Service3DeleteProductWriteJSON(std::ostream& s, const ::tl2::service3::DeleteProduct& item) { - auto add_comma = false; - s << "{"; - if (item.user_id != 0) { - add_comma = true; - s << "\"user_id\":"; - s << item.user_id; - } - if (item.type != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } - } - if (item.info.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"info\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.info)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service3DeleteProductRead(::basictl::tl_istream & s, ::tl2::service3::DeleteProduct& item) { - if (!s.int_read(item.user_id)) { return false; } - if (!s.int_read(item.type)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.info)) { return false; } - return true; -} - -bool tl2::details::Service3DeleteProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::DeleteProduct& item) { - if (!s.int_write(item.user_id)) { return false;} - if (!s.int_write(item.type)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } - if (!::tl2::details::BuiltinVectorIntWrite(s, item.info)) { return false; } - return true; -} - -bool tl2::details::Service3DeleteProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::DeleteProduct& item) { - if (!s.nat_read_exact_tag(0x6867e707)) { return false; } - return tl2::details::Service3DeleteProductRead(s, item); -} - -bool tl2::details::Service3DeleteProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::DeleteProduct& item) { - if (!s.nat_write(0x6867e707)) { return false; } - return tl2::details::Service3DeleteProductWrite(s, item); -} - -bool tl2::details::Service3DeleteProductReadResult(::basictl::tl_istream & s, tl2::service3::DeleteProduct& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3DeleteProductWriteResult(::basictl::tl_ostream & s, tl2::service3::DeleteProduct& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::DeleteProduct::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3DeleteProductReadResult(s, *this, result); -} -bool tl2::service3::DeleteProduct::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3DeleteProductWriteResult(s, *this, result); -} - -bool tl2::service3::GetLastVisitTimestamp::write_json(std::ostream& s)const { - if (!::tl2::details::Service3GetLastVisitTimestampWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetLastVisitTimestamp::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GetLastVisitTimestampRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetLastVisitTimestamp::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GetLastVisitTimestampWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetLastVisitTimestamp::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GetLastVisitTimestampReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetLastVisitTimestamp::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GetLastVisitTimestampWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3GetLastVisitTimestampReset(::tl2::service3::GetLastVisitTimestamp& item) { - item.user_id = 0; -} - -bool tl2::details::Service3GetLastVisitTimestampWriteJSON(std::ostream& s, const ::tl2::service3::GetLastVisitTimestamp& item) { - s << "{"; - if (item.user_id != 0) { - s << "\"user_id\":"; - s << item.user_id; - } - s << "}"; - return true; -} - -bool tl2::details::Service3GetLastVisitTimestampRead(::basictl::tl_istream & s, ::tl2::service3::GetLastVisitTimestamp& item) { - if (!s.int_read(item.user_id)) { return false; } - return true; -} - -bool tl2::details::Service3GetLastVisitTimestampWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetLastVisitTimestamp& item) { - if (!s.int_write(item.user_id)) { return false;} - return true; -} - -bool tl2::details::Service3GetLastVisitTimestampReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetLastVisitTimestamp& item) { - if (!s.nat_read_exact_tag(0x9a4c788d)) { return false; } - return tl2::details::Service3GetLastVisitTimestampRead(s, item); -} - -bool tl2::details::Service3GetLastVisitTimestampWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetLastVisitTimestamp& item) { - if (!s.nat_write(0x9a4c788d)) { return false; } - return tl2::details::Service3GetLastVisitTimestampWrite(s, item); -} - -bool tl2::details::Service3GetLastVisitTimestampReadResult(::basictl::tl_istream & s, tl2::service3::GetLastVisitTimestamp& item, std::optional& result) { - if (!::tl2::details::IntMaybeReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3GetLastVisitTimestampWriteResult(::basictl::tl_ostream & s, tl2::service3::GetLastVisitTimestamp& item, std::optional& result) { - if (!::tl2::details::IntMaybeWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::GetLastVisitTimestamp::read_result(::basictl::tl_istream & s, std::optional & result) { - return tl2::details::Service3GetLastVisitTimestampReadResult(s, *this, result); -} -bool tl2::service3::GetLastVisitTimestamp::write_result(::basictl::tl_ostream & s, std::optional & result) { - return tl2::details::Service3GetLastVisitTimestampWriteResult(s, *this, result); -} - -bool tl2::service3::GetLimits::write_json(std::ostream& s)const { - if (!::tl2::details::Service3GetLimitsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetLimits::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GetLimitsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetLimits::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GetLimitsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetLimits::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GetLimitsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetLimits::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GetLimitsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3GetLimitsReset(::tl2::service3::GetLimits& item) { -} - -bool tl2::details::Service3GetLimitsWriteJSON(std::ostream& s, const ::tl2::service3::GetLimits& item) { - s << "true"; - return true; -} - -bool tl2::details::Service3GetLimitsRead(::basictl::tl_istream & s, ::tl2::service3::GetLimits& item) { - return true; -} - -bool tl2::details::Service3GetLimitsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetLimits& item) { - return true; -} - -bool tl2::details::Service3GetLimitsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetLimits& item) { - if (!s.nat_read_exact_tag(0xeb399467)) { return false; } - return tl2::details::Service3GetLimitsRead(s, item); -} - -bool tl2::details::Service3GetLimitsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetLimits& item) { - if (!s.nat_write(0xeb399467)) { return false; } - return tl2::details::Service3GetLimitsWrite(s, item); -} - -bool tl2::details::Service3GetLimitsReadResult(::basictl::tl_istream & s, tl2::service3::GetLimits& item, ::tl2::service3::Limits& result) { - if (!::tl2::details::Service3LimitsReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3GetLimitsWriteResult(::basictl::tl_ostream & s, tl2::service3::GetLimits& item, ::tl2::service3::Limits& result) { - if (!::tl2::details::Service3LimitsWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::GetLimits::read_result(::basictl::tl_istream & s, ::tl2::service3::Limits & result) { - return tl2::details::Service3GetLimitsReadResult(s, *this, result); -} -bool tl2::service3::GetLimits::write_result(::basictl::tl_ostream & s, ::tl2::service3::Limits & result) { - return tl2::details::Service3GetLimitsWriteResult(s, *this, result); -} - -bool tl2::service3::GetProductStats::write_json(std::ostream& s)const { - if (!::tl2::details::Service3GetProductStatsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetProductStats::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GetProductStatsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetProductStats::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GetProductStatsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetProductStats::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GetProductStatsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetProductStats::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GetProductStatsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3GetProductStatsReset(::tl2::service3::GetProductStats& item) { - item.user_id = 0; - item.types.clear(); -} - -bool tl2::details::Service3GetProductStatsWriteJSON(std::ostream& s, const ::tl2::service3::GetProductStats& item) { - auto add_comma = false; - s << "{"; - if (item.user_id != 0) { - add_comma = true; - s << "\"user_id\":"; - s << item.user_id; - } - if (item.types.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"types\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.types)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service3GetProductStatsRead(::basictl::tl_istream & s, ::tl2::service3::GetProductStats& item) { - if (!s.int_read(item.user_id)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.types)) { return false; } - return true; -} - -bool tl2::details::Service3GetProductStatsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetProductStats& item) { - if (!s.int_write(item.user_id)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.types)) { return false; } - return true; -} - -bool tl2::details::Service3GetProductStatsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetProductStats& item) { - if (!s.nat_read_exact_tag(0x261f6898)) { return false; } - return tl2::details::Service3GetProductStatsRead(s, item); -} - -bool tl2::details::Service3GetProductStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetProductStats& item) { - if (!s.nat_write(0x261f6898)) { return false; } - return tl2::details::Service3GetProductStatsWrite(s, item); -} - -bool tl2::details::Service3GetProductStatsReadResult(::basictl::tl_istream & s, tl2::service3::GetProductStats& item, std::optional>& result) { - if (!::tl2::details::VectorService3ProductStatsOldMaybeReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3GetProductStatsWriteResult(::basictl::tl_ostream & s, tl2::service3::GetProductStats& item, std::optional>& result) { - if (!::tl2::details::VectorService3ProductStatsOldMaybeWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::GetProductStats::read_result(::basictl::tl_istream & s, std::optional> & result) { - return tl2::details::Service3GetProductStatsReadResult(s, *this, result); -} -bool tl2::service3::GetProductStats::write_result(::basictl::tl_ostream & s, std::optional> & result) { - return tl2::details::Service3GetProductStatsWriteResult(s, *this, result); -} - -bool tl2::service3::GetProducts::write_json(std::ostream& s)const { - if (!::tl2::details::Service3GetProductsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetProducts::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GetProductsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetProducts::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GetProductsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetProducts::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GetProductsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetProducts::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GetProductsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3GetProductsReset(::tl2::service3::GetProducts& item) { - item.user_id = 0; - item.mode = 0; - item.types.clear(); - item.start_date = 0; - item.end_date = 0; - item.offset = 0; - item.limit = 0; - item.allowed_info0.clear(); -} - -bool tl2::details::Service3GetProductsWriteJSON(std::ostream& s, const ::tl2::service3::GetProducts& item) { - auto add_comma = false; - s << "{"; - if (item.user_id != 0) { - add_comma = true; - s << "\"user_id\":"; - s << item.user_id; - } - if (item.mode != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"mode\":"; - s << item.mode; - } - if (item.types.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"types\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.types)) { return false; } - } - if (item.start_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"start_date\":"; - s << item.start_date; - } - if (item.end_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"end_date\":"; - s << item.end_date; - } - if (item.offset != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"offset\":"; - s << item.offset; - } - if (item.limit != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"limit\":"; - s << item.limit; - } - if (item.allowed_info0.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"allowed_info0\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.allowed_info0)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service3GetProductsRead(::basictl::tl_istream & s, ::tl2::service3::GetProducts& item) { - if (!s.int_read(item.user_id)) { return false; } - if (!s.nat_read(item.mode)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.types)) { return false; } - if (!s.int_read(item.start_date)) { return false; } - if (!s.int_read(item.end_date)) { return false; } - if (!s.int_read(item.offset)) { return false; } - if (!s.int_read(item.limit)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.allowed_info0)) { return false; } - return true; -} - -bool tl2::details::Service3GetProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetProducts& item) { - if (!s.int_write(item.user_id)) { return false;} - if (!s.nat_write(item.mode)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.types)) { return false; } - if (!s.int_write(item.start_date)) { return false;} - if (!s.int_write(item.end_date)) { return false;} - if (!s.int_write(item.offset)) { return false;} - if (!s.int_write(item.limit)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.allowed_info0)) { return false; } - return true; -} - -bool tl2::details::Service3GetProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetProducts& item) { - if (!s.nat_read_exact_tag(0xeb306233)) { return false; } - return tl2::details::Service3GetProductsRead(s, item); -} - -bool tl2::details::Service3GetProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetProducts& item) { - if (!s.nat_write(0xeb306233)) { return false; } - return tl2::details::Service3GetProductsWrite(s, item); -} - -bool tl2::details::Service3GetProductsReadResult(::basictl::tl_istream & s, tl2::service3::GetProducts& item, std::optional>& result) { - if (!::tl2::details::VectorService3ProductMaybeReadBoxed(s, result, item.mode)) { return false; } - return true; -} -bool tl2::details::Service3GetProductsWriteResult(::basictl::tl_ostream & s, tl2::service3::GetProducts& item, std::optional>& result) { - if (!::tl2::details::VectorService3ProductMaybeWriteBoxed(s, result, item.mode)) { return false; } - return true; -} - -bool tl2::service3::GetProducts::read_result(::basictl::tl_istream & s, std::optional> & result) { - return tl2::details::Service3GetProductsReadResult(s, *this, result); -} -bool tl2::service3::GetProducts::write_result(::basictl::tl_ostream & s, std::optional> & result) { - return tl2::details::Service3GetProductsWriteResult(s, *this, result); -} - -bool tl2::service3::GetScheduledProducts::write_json(std::ostream& s)const { - if (!::tl2::details::Service3GetScheduledProductsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetScheduledProducts::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GetScheduledProductsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetScheduledProducts::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GetScheduledProductsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetScheduledProducts::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GetScheduledProductsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GetScheduledProducts::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GetScheduledProductsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3GetScheduledProductsReset(::tl2::service3::GetScheduledProducts& item) { - item.user_id = 0; - item.types.clear(); -} - -bool tl2::details::Service3GetScheduledProductsWriteJSON(std::ostream& s, const ::tl2::service3::GetScheduledProducts& item) { - auto add_comma = false; - s << "{"; - if (item.user_id != 0) { - add_comma = true; - s << "\"user_id\":"; - s << item.user_id; - } - if (item.types.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"types\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.types)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service3GetScheduledProductsRead(::basictl::tl_istream & s, ::tl2::service3::GetScheduledProducts& item) { - if (!s.int_read(item.user_id)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.types)) { return false; } - return true; -} - -bool tl2::details::Service3GetScheduledProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetScheduledProducts& item) { - if (!s.int_write(item.user_id)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.types)) { return false; } - return true; -} - -bool tl2::details::Service3GetScheduledProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetScheduledProducts& item) { - if (!s.nat_read_exact_tag(0xf53ad7bd)) { return false; } - return tl2::details::Service3GetScheduledProductsRead(s, item); -} - -bool tl2::details::Service3GetScheduledProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetScheduledProducts& item) { - if (!s.nat_write(0xf53ad7bd)) { return false; } - return tl2::details::Service3GetScheduledProductsWrite(s, item); -} - -bool tl2::details::Service3GetScheduledProductsReadResult(::basictl::tl_istream & s, tl2::service3::GetScheduledProducts& item, std::optional>>& result) { - if (!::tl2::details::VectorService3Product0MaybeReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3GetScheduledProductsWriteResult(::basictl::tl_ostream & s, tl2::service3::GetScheduledProducts& item, std::optional>>& result) { - if (!::tl2::details::VectorService3Product0MaybeWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::GetScheduledProducts::read_result(::basictl::tl_istream & s, std::optional>> & result) { - return tl2::details::Service3GetScheduledProductsReadResult(s, *this, result); -} -bool tl2::service3::GetScheduledProducts::write_result(::basictl::tl_ostream & s, std::optional>> & result) { - return tl2::details::Service3GetScheduledProductsWriteResult(s, *this, result); -} - -bool tl2::service3::GroupCountLimit::write_json(std::ostream& s)const { - if (!::tl2::details::Service3GroupCountLimitWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GroupCountLimit::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GroupCountLimitRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GroupCountLimit::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GroupCountLimitWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GroupCountLimit::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GroupCountLimitReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GroupCountLimit::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GroupCountLimitWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3GroupCountLimitReset(::tl2::service3::GroupCountLimit& item) { - item.types.clear(); - item.limit = 0; -} - -bool tl2::details::Service3GroupCountLimitWriteJSON(std::ostream& s, const ::tl2::service3::GroupCountLimit& item) { - auto add_comma = false; - s << "{"; - if (item.types.size() != 0) { - add_comma = true; - s << "\"types\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.types)) { return false; } - } - if (item.limit != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"limit\":"; - s << item.limit; - } - s << "}"; - return true; -} - -bool tl2::details::Service3GroupCountLimitRead(::basictl::tl_istream & s, ::tl2::service3::GroupCountLimit& item) { - if (!::tl2::details::BuiltinVectorIntRead(s, item.types)) { return false; } - if (!s.int_read(item.limit)) { return false; } - return true; -} - -bool tl2::details::Service3GroupCountLimitWrite(::basictl::tl_ostream & s, const ::tl2::service3::GroupCountLimit& item) { - if (!::tl2::details::BuiltinVectorIntWrite(s, item.types)) { return false; } - if (!s.int_write(item.limit)) { return false;} - return true; -} - -bool tl2::details::Service3GroupCountLimitReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GroupCountLimit& item) { - if (!s.nat_read_exact_tag(0x8c04ea7f)) { return false; } - return tl2::details::Service3GroupCountLimitRead(s, item); -} - -bool tl2::details::Service3GroupCountLimitWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GroupCountLimit& item) { - if (!s.nat_write(0x8c04ea7f)) { return false; } - return tl2::details::Service3GroupCountLimitWrite(s, item); -} - -bool tl2::service3::GroupSizeLimit::write_json(std::ostream& s)const { - if (!::tl2::details::Service3GroupSizeLimitWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GroupSizeLimit::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GroupSizeLimitRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GroupSizeLimit::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GroupSizeLimitWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GroupSizeLimit::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3GroupSizeLimitReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::GroupSizeLimit::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3GroupSizeLimitWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3GroupSizeLimitReset(::tl2::service3::GroupSizeLimit& item) { - item.type = 0; - item.limit = 0; -} - -bool tl2::details::Service3GroupSizeLimitWriteJSON(std::ostream& s, const ::tl2::service3::GroupSizeLimit& item) { - auto add_comma = false; - s << "{"; - if (item.type != 0) { - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.limit != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"limit\":"; - s << item.limit; - } - s << "}"; - return true; -} - -bool tl2::details::Service3GroupSizeLimitRead(::basictl::tl_istream & s, ::tl2::service3::GroupSizeLimit& item) { - if (!s.int_read(item.type)) { return false; } - if (!s.int_read(item.limit)) { return false; } - return true; -} - -bool tl2::details::Service3GroupSizeLimitWrite(::basictl::tl_ostream & s, const ::tl2::service3::GroupSizeLimit& item) { - if (!s.int_write(item.type)) { return false;} - if (!s.int_write(item.limit)) { return false;} - return true; -} - -bool tl2::details::Service3GroupSizeLimitReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GroupSizeLimit& item) { - if (!s.nat_read_exact_tag(0x90e59396)) { return false; } - return tl2::details::Service3GroupSizeLimitRead(s, item); -} - -bool tl2::details::Service3GroupSizeLimitWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GroupSizeLimit& item) { - if (!s.nat_write(0x90e59396)) { return false; } - return tl2::details::Service3GroupSizeLimitWrite(s, item); -} - -bool tl2::service3::Limits::write_json(std::ostream& s)const { - if (!::tl2::details::Service3LimitsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::Limits::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3LimitsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::Limits::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3LimitsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::Limits::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3LimitsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::Limits::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3LimitsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3LimitsReset(::tl2::service3::Limits& item) { - item.default_group_size_limit = 0; - item.custom_group_size_limits.clear(); - item.default_group_count_limit = 0; - item.custom_group_count_limits.clear(); -} - -bool tl2::details::Service3LimitsWriteJSON(std::ostream& s, const ::tl2::service3::Limits& item) { - auto add_comma = false; - s << "{"; - if (item.default_group_size_limit != 0) { - add_comma = true; - s << "\"default_group_size_limit\":"; - s << item.default_group_size_limit; - } - if (item.custom_group_size_limits.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"custom_group_size_limits\":"; - if (!::tl2::details::BuiltinVectorService3GroupSizeLimitWriteJSON(s, item.custom_group_size_limits)) { return false; } - } - if (item.default_group_count_limit != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"default_group_count_limit\":"; - s << item.default_group_count_limit; - } - if (item.custom_group_count_limits.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"custom_group_count_limits\":"; - if (!::tl2::details::BuiltinVectorService3GroupCountLimitWriteJSON(s, item.custom_group_count_limits)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service3LimitsRead(::basictl::tl_istream & s, ::tl2::service3::Limits& item) { - if (!s.int_read(item.default_group_size_limit)) { return false; } - if (!::tl2::details::BuiltinVectorService3GroupSizeLimitRead(s, item.custom_group_size_limits)) { return false; } - if (!s.int_read(item.default_group_count_limit)) { return false; } - if (!::tl2::details::BuiltinVectorService3GroupCountLimitRead(s, item.custom_group_count_limits)) { return false; } - return true; -} - -bool tl2::details::Service3LimitsWrite(::basictl::tl_ostream & s, const ::tl2::service3::Limits& item) { - if (!s.int_write(item.default_group_size_limit)) { return false;} - if (!::tl2::details::BuiltinVectorService3GroupSizeLimitWrite(s, item.custom_group_size_limits)) { return false; } - if (!s.int_write(item.default_group_count_limit)) { return false;} - if (!::tl2::details::BuiltinVectorService3GroupCountLimitWrite(s, item.custom_group_count_limits)) { return false; } - return true; -} - -bool tl2::details::Service3LimitsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::Limits& item) { - if (!s.nat_read_exact_tag(0x80ee61ca)) { return false; } - return tl2::details::Service3LimitsRead(s, item); -} - -bool tl2::details::Service3LimitsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::Limits& item) { - if (!s.nat_write(0x80ee61ca)) { return false; } - return tl2::details::Service3LimitsWrite(s, item); -} - -bool tl2::service3::Product::write_json(std::ostream& s, uint32_t nat_mode)const { - if (!::tl2::details::Service3ProductWriteJSON(s, *this, nat_mode)) { return false; } - return true; -} - -bool tl2::service3::Product::read(::basictl::tl_istream & s, uint32_t nat_mode) { - if (!::tl2::details::Service3ProductRead(s, *this, nat_mode)) { return false; } - return true; -} - -bool tl2::service3::Product::write(::basictl::tl_ostream & s, uint32_t nat_mode)const { - if (!::tl2::details::Service3ProductWrite(s, *this, nat_mode)) { return false; } - return true; -} - -bool tl2::service3::Product::read_boxed(::basictl::tl_istream & s, uint32_t nat_mode) { - if (!::tl2::details::Service3ProductReadBoxed(s, *this, nat_mode)) { return false; } - return true; -} - -bool tl2::service3::Product::write_boxed(::basictl::tl_ostream & s, uint32_t nat_mode)const { - if (!::tl2::details::Service3ProductWriteBoxed(s, *this, nat_mode)) { return false; } - return true; -} - -void tl2::details::Service3ProductReset(::tl2::service3::Product& item) { - item.type = 0; - item.id.clear(); - item.info.clear(); - item.date = 0; - item.expiration_date = 0; - item.removed = false; -} - -bool tl2::details::Service3ProductWriteJSON(std::ostream& s, const ::tl2::service3::Product& item, uint32_t nat_mode) { - auto add_comma = false; - s << "{"; - if (item.type != 0) { - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } - } - if (item.info.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"info\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.info)) { return false; } - } - if (item.date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"date\":"; - s << item.date; - } - if (item.expiration_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"expiration_date\":"; - s << item.expiration_date; - } - if ((nat_mode & (1<<0)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"removed\":"; - if (!::tl2::details::BoolWriteJSON(s, item.removed)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service3ProductRead(::basictl::tl_istream & s, ::tl2::service3::Product& item, uint32_t nat_mode) { - if (!s.int_read(item.type)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.info)) { return false; } - if (!s.int_read(item.date)) { return false; } - if (!s.int_read(item.expiration_date)) { return false; } - if ((nat_mode & (1<<0)) != 0) { - if (!::tl2::details::BoolReadBoxed(s, item.removed)) { return false; } - } else { - item.removed = false; - } - return true; -} - -bool tl2::details::Service3ProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::Product& item, uint32_t nat_mode) { - if (!s.int_write(item.type)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } - if (!::tl2::details::BuiltinVectorIntWrite(s, item.info)) { return false; } - if (!s.int_write(item.date)) { return false;} - if (!s.int_write(item.expiration_date)) { return false;} - if ((nat_mode & (1<<0)) != 0) { - if (!::tl2::details::BoolWriteBoxed(s, item.removed)) { return false; } - } - return true; -} - -bool tl2::details::Service3ProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::Product& item, uint32_t nat_mode) { - if (!s.nat_read_exact_tag(0x461f4ce2)) { return false; } - return tl2::details::Service3ProductRead(s, item, nat_mode); -} - -bool tl2::details::Service3ProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::Product& item, uint32_t nat_mode) { - if (!s.nat_write(0x461f4ce2)) { return false; } - return tl2::details::Service3ProductWrite(s, item, nat_mode); -} - -void tl2::details::Service3Product0Reset(::tl2::service3::Productmode<0>& item) { - item.type = 0; - item.id.clear(); - item.info.clear(); - item.date = 0; - item.expiration_date = 0; - item.removed = false; -} - -bool tl2::details::Service3Product0WriteJSON(std::ostream& s, const ::tl2::service3::Productmode<0>& item) { - auto add_comma = false; - s << "{"; - if (item.type != 0) { - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } - } - if (item.info.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"info\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.info)) { return false; } - } - if (item.date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"date\":"; - s << item.date; - } - if (item.expiration_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"expiration_date\":"; - s << item.expiration_date; - } - if ((0 & (1<<0)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"removed\":"; - if (!::tl2::details::BoolWriteJSON(s, item.removed)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service3Product0Read(::basictl::tl_istream & s, ::tl2::service3::Productmode<0>& item) { - if (!s.int_read(item.type)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.info)) { return false; } - if (!s.int_read(item.date)) { return false; } - if (!s.int_read(item.expiration_date)) { return false; } - if ((0 & (1<<0)) != 0) { - if (!::tl2::details::BoolReadBoxed(s, item.removed)) { return false; } - } else { - item.removed = false; - } - return true; -} - -bool tl2::details::Service3Product0Write(::basictl::tl_ostream & s, const ::tl2::service3::Productmode<0>& item) { - if (!s.int_write(item.type)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } - if (!::tl2::details::BuiltinVectorIntWrite(s, item.info)) { return false; } - if (!s.int_write(item.date)) { return false;} - if (!s.int_write(item.expiration_date)) { return false;} - if ((0 & (1<<0)) != 0) { - if (!::tl2::details::BoolWriteBoxed(s, item.removed)) { return false; } - } - return true; -} - -bool tl2::details::Service3Product0ReadBoxed(::basictl::tl_istream & s, ::tl2::service3::Productmode<0>& item) { - if (!s.nat_read_exact_tag(0x461f4ce2)) { return false; } - return tl2::details::Service3Product0Read(s, item); -} - -bool tl2::details::Service3Product0WriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::Productmode<0>& item) { - if (!s.nat_write(0x461f4ce2)) { return false; } - return tl2::details::Service3Product0Write(s, item); -} - -bool tl2::service3::ProductStatsOld::write_json(std::ostream& s)const { - if (!::tl2::details::Service3ProductStatsOldWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::ProductStatsOld::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3ProductStatsOldRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::ProductStatsOld::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3ProductStatsOldWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::ProductStatsOld::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3ProductStatsOldReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::ProductStatsOld::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3ProductStatsOldWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3ProductStatsOldReset(::tl2::service3::ProductStatsOld& item) { - item.type = 0; - item.count_new = 0; - item.count_total = 0; - item.count_scheduled = 0; - item.next_scheduled_at = 0; -} - -bool tl2::details::Service3ProductStatsOldWriteJSON(std::ostream& s, const ::tl2::service3::ProductStatsOld& item) { - auto add_comma = false; - s << "{"; - if (item.type != 0) { - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.count_new != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"count_new\":"; - s << item.count_new; - } - if (item.count_total != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"count_total\":"; - s << item.count_total; - } - if (item.count_scheduled != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"count_scheduled\":"; - s << item.count_scheduled; - } - if (item.next_scheduled_at != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"next_scheduled_at\":"; - s << item.next_scheduled_at; - } - s << "}"; - return true; -} - -bool tl2::details::Service3ProductStatsOldRead(::basictl::tl_istream & s, ::tl2::service3::ProductStatsOld& item) { - if (!s.int_read(item.type)) { return false; } - if (!s.int_read(item.count_new)) { return false; } - if (!s.int_read(item.count_total)) { return false; } - if (!s.int_read(item.count_scheduled)) { return false; } - if (!s.int_read(item.next_scheduled_at)) { return false; } - return true; -} - -bool tl2::details::Service3ProductStatsOldWrite(::basictl::tl_ostream & s, const ::tl2::service3::ProductStatsOld& item) { - if (!s.int_write(item.type)) { return false;} - if (!s.int_write(item.count_new)) { return false;} - if (!s.int_write(item.count_total)) { return false;} - if (!s.int_write(item.count_scheduled)) { return false;} - if (!s.int_write(item.next_scheduled_at)) { return false;} - return true; -} - -bool tl2::details::Service3ProductStatsOldReadBoxed(::basictl::tl_istream & s, ::tl2::service3::ProductStatsOld& item) { - if (!s.nat_read_exact_tag(0x6319810b)) { return false; } - return tl2::details::Service3ProductStatsOldRead(s, item); -} - -bool tl2::details::Service3ProductStatsOldWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::ProductStatsOld& item) { - if (!s.nat_write(0x6319810b)) { return false; } - return tl2::details::Service3ProductStatsOldWrite(s, item); -} - -bool tl2::service3::RestoreAllProducts::write_json(std::ostream& s)const { - if (!::tl2::details::Service3RestoreAllProductsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::RestoreAllProducts::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3RestoreAllProductsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::RestoreAllProducts::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3RestoreAllProductsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::RestoreAllProducts::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3RestoreAllProductsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::RestoreAllProducts::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3RestoreAllProductsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3RestoreAllProductsReset(::tl2::service3::RestoreAllProducts& item) { - item.user_id = 0; - item.type = 0; - item.start_date = 0; - item.end_date = 0; -} - -bool tl2::details::Service3RestoreAllProductsWriteJSON(std::ostream& s, const ::tl2::service3::RestoreAllProducts& item) { - auto add_comma = false; - s << "{"; - if (item.user_id != 0) { - add_comma = true; - s << "\"user_id\":"; - s << item.user_id; - } - if (item.type != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.start_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"start_date\":"; - s << item.start_date; - } - if (item.end_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"end_date\":"; - s << item.end_date; - } - s << "}"; - return true; -} - -bool tl2::details::Service3RestoreAllProductsRead(::basictl::tl_istream & s, ::tl2::service3::RestoreAllProducts& item) { - if (!s.int_read(item.user_id)) { return false; } - if (!s.int_read(item.type)) { return false; } - if (!s.int_read(item.start_date)) { return false; } - if (!s.int_read(item.end_date)) { return false; } - return true; -} - -bool tl2::details::Service3RestoreAllProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::RestoreAllProducts& item) { - if (!s.int_write(item.user_id)) { return false;} - if (!s.int_write(item.type)) { return false;} - if (!s.int_write(item.start_date)) { return false;} - if (!s.int_write(item.end_date)) { return false;} - return true; -} - -bool tl2::details::Service3RestoreAllProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::RestoreAllProducts& item) { - if (!s.nat_read_exact_tag(0x4d839ed0)) { return false; } - return tl2::details::Service3RestoreAllProductsRead(s, item); -} - -bool tl2::details::Service3RestoreAllProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::RestoreAllProducts& item) { - if (!s.nat_write(0x4d839ed0)) { return false; } - return tl2::details::Service3RestoreAllProductsWrite(s, item); -} - -bool tl2::details::Service3RestoreAllProductsReadResult(::basictl::tl_istream & s, tl2::service3::RestoreAllProducts& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3RestoreAllProductsWriteResult(::basictl::tl_ostream & s, tl2::service3::RestoreAllProducts& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::RestoreAllProducts::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3RestoreAllProductsReadResult(s, *this, result); -} -bool tl2::service3::RestoreAllProducts::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3RestoreAllProductsWriteResult(s, *this, result); -} - -bool tl2::service3::RestoreGroupedProducts::write_json(std::ostream& s)const { - if (!::tl2::details::Service3RestoreGroupedProductsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::RestoreGroupedProducts::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3RestoreGroupedProductsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::RestoreGroupedProducts::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3RestoreGroupedProductsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::RestoreGroupedProducts::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3RestoreGroupedProductsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::RestoreGroupedProducts::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3RestoreGroupedProductsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3RestoreGroupedProductsReset(::tl2::service3::RestoreGroupedProducts& item) { - item.user_id = 0; - item.type = 0; - item.id.clear(); - item.start_date = 0; - item.end_date = 0; -} - -bool tl2::details::Service3RestoreGroupedProductsWriteJSON(std::ostream& s, const ::tl2::service3::RestoreGroupedProducts& item) { - auto add_comma = false; - s << "{"; - if (item.user_id != 0) { - add_comma = true; - s << "\"user_id\":"; - s << item.user_id; - } - if (item.type != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } - } - if (item.start_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"start_date\":"; - s << item.start_date; - } - if (item.end_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"end_date\":"; - s << item.end_date; - } - s << "}"; - return true; -} - -bool tl2::details::Service3RestoreGroupedProductsRead(::basictl::tl_istream & s, ::tl2::service3::RestoreGroupedProducts& item) { - if (!s.int_read(item.user_id)) { return false; } - if (!s.int_read(item.type)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } - if (!s.int_read(item.start_date)) { return false; } - if (!s.int_read(item.end_date)) { return false; } - return true; -} - -bool tl2::details::Service3RestoreGroupedProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::RestoreGroupedProducts& item) { - if (!s.int_write(item.user_id)) { return false;} - if (!s.int_write(item.type)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } - if (!s.int_write(item.start_date)) { return false;} - if (!s.int_write(item.end_date)) { return false;} - return true; -} - -bool tl2::details::Service3RestoreGroupedProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::RestoreGroupedProducts& item) { - if (!s.nat_read_exact_tag(0x1f17bfac)) { return false; } - return tl2::details::Service3RestoreGroupedProductsRead(s, item); -} - -bool tl2::details::Service3RestoreGroupedProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::RestoreGroupedProducts& item) { - if (!s.nat_write(0x1f17bfac)) { return false; } - return tl2::details::Service3RestoreGroupedProductsWrite(s, item); -} - -bool tl2::details::Service3RestoreGroupedProductsReadResult(::basictl::tl_istream & s, tl2::service3::RestoreGroupedProducts& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3RestoreGroupedProductsWriteResult(::basictl::tl_ostream & s, tl2::service3::RestoreGroupedProducts& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::RestoreGroupedProducts::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3RestoreGroupedProductsReadResult(s, *this, result); -} -bool tl2::service3::RestoreGroupedProducts::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3RestoreGroupedProductsWriteResult(s, *this, result); -} - -bool tl2::service3::RestoreProduct::write_json(std::ostream& s)const { - if (!::tl2::details::Service3RestoreProductWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::RestoreProduct::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3RestoreProductRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::RestoreProduct::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3RestoreProductWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::RestoreProduct::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3RestoreProductReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::RestoreProduct::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3RestoreProductWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3RestoreProductReset(::tl2::service3::RestoreProduct& item) { - item.user_id = 0; - item.type = 0; - item.id.clear(); - item.info.clear(); -} - -bool tl2::details::Service3RestoreProductWriteJSON(std::ostream& s, const ::tl2::service3::RestoreProduct& item) { - auto add_comma = false; - s << "{"; - if (item.user_id != 0) { - add_comma = true; - s << "\"user_id\":"; - s << item.user_id; - } - if (item.type != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.id)) { return false; } - } - if (item.info.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"info\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.info)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service3RestoreProductRead(::basictl::tl_istream & s, ::tl2::service3::RestoreProduct& item) { - if (!s.int_read(item.user_id)) { return false; } - if (!s.int_read(item.type)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.id)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.info)) { return false; } - return true; -} - -bool tl2::details::Service3RestoreProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::RestoreProduct& item) { - if (!s.int_write(item.user_id)) { return false;} - if (!s.int_write(item.type)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.id)) { return false; } - if (!::tl2::details::BuiltinVectorIntWrite(s, item.info)) { return false; } - return true; -} - -bool tl2::details::Service3RestoreProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::RestoreProduct& item) { - if (!s.nat_read_exact_tag(0x6170d515)) { return false; } - return tl2::details::Service3RestoreProductRead(s, item); -} - -bool tl2::details::Service3RestoreProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::RestoreProduct& item) { - if (!s.nat_write(0x6170d515)) { return false; } - return tl2::details::Service3RestoreProductWrite(s, item); -} - -bool tl2::details::Service3RestoreProductReadResult(::basictl::tl_istream & s, tl2::service3::RestoreProduct& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3RestoreProductWriteResult(::basictl::tl_ostream & s, tl2::service3::RestoreProduct& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::RestoreProduct::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3RestoreProductReadResult(s, *this, result); -} -bool tl2::service3::RestoreProduct::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3RestoreProductWriteResult(s, *this, result); -} - -bool tl2::service3::SetLastVisitTimestamp::write_json(std::ostream& s)const { - if (!::tl2::details::Service3SetLastVisitTimestampWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::SetLastVisitTimestamp::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3SetLastVisitTimestampRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::SetLastVisitTimestamp::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3SetLastVisitTimestampWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::SetLastVisitTimestamp::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3SetLastVisitTimestampReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::SetLastVisitTimestamp::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3SetLastVisitTimestampWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3SetLastVisitTimestampReset(::tl2::service3::SetLastVisitTimestamp& item) { - item.user_id = 0; - item.timestamp = 0; -} - -bool tl2::details::Service3SetLastVisitTimestampWriteJSON(std::ostream& s, const ::tl2::service3::SetLastVisitTimestamp& item) { - auto add_comma = false; - s << "{"; - if (item.user_id != 0) { - add_comma = true; - s << "\"user_id\":"; - s << item.user_id; - } - if (item.timestamp != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"timestamp\":"; - s << item.timestamp; - } - s << "}"; - return true; -} - -bool tl2::details::Service3SetLastVisitTimestampRead(::basictl::tl_istream & s, ::tl2::service3::SetLastVisitTimestamp& item) { - if (!s.int_read(item.user_id)) { return false; } - if (!s.int_read(item.timestamp)) { return false; } - return true; -} - -bool tl2::details::Service3SetLastVisitTimestampWrite(::basictl::tl_ostream & s, const ::tl2::service3::SetLastVisitTimestamp& item) { - if (!s.int_write(item.user_id)) { return false;} - if (!s.int_write(item.timestamp)) { return false;} - return true; -} - -bool tl2::details::Service3SetLastVisitTimestampReadBoxed(::basictl::tl_istream & s, ::tl2::service3::SetLastVisitTimestamp& item) { - if (!s.nat_read_exact_tag(0x7909b020)) { return false; } - return tl2::details::Service3SetLastVisitTimestampRead(s, item); -} - -bool tl2::details::Service3SetLastVisitTimestampWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::SetLastVisitTimestamp& item) { - if (!s.nat_write(0x7909b020)) { return false; } - return tl2::details::Service3SetLastVisitTimestampWrite(s, item); -} - -bool tl2::details::Service3SetLastVisitTimestampReadResult(::basictl::tl_istream & s, tl2::service3::SetLastVisitTimestamp& item, bool& result) { - if (!::tl2::details::BoolReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3SetLastVisitTimestampWriteResult(::basictl::tl_ostream & s, tl2::service3::SetLastVisitTimestamp& item, bool& result) { - if (!::tl2::details::BoolWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::SetLastVisitTimestamp::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3SetLastVisitTimestampReadResult(s, *this, result); -} -bool tl2::service3::SetLastVisitTimestamp::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3SetLastVisitTimestampWriteResult(s, *this, result); -} - -bool tl2::service3::SetLimits::write_json(std::ostream& s)const { - if (!::tl2::details::Service3SetLimitsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service3::SetLimits::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service3SetLimitsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service3::SetLimits::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3SetLimitsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service3::SetLimits::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service3SetLimitsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service3::SetLimits::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service3SetLimitsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service3SetLimitsReset(::tl2::service3::SetLimits& item) { - ::tl2::details::Service3LimitsReset(item.limits); -} - -bool tl2::details::Service3SetLimitsWriteJSON(std::ostream& s, const ::tl2::service3::SetLimits& item) { - s << "{"; - s << "\"limits\":"; - if (!::tl2::details::Service3LimitsWriteJSON(s, item.limits)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::Service3SetLimitsRead(::basictl::tl_istream & s, ::tl2::service3::SetLimits& item) { - if (!::tl2::details::Service3LimitsRead(s, item.limits)) { return false; } - return true; -} - -bool tl2::details::Service3SetLimitsWrite(::basictl::tl_ostream & s, const ::tl2::service3::SetLimits& item) { - if (!::tl2::details::Service3LimitsWrite(s, item.limits)) { return false; } - return true; -} - -bool tl2::details::Service3SetLimitsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::SetLimits& item) { - if (!s.nat_read_exact_tag(0x3ad5c19c)) { return false; } - return tl2::details::Service3SetLimitsRead(s, item); -} - -bool tl2::details::Service3SetLimitsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::SetLimits& item) { - if (!s.nat_write(0x3ad5c19c)) { return false; } - return tl2::details::Service3SetLimitsWrite(s, item); -} - -bool tl2::details::Service3SetLimitsReadResult(::basictl::tl_istream & s, tl2::service3::SetLimits& item, ::tl2::BoolStat& result) { - if (!::tl2::details::BoolStatReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service3SetLimitsWriteResult(::basictl::tl_ostream & s, tl2::service3::SetLimits& item, ::tl2::BoolStat& result) { - if (!::tl2::details::BoolStatWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service3::SetLimits::read_result(::basictl::tl_istream & s, ::tl2::BoolStat & result) { - return tl2::details::Service3SetLimitsReadResult(s, *this, result); -} -bool tl2::service3::SetLimits::write_result(::basictl::tl_ostream & s, ::tl2::BoolStat & result) { - return tl2::details::Service3SetLimitsWriteResult(s, *this, result); -} - -void tl2::details::VectorService3GroupCountLimitReset(std::vector<::tl2::service3::GroupCountLimit>& item) { - item.clear(); -} - -bool tl2::details::VectorService3GroupCountLimitWriteJSON(std::ostream& s, const std::vector<::tl2::service3::GroupCountLimit>& item) { - if (!::tl2::details::BuiltinVectorService3GroupCountLimitWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService3GroupCountLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupCountLimit>& item) { - if (!::tl2::details::BuiltinVectorService3GroupCountLimitRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService3GroupCountLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item) { - if (!::tl2::details::BuiltinVectorService3GroupCountLimitWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService3GroupCountLimitReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupCountLimit>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorService3GroupCountLimitRead(s, item); -} - -bool tl2::details::VectorService3GroupCountLimitWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorService3GroupCountLimitWrite(s, item); -} - -void tl2::details::VectorService3GroupSizeLimitReset(std::vector<::tl2::service3::GroupSizeLimit>& item) { - item.clear(); -} - -bool tl2::details::VectorService3GroupSizeLimitWriteJSON(std::ostream& s, const std::vector<::tl2::service3::GroupSizeLimit>& item) { - if (!::tl2::details::BuiltinVectorService3GroupSizeLimitWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService3GroupSizeLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupSizeLimit>& item) { - if (!::tl2::details::BuiltinVectorService3GroupSizeLimitRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService3GroupSizeLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item) { - if (!::tl2::details::BuiltinVectorService3GroupSizeLimitWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService3GroupSizeLimitReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupSizeLimit>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorService3GroupSizeLimitRead(s, item); -} - -bool tl2::details::VectorService3GroupSizeLimitWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorService3GroupSizeLimitWrite(s, item); -} - -void tl2::details::VectorService3ProductReset(std::vector<::tl2::service3::Product>& item) { - item.clear(); -} - -bool tl2::details::VectorService3ProductWriteJSON(std::ostream& s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { - if (!::tl2::details::BuiltinVectorService3ProductWriteJSON(s, item, nat_t)) { return false; } - return true; -} - -bool tl2::details::VectorService3ProductRead(::basictl::tl_istream & s, std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { - if (!::tl2::details::BuiltinVectorService3ProductRead(s, item, nat_t)) { return false; } - return true; -} - -bool tl2::details::VectorService3ProductWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { - if (!::tl2::details::BuiltinVectorService3ProductWrite(s, item, nat_t)) { return false; } - return true; -} - -bool tl2::details::VectorService3ProductReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorService3ProductRead(s, item, nat_t); -} - -bool tl2::details::VectorService3ProductWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorService3ProductWrite(s, item, nat_t); -} - -void tl2::details::VectorService3Product0Reset(std::vector<::tl2::service3::Productmode<0>>& item) { - item.clear(); -} - -bool tl2::details::VectorService3Product0WriteJSON(std::ostream& s, const std::vector<::tl2::service3::Productmode<0>>& item) { - if (!::tl2::details::BuiltinVectorService3Product0WriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService3Product0Read(::basictl::tl_istream & s, std::vector<::tl2::service3::Productmode<0>>& item) { - if (!::tl2::details::BuiltinVectorService3Product0Read(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService3Product0Write(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item) { - if (!::tl2::details::BuiltinVectorService3Product0Write(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService3Product0ReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::Productmode<0>>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorService3Product0Read(s, item); -} - -bool tl2::details::VectorService3Product0WriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorService3Product0Write(s, item); -} - -bool tl2::details::VectorService3Product0MaybeWriteJSON(std::ostream & s, const std::optional>>& item) { - s << "{"; - if (item) { - s << "\"ok\":true"; - if((*item).size() != 0) { - s << ",\"value\":"; - if (!::tl2::details::BuiltinVectorService3Product0WriteJSON(s, *item)) { return false; } - } - } - s << "}"; - return true; -} -bool tl2::details::VectorService3Product0MaybeReadBoxed(::basictl::tl_istream & s, std::optional>>& item) { - bool has_item = false; - if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } - if (has_item) { - if (!item) { - item.emplace(); - } - if (!::tl2::details::BuiltinVectorService3Product0Read(s, *item)) { return false; } - return true; - } - item.reset(); - return true; -} - -bool tl2::details::VectorService3Product0MaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional>>& item) { - if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } - if (item) { - if (!::tl2::details::BuiltinVectorService3Product0Write(s, *item)) { return false; } - } - return true; -} - -bool tl2::details::VectorService3ProductMaybeWriteJSON(std::ostream & s, const std::optional>& item, uint32_t nat_t) { - s << "{"; - if (item) { - s << "\"ok\":true"; - if((*item).size() != 0) { - s << ",\"value\":"; - if (!::tl2::details::BuiltinVectorService3ProductWriteJSON(s, *item, nat_t)) { return false; } - } - } - s << "}"; - return true; -} -bool tl2::details::VectorService3ProductMaybeReadBoxed(::basictl::tl_istream & s, std::optional>& item, uint32_t nat_t) { - bool has_item = false; - if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } - if (has_item) { - if (!item) { - item.emplace(); - } - if (!::tl2::details::BuiltinVectorService3ProductRead(s, *item, nat_t)) { return false; } - return true; - } - item.reset(); - return true; -} - -bool tl2::details::VectorService3ProductMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional>& item, uint32_t nat_t) { - if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } - if (item) { - if (!::tl2::details::BuiltinVectorService3ProductWrite(s, *item, nat_t)) { return false; } - } - return true; -} - -void tl2::details::VectorService3ProductStatsOldReset(std::vector<::tl2::service3::ProductStatsOld>& item) { - item.clear(); -} - -bool tl2::details::VectorService3ProductStatsOldWriteJSON(std::ostream& s, const std::vector<::tl2::service3::ProductStatsOld>& item) { - if (!::tl2::details::BuiltinVectorService3ProductStatsOldWriteJSON(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService3ProductStatsOldRead(::basictl::tl_istream & s, std::vector<::tl2::service3::ProductStatsOld>& item) { - if (!::tl2::details::BuiltinVectorService3ProductStatsOldRead(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService3ProductStatsOldWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item) { - if (!::tl2::details::BuiltinVectorService3ProductStatsOldWrite(s, item)) { return false; } - return true; -} - -bool tl2::details::VectorService3ProductStatsOldReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::ProductStatsOld>& item) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false; } - return tl2::details::VectorService3ProductStatsOldRead(s, item); -} - -bool tl2::details::VectorService3ProductStatsOldWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item) { - if (!s.nat_write(0x1cb5c415)) { return false; } - return tl2::details::VectorService3ProductStatsOldWrite(s, item); -} - -bool tl2::details::VectorService3ProductStatsOldMaybeWriteJSON(std::ostream & s, const std::optional>& item) { - s << "{"; - if (item) { - s << "\"ok\":true"; - if((*item).size() != 0) { - s << ",\"value\":"; - if (!::tl2::details::BuiltinVectorService3ProductStatsOldWriteJSON(s, *item)) { return false; } - } - } - s << "}"; - return true; -} -bool tl2::details::VectorService3ProductStatsOldMaybeReadBoxed(::basictl::tl_istream & s, std::optional>& item) { - bool has_item = false; - if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } - if (has_item) { - if (!item) { - item.emplace(); - } - if (!::tl2::details::BuiltinVectorService3ProductStatsOldRead(s, *item)) { return false; } - return true; - } - item.reset(); - return true; -} - -bool tl2::details::VectorService3ProductStatsOldMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional>& item) { - if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } - if (item) { - if (!::tl2::details::BuiltinVectorService3ProductStatsOldWrite(s, *item)) { return false; } - } - return true; -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.createProduct.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.createProduct.hpp deleted file mode 100644 index 0942d661..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.createProduct.hpp +++ /dev/null @@ -1,39 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct CreateProduct { - // tl magic for function - static const uint32_t MAGIC = 0xb7d92bd9; - - int32_t user_id = 0; - int32_t type = 0; - std::vector id; - std::vector info; - int32_t date = 0; - int32_t expiration_date = 0; - - std::string_view tl_name() const { return "service3.createProduct"; } - uint32_t tl_tag() const { return 0xb7d92bd9; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const CreateProduct& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteAllProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteAllProducts.hpp deleted file mode 100644 index d7c1afae..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteAllProducts.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct DeleteAllProducts { - // tl magic for function - static const uint32_t MAGIC = 0x4494acc2; - - int32_t user_id = 0; - int32_t type = 0; - int32_t start_date = 0; - int32_t end_date = 0; - - std::string_view tl_name() const { return "service3.deleteAllProducts"; } - uint32_t tl_tag() const { return 0x4494acc2; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const DeleteAllProducts& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteGroupedProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteGroupedProducts.hpp deleted file mode 100644 index 3ec06659..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteGroupedProducts.hpp +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct DeleteGroupedProducts { - // tl magic for function - static const uint32_t MAGIC = 0xe468e614; - - int32_t user_id = 0; - int32_t type = 0; - std::vector id; - int32_t start_date = 0; - int32_t end_date = 0; - - std::string_view tl_name() const { return "service3.deleteGroupedProducts"; } - uint32_t tl_tag() const { return 0xe468e614; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const DeleteGroupedProducts& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteProduct.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteProduct.hpp deleted file mode 100644 index 52dd9ae4..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.deleteProduct.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct DeleteProduct { - // tl magic for function - static const uint32_t MAGIC = 0x6867e707; - - int32_t user_id = 0; - int32_t type = 0; - std::vector id; - std::vector info; - - std::string_view tl_name() const { return "service3.deleteProduct"; } - uint32_t tl_tag() const { return 0x6867e707; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const DeleteProduct& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLastVisitTimestamp.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLastVisitTimestamp.hpp deleted file mode 100644 index fa9e1fcf..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLastVisitTimestamp.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct GetLastVisitTimestamp { - // tl magic for function - static const uint32_t MAGIC = 0x9a4c788d; - - int32_t user_id = 0; - - std::string_view tl_name() const { return "service3.getLastVisitTimestamp"; } - uint32_t tl_tag() const { return 0x9a4c788d; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::optional & result); - bool write_result(::basictl::tl_ostream & s, std::optional & result); - - friend std::ostream& operator<<(std::ostream& s, const GetLastVisitTimestamp& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLimits.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLimits.hpp deleted file mode 100644 index f967d1be..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getLimits.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service3.limits.hpp" - - -namespace tl2 { namespace service3 { -struct GetLimits { - // tl magic for function - static const uint32_t MAGIC = 0xeb399467; - - - std::string_view tl_name() const { return "service3.getLimits"; } - uint32_t tl_tag() const { return 0xeb399467; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::service3::Limits & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::service3::Limits & result); - - friend std::ostream& operator<<(std::ostream& s, const GetLimits& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProductStats.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProductStats.hpp deleted file mode 100644 index 67c0a23c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProductStats.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service3.productStatsOld.hpp" - - -namespace tl2 { namespace service3 { -struct GetProductStats { - // tl magic for function - static const uint32_t MAGIC = 0x261f6898; - - int32_t user_id = 0; - std::vector types; - - std::string_view tl_name() const { return "service3.getProductStats"; } - uint32_t tl_tag() const { return 0x261f6898; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::optional> & result); - bool write_result(::basictl::tl_ostream & s, std::optional> & result); - - friend std::ostream& operator<<(std::ostream& s, const GetProductStats& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProducts.hpp deleted file mode 100644 index 8754c540..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getProducts.hpp +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service3.product.hpp" - - -namespace tl2 { namespace service3 { -struct GetProducts { - // tl magic for function - static const uint32_t MAGIC = 0xeb306233; - - int32_t user_id = 0; - uint32_t mode = 0; - std::vector types; - int32_t start_date = 0; - int32_t end_date = 0; - int32_t offset = 0; - int32_t limit = 0; - std::vector allowed_info0; - - std::string_view tl_name() const { return "service3.getProducts"; } - uint32_t tl_tag() const { return 0xeb306233; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::optional> & result); - bool write_result(::basictl::tl_ostream & s, std::optional> & result); - - friend std::ostream& operator<<(std::ostream& s, const GetProducts& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getScheduledProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getScheduledProducts.hpp deleted file mode 100644 index f3853c97..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.getScheduledProducts.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service3.product.hpp" - - -namespace tl2 { namespace service3 { -struct GetScheduledProducts { - // tl magic for function - static const uint32_t MAGIC = 0xf53ad7bd; - - int32_t user_id = 0; - std::vector types; - - std::string_view tl_name() const { return "service3.getScheduledProducts"; } - uint32_t tl_tag() const { return 0xf53ad7bd; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::optional>> & result); - bool write_result(::basictl::tl_ostream & s, std::optional>> & result); - - friend std::ostream& operator<<(std::ostream& s, const GetScheduledProducts& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreAllProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreAllProducts.hpp deleted file mode 100644 index ba4f46d9..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreAllProducts.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct RestoreAllProducts { - // tl magic for function - static const uint32_t MAGIC = 0x4d839ed0; - - int32_t user_id = 0; - int32_t type = 0; - int32_t start_date = 0; - int32_t end_date = 0; - - std::string_view tl_name() const { return "service3.restoreAllProducts"; } - uint32_t tl_tag() const { return 0x4d839ed0; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const RestoreAllProducts& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreGroupedProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreGroupedProducts.hpp deleted file mode 100644 index 4bf91db2..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreGroupedProducts.hpp +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct RestoreGroupedProducts { - // tl magic for function - static const uint32_t MAGIC = 0x1f17bfac; - - int32_t user_id = 0; - int32_t type = 0; - std::vector id; - int32_t start_date = 0; - int32_t end_date = 0; - - std::string_view tl_name() const { return "service3.restoreGroupedProducts"; } - uint32_t tl_tag() const { return 0x1f17bfac; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const RestoreGroupedProducts& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreProduct.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreProduct.hpp deleted file mode 100644 index 0aee1b39..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.restoreProduct.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct RestoreProduct { - // tl magic for function - static const uint32_t MAGIC = 0x6170d515; - - int32_t user_id = 0; - int32_t type = 0; - std::vector id; - std::vector info; - - std::string_view tl_name() const { return "service3.restoreProduct"; } - uint32_t tl_tag() const { return 0x6170d515; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const RestoreProduct& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLastVisitTimestamp.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLastVisitTimestamp.hpp deleted file mode 100644 index cc876bea..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLastVisitTimestamp.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct SetLastVisitTimestamp { - // tl magic for function - static const uint32_t MAGIC = 0x7909b020; - - int32_t user_id = 0; - int32_t timestamp = 0; - - std::string_view tl_name() const { return "service3.setLastVisitTimestamp"; } - uint32_t tl_tag() const { return 0x7909b020; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, bool & result); - bool write_result(::basictl::tl_ostream & s, bool & result); - - friend std::ostream& operator<<(std::ostream& s, const SetLastVisitTimestamp& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLimits.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLimits.hpp deleted file mode 100644 index 078bc0d1..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/functions/service3.setLimits.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service3.limits.hpp" -#include "../../__common_namespace/types/boolStat.hpp" - - -namespace tl2 { namespace service3 { -struct SetLimits { - // tl magic for function - static const uint32_t MAGIC = 0x3ad5c19c; - - ::tl2::service3::Limits limits{}; - - std::string_view tl_name() const { return "service3.setLimits"; } - uint32_t tl_tag() const { return 0x3ad5c19c; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::BoolStat & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::BoolStat & result); - - friend std::ostream& operator<<(std::ostream& s, const SetLimits& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.createProduct.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.createProduct.hpp deleted file mode 100644 index 68353668..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.createProduct.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.createProduct.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service3CreateProductReset(::tl2::service3::CreateProduct& item); - -bool Service3CreateProductWriteJSON(std::ostream& s, const ::tl2::service3::CreateProduct& item); -bool Service3CreateProductRead(::basictl::tl_istream & s, ::tl2::service3::CreateProduct& item); -bool Service3CreateProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::CreateProduct& item); -bool Service3CreateProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::CreateProduct& item); -bool Service3CreateProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::CreateProduct& item); - -bool Service3CreateProductReadResult(::basictl::tl_istream & s, ::tl2::service3::CreateProduct& item, bool& result); -bool Service3CreateProductWriteResult(::basictl::tl_ostream & s, ::tl2::service3::CreateProduct& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.deleteAllProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.deleteAllProducts.hpp deleted file mode 100644 index 55ff903c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.deleteAllProducts.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.deleteAllProducts.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service3DeleteAllProductsReset(::tl2::service3::DeleteAllProducts& item); - -bool Service3DeleteAllProductsWriteJSON(std::ostream& s, const ::tl2::service3::DeleteAllProducts& item); -bool Service3DeleteAllProductsRead(::basictl::tl_istream & s, ::tl2::service3::DeleteAllProducts& item); -bool Service3DeleteAllProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::DeleteAllProducts& item); -bool Service3DeleteAllProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::DeleteAllProducts& item); -bool Service3DeleteAllProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::DeleteAllProducts& item); - -bool Service3DeleteAllProductsReadResult(::basictl::tl_istream & s, ::tl2::service3::DeleteAllProducts& item, bool& result); -bool Service3DeleteAllProductsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::DeleteAllProducts& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.deleteGroupedProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.deleteGroupedProducts.hpp deleted file mode 100644 index f80f53f6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.deleteGroupedProducts.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.deleteGroupedProducts.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service3DeleteGroupedProductsReset(::tl2::service3::DeleteGroupedProducts& item); - -bool Service3DeleteGroupedProductsWriteJSON(std::ostream& s, const ::tl2::service3::DeleteGroupedProducts& item); -bool Service3DeleteGroupedProductsRead(::basictl::tl_istream & s, ::tl2::service3::DeleteGroupedProducts& item); -bool Service3DeleteGroupedProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::DeleteGroupedProducts& item); -bool Service3DeleteGroupedProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::DeleteGroupedProducts& item); -bool Service3DeleteGroupedProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::DeleteGroupedProducts& item); - -bool Service3DeleteGroupedProductsReadResult(::basictl::tl_istream & s, ::tl2::service3::DeleteGroupedProducts& item, bool& result); -bool Service3DeleteGroupedProductsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::DeleteGroupedProducts& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.deleteProduct.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.deleteProduct.hpp deleted file mode 100644 index a9b5c83a..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.deleteProduct.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.deleteProduct.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service3DeleteProductReset(::tl2::service3::DeleteProduct& item); - -bool Service3DeleteProductWriteJSON(std::ostream& s, const ::tl2::service3::DeleteProduct& item); -bool Service3DeleteProductRead(::basictl::tl_istream & s, ::tl2::service3::DeleteProduct& item); -bool Service3DeleteProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::DeleteProduct& item); -bool Service3DeleteProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::DeleteProduct& item); -bool Service3DeleteProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::DeleteProduct& item); - -bool Service3DeleteProductReadResult(::basictl::tl_istream & s, ::tl2::service3::DeleteProduct& item, bool& result); -bool Service3DeleteProductWriteResult(::basictl::tl_ostream & s, ::tl2::service3::DeleteProduct& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getLastVisitTimestamp.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getLastVisitTimestamp.hpp deleted file mode 100644 index 48fa0a04..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getLastVisitTimestamp.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.getLastVisitTimestamp.hpp" -#include "../../__common_namespace/types/int.hpp" - -namespace tl2 { namespace details { - -void Service3GetLastVisitTimestampReset(::tl2::service3::GetLastVisitTimestamp& item); - -bool Service3GetLastVisitTimestampWriteJSON(std::ostream& s, const ::tl2::service3::GetLastVisitTimestamp& item); -bool Service3GetLastVisitTimestampRead(::basictl::tl_istream & s, ::tl2::service3::GetLastVisitTimestamp& item); -bool Service3GetLastVisitTimestampWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetLastVisitTimestamp& item); -bool Service3GetLastVisitTimestampReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetLastVisitTimestamp& item); -bool Service3GetLastVisitTimestampWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetLastVisitTimestamp& item); - -bool Service3GetLastVisitTimestampReadResult(::basictl::tl_istream & s, ::tl2::service3::GetLastVisitTimestamp& item, std::optional& result); -bool Service3GetLastVisitTimestampWriteResult(::basictl::tl_ostream & s, ::tl2::service3::GetLastVisitTimestamp& item, std::optional& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getLimits.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getLimits.hpp deleted file mode 100644 index f45a8d8b..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getLimits.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.getLimits.hpp" -#include "../types/service3.limits.hpp" - -namespace tl2 { namespace details { - -void Service3GetLimitsReset(::tl2::service3::GetLimits& item); - -bool Service3GetLimitsWriteJSON(std::ostream& s, const ::tl2::service3::GetLimits& item); -bool Service3GetLimitsRead(::basictl::tl_istream & s, ::tl2::service3::GetLimits& item); -bool Service3GetLimitsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetLimits& item); -bool Service3GetLimitsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetLimits& item); -bool Service3GetLimitsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetLimits& item); - -bool Service3GetLimitsReadResult(::basictl::tl_istream & s, ::tl2::service3::GetLimits& item, ::tl2::service3::Limits& result); -bool Service3GetLimitsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::GetLimits& item, ::tl2::service3::Limits& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getProductStats.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getProductStats.hpp deleted file mode 100644 index 466adb1b..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getProductStats.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.getProductStats.hpp" -#include "../../__common_namespace/types/vector.hpp" -#include "../types/service3.productStatsOld.hpp" - -namespace tl2 { namespace details { - -void Service3GetProductStatsReset(::tl2::service3::GetProductStats& item); - -bool Service3GetProductStatsWriteJSON(std::ostream& s, const ::tl2::service3::GetProductStats& item); -bool Service3GetProductStatsRead(::basictl::tl_istream & s, ::tl2::service3::GetProductStats& item); -bool Service3GetProductStatsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetProductStats& item); -bool Service3GetProductStatsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetProductStats& item); -bool Service3GetProductStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetProductStats& item); - -bool Service3GetProductStatsReadResult(::basictl::tl_istream & s, ::tl2::service3::GetProductStats& item, std::optional>& result); -bool Service3GetProductStatsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::GetProductStats& item, std::optional>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getProducts.hpp deleted file mode 100644 index bac9ce25..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getProducts.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.getProducts.hpp" -#include "../../__common_namespace/types/vector.hpp" -#include "../types/service3.product.hpp" - -namespace tl2 { namespace details { - -void Service3GetProductsReset(::tl2::service3::GetProducts& item); - -bool Service3GetProductsWriteJSON(std::ostream& s, const ::tl2::service3::GetProducts& item); -bool Service3GetProductsRead(::basictl::tl_istream & s, ::tl2::service3::GetProducts& item); -bool Service3GetProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetProducts& item); -bool Service3GetProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetProducts& item); -bool Service3GetProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetProducts& item); - -bool Service3GetProductsReadResult(::basictl::tl_istream & s, ::tl2::service3::GetProducts& item, std::optional>& result); -bool Service3GetProductsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::GetProducts& item, std::optional>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getScheduledProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getScheduledProducts.hpp deleted file mode 100644 index ef070fce..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.getScheduledProducts.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.getScheduledProducts.hpp" -#include "../../__common_namespace/types/vector.hpp" -#include "../types/service3.product.hpp" - -namespace tl2 { namespace details { - -void Service3GetScheduledProductsReset(::tl2::service3::GetScheduledProducts& item); - -bool Service3GetScheduledProductsWriteJSON(std::ostream& s, const ::tl2::service3::GetScheduledProducts& item); -bool Service3GetScheduledProductsRead(::basictl::tl_istream & s, ::tl2::service3::GetScheduledProducts& item); -bool Service3GetScheduledProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::GetScheduledProducts& item); -bool Service3GetScheduledProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GetScheduledProducts& item); -bool Service3GetScheduledProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GetScheduledProducts& item); - -bool Service3GetScheduledProductsReadResult(::basictl::tl_istream & s, ::tl2::service3::GetScheduledProducts& item, std::optional>>& result); -bool Service3GetScheduledProductsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::GetScheduledProducts& item, std::optional>>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.groupCountLimit.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.groupCountLimit.hpp deleted file mode 100644 index b70c8594..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.groupCountLimit.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service3.groupCountLimit.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorService3GroupCountLimitReset(std::vector<::tl2::service3::GroupCountLimit>& item); - -bool BuiltinVectorService3GroupCountLimitWriteJSON(std::ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item); -bool BuiltinVectorService3GroupCountLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupCountLimit>& item); -bool BuiltinVectorService3GroupCountLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void Service3GroupCountLimitReset(::tl2::service3::GroupCountLimit& item); - -bool Service3GroupCountLimitWriteJSON(std::ostream& s, const ::tl2::service3::GroupCountLimit& item); -bool Service3GroupCountLimitRead(::basictl::tl_istream & s, ::tl2::service3::GroupCountLimit& item); -bool Service3GroupCountLimitWrite(::basictl::tl_ostream & s, const ::tl2::service3::GroupCountLimit& item); -bool Service3GroupCountLimitReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GroupCountLimit& item); -bool Service3GroupCountLimitWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GroupCountLimit& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.groupSizeLimit.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.groupSizeLimit.hpp deleted file mode 100644 index 127d3633..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.groupSizeLimit.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service3.groupSizeLimit.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorService3GroupSizeLimitReset(std::vector<::tl2::service3::GroupSizeLimit>& item); - -bool BuiltinVectorService3GroupSizeLimitWriteJSON(std::ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item); -bool BuiltinVectorService3GroupSizeLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupSizeLimit>& item); -bool BuiltinVectorService3GroupSizeLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void Service3GroupSizeLimitReset(::tl2::service3::GroupSizeLimit& item); - -bool Service3GroupSizeLimitWriteJSON(std::ostream& s, const ::tl2::service3::GroupSizeLimit& item); -bool Service3GroupSizeLimitRead(::basictl::tl_istream & s, ::tl2::service3::GroupSizeLimit& item); -bool Service3GroupSizeLimitWrite(::basictl::tl_ostream & s, const ::tl2::service3::GroupSizeLimit& item); -bool Service3GroupSizeLimitReadBoxed(::basictl::tl_istream & s, ::tl2::service3::GroupSizeLimit& item); -bool Service3GroupSizeLimitWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::GroupSizeLimit& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.limits.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.limits.hpp deleted file mode 100644 index d0a87d7f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.limits.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service3.limits.hpp" - -namespace tl2 { namespace details { - -void Service3LimitsReset(::tl2::service3::Limits& item); - -bool Service3LimitsWriteJSON(std::ostream& s, const ::tl2::service3::Limits& item); -bool Service3LimitsRead(::basictl::tl_istream & s, ::tl2::service3::Limits& item); -bool Service3LimitsWrite(::basictl::tl_ostream & s, const ::tl2::service3::Limits& item); -bool Service3LimitsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::Limits& item); -bool Service3LimitsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::Limits& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.product.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.product.hpp deleted file mode 100644 index 7dfc5985..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.product.hpp +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service3.product.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorService3ProductReset(std::vector<::tl2::service3::Product>& item); - -bool BuiltinVectorService3ProductWriteJSON(std::ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t); -bool BuiltinVectorService3ProductRead(::basictl::tl_istream & s, std::vector<::tl2::service3::Product>& item, uint32_t nat_t); -bool BuiltinVectorService3ProductWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void BuiltinVectorService3Product0Reset(std::vector<::tl2::service3::Productmode<0>>& item); - -bool BuiltinVectorService3Product0WriteJSON(std::ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item); -bool BuiltinVectorService3Product0Read(::basictl::tl_istream & s, std::vector<::tl2::service3::Productmode<0>>& item); -bool BuiltinVectorService3Product0Write(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void Service3ProductReset(::tl2::service3::Product& item); - -bool Service3ProductWriteJSON(std::ostream& s, const ::tl2::service3::Product& item, uint32_t nat_mode); -bool Service3ProductRead(::basictl::tl_istream & s, ::tl2::service3::Product& item, uint32_t nat_mode); -bool Service3ProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::Product& item, uint32_t nat_mode); -bool Service3ProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::Product& item, uint32_t nat_mode); -bool Service3ProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::Product& item, uint32_t nat_mode); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void Service3Product0Reset(::tl2::service3::Productmode<0>& item); - -bool Service3Product0WriteJSON(std::ostream& s, const ::tl2::service3::Productmode<0>& item); -bool Service3Product0Read(::basictl::tl_istream & s, ::tl2::service3::Productmode<0>& item); -bool Service3Product0Write(::basictl::tl_ostream & s, const ::tl2::service3::Productmode<0>& item); -bool Service3Product0ReadBoxed(::basictl::tl_istream & s, ::tl2::service3::Productmode<0>& item); -bool Service3Product0WriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::Productmode<0>& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.productStatsOld.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.productStatsOld.hpp deleted file mode 100644 index bb41a1d9..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.productStatsOld.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service3.productStatsOld.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorService3ProductStatsOldReset(std::vector<::tl2::service3::ProductStatsOld>& item); - -bool BuiltinVectorService3ProductStatsOldWriteJSON(std::ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item); -bool BuiltinVectorService3ProductStatsOldRead(::basictl::tl_istream & s, std::vector<::tl2::service3::ProductStatsOld>& item); -bool BuiltinVectorService3ProductStatsOldWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void Service3ProductStatsOldReset(::tl2::service3::ProductStatsOld& item); - -bool Service3ProductStatsOldWriteJSON(std::ostream& s, const ::tl2::service3::ProductStatsOld& item); -bool Service3ProductStatsOldRead(::basictl::tl_istream & s, ::tl2::service3::ProductStatsOld& item); -bool Service3ProductStatsOldWrite(::basictl::tl_ostream & s, const ::tl2::service3::ProductStatsOld& item); -bool Service3ProductStatsOldReadBoxed(::basictl::tl_istream & s, ::tl2::service3::ProductStatsOld& item); -bool Service3ProductStatsOldWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::ProductStatsOld& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.restoreAllProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.restoreAllProducts.hpp deleted file mode 100644 index 35da76bf..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.restoreAllProducts.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.restoreAllProducts.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service3RestoreAllProductsReset(::tl2::service3::RestoreAllProducts& item); - -bool Service3RestoreAllProductsWriteJSON(std::ostream& s, const ::tl2::service3::RestoreAllProducts& item); -bool Service3RestoreAllProductsRead(::basictl::tl_istream & s, ::tl2::service3::RestoreAllProducts& item); -bool Service3RestoreAllProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::RestoreAllProducts& item); -bool Service3RestoreAllProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::RestoreAllProducts& item); -bool Service3RestoreAllProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::RestoreAllProducts& item); - -bool Service3RestoreAllProductsReadResult(::basictl::tl_istream & s, ::tl2::service3::RestoreAllProducts& item, bool& result); -bool Service3RestoreAllProductsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::RestoreAllProducts& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.restoreGroupedProducts.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.restoreGroupedProducts.hpp deleted file mode 100644 index 585887c4..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.restoreGroupedProducts.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.restoreGroupedProducts.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service3RestoreGroupedProductsReset(::tl2::service3::RestoreGroupedProducts& item); - -bool Service3RestoreGroupedProductsWriteJSON(std::ostream& s, const ::tl2::service3::RestoreGroupedProducts& item); -bool Service3RestoreGroupedProductsRead(::basictl::tl_istream & s, ::tl2::service3::RestoreGroupedProducts& item); -bool Service3RestoreGroupedProductsWrite(::basictl::tl_ostream & s, const ::tl2::service3::RestoreGroupedProducts& item); -bool Service3RestoreGroupedProductsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::RestoreGroupedProducts& item); -bool Service3RestoreGroupedProductsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::RestoreGroupedProducts& item); - -bool Service3RestoreGroupedProductsReadResult(::basictl::tl_istream & s, ::tl2::service3::RestoreGroupedProducts& item, bool& result); -bool Service3RestoreGroupedProductsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::RestoreGroupedProducts& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.restoreProduct.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.restoreProduct.hpp deleted file mode 100644 index a90cb0e6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.restoreProduct.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.restoreProduct.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service3RestoreProductReset(::tl2::service3::RestoreProduct& item); - -bool Service3RestoreProductWriteJSON(std::ostream& s, const ::tl2::service3::RestoreProduct& item); -bool Service3RestoreProductRead(::basictl::tl_istream & s, ::tl2::service3::RestoreProduct& item); -bool Service3RestoreProductWrite(::basictl::tl_ostream & s, const ::tl2::service3::RestoreProduct& item); -bool Service3RestoreProductReadBoxed(::basictl::tl_istream & s, ::tl2::service3::RestoreProduct& item); -bool Service3RestoreProductWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::RestoreProduct& item); - -bool Service3RestoreProductReadResult(::basictl::tl_istream & s, ::tl2::service3::RestoreProduct& item, bool& result); -bool Service3RestoreProductWriteResult(::basictl::tl_ostream & s, ::tl2::service3::RestoreProduct& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.setLastVisitTimestamp.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.setLastVisitTimestamp.hpp deleted file mode 100644 index bb5bfd18..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.setLastVisitTimestamp.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.setLastVisitTimestamp.hpp" -#include "../../__common_namespace/types/Bool.hpp" - -namespace tl2 { namespace details { - -void Service3SetLastVisitTimestampReset(::tl2::service3::SetLastVisitTimestamp& item); - -bool Service3SetLastVisitTimestampWriteJSON(std::ostream& s, const ::tl2::service3::SetLastVisitTimestamp& item); -bool Service3SetLastVisitTimestampRead(::basictl::tl_istream & s, ::tl2::service3::SetLastVisitTimestamp& item); -bool Service3SetLastVisitTimestampWrite(::basictl::tl_ostream & s, const ::tl2::service3::SetLastVisitTimestamp& item); -bool Service3SetLastVisitTimestampReadBoxed(::basictl::tl_istream & s, ::tl2::service3::SetLastVisitTimestamp& item); -bool Service3SetLastVisitTimestampWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::SetLastVisitTimestamp& item); - -bool Service3SetLastVisitTimestampReadResult(::basictl::tl_istream & s, ::tl2::service3::SetLastVisitTimestamp& item, bool& result); -bool Service3SetLastVisitTimestampWriteResult(::basictl::tl_ostream & s, ::tl2::service3::SetLastVisitTimestamp& item, bool& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.setLimits.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.setLimits.hpp deleted file mode 100644 index ee4effa8..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3.setLimits.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service3.setLimits.hpp" -#include "../../__common_namespace/types/boolStat.hpp" - -namespace tl2 { namespace details { - -void Service3SetLimitsReset(::tl2::service3::SetLimits& item); - -bool Service3SetLimitsWriteJSON(std::ostream& s, const ::tl2::service3::SetLimits& item); -bool Service3SetLimitsRead(::basictl::tl_istream & s, ::tl2::service3::SetLimits& item); -bool Service3SetLimitsWrite(::basictl::tl_ostream & s, const ::tl2::service3::SetLimits& item); -bool Service3SetLimitsReadBoxed(::basictl::tl_istream & s, ::tl2::service3::SetLimits& item); -bool Service3SetLimitsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service3::SetLimits& item); - -bool Service3SetLimitsReadResult(::basictl::tl_istream & s, ::tl2::service3::SetLimits& item, ::tl2::BoolStat& result); -bool Service3SetLimitsWriteResult(::basictl::tl_ostream & s, ::tl2::service3::SetLimits& item, ::tl2::BoolStat& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3_boolStat.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3_boolStat.hpp deleted file mode 100644 index 4a5d5288..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3_boolStat.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/boolStat.hpp" - -namespace tl2 { namespace details { - -void BoolStatReset(::tl2::BoolStat& item); - -bool BoolStatWriteJSON(std::ostream& s, const ::tl2::BoolStat& item); -bool BoolStatRead(::basictl::tl_istream & s, ::tl2::BoolStat& item); -bool BoolStatWrite(::basictl::tl_ostream & s, const ::tl2::BoolStat& item); -bool BoolStatReadBoxed(::basictl::tl_istream & s, ::tl2::BoolStat& item); -bool BoolStatWriteBoxed(::basictl::tl_ostream & s, const ::tl2::BoolStat& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3_vector.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3_vector.hpp deleted file mode 100644 index 6fc28a1c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/headers/service3_vector.hpp +++ /dev/null @@ -1,99 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../../__common_namespace/types/vector.hpp" -#include "../types/service3.productStatsOld.hpp" -#include "../types/service3.product.hpp" -#include "../types/service3.groupSizeLimit.hpp" -#include "../types/service3.groupCountLimit.hpp" - -namespace tl2 { namespace details { - -void VectorService3GroupCountLimitReset(std::vector<::tl2::service3::GroupCountLimit>& item); - -bool VectorService3GroupCountLimitWriteJSON(std::ostream& s, const std::vector<::tl2::service3::GroupCountLimit>& item); -bool VectorService3GroupCountLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupCountLimit>& item); -bool VectorService3GroupCountLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item); -bool VectorService3GroupCountLimitReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupCountLimit>& item); -bool VectorService3GroupCountLimitWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupCountLimit>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorService3GroupSizeLimitReset(std::vector<::tl2::service3::GroupSizeLimit>& item); - -bool VectorService3GroupSizeLimitWriteJSON(std::ostream& s, const std::vector<::tl2::service3::GroupSizeLimit>& item); -bool VectorService3GroupSizeLimitRead(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupSizeLimit>& item); -bool VectorService3GroupSizeLimitWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item); -bool VectorService3GroupSizeLimitReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::GroupSizeLimit>& item); -bool VectorService3GroupSizeLimitWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::GroupSizeLimit>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorService3ProductReset(std::vector<::tl2::service3::Product>& item); - -bool VectorService3ProductWriteJSON(std::ostream& s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t); -bool VectorService3ProductRead(::basictl::tl_istream & s, std::vector<::tl2::service3::Product>& item, uint32_t nat_t); -bool VectorService3ProductWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t); -bool VectorService3ProductReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::Product>& item, uint32_t nat_t); -bool VectorService3ProductWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Product>& item, uint32_t nat_t); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorService3Product0Reset(std::vector<::tl2::service3::Productmode<0>>& item); - -bool VectorService3Product0WriteJSON(std::ostream& s, const std::vector<::tl2::service3::Productmode<0>>& item); -bool VectorService3Product0Read(::basictl::tl_istream & s, std::vector<::tl2::service3::Productmode<0>>& item); -bool VectorService3Product0Write(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item); -bool VectorService3Product0ReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::Productmode<0>>& item); -bool VectorService3Product0WriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::Productmode<0>>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -bool VectorService3Product0MaybeWriteJSON(std::ostream & s, const std::optional>>& item); - -bool VectorService3Product0MaybeReadBoxed(::basictl::tl_istream & s, std::optional>>& item); -bool VectorService3Product0MaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional>>& item); - - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -bool VectorService3ProductMaybeWriteJSON(std::ostream & s, const std::optional>& item, uint32_t nat_t); - -bool VectorService3ProductMaybeReadBoxed(::basictl::tl_istream & s, std::optional>& item, uint32_t nat_t); -bool VectorService3ProductMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional>& item, uint32_t nat_t); - - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void VectorService3ProductStatsOldReset(std::vector<::tl2::service3::ProductStatsOld>& item); - -bool VectorService3ProductStatsOldWriteJSON(std::ostream& s, const std::vector<::tl2::service3::ProductStatsOld>& item); -bool VectorService3ProductStatsOldRead(::basictl::tl_istream & s, std::vector<::tl2::service3::ProductStatsOld>& item); -bool VectorService3ProductStatsOldWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item); -bool VectorService3ProductStatsOldReadBoxed(::basictl::tl_istream & s, std::vector<::tl2::service3::ProductStatsOld>& item); -bool VectorService3ProductStatsOldWriteBoxed(::basictl::tl_ostream & s, const std::vector<::tl2::service3::ProductStatsOld>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -bool VectorService3ProductStatsOldMaybeWriteJSON(std::ostream & s, const std::optional>& item); - -bool VectorService3ProductStatsOldMaybeReadBoxed(::basictl::tl_istream & s, std::optional>& item); -bool VectorService3ProductStatsOldMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional>& item); - - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.groupCountLimit.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.groupCountLimit.hpp deleted file mode 100644 index 4c39adc9..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.groupCountLimit.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct GroupCountLimit { - std::vector types; - int32_t limit = 0; - - std::string_view tl_name() const { return "service3.groupCountLimit"; } - uint32_t tl_tag() const { return 0x8c04ea7f; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const GroupCountLimit& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.groupSizeLimit.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.groupSizeLimit.hpp deleted file mode 100644 index d984245e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.groupSizeLimit.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct GroupSizeLimit { - int32_t type = 0; - int32_t limit = 0; - - std::string_view tl_name() const { return "service3.groupSizeLimit"; } - uint32_t tl_tag() const { return 0x90e59396; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const GroupSizeLimit& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.limits.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.limits.hpp deleted file mode 100644 index 2543dc8d..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.limits.hpp +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "service3.groupSizeLimit.hpp" -#include "service3.groupCountLimit.hpp" - - -namespace tl2 { namespace service3 { -struct Limits { - int32_t default_group_size_limit = 0; - std::vector<::tl2::service3::GroupSizeLimit> custom_group_size_limits; - int32_t default_group_count_limit = 0; - std::vector<::tl2::service3::GroupCountLimit> custom_group_count_limits; - - std::string_view tl_name() const { return "service3.limits"; } - uint32_t tl_tag() const { return 0x80ee61ca; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const Limits& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.product.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.product.hpp deleted file mode 100644 index a674f386..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.product.hpp +++ /dev/null @@ -1,44 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct Product { - int32_t type = 0; - std::vector id; - std::vector info; - int32_t date = 0; - int32_t expiration_date = 0; - bool removed = false; - - std::string_view tl_name() const { return "service3.product"; } - uint32_t tl_tag() const { return 0x461f4ce2; } - - bool write_json(std::ostream& s, uint32_t nat_mode)const; - - bool read(::basictl::tl_istream & s, uint32_t nat_mode); - bool write(::basictl::tl_ostream & s, uint32_t nat_mode)const; - - bool read_boxed(::basictl::tl_istream & s, uint32_t nat_mode); - bool write_boxed(::basictl::tl_ostream & s, uint32_t nat_mode)const; -}; - -}} // namespace tl2::service3 - -namespace tl2 { namespace service3 { -template -struct Productmode { - int32_t type = 0; - std::vector id; - std::vector info; - int32_t date = 0; - int32_t expiration_date = 0; - bool removed = false; - - std::string_view tl_name() const { return "service3.product"; } - uint32_t tl_tag() const { return 0x461f4ce2; } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.productStatsOld.hpp b/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.productStatsOld.hpp deleted file mode 100644 index 844ffc51..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service3/types/service3.productStatsOld.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service3 { -struct ProductStatsOld { - int32_t type = 0; - int32_t count_new = 0; - int32_t count_total = 0; - int32_t count_scheduled = 0; - int32_t next_scheduled_at = 0; - - std::string_view tl_name() const { return "service3.productStatsOld"; } - uint32_t tl_tag() const { return 0x6319810b; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const ProductStatsOld& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service3 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service4/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/service4/details.cpp deleted file mode 100644 index e87eef94..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service4/details.cpp +++ /dev/null @@ -1,220 +0,0 @@ -#include "headers/service4.modifiedNewsEntry.hpp" -#include "headers/service4.object.hpp" -#include "../__common_namespace/headers/int.hpp" -#include "../__common_namespace/headers/Bool.hpp" - - -bool tl2::service4::ModifiedNewsEntry::write_json(std::ostream& s)const { - if (!::tl2::details::Service4ModifiedNewsEntryWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service4::ModifiedNewsEntry::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service4ModifiedNewsEntryRead(s, *this)) { return false; } - return true; -} - -bool tl2::service4::ModifiedNewsEntry::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service4ModifiedNewsEntryWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service4::ModifiedNewsEntry::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service4ModifiedNewsEntryReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service4::ModifiedNewsEntry::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service4ModifiedNewsEntryWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service4ModifiedNewsEntryReset(::tl2::service4::ModifiedNewsEntry& item) { - ::tl2::details::Service4ObjectReset(item.object); - item.creation_date = 0; - item.fields_mask = 0; - item.restoration_date = 0; - item.deletion_date = 0; - item.hidden_by_privacy = false; -} - -bool tl2::details::Service4ModifiedNewsEntryWriteJSON(std::ostream& s, const ::tl2::service4::ModifiedNewsEntry& item) { - auto add_comma = false; - s << "{"; - add_comma = true; - s << "\"object\":"; - if (!::tl2::details::Service4ObjectWriteJSON(s, item.object)) { return false; } - if (item.creation_date != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"creation_date\":"; - s << item.creation_date; - } - if (item.fields_mask != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"fields_mask\":"; - s << item.fields_mask; - } - if ((item.fields_mask & (1<<0)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"restoration_date\":"; - s << item.restoration_date; - } - if ((item.fields_mask & (1<<1)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"deletion_date\":"; - s << item.deletion_date; - } - if ((item.fields_mask & (1<<16)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"hidden_by_privacy\":"; - if (!::tl2::details::BoolWriteJSON(s, item.hidden_by_privacy)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service4ModifiedNewsEntryRead(::basictl::tl_istream & s, ::tl2::service4::ModifiedNewsEntry& item) { - if (!::tl2::details::Service4ObjectRead(s, item.object)) { return false; } - if (!s.int_read(item.creation_date)) { return false; } - if (!s.nat_read(item.fields_mask)) { return false; } - if ((item.fields_mask & (1<<0)) != 0) { - if (!s.int_read(item.restoration_date)) { return false; } - } else { - item.restoration_date = 0; - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!s.int_read(item.deletion_date)) { return false; } - } else { - item.deletion_date = 0; - } - if ((item.fields_mask & (1<<16)) != 0) { - if (!::tl2::details::BoolReadBoxed(s, item.hidden_by_privacy)) { return false; } - } else { - item.hidden_by_privacy = false; - } - return true; -} - -bool tl2::details::Service4ModifiedNewsEntryWrite(::basictl::tl_ostream & s, const ::tl2::service4::ModifiedNewsEntry& item) { - if (!::tl2::details::Service4ObjectWrite(s, item.object)) { return false; } - if (!s.int_write(item.creation_date)) { return false;} - if (!s.nat_write(item.fields_mask)) { return false;} - if ((item.fields_mask & (1<<0)) != 0) { - if (!s.int_write(item.restoration_date)) { return false;} - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!s.int_write(item.deletion_date)) { return false;} - } - if ((item.fields_mask & (1<<16)) != 0) { - if (!::tl2::details::BoolWriteBoxed(s, item.hidden_by_privacy)) { return false; } - } - return true; -} - -bool tl2::details::Service4ModifiedNewsEntryReadBoxed(::basictl::tl_istream & s, ::tl2::service4::ModifiedNewsEntry& item) { - if (!s.nat_read_exact_tag(0xda19832a)) { return false; } - return tl2::details::Service4ModifiedNewsEntryRead(s, item); -} - -bool tl2::details::Service4ModifiedNewsEntryWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service4::ModifiedNewsEntry& item) { - if (!s.nat_write(0xda19832a)) { return false; } - return tl2::details::Service4ModifiedNewsEntryWrite(s, item); -} - -bool tl2::service4::Object::write_json(std::ostream& s)const { - if (!::tl2::details::Service4ObjectWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service4::Object::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service4ObjectRead(s, *this)) { return false; } - return true; -} - -bool tl2::service4::Object::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service4ObjectWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service4::Object::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service4ObjectReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service4::Object::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service4ObjectWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service4ObjectReset(::tl2::service4::Object& item) { - item.type = 0; - item.joint_id.clear(); - item.object_id.clear(); -} - -bool tl2::details::Service4ObjectWriteJSON(std::ostream& s, const ::tl2::service4::Object& item) { - auto add_comma = false; - s << "{"; - if (item.type != 0) { - add_comma = true; - s << "\"type\":"; - s << item.type; - } - if (item.joint_id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"joint_id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.joint_id)) { return false; } - } - if (item.object_id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"object_id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.object_id)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service4ObjectRead(::basictl::tl_istream & s, ::tl2::service4::Object& item) { - if (!s.int_read(item.type)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.joint_id)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.object_id)) { return false; } - return true; -} - -bool tl2::details::Service4ObjectWrite(::basictl::tl_ostream & s, const ::tl2::service4::Object& item) { - if (!s.int_write(item.type)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.joint_id)) { return false; } - if (!::tl2::details::BuiltinVectorIntWrite(s, item.object_id)) { return false; } - return true; -} - -bool tl2::details::Service4ObjectReadBoxed(::basictl::tl_istream & s, ::tl2::service4::Object& item) { - if (!s.nat_read_exact_tag(0xa6eeca4f)) { return false; } - return tl2::details::Service4ObjectRead(s, item); -} - -bool tl2::details::Service4ObjectWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service4::Object& item) { - if (!s.nat_write(0xa6eeca4f)) { return false; } - return tl2::details::Service4ObjectWrite(s, item); -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/service4/headers/service4.modifiedNewsEntry.hpp b/internal/tlcodegen/test/gen/schema_cpp/service4/headers/service4.modifiedNewsEntry.hpp deleted file mode 100644 index 6e7ea954..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service4/headers/service4.modifiedNewsEntry.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service4.modifiedNewsEntry.hpp" - -namespace tl2 { namespace details { - -void Service4ModifiedNewsEntryReset(::tl2::service4::ModifiedNewsEntry& item); - -bool Service4ModifiedNewsEntryWriteJSON(std::ostream& s, const ::tl2::service4::ModifiedNewsEntry& item); -bool Service4ModifiedNewsEntryRead(::basictl::tl_istream & s, ::tl2::service4::ModifiedNewsEntry& item); -bool Service4ModifiedNewsEntryWrite(::basictl::tl_ostream & s, const ::tl2::service4::ModifiedNewsEntry& item); -bool Service4ModifiedNewsEntryReadBoxed(::basictl::tl_istream & s, ::tl2::service4::ModifiedNewsEntry& item); -bool Service4ModifiedNewsEntryWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service4::ModifiedNewsEntry& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service4/headers/service4.object.hpp b/internal/tlcodegen/test/gen/schema_cpp/service4/headers/service4.object.hpp deleted file mode 100644 index 15e2e5df..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service4/headers/service4.object.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service4.object.hpp" - -namespace tl2 { namespace details { - -void Service4ObjectReset(::tl2::service4::Object& item); - -bool Service4ObjectWriteJSON(std::ostream& s, const ::tl2::service4::Object& item); -bool Service4ObjectRead(::basictl::tl_istream & s, ::tl2::service4::Object& item); -bool Service4ObjectWrite(::basictl::tl_ostream & s, const ::tl2::service4::Object& item); -bool Service4ObjectReadBoxed(::basictl::tl_istream & s, ::tl2::service4::Object& item); -bool Service4ObjectWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service4::Object& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service4/types/service4.modifiedNewsEntry.hpp b/internal/tlcodegen/test/gen/schema_cpp/service4/types/service4.modifiedNewsEntry.hpp deleted file mode 100644 index 184272cb..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service4/types/service4.modifiedNewsEntry.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "service4.object.hpp" - - -namespace tl2 { namespace service4 { -struct ModifiedNewsEntry { - ::tl2::service4::Object object{}; - int32_t creation_date = 0; - uint32_t fields_mask = 0; - int32_t restoration_date = 0; - int32_t deletion_date = 0; - bool hidden_by_privacy = false; - - std::string_view tl_name() const { return "service4.modifiedNewsEntry"; } - uint32_t tl_tag() const { return 0xda19832a; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const ModifiedNewsEntry& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service4 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service4/types/service4.object.hpp b/internal/tlcodegen/test/gen/schema_cpp/service4/types/service4.object.hpp deleted file mode 100644 index 355806ba..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service4/types/service4.object.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service4 { -struct Object { - int32_t type = 0; - std::vector joint_id; - std::vector object_id; - - std::string_view tl_name() const { return "service4.object"; } - uint32_t tl_tag() const { return 0xa6eeca4f; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const Object& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service4 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/service5/details.cpp deleted file mode 100644 index d5b5b253..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/details.cpp +++ /dev/null @@ -1,542 +0,0 @@ -#include "headers/service5.query.hpp" -#include "headers/service5.performQuery.hpp" -#include "headers/service5.params.hpp" -#include "headers/service5.Output.hpp" -#include "headers/service5.stringOutput.hpp" -#include "headers/service5.insert.hpp" -#include "headers/service5.emptyOutput.hpp" - - -bool tl2::service5::EmptyOutput::write_json(std::ostream& s)const { - if (!::tl2::details::Service5EmptyOutputWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service5::EmptyOutput::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service5EmptyOutputRead(s, *this)) { return false; } - return true; -} - -bool tl2::service5::EmptyOutput::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5EmptyOutputWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service5::EmptyOutput::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service5EmptyOutputReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service5::EmptyOutput::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5EmptyOutputWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service5EmptyOutputReset(::tl2::service5::EmptyOutput& item) { -} - -bool tl2::details::Service5EmptyOutputWriteJSON(std::ostream& s, const ::tl2::service5::EmptyOutput& item) { - s << "true"; - return true; -} - -bool tl2::details::Service5EmptyOutputRead(::basictl::tl_istream & s, ::tl2::service5::EmptyOutput& item) { - return true; -} - -bool tl2::details::Service5EmptyOutputWrite(::basictl::tl_ostream & s, const ::tl2::service5::EmptyOutput& item) { - return true; -} - -bool tl2::details::Service5EmptyOutputReadBoxed(::basictl::tl_istream & s, ::tl2::service5::EmptyOutput& item) { - if (!s.nat_read_exact_tag(0x11e46879)) { return false; } - return tl2::details::Service5EmptyOutputRead(s, item); -} - -bool tl2::details::Service5EmptyOutputWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::EmptyOutput& item) { - if (!s.nat_write(0x11e46879)) { return false; } - return tl2::details::Service5EmptyOutputWrite(s, item); -} - -bool tl2::service5::Insert::write_json(std::ostream& s)const { - if (!::tl2::details::Service5InsertWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service5::Insert::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service5InsertRead(s, *this)) { return false; } - return true; -} - -bool tl2::service5::Insert::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5InsertWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service5::Insert::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service5InsertReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service5::Insert::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5InsertWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service5InsertReset(::tl2::service5::Insert& item) { - item.table.clear(); - item.data.clear(); -} - -bool tl2::details::Service5InsertWriteJSON(std::ostream& s, const ::tl2::service5::Insert& item) { - auto add_comma = false; - s << "{"; - if (item.table.size() != 0) { - add_comma = true; - s << "\"table\":"; - s << "\"" << item.table << "\""; - } - if (item.data.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"data\":"; - s << "\"" << item.data << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service5InsertRead(::basictl::tl_istream & s, ::tl2::service5::Insert& item) { - if (!s.string_read(item.table)) { return false; } - if (!s.string_read(item.data)) { return false; } - return true; -} - -bool tl2::details::Service5InsertWrite(::basictl::tl_ostream & s, const ::tl2::service5::Insert& item) { - if (!s.string_write(item.table)) { return false;} - if (!s.string_write(item.data)) { return false;} - return true; -} - -bool tl2::details::Service5InsertReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Insert& item) { - if (!s.nat_read_exact_tag(0xc911ee2c)) { return false; } - return tl2::details::Service5InsertRead(s, item); -} - -bool tl2::details::Service5InsertWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Insert& item) { - if (!s.nat_write(0xc911ee2c)) { return false; } - return tl2::details::Service5InsertWrite(s, item); -} - -bool tl2::details::Service5InsertReadResult(::basictl::tl_istream & s, tl2::service5::Insert& item, ::tl2::service5::Output& result) { - if (!::tl2::details::Service5OutputReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service5InsertWriteResult(::basictl::tl_ostream & s, tl2::service5::Insert& item, ::tl2::service5::Output& result) { - if (!::tl2::details::Service5OutputWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service5::Insert::read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result) { - return tl2::details::Service5InsertReadResult(s, *this, result); -} -bool tl2::service5::Insert::write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result) { - return tl2::details::Service5InsertWriteResult(s, *this, result); -} - -static const std::string_view Service5Output_tbl_tl_name[]{"service5.emptyOutput", "service5.stringOutput"}; -static const uint32_t Service5Output_tbl_tl_tag[]{0x11e46879, 0x179e9863}; - -bool tl2::service5::Output::write_json(std::ostream & s)const { - if (!::tl2::details::Service5OutputWriteJSON(s, *this)) { return false; } - return true; -} -bool tl2::service5::Output::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service5OutputReadBoxed(s, *this)) { return false; } - return true; -} -bool tl2::service5::Output::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5OutputWriteBoxed(s, *this)) { return false; } - return true; -} -std::string_view tl2::service5::Output::tl_name() const { - return Service5Output_tbl_tl_name[value.index()]; -} -uint32_t tl2::service5::Output::tl_tag() const { - return Service5Output_tbl_tl_tag[value.index()]; -} - - -void tl2::details::Service5OutputReset(::tl2::service5::Output& item) { - item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function -} - -bool tl2::details::Service5OutputWriteJSON(std::ostream & s, const ::tl2::service5::Output& item) { - s << "{"; - s << "\"type\":"; - s << "\"" << Service5Output_tbl_tl_name[item.value.index()] << "\""; - switch (item.value.index()) { - case 1: - s << ",\"value\":"; - if (!::tl2::details::Service5StringOutputWriteJSON(s, std::get<1>(item.value))) { return false; } - break; - } - s << "}"; - return true; -} -bool tl2::details::Service5OutputReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Output& item) { - uint32_t nat; - s.nat_read(nat); - switch (nat) { - case 0x11e46879: - if (item.value.index() != 0) { item.value.emplace<0>(); } - break; - case 0x179e9863: - if (item.value.index() != 1) { item.value.emplace<1>(); } - if (!::tl2::details::Service5StringOutputRead(s, std::get<1>(item.value))) { return false; } - break; - default: - return s.set_error_union_tag(); - } - return true; -} - -bool tl2::details::Service5OutputWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Output& item) { - s.nat_write(Service5Output_tbl_tl_tag[item.value.index()]); - switch (item.value.index()) { - case 1: - if (!::tl2::details::Service5StringOutputWrite(s, std::get<1>(item.value))) { return false; } - break; - } - return true; -} - -bool tl2::service5::Params::write_json(std::ostream& s)const { - if (!::tl2::details::Service5ParamsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service5::Params::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service5ParamsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service5::Params::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5ParamsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service5::Params::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service5ParamsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service5::Params::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5ParamsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service5ParamsReset(::tl2::service5::Params& item) { - item.fields_mask = 0; - item.max_execution_speed = 0; - item.max_execution_speed_bytes = 0; -} - -bool tl2::details::Service5ParamsWriteJSON(std::ostream& s, const ::tl2::service5::Params& item) { - auto add_comma = false; - s << "{"; - if (item.fields_mask != 0) { - add_comma = true; - s << "\"fields_mask\":"; - s << item.fields_mask; - } - if ((item.fields_mask & (1<<0)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"max_execution_speed\":"; - s << item.max_execution_speed; - } - if ((item.fields_mask & (1<<1)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"max_execution_speed_bytes\":"; - s << item.max_execution_speed_bytes; - } - s << "}"; - return true; -} - -bool tl2::details::Service5ParamsRead(::basictl::tl_istream & s, ::tl2::service5::Params& item) { - if (!s.nat_read(item.fields_mask)) { return false; } - if ((item.fields_mask & (1<<0)) != 0) { - if (!s.int_read(item.max_execution_speed)) { return false; } - } else { - item.max_execution_speed = 0; - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!s.int_read(item.max_execution_speed_bytes)) { return false; } - } else { - item.max_execution_speed_bytes = 0; - } - return true; -} - -bool tl2::details::Service5ParamsWrite(::basictl::tl_ostream & s, const ::tl2::service5::Params& item) { - if (!s.nat_write(item.fields_mask)) { return false;} - if ((item.fields_mask & (1<<0)) != 0) { - if (!s.int_write(item.max_execution_speed)) { return false;} - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!s.int_write(item.max_execution_speed_bytes)) { return false;} - } - return true; -} - -bool tl2::details::Service5ParamsReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Params& item) { - if (!s.nat_read_exact_tag(0x12ae5cb5)) { return false; } - return tl2::details::Service5ParamsRead(s, item); -} - -bool tl2::details::Service5ParamsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Params& item) { - if (!s.nat_write(0x12ae5cb5)) { return false; } - return tl2::details::Service5ParamsWrite(s, item); -} - -bool tl2::service5::PerformQuery::write_json(std::ostream& s)const { - if (!::tl2::details::Service5PerformQueryWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service5::PerformQuery::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service5PerformQueryRead(s, *this)) { return false; } - return true; -} - -bool tl2::service5::PerformQuery::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5PerformQueryWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service5::PerformQuery::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service5PerformQueryReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service5::PerformQuery::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5PerformQueryWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service5PerformQueryReset(::tl2::service5::PerformQuery& item) { - item.query.clear(); -} - -bool tl2::details::Service5PerformQueryWriteJSON(std::ostream& s, const ::tl2::service5::PerformQuery& item) { - s << "{"; - if (item.query.size() != 0) { - s << "\"query\":"; - s << "\"" << item.query << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service5PerformQueryRead(::basictl::tl_istream & s, ::tl2::service5::PerformQuery& item) { - if (!s.string_read(item.query)) { return false; } - return true; -} - -bool tl2::details::Service5PerformQueryWrite(::basictl::tl_ostream & s, const ::tl2::service5::PerformQuery& item) { - if (!s.string_write(item.query)) { return false;} - return true; -} - -bool tl2::details::Service5PerformQueryReadBoxed(::basictl::tl_istream & s, ::tl2::service5::PerformQuery& item) { - if (!s.nat_read_exact_tag(0x019d80a5)) { return false; } - return tl2::details::Service5PerformQueryRead(s, item); -} - -bool tl2::details::Service5PerformQueryWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::PerformQuery& item) { - if (!s.nat_write(0x019d80a5)) { return false; } - return tl2::details::Service5PerformQueryWrite(s, item); -} - -bool tl2::details::Service5PerformQueryReadResult(::basictl::tl_istream & s, tl2::service5::PerformQuery& item, ::tl2::service5::Output& result) { - if (!::tl2::details::Service5OutputReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service5PerformQueryWriteResult(::basictl::tl_ostream & s, tl2::service5::PerformQuery& item, ::tl2::service5::Output& result) { - if (!::tl2::details::Service5OutputWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service5::PerformQuery::read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result) { - return tl2::details::Service5PerformQueryReadResult(s, *this, result); -} -bool tl2::service5::PerformQuery::write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result) { - return tl2::details::Service5PerformQueryWriteResult(s, *this, result); -} - -bool tl2::service5::Query::write_json(std::ostream& s)const { - if (!::tl2::details::Service5QueryWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service5::Query::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service5QueryRead(s, *this)) { return false; } - return true; -} - -bool tl2::service5::Query::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5QueryWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service5::Query::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service5QueryReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service5::Query::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5QueryWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service5QueryReset(::tl2::service5::Query& item) { - item.query.clear(); - ::tl2::details::Service5ParamsReset(item.params); -} - -bool tl2::details::Service5QueryWriteJSON(std::ostream& s, const ::tl2::service5::Query& item) { - auto add_comma = false; - s << "{"; - if (item.query.size() != 0) { - add_comma = true; - s << "\"query\":"; - s << "\"" << item.query << "\""; - } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"params\":"; - if (!::tl2::details::Service5ParamsWriteJSON(s, item.params)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::Service5QueryRead(::basictl::tl_istream & s, ::tl2::service5::Query& item) { - if (!s.string_read(item.query)) { return false; } - if (!::tl2::details::Service5ParamsRead(s, item.params)) { return false; } - return true; -} - -bool tl2::details::Service5QueryWrite(::basictl::tl_ostream & s, const ::tl2::service5::Query& item) { - if (!s.string_write(item.query)) { return false;} - if (!::tl2::details::Service5ParamsWrite(s, item.params)) { return false; } - return true; -} - -bool tl2::details::Service5QueryReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Query& item) { - if (!s.nat_read_exact_tag(0xb3b62513)) { return false; } - return tl2::details::Service5QueryRead(s, item); -} - -bool tl2::details::Service5QueryWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Query& item) { - if (!s.nat_write(0xb3b62513)) { return false; } - return tl2::details::Service5QueryWrite(s, item); -} - -bool tl2::details::Service5QueryReadResult(::basictl::tl_istream & s, tl2::service5::Query& item, ::tl2::service5::Output& result) { - if (!::tl2::details::Service5OutputReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::Service5QueryWriteResult(::basictl::tl_ostream & s, tl2::service5::Query& item, ::tl2::service5::Output& result) { - if (!::tl2::details::Service5OutputWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::service5::Query::read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result) { - return tl2::details::Service5QueryReadResult(s, *this, result); -} -bool tl2::service5::Query::write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result) { - return tl2::details::Service5QueryWriteResult(s, *this, result); -} - -bool tl2::service5::StringOutput::write_json(std::ostream& s)const { - if (!::tl2::details::Service5StringOutputWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service5::StringOutput::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service5StringOutputRead(s, *this)) { return false; } - return true; -} - -bool tl2::service5::StringOutput::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5StringOutputWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service5::StringOutput::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service5StringOutputReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service5::StringOutput::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service5StringOutputWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service5StringOutputReset(::tl2::service5::StringOutput& item) { - item.http_code = 0; - item.response.clear(); -} - -bool tl2::details::Service5StringOutputWriteJSON(std::ostream& s, const ::tl2::service5::StringOutput& item) { - auto add_comma = false; - s << "{"; - if (item.http_code != 0) { - add_comma = true; - s << "\"http_code\":"; - s << item.http_code; - } - if (item.response.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"response\":"; - s << "\"" << item.response << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::Service5StringOutputRead(::basictl::tl_istream & s, ::tl2::service5::StringOutput& item) { - if (!s.int_read(item.http_code)) { return false; } - if (!s.string_read(item.response)) { return false; } - return true; -} - -bool tl2::details::Service5StringOutputWrite(::basictl::tl_ostream & s, const ::tl2::service5::StringOutput& item) { - if (!s.int_write(item.http_code)) { return false;} - if (!s.string_write(item.response)) { return false;} - return true; -} - -bool tl2::details::Service5StringOutputReadBoxed(::basictl::tl_istream & s, ::tl2::service5::StringOutput& item) { - if (!s.nat_read_exact_tag(0x179e9863)) { return false; } - return tl2::details::Service5StringOutputRead(s, item); -} - -bool tl2::details::Service5StringOutputWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::StringOutput& item) { - if (!s.nat_write(0x179e9863)) { return false; } - return tl2::details::Service5StringOutputWrite(s, item); -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.insert.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.insert.hpp deleted file mode 100644 index 8e6c65b0..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.insert.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service5.Output.hpp" - - -namespace tl2 { namespace service5 { -struct Insert { - // tl magic for function - static const uint32_t MAGIC = 0xc911ee2c; - - std::string table; - std::string data; - - std::string_view tl_name() const { return "service5.insert"; } - uint32_t tl_tag() const { return 0xc911ee2c; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result); - - friend std::ostream& operator<<(std::ostream& s, const Insert& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service5 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.performQuery.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.performQuery.hpp deleted file mode 100644 index 4f7fe07c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.performQuery.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service5.Output.hpp" - - -namespace tl2 { namespace service5 { -struct PerformQuery { - // tl magic for function - static const uint32_t MAGIC = 0x019d80a5; - - std::string query; - - std::string_view tl_name() const { return "service5.performQuery"; } - uint32_t tl_tag() const { return 0x019d80a5; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result); - - friend std::ostream& operator<<(std::ostream& s, const PerformQuery& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service5 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.query.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.query.hpp deleted file mode 100644 index a921b4b5..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/functions/service5.query.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service5.params.hpp" -#include "../types/service5.Output.hpp" - - -namespace tl2 { namespace service5 { -struct Query { - // tl magic for function - static const uint32_t MAGIC = 0xb3b62513; - - std::string query; - ::tl2::service5::Params params{}; - - std::string_view tl_name() const { return "service5.query"; } - uint32_t tl_tag() const { return 0xb3b62513; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result); - - friend std::ostream& operator<<(std::ostream& s, const Query& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service5 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.Output.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.Output.hpp deleted file mode 100644 index ab215c85..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.Output.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service5.Output.hpp" - -namespace tl2 { namespace details { - -void Service5OutputReset(::tl2::service5::Output& item); - -bool Service5OutputWriteJSON(std::ostream & s, const ::tl2::service5::Output& item); -bool Service5OutputReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Output& item); -bool Service5OutputWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Output& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.emptyOutput.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.emptyOutput.hpp deleted file mode 100644 index ca26375e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.emptyOutput.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service5.emptyOutput.hpp" - -namespace tl2 { namespace details { - -void Service5EmptyOutputReset(::tl2::service5::EmptyOutput& item); - -bool Service5EmptyOutputWriteJSON(std::ostream& s, const ::tl2::service5::EmptyOutput& item); -bool Service5EmptyOutputRead(::basictl::tl_istream & s, ::tl2::service5::EmptyOutput& item); -bool Service5EmptyOutputWrite(::basictl::tl_ostream & s, const ::tl2::service5::EmptyOutput& item); -bool Service5EmptyOutputReadBoxed(::basictl::tl_istream & s, ::tl2::service5::EmptyOutput& item); -bool Service5EmptyOutputWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::EmptyOutput& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.insert.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.insert.hpp deleted file mode 100644 index feec02b2..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.insert.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service5.insert.hpp" -#include "../types/service5.Output.hpp" - -namespace tl2 { namespace details { - -void Service5InsertReset(::tl2::service5::Insert& item); - -bool Service5InsertWriteJSON(std::ostream& s, const ::tl2::service5::Insert& item); -bool Service5InsertRead(::basictl::tl_istream & s, ::tl2::service5::Insert& item); -bool Service5InsertWrite(::basictl::tl_ostream & s, const ::tl2::service5::Insert& item); -bool Service5InsertReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Insert& item); -bool Service5InsertWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Insert& item); - -bool Service5InsertReadResult(::basictl::tl_istream & s, ::tl2::service5::Insert& item, ::tl2::service5::Output& result); -bool Service5InsertWriteResult(::basictl::tl_ostream & s, ::tl2::service5::Insert& item, ::tl2::service5::Output& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.params.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.params.hpp deleted file mode 100644 index 46d16863..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.params.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service5.params.hpp" - -namespace tl2 { namespace details { - -void Service5ParamsReset(::tl2::service5::Params& item); - -bool Service5ParamsWriteJSON(std::ostream& s, const ::tl2::service5::Params& item); -bool Service5ParamsRead(::basictl::tl_istream & s, ::tl2::service5::Params& item); -bool Service5ParamsWrite(::basictl::tl_ostream & s, const ::tl2::service5::Params& item); -bool Service5ParamsReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Params& item); -bool Service5ParamsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Params& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.performQuery.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.performQuery.hpp deleted file mode 100644 index 8589e16e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.performQuery.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service5.performQuery.hpp" -#include "../types/service5.Output.hpp" - -namespace tl2 { namespace details { - -void Service5PerformQueryReset(::tl2::service5::PerformQuery& item); - -bool Service5PerformQueryWriteJSON(std::ostream& s, const ::tl2::service5::PerformQuery& item); -bool Service5PerformQueryRead(::basictl::tl_istream & s, ::tl2::service5::PerformQuery& item); -bool Service5PerformQueryWrite(::basictl::tl_ostream & s, const ::tl2::service5::PerformQuery& item); -bool Service5PerformQueryReadBoxed(::basictl::tl_istream & s, ::tl2::service5::PerformQuery& item); -bool Service5PerformQueryWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::PerformQuery& item); - -bool Service5PerformQueryReadResult(::basictl::tl_istream & s, ::tl2::service5::PerformQuery& item, ::tl2::service5::Output& result); -bool Service5PerformQueryWriteResult(::basictl::tl_ostream & s, ::tl2::service5::PerformQuery& item, ::tl2::service5::Output& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.query.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.query.hpp deleted file mode 100644 index f91ebd11..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.query.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service5.query.hpp" -#include "../types/service5.Output.hpp" - -namespace tl2 { namespace details { - -void Service5QueryReset(::tl2::service5::Query& item); - -bool Service5QueryWriteJSON(std::ostream& s, const ::tl2::service5::Query& item); -bool Service5QueryRead(::basictl::tl_istream & s, ::tl2::service5::Query& item); -bool Service5QueryWrite(::basictl::tl_ostream & s, const ::tl2::service5::Query& item); -bool Service5QueryReadBoxed(::basictl::tl_istream & s, ::tl2::service5::Query& item); -bool Service5QueryWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::Query& item); - -bool Service5QueryReadResult(::basictl::tl_istream & s, ::tl2::service5::Query& item, ::tl2::service5::Output& result); -bool Service5QueryWriteResult(::basictl::tl_ostream & s, ::tl2::service5::Query& item, ::tl2::service5::Output& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.stringOutput.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.stringOutput.hpp deleted file mode 100644 index e6602fe6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/headers/service5.stringOutput.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service5.stringOutput.hpp" - -namespace tl2 { namespace details { - -void Service5StringOutputReset(::tl2::service5::StringOutput& item); - -bool Service5StringOutputWriteJSON(std::ostream& s, const ::tl2::service5::StringOutput& item); -bool Service5StringOutputRead(::basictl::tl_istream & s, ::tl2::service5::StringOutput& item); -bool Service5StringOutputWrite(::basictl::tl_ostream & s, const ::tl2::service5::StringOutput& item); -bool Service5StringOutputReadBoxed(::basictl::tl_istream & s, ::tl2::service5::StringOutput& item); -bool Service5StringOutputWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service5::StringOutput& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.Output.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.Output.hpp deleted file mode 100644 index 87e29ec6..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.Output.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "service5.stringOutput.hpp" -#include "service5.emptyOutput.hpp" - - -namespace tl2 { namespace service5 { -struct Output { - std::variant<::tl2::service5::EmptyOutput, ::tl2::service5::StringOutput> value; - - bool is_empty() const { return value.index() == 0; } - bool is_string() const { return value.index() == 1; } - - void set_empty() { value.emplace<0>(); } - - std::string_view tl_name() const; - uint32_t tl_tag() const; - - bool write_json(std::ostream& s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; -}; - -}} // namespace tl2::service5 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.emptyOutput.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.emptyOutput.hpp deleted file mode 100644 index c22c03b7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.emptyOutput.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service5 { -struct EmptyOutput { - - std::string_view tl_name() const { return "service5.emptyOutput"; } - uint32_t tl_tag() const { return 0x11e46879; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const EmptyOutput& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service5 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.params.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.params.hpp deleted file mode 100644 index 2a73bc50..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.params.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service5 { -struct Params { - uint32_t fields_mask = 0; - int32_t max_execution_speed = 0; - int32_t max_execution_speed_bytes = 0; - - std::string_view tl_name() const { return "service5.params"; } - uint32_t tl_tag() const { return 0x12ae5cb5; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const Params& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service5 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.stringOutput.hpp b/internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.stringOutput.hpp deleted file mode 100644 index abb06bd3..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service5/types/service5.stringOutput.hpp +++ /dev/null @@ -1,29 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service5 { -struct StringOutput { - int32_t http_code = 0; - std::string response; - - std::string_view tl_name() const { return "service5.stringOutput"; } - uint32_t tl_tag() const { return 0x179e9863; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const StringOutput& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service5 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/service6/details.cpp deleted file mode 100644 index e9ebd764..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/details.cpp +++ /dev/null @@ -1,437 +0,0 @@ -#include "headers/service6.multiFindWithBounds.hpp" -#include "headers/service6.multiFind.hpp" -#include "headers/service6.findWithBoundsResult.hpp" -#include "headers/service6.findResultRow.hpp" -#include "headers/service6.error.hpp" -#include "../__common_namespace/headers/int.hpp" -#include "../__common_namespace/headers/Either.hpp" - - -void tl2::details::BuiltinVectorService6FindResultRowReset(std::vector<::tl2::service6::FindResultRow>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorService6FindResultRowWriteJSON(std::ostream & s, const std::vector<::tl2::service6::FindResultRow>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::Service6FindResultRowWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindResultRow>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::Service6FindResultRowRead(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindResultRow>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::Service6FindResultRowWrite(s, el)) { return false; } - } - return true; -} - -void tl2::details::BuiltinVectorService6FindWithBoundsResultReset(std::vector<::tl2::service6::FindWithBoundsResult>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorService6FindWithBoundsResultWriteJSON(std::ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::Service6FindWithBoundsResultWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindWithBoundsResult>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::Service6FindWithBoundsResultRead(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::Service6FindWithBoundsResultWrite(s, el)) { return false; } - } - return true; -} - -bool tl2::service6::Error::write_json(std::ostream& s)const { - if (!::tl2::details::Service6ErrorWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service6::Error::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service6ErrorRead(s, *this)) { return false; } - return true; -} - -bool tl2::service6::Error::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service6ErrorWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service6::Error::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service6ErrorReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service6::Error::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service6ErrorWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service6ErrorReset(::tl2::service6::Error& item) { - item.code = 0; -} - -bool tl2::details::Service6ErrorWriteJSON(std::ostream& s, const ::tl2::service6::Error& item) { - s << "{"; - if (item.code != 0) { - s << "\"code\":"; - s << item.code; - } - s << "}"; - return true; -} - -bool tl2::details::Service6ErrorRead(::basictl::tl_istream & s, ::tl2::service6::Error& item) { - if (!s.int_read(item.code)) { return false; } - return true; -} - -bool tl2::details::Service6ErrorWrite(::basictl::tl_ostream & s, const ::tl2::service6::Error& item) { - if (!s.int_write(item.code)) { return false;} - return true; -} - -bool tl2::details::Service6ErrorReadBoxed(::basictl::tl_istream & s, ::tl2::service6::Error& item) { - if (!s.nat_read_exact_tag(0x738553ef)) { return false; } - return tl2::details::Service6ErrorRead(s, item); -} - -bool tl2::details::Service6ErrorWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::Error& item) { - if (!s.nat_write(0x738553ef)) { return false; } - return tl2::details::Service6ErrorWrite(s, item); -} - -bool tl2::service6::FindResultRow::write_json(std::ostream& s)const { - if (!::tl2::details::Service6FindResultRowWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service6::FindResultRow::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service6FindResultRowRead(s, *this)) { return false; } - return true; -} - -bool tl2::service6::FindResultRow::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service6FindResultRowWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service6::FindResultRow::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service6FindResultRowReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service6::FindResultRow::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service6FindResultRowWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service6FindResultRowReset(::tl2::service6::FindResultRow& item) { - item.x = 0; -} - -bool tl2::details::Service6FindResultRowWriteJSON(std::ostream& s, const ::tl2::service6::FindResultRow& item) { - s << "{"; - if (item.x != 0) { - s << "\"x\":"; - s << item.x; - } - s << "}"; - return true; -} - -bool tl2::details::Service6FindResultRowRead(::basictl::tl_istream & s, ::tl2::service6::FindResultRow& item) { - if (!s.int_read(item.x)) { return false; } - return true; -} - -bool tl2::details::Service6FindResultRowWrite(::basictl::tl_ostream & s, const ::tl2::service6::FindResultRow& item) { - if (!s.int_write(item.x)) { return false;} - return true; -} - -bool tl2::details::Service6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::service6::FindResultRow& item) { - if (!s.nat_read_exact_tag(0xbd3946e3)) { return false; } - return tl2::details::Service6FindResultRowRead(s, item); -} - -bool tl2::details::Service6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::FindResultRow& item) { - if (!s.nat_write(0xbd3946e3)) { return false; } - return tl2::details::Service6FindResultRowWrite(s, item); -} - -bool tl2::service6::FindWithBoundsResult::write_json(std::ostream& s)const { - if (!::tl2::details::Service6FindWithBoundsResultWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service6::FindWithBoundsResult::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service6FindWithBoundsResultRead(s, *this)) { return false; } - return true; -} - -bool tl2::service6::FindWithBoundsResult::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service6FindWithBoundsResultWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service6::FindWithBoundsResult::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service6FindWithBoundsResultReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service6::FindWithBoundsResult::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service6FindWithBoundsResultWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service6FindWithBoundsResultReset(::tl2::service6::FindWithBoundsResult& item) { - item.x = 0; -} - -bool tl2::details::Service6FindWithBoundsResultWriteJSON(std::ostream& s, const ::tl2::service6::FindWithBoundsResult& item) { - s << "{"; - if (item.x != 0) { - s << "\"x\":"; - s << item.x; - } - s << "}"; - return true; -} - -bool tl2::details::Service6FindWithBoundsResultRead(::basictl::tl_istream & s, ::tl2::service6::FindWithBoundsResult& item) { - if (!s.int_read(item.x)) { return false; } - return true; -} - -bool tl2::details::Service6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const ::tl2::service6::FindWithBoundsResult& item) { - if (!s.int_write(item.x)) { return false;} - return true; -} - -bool tl2::details::Service6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::service6::FindWithBoundsResult& item) { - if (!s.nat_read_exact_tag(0x3ded850a)) { return false; } - return tl2::details::Service6FindWithBoundsResultRead(s, item); -} - -bool tl2::details::Service6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::FindWithBoundsResult& item) { - if (!s.nat_write(0x3ded850a)) { return false; } - return tl2::details::Service6FindWithBoundsResultWrite(s, item); -} - -bool tl2::service6::MultiFind::write_json(std::ostream& s)const { - if (!::tl2::details::Service6MultiFindWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service6::MultiFind::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service6MultiFindRead(s, *this)) { return false; } - return true; -} - -bool tl2::service6::MultiFind::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service6MultiFindWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service6::MultiFind::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service6MultiFindReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service6::MultiFind::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service6MultiFindWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service6MultiFindReset(::tl2::service6::MultiFind& item) { - item.clusters.clear(); - item.limit = 0; - item.eq_threshold = 0; -} - -bool tl2::details::Service6MultiFindWriteJSON(std::ostream& s, const ::tl2::service6::MultiFind& item) { - auto add_comma = false; - s << "{"; - if (item.clusters.size() != 0) { - add_comma = true; - s << "\"clusters\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.clusters)) { return false; } - } - if (item.limit != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"limit\":"; - s << item.limit; - } - if (item.eq_threshold != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"eq_threshold\":"; - s << item.eq_threshold; - } - s << "}"; - return true; -} - -bool tl2::details::Service6MultiFindRead(::basictl::tl_istream & s, ::tl2::service6::MultiFind& item) { - if (!::tl2::details::BuiltinVectorIntRead(s, item.clusters)) { return false; } - if (!s.int_read(item.limit)) { return false; } - if (!s.double_read(item.eq_threshold)) { return false; } - return true; -} - -bool tl2::details::Service6MultiFindWrite(::basictl::tl_ostream & s, const ::tl2::service6::MultiFind& item) { - if (!::tl2::details::BuiltinVectorIntWrite(s, item.clusters)) { return false; } - if (!s.int_write(item.limit)) { return false;} - if (!s.double_write(item.eq_threshold)) { return false;} - return true; -} - -bool tl2::details::Service6MultiFindReadBoxed(::basictl::tl_istream & s, ::tl2::service6::MultiFind& item) { - if (!s.nat_read_exact_tag(0xe62178d8)) { return false; } - return tl2::details::Service6MultiFindRead(s, item); -} - -bool tl2::details::Service6MultiFindWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::MultiFind& item) { - if (!s.nat_write(0xe62178d8)) { return false; } - return tl2::details::Service6MultiFindWrite(s, item); -} - -bool tl2::details::Service6MultiFindReadResult(::basictl::tl_istream & s, tl2::service6::MultiFind& item, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& result) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowRead(s, result)) { return false; } - return true; -} -bool tl2::details::Service6MultiFindWriteResult(::basictl::tl_ostream & s, tl2::service6::MultiFind& item, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& result) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorEitherService6ErrorVectorService6FindResultRowWrite(s, result)) { return false; } - return true; -} - -bool tl2::service6::MultiFind::read_result(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> & result) { - return tl2::details::Service6MultiFindReadResult(s, *this, result); -} -bool tl2::service6::MultiFind::write_result(::basictl::tl_ostream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> & result) { - return tl2::details::Service6MultiFindWriteResult(s, *this, result); -} - -bool tl2::service6::MultiFindWithBounds::write_json(std::ostream& s)const { - if (!::tl2::details::Service6MultiFindWithBoundsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::service6::MultiFindWithBounds::read(::basictl::tl_istream & s) { - if (!::tl2::details::Service6MultiFindWithBoundsRead(s, *this)) { return false; } - return true; -} - -bool tl2::service6::MultiFindWithBounds::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service6MultiFindWithBoundsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::service6::MultiFindWithBounds::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::Service6MultiFindWithBoundsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::service6::MultiFindWithBounds::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::Service6MultiFindWithBoundsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::Service6MultiFindWithBoundsReset(::tl2::service6::MultiFindWithBounds& item) { - item.clusters.clear(); -} - -bool tl2::details::Service6MultiFindWithBoundsWriteJSON(std::ostream& s, const ::tl2::service6::MultiFindWithBounds& item) { - s << "{"; - if (item.clusters.size() != 0) { - s << "\"clusters\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.clusters)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::Service6MultiFindWithBoundsRead(::basictl::tl_istream & s, ::tl2::service6::MultiFindWithBounds& item) { - if (!::tl2::details::BuiltinVectorIntRead(s, item.clusters)) { return false; } - return true; -} - -bool tl2::details::Service6MultiFindWithBoundsWrite(::basictl::tl_ostream & s, const ::tl2::service6::MultiFindWithBounds& item) { - if (!::tl2::details::BuiltinVectorIntWrite(s, item.clusters)) { return false; } - return true; -} - -bool tl2::details::Service6MultiFindWithBoundsReadBoxed(::basictl::tl_istream & s, ::tl2::service6::MultiFindWithBounds& item) { - if (!s.nat_read_exact_tag(0x84b168cf)) { return false; } - return tl2::details::Service6MultiFindWithBoundsRead(s, item); -} - -bool tl2::details::Service6MultiFindWithBoundsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::MultiFindWithBounds& item) { - if (!s.nat_write(0x84b168cf)) { return false; } - return tl2::details::Service6MultiFindWithBoundsWrite(s, item); -} - -bool tl2::details::Service6MultiFindWithBoundsReadResult(::basictl::tl_istream & s, tl2::service6::MultiFindWithBounds& item, std::vector<::tl2::Either>>& result) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultRead(s, result)) { return false; } - return true; -} -bool tl2::details::Service6MultiFindWithBoundsWriteResult(::basictl::tl_ostream & s, tl2::service6::MultiFindWithBounds& item, std::vector<::tl2::Either>>& result) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorEitherIntVectorService6FindWithBoundsResultWrite(s, result)) { return false; } - return true; -} - -bool tl2::service6::MultiFindWithBounds::read_result(::basictl::tl_istream & s, std::vector<::tl2::Either>> & result) { - return tl2::details::Service6MultiFindWithBoundsReadResult(s, *this, result); -} -bool tl2::service6::MultiFindWithBounds::write_result(::basictl::tl_ostream & s, std::vector<::tl2::Either>> & result) { - return tl2::details::Service6MultiFindWithBoundsWriteResult(s, *this, result); -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFind.hpp b/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFind.hpp deleted file mode 100644 index 5aaa5c9e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFind.hpp +++ /dev/null @@ -1,39 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service6.findResultRow.hpp" -#include "../types/service6.error.hpp" -#include "../../__common_namespace/types/Either.hpp" - - -namespace tl2 { namespace service6 { -struct MultiFind { - // tl magic for function - static const uint32_t MAGIC = 0xe62178d8; - - std::vector clusters; - int32_t limit = 0; - double eq_threshold = 0; - - std::string_view tl_name() const { return "service6.multiFind"; } - uint32_t tl_tag() const { return 0xe62178d8; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> & result); - bool write_result(::basictl::tl_ostream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> & result); - - friend std::ostream& operator<<(std::ostream& s, const MultiFind& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service6 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFindWithBounds.hpp b/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFindWithBounds.hpp deleted file mode 100644 index a0bb5a97..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/functions/service6.multiFindWithBounds.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service6.findWithBoundsResult.hpp" -#include "../../__common_namespace/types/Either.hpp" - - -namespace tl2 { namespace service6 { -struct MultiFindWithBounds { - // tl magic for function - static const uint32_t MAGIC = 0x84b168cf; - - std::vector clusters; - - std::string_view tl_name() const { return "service6.multiFindWithBounds"; } - uint32_t tl_tag() const { return 0x84b168cf; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector<::tl2::Either>> & result); - bool write_result(::basictl::tl_ostream & s, std::vector<::tl2::Either>> & result); - - friend std::ostream& operator<<(std::ostream& s, const MultiFindWithBounds& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service6 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.error.hpp b/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.error.hpp deleted file mode 100644 index 18b6dcbd..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.error.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service6.error.hpp" - -namespace tl2 { namespace details { - -void Service6ErrorReset(::tl2::service6::Error& item); - -bool Service6ErrorWriteJSON(std::ostream& s, const ::tl2::service6::Error& item); -bool Service6ErrorRead(::basictl::tl_istream & s, ::tl2::service6::Error& item); -bool Service6ErrorWrite(::basictl::tl_ostream & s, const ::tl2::service6::Error& item); -bool Service6ErrorReadBoxed(::basictl::tl_istream & s, ::tl2::service6::Error& item); -bool Service6ErrorWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::Error& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.findResultRow.hpp b/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.findResultRow.hpp deleted file mode 100644 index ba34563b..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.findResultRow.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service6.findResultRow.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorService6FindResultRowReset(std::vector<::tl2::service6::FindResultRow>& item); - -bool BuiltinVectorService6FindResultRowWriteJSON(std::ostream & s, const std::vector<::tl2::service6::FindResultRow>& item); -bool BuiltinVectorService6FindResultRowRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindResultRow>& item); -bool BuiltinVectorService6FindResultRowWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindResultRow>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void Service6FindResultRowReset(::tl2::service6::FindResultRow& item); - -bool Service6FindResultRowWriteJSON(std::ostream& s, const ::tl2::service6::FindResultRow& item); -bool Service6FindResultRowRead(::basictl::tl_istream & s, ::tl2::service6::FindResultRow& item); -bool Service6FindResultRowWrite(::basictl::tl_ostream & s, const ::tl2::service6::FindResultRow& item); -bool Service6FindResultRowReadBoxed(::basictl::tl_istream & s, ::tl2::service6::FindResultRow& item); -bool Service6FindResultRowWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::FindResultRow& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.findWithBoundsResult.hpp b/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.findWithBoundsResult.hpp deleted file mode 100644 index 1193538d..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.findWithBoundsResult.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/service6.findWithBoundsResult.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorService6FindWithBoundsResultReset(std::vector<::tl2::service6::FindWithBoundsResult>& item); - -bool BuiltinVectorService6FindWithBoundsResultWriteJSON(std::ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item); -bool BuiltinVectorService6FindWithBoundsResultRead(::basictl::tl_istream & s, std::vector<::tl2::service6::FindWithBoundsResult>& item); -bool BuiltinVectorService6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const std::vector<::tl2::service6::FindWithBoundsResult>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void Service6FindWithBoundsResultReset(::tl2::service6::FindWithBoundsResult& item); - -bool Service6FindWithBoundsResultWriteJSON(std::ostream& s, const ::tl2::service6::FindWithBoundsResult& item); -bool Service6FindWithBoundsResultRead(::basictl::tl_istream & s, ::tl2::service6::FindWithBoundsResult& item); -bool Service6FindWithBoundsResultWrite(::basictl::tl_ostream & s, const ::tl2::service6::FindWithBoundsResult& item); -bool Service6FindWithBoundsResultReadBoxed(::basictl::tl_istream & s, ::tl2::service6::FindWithBoundsResult& item); -bool Service6FindWithBoundsResultWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::FindWithBoundsResult& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.multiFind.hpp b/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.multiFind.hpp deleted file mode 100644 index a8a89832..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.multiFind.hpp +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service6.multiFind.hpp" -#include "../types/service6.findResultRow.hpp" -#include "../types/service6.error.hpp" -#include "../../__common_namespace/types/Either.hpp" - -namespace tl2 { namespace details { - -void Service6MultiFindReset(::tl2::service6::MultiFind& item); - -bool Service6MultiFindWriteJSON(std::ostream& s, const ::tl2::service6::MultiFind& item); -bool Service6MultiFindRead(::basictl::tl_istream & s, ::tl2::service6::MultiFind& item); -bool Service6MultiFindWrite(::basictl::tl_ostream & s, const ::tl2::service6::MultiFind& item); -bool Service6MultiFindReadBoxed(::basictl::tl_istream & s, ::tl2::service6::MultiFind& item); -bool Service6MultiFindWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::MultiFind& item); - -bool Service6MultiFindReadResult(::basictl::tl_istream & s, ::tl2::service6::MultiFind& item, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& result); -bool Service6MultiFindWriteResult(::basictl::tl_ostream & s, ::tl2::service6::MultiFind& item, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.multiFindWithBounds.hpp b/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.multiFindWithBounds.hpp deleted file mode 100644 index 85bfa7e1..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/headers/service6.multiFindWithBounds.hpp +++ /dev/null @@ -1,22 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/service6.multiFindWithBounds.hpp" -#include "../types/service6.findWithBoundsResult.hpp" -#include "../../__common_namespace/types/Either.hpp" - -namespace tl2 { namespace details { - -void Service6MultiFindWithBoundsReset(::tl2::service6::MultiFindWithBounds& item); - -bool Service6MultiFindWithBoundsWriteJSON(std::ostream& s, const ::tl2::service6::MultiFindWithBounds& item); -bool Service6MultiFindWithBoundsRead(::basictl::tl_istream & s, ::tl2::service6::MultiFindWithBounds& item); -bool Service6MultiFindWithBoundsWrite(::basictl::tl_ostream & s, const ::tl2::service6::MultiFindWithBounds& item); -bool Service6MultiFindWithBoundsReadBoxed(::basictl::tl_istream & s, ::tl2::service6::MultiFindWithBounds& item); -bool Service6MultiFindWithBoundsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::service6::MultiFindWithBounds& item); - -bool Service6MultiFindWithBoundsReadResult(::basictl::tl_istream & s, ::tl2::service6::MultiFindWithBounds& item, std::vector<::tl2::Either>>& result); -bool Service6MultiFindWithBoundsWriteResult(::basictl::tl_ostream & s, ::tl2::service6::MultiFindWithBounds& item, std::vector<::tl2::Either>>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/types/service6.error.hpp b/internal/tlcodegen/test/gen/schema_cpp/service6/types/service6.error.hpp deleted file mode 100644 index 9400de3c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/types/service6.error.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service6 { -struct Error { - int32_t code = 0; - - std::string_view tl_name() const { return "service6.error"; } - uint32_t tl_tag() const { return 0x738553ef; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const Error& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service6 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/types/service6.findResultRow.hpp b/internal/tlcodegen/test/gen/schema_cpp/service6/types/service6.findResultRow.hpp deleted file mode 100644 index 3fe4a1b1..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/types/service6.findResultRow.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service6 { -struct FindResultRow { - int32_t x = 0; - - std::string_view tl_name() const { return "service6.findResultRow"; } - uint32_t tl_tag() const { return 0xbd3946e3; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const FindResultRow& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service6 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/service6/types/service6.findWithBoundsResult.hpp b/internal/tlcodegen/test/gen/schema_cpp/service6/types/service6.findWithBoundsResult.hpp deleted file mode 100644 index 9c47fbe0..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/service6/types/service6.findWithBoundsResult.hpp +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace service6 { -struct FindWithBoundsResult { - int32_t x = 0; - - std::string_view tl_name() const { return "service6.findWithBoundsResult"; } - uint32_t tl_tag() const { return 0x3ded850a; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const FindWithBoundsResult& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::service6 - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/details.cpp deleted file mode 100644 index c7e74839..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/details.cpp +++ /dev/null @@ -1,1896 +0,0 @@ -#include "headers/tasks.TaskStatus.hpp" -#include "headers/tasks.TaskStatusItems.hpp" -#include "headers/tasks.taskInfo.hpp" -#include "headers/tasks.queueTypeInfo.hpp" -#include "headers/tasks.queueTypeSettings.hpp" -#include "headers/tasks.queueStats.hpp" -#include "headers/tasks.getTaskFromQueue.hpp" -#include "headers/tasks.getQueueTypes.hpp" -#include "headers/tasks.getQueueSize.hpp" -#include "headers/tasks.getAnyTask.hpp" -#include "headers/tasks.cronTaskWithId.hpp" -#include "headers/tasks.cronTask.hpp" -#include "headers/tasks.cronTime.hpp" -#include "headers/tasks.addTask.hpp" -#include "headers/tasks.task.hpp" -#include "headers/tasks.queueTypeStats.hpp" -#include "../__common_namespace/headers/int.hpp" -#include "../__common_namespace/headers/long.hpp" -#include "../__common_namespace/headers/Bool.hpp" - - -void tl2::details::BuiltinVectorTasksQueueTypeInfoReset(std::vector<::tl2::tasks::QueueTypeInfo>& item) { - item.resize(0); // TODO - unwrap -} - -bool tl2::details::BuiltinVectorTasksQueueTypeInfoWriteJSON(std::ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item) { - s << "["; - size_t index = 0; - for(const auto & el : item) { - if (!::tl2::details::TasksQueueTypeInfoWriteJSON(s, el)) { return false; } - if (index != item.size() - 1) { - s << ","; - } - index++; - } - s << "]"; - return true; -} - -bool tl2::details::BuiltinVectorTasksQueueTypeInfoRead(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo>& item) { - uint32_t len = 0; - if (!s.nat_read(len)) { return false; } - // TODO - check length sanity - item.resize(len); - for(auto && el : item) { - if (!::tl2::details::TasksQueueTypeInfoRead(s, el)) { return false; } - } - return true; -} - -bool tl2::details::BuiltinVectorTasksQueueTypeInfoWrite(::basictl::tl_ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item) { - if (!s.nat_write(item.size())) { return false; } - for(const auto & el : item) { - if (!::tl2::details::TasksQueueTypeInfoWrite(s, el)) { return false; } - } - return true; -} - -bool tl2::tasks::AddTask::write_json(std::ostream& s)const { - if (!::tl2::details::TasksAddTaskWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::AddTask::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksAddTaskRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::AddTask::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksAddTaskWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::AddTask::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksAddTaskReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::AddTask::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksAddTaskWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksAddTaskReset(::tl2::tasks::AddTask& item) { - item.type_name.clear(); - item.queue_id.clear(); - ::tl2::details::TasksTaskReset(item.task); -} - -bool tl2::details::TasksAddTaskWriteJSON(std::ostream& s, const ::tl2::tasks::AddTask& item) { - auto add_comma = false; - s << "{"; - if (item.type_name.size() != 0) { - add_comma = true; - s << "\"type_name\":"; - s << "\"" << item.type_name << "\""; - } - if (item.queue_id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"queue_id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.queue_id)) { return false; } - } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"task\":"; - if (!::tl2::details::TasksTaskWriteJSON(s, item.task)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::TasksAddTaskRead(::basictl::tl_istream & s, ::tl2::tasks::AddTask& item) { - if (!s.string_read(item.type_name)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.queue_id)) { return false; } - if (!::tl2::details::TasksTaskRead(s, item.task)) { return false; } - return true; -} - -bool tl2::details::TasksAddTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::AddTask& item) { - if (!s.string_write(item.type_name)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.queue_id)) { return false; } - if (!::tl2::details::TasksTaskWrite(s, item.task)) { return false; } - return true; -} - -bool tl2::details::TasksAddTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::AddTask& item) { - if (!s.nat_read_exact_tag(0x2ca073d5)) { return false; } - return tl2::details::TasksAddTaskRead(s, item); -} - -bool tl2::details::TasksAddTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::AddTask& item) { - if (!s.nat_write(0x2ca073d5)) { return false; } - return tl2::details::TasksAddTaskWrite(s, item); -} - -bool tl2::details::TasksAddTaskReadResult(::basictl::tl_istream & s, tl2::tasks::AddTask& item, int64_t& result) { - if (!s.nat_read_exact_tag(0x22076cba)) { return false;} - if (!s.long_read(result)) { return false; } - return true; -} -bool tl2::details::TasksAddTaskWriteResult(::basictl::tl_ostream & s, tl2::tasks::AddTask& item, int64_t& result) { - if (!s.nat_write(0x22076cba)) { return false; } - if (!s.long_write(result)) { return false;} - return true; -} - -bool tl2::tasks::AddTask::read_result(::basictl::tl_istream & s, int64_t & result) { - return tl2::details::TasksAddTaskReadResult(s, *this, result); -} -bool tl2::tasks::AddTask::write_result(::basictl::tl_ostream & s, int64_t & result) { - return tl2::details::TasksAddTaskWriteResult(s, *this, result); -} - -bool tl2::tasks::CronTask::write_json(std::ostream& s)const { - if (!::tl2::details::TasksCronTaskWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::CronTask::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksCronTaskRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::CronTask::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksCronTaskWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::CronTask::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksCronTaskReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::CronTask::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksCronTaskWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksCronTaskReset(::tl2::tasks::CronTask& item) { - item.type_name.clear(); - item.queue_id.clear(); - ::tl2::details::TasksTaskReset(item.task); - ::tl2::details::TasksCronTimeReset(item.time); -} - -bool tl2::details::TasksCronTaskWriteJSON(std::ostream& s, const ::tl2::tasks::CronTask& item) { - auto add_comma = false; - s << "{"; - if (item.type_name.size() != 0) { - add_comma = true; - s << "\"type_name\":"; - s << "\"" << item.type_name << "\""; - } - if (item.queue_id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"queue_id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.queue_id)) { return false; } - } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"task\":"; - if (!::tl2::details::TasksTaskWriteJSON(s, item.task)) { return false; } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"time\":"; - if (!::tl2::details::TasksCronTimeWriteJSON(s, item.time)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::TasksCronTaskRead(::basictl::tl_istream & s, ::tl2::tasks::CronTask& item) { - if (!s.string_read(item.type_name)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.queue_id)) { return false; } - if (!::tl2::details::TasksTaskRead(s, item.task)) { return false; } - if (!::tl2::details::TasksCronTimeRead(s, item.time)) { return false; } - return true; -} - -bool tl2::details::TasksCronTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::CronTask& item) { - if (!s.string_write(item.type_name)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.queue_id)) { return false; } - if (!::tl2::details::TasksTaskWrite(s, item.task)) { return false; } - if (!::tl2::details::TasksCronTimeWrite(s, item.time)) { return false; } - return true; -} - -bool tl2::details::TasksCronTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::CronTask& item) { - if (!s.nat_read_exact_tag(0xc90cf28a)) { return false; } - return tl2::details::TasksCronTaskRead(s, item); -} - -bool tl2::details::TasksCronTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::CronTask& item) { - if (!s.nat_write(0xc90cf28a)) { return false; } - return tl2::details::TasksCronTaskWrite(s, item); -} - -bool tl2::tasks::CronTaskWithId::write_json(std::ostream& s)const { - if (!::tl2::details::TasksCronTaskWithIdWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::CronTaskWithId::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksCronTaskWithIdRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::CronTaskWithId::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksCronTaskWithIdWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::CronTaskWithId::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksCronTaskWithIdReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::CronTaskWithId::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksCronTaskWithIdWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksCronTaskWithIdReset(::tl2::tasks::CronTaskWithId& item) { - item.id = 0; - item.next_time = 0; - ::tl2::details::TasksCronTaskReset(item.task); -} - -bool tl2::details::TasksCronTaskWithIdWriteJSON(std::ostream& s, const ::tl2::tasks::CronTaskWithId& item) { - auto add_comma = false; - s << "{"; - if (item.id != 0) { - add_comma = true; - s << "\"id\":"; - s << item.id; - } - if (item.next_time != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"next_time\":"; - s << item.next_time; - } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"task\":"; - if (!::tl2::details::TasksCronTaskWriteJSON(s, item.task)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::TasksCronTaskWithIdRead(::basictl::tl_istream & s, ::tl2::tasks::CronTaskWithId& item) { - if (!s.int_read(item.id)) { return false; } - if (!s.int_read(item.next_time)) { return false; } - if (!::tl2::details::TasksCronTaskRead(s, item.task)) { return false; } - return true; -} - -bool tl2::details::TasksCronTaskWithIdWrite(::basictl::tl_ostream & s, const ::tl2::tasks::CronTaskWithId& item) { - if (!s.int_write(item.id)) { return false;} - if (!s.int_write(item.next_time)) { return false;} - if (!::tl2::details::TasksCronTaskWrite(s, item.task)) { return false; } - return true; -} - -bool tl2::details::TasksCronTaskWithIdReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::CronTaskWithId& item) { - if (!s.nat_read_exact_tag(0x3a958001)) { return false; } - return tl2::details::TasksCronTaskWithIdRead(s, item); -} - -bool tl2::details::TasksCronTaskWithIdWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::CronTaskWithId& item) { - if (!s.nat_write(0x3a958001)) { return false; } - return tl2::details::TasksCronTaskWithIdWrite(s, item); -} - -bool tl2::tasks::CronTime::write_json(std::ostream& s)const { - if (!::tl2::details::TasksCronTimeWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::CronTime::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksCronTimeRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::CronTime::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksCronTimeWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::CronTime::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksCronTimeReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::CronTime::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksCronTimeWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksCronTimeReset(::tl2::tasks::CronTime& item) { - item.fields_mask = 0; - item.seconds.clear(); - item.minutes.clear(); - item.hours.clear(); - item.days_of_week.clear(); - item.days.clear(); - item.months.clear(); -} - -bool tl2::details::TasksCronTimeWriteJSON(std::ostream& s, const ::tl2::tasks::CronTime& item) { - auto add_comma = false; - s << "{"; - if (item.fields_mask != 0) { - add_comma = true; - s << "\"fields_mask\":"; - s << item.fields_mask; - } - if ((item.fields_mask & (1<<0)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"seconds\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.seconds)) { return false; } - } - if ((item.fields_mask & (1<<1)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"minutes\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.minutes)) { return false; } - } - if ((item.fields_mask & (1<<2)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"hours\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.hours)) { return false; } - } - if ((item.fields_mask & (1<<3)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"days_of_week\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.days_of_week)) { return false; } - } - if ((item.fields_mask & (1<<4)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"days\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.days)) { return false; } - } - if ((item.fields_mask & (1<<5)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"months\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.months)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::TasksCronTimeRead(::basictl::tl_istream & s, ::tl2::tasks::CronTime& item) { - if (!s.nat_read(item.fields_mask)) { return false; } - if ((item.fields_mask & (1<<0)) != 0) { - if (!::tl2::details::BuiltinVectorIntRead(s, item.seconds)) { return false; } - } else { - item.seconds.clear(); - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!::tl2::details::BuiltinVectorIntRead(s, item.minutes)) { return false; } - } else { - item.minutes.clear(); - } - if ((item.fields_mask & (1<<2)) != 0) { - if (!::tl2::details::BuiltinVectorIntRead(s, item.hours)) { return false; } - } else { - item.hours.clear(); - } - if ((item.fields_mask & (1<<3)) != 0) { - if (!::tl2::details::BuiltinVectorIntRead(s, item.days_of_week)) { return false; } - } else { - item.days_of_week.clear(); - } - if ((item.fields_mask & (1<<4)) != 0) { - if (!::tl2::details::BuiltinVectorIntRead(s, item.days)) { return false; } - } else { - item.days.clear(); - } - if ((item.fields_mask & (1<<5)) != 0) { - if (!::tl2::details::BuiltinVectorIntRead(s, item.months)) { return false; } - } else { - item.months.clear(); - } - return true; -} - -bool tl2::details::TasksCronTimeWrite(::basictl::tl_ostream & s, const ::tl2::tasks::CronTime& item) { - if (!s.nat_write(item.fields_mask)) { return false;} - if ((item.fields_mask & (1<<0)) != 0) { - if (!::tl2::details::BuiltinVectorIntWrite(s, item.seconds)) { return false; } - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!::tl2::details::BuiltinVectorIntWrite(s, item.minutes)) { return false; } - } - if ((item.fields_mask & (1<<2)) != 0) { - if (!::tl2::details::BuiltinVectorIntWrite(s, item.hours)) { return false; } - } - if ((item.fields_mask & (1<<3)) != 0) { - if (!::tl2::details::BuiltinVectorIntWrite(s, item.days_of_week)) { return false; } - } - if ((item.fields_mask & (1<<4)) != 0) { - if (!::tl2::details::BuiltinVectorIntWrite(s, item.days)) { return false; } - } - if ((item.fields_mask & (1<<5)) != 0) { - if (!::tl2::details::BuiltinVectorIntWrite(s, item.months)) { return false; } - } - return true; -} - -bool tl2::details::TasksCronTimeReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::CronTime& item) { - if (!s.nat_read_exact_tag(0xd4177d7f)) { return false; } - return tl2::details::TasksCronTimeRead(s, item); -} - -bool tl2::details::TasksCronTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::CronTime& item) { - if (!s.nat_write(0xd4177d7f)) { return false; } - return tl2::details::TasksCronTimeWrite(s, item); -} - -bool tl2::tasks::GetAnyTask::write_json(std::ostream& s)const { - if (!::tl2::details::TasksGetAnyTaskWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetAnyTask::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksGetAnyTaskRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetAnyTask::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksGetAnyTaskWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetAnyTask::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksGetAnyTaskReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetAnyTask::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksGetAnyTaskWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksGetAnyTaskReset(::tl2::tasks::GetAnyTask& item) { -} - -bool tl2::details::TasksGetAnyTaskWriteJSON(std::ostream& s, const ::tl2::tasks::GetAnyTask& item) { - s << "true"; - return true; -} - -bool tl2::details::TasksGetAnyTaskRead(::basictl::tl_istream & s, ::tl2::tasks::GetAnyTask& item) { - return true; -} - -bool tl2::details::TasksGetAnyTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetAnyTask& item) { - return true; -} - -bool tl2::details::TasksGetAnyTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetAnyTask& item) { - if (!s.nat_read_exact_tag(0x4a9c7dbb)) { return false; } - return tl2::details::TasksGetAnyTaskRead(s, item); -} - -bool tl2::details::TasksGetAnyTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetAnyTask& item) { - if (!s.nat_write(0x4a9c7dbb)) { return false; } - return tl2::details::TasksGetAnyTaskWrite(s, item); -} - -bool tl2::details::TasksGetAnyTaskReadResult(::basictl::tl_istream & s, tl2::tasks::GetAnyTask& item, std::optional<::tl2::tasks::TaskInfo>& result) { - if (!::tl2::details::TasksTaskInfoMaybeReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::TasksGetAnyTaskWriteResult(::basictl::tl_ostream & s, tl2::tasks::GetAnyTask& item, std::optional<::tl2::tasks::TaskInfo>& result) { - if (!::tl2::details::TasksTaskInfoMaybeWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::tasks::GetAnyTask::read_result(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo> & result) { - return tl2::details::TasksGetAnyTaskReadResult(s, *this, result); -} -bool tl2::tasks::GetAnyTask::write_result(::basictl::tl_ostream & s, std::optional<::tl2::tasks::TaskInfo> & result) { - return tl2::details::TasksGetAnyTaskWriteResult(s, *this, result); -} - -bool tl2::tasks::GetQueueSize::write_json(std::ostream& s)const { - if (!::tl2::details::TasksGetQueueSizeWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetQueueSize::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksGetQueueSizeRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetQueueSize::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksGetQueueSizeWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetQueueSize::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksGetQueueSizeReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetQueueSize::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksGetQueueSizeWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksGetQueueSizeReset(::tl2::tasks::GetQueueSize& item) { - item.type_name.clear(); - item.queue_id.clear(); - item.fields_mask = 0; -} - -bool tl2::details::TasksGetQueueSizeWriteJSON(std::ostream& s, const ::tl2::tasks::GetQueueSize& item) { - auto add_comma = false; - s << "{"; - if (item.type_name.size() != 0) { - add_comma = true; - s << "\"type_name\":"; - s << "\"" << item.type_name << "\""; - } - if (item.queue_id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"queue_id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.queue_id)) { return false; } - } - if (item.fields_mask != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"fields_mask\":"; - s << item.fields_mask; - } - s << "}"; - return true; -} - -bool tl2::details::TasksGetQueueSizeRead(::basictl::tl_istream & s, ::tl2::tasks::GetQueueSize& item) { - if (!s.string_read(item.type_name)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.queue_id)) { return false; } - if (!s.nat_read(item.fields_mask)) { return false; } - return true; -} - -bool tl2::details::TasksGetQueueSizeWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueSize& item) { - if (!s.string_write(item.type_name)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.queue_id)) { return false; } - if (!s.nat_write(item.fields_mask)) { return false;} - return true; -} - -bool tl2::details::TasksGetQueueSizeReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetQueueSize& item) { - if (!s.nat_read_exact_tag(0xd8fcda03)) { return false; } - return tl2::details::TasksGetQueueSizeRead(s, item); -} - -bool tl2::details::TasksGetQueueSizeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueSize& item) { - if (!s.nat_write(0xd8fcda03)) { return false; } - return tl2::details::TasksGetQueueSizeWrite(s, item); -} - -bool tl2::details::TasksGetQueueSizeReadResult(::basictl::tl_istream & s, tl2::tasks::GetQueueSize& item, ::tl2::tasks::QueueStats& result) { - if (!::tl2::details::TasksQueueStatsReadBoxed(s, result, item.fields_mask)) { return false; } - return true; -} -bool tl2::details::TasksGetQueueSizeWriteResult(::basictl::tl_ostream & s, tl2::tasks::GetQueueSize& item, ::tl2::tasks::QueueStats& result) { - if (!::tl2::details::TasksQueueStatsWriteBoxed(s, result, item.fields_mask)) { return false; } - return true; -} - -bool tl2::tasks::GetQueueSize::read_result(::basictl::tl_istream & s, ::tl2::tasks::QueueStats & result) { - return tl2::details::TasksGetQueueSizeReadResult(s, *this, result); -} -bool tl2::tasks::GetQueueSize::write_result(::basictl::tl_ostream & s, ::tl2::tasks::QueueStats & result) { - return tl2::details::TasksGetQueueSizeWriteResult(s, *this, result); -} - -bool tl2::tasks::GetQueueTypes::write_json(std::ostream& s)const { - if (!::tl2::details::TasksGetQueueTypesWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetQueueTypes::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksGetQueueTypesRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetQueueTypes::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksGetQueueTypesWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetQueueTypes::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksGetQueueTypesReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetQueueTypes::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksGetQueueTypesWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksGetQueueTypesReset(::tl2::tasks::GetQueueTypes& item) { - item.settings_mask = 0; - item.stats_mask = 0; -} - -bool tl2::details::TasksGetQueueTypesWriteJSON(std::ostream& s, const ::tl2::tasks::GetQueueTypes& item) { - auto add_comma = false; - s << "{"; - if (item.settings_mask != 0) { - add_comma = true; - s << "\"settings_mask\":"; - s << item.settings_mask; - } - if (item.stats_mask != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"stats_mask\":"; - s << item.stats_mask; - } - s << "}"; - return true; -} - -bool tl2::details::TasksGetQueueTypesRead(::basictl::tl_istream & s, ::tl2::tasks::GetQueueTypes& item) { - if (!s.nat_read(item.settings_mask)) { return false; } - if (!s.nat_read(item.stats_mask)) { return false; } - return true; -} - -bool tl2::details::TasksGetQueueTypesWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueTypes& item) { - if (!s.nat_write(item.settings_mask)) { return false;} - if (!s.nat_write(item.stats_mask)) { return false;} - return true; -} - -bool tl2::details::TasksGetQueueTypesReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetQueueTypes& item) { - if (!s.nat_read_exact_tag(0x5434457a)) { return false; } - return tl2::details::TasksGetQueueTypesRead(s, item); -} - -bool tl2::details::TasksGetQueueTypesWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueTypes& item) { - if (!s.nat_write(0x5434457a)) { return false; } - return tl2::details::TasksGetQueueTypesWrite(s, item); -} - -bool tl2::details::TasksGetQueueTypesReadResult(::basictl::tl_istream & s, tl2::tasks::GetQueueTypes& item, std::vector<::tl2::tasks::QueueTypeInfo>& result) { - if (!s.nat_read_exact_tag(0x1cb5c415)) { return false;} - if (!::tl2::details::BuiltinVectorTasksQueueTypeInfoRead(s, result)) { return false; } - return true; -} -bool tl2::details::TasksGetQueueTypesWriteResult(::basictl::tl_ostream & s, tl2::tasks::GetQueueTypes& item, std::vector<::tl2::tasks::QueueTypeInfo>& result) { - if (!s.nat_write(0x1cb5c415)) { return false; } - if (!::tl2::details::BuiltinVectorTasksQueueTypeInfoWrite(s, result)) { return false; } - return true; -} - -bool tl2::tasks::GetQueueTypes::read_result(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo> & result) { - return tl2::details::TasksGetQueueTypesReadResult(s, *this, result); -} -bool tl2::tasks::GetQueueTypes::write_result(::basictl::tl_ostream & s, std::vector<::tl2::tasks::QueueTypeInfo> & result) { - return tl2::details::TasksGetQueueTypesWriteResult(s, *this, result); -} - -bool tl2::tasks::GetTaskFromQueue::write_json(std::ostream& s)const { - if (!::tl2::details::TasksGetTaskFromQueueWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetTaskFromQueue::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksGetTaskFromQueueRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetTaskFromQueue::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksGetTaskFromQueueWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetTaskFromQueue::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksGetTaskFromQueueReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::GetTaskFromQueue::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksGetTaskFromQueueWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksGetTaskFromQueueReset(::tl2::tasks::GetTaskFromQueue& item) { - item.type_name.clear(); - item.queue_id.clear(); -} - -bool tl2::details::TasksGetTaskFromQueueWriteJSON(std::ostream& s, const ::tl2::tasks::GetTaskFromQueue& item) { - auto add_comma = false; - s << "{"; - if (item.type_name.size() != 0) { - add_comma = true; - s << "\"type_name\":"; - s << "\"" << item.type_name << "\""; - } - if (item.queue_id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"queue_id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.queue_id)) { return false; } - } - s << "}"; - return true; -} - -bool tl2::details::TasksGetTaskFromQueueRead(::basictl::tl_istream & s, ::tl2::tasks::GetTaskFromQueue& item) { - if (!s.string_read(item.type_name)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.queue_id)) { return false; } - return true; -} - -bool tl2::details::TasksGetTaskFromQueueWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetTaskFromQueue& item) { - if (!s.string_write(item.type_name)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.queue_id)) { return false; } - return true; -} - -bool tl2::details::TasksGetTaskFromQueueReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetTaskFromQueue& item) { - if (!s.nat_read_exact_tag(0x6a52b698)) { return false; } - return tl2::details::TasksGetTaskFromQueueRead(s, item); -} - -bool tl2::details::TasksGetTaskFromQueueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetTaskFromQueue& item) { - if (!s.nat_write(0x6a52b698)) { return false; } - return tl2::details::TasksGetTaskFromQueueWrite(s, item); -} - -bool tl2::details::TasksGetTaskFromQueueReadResult(::basictl::tl_istream & s, tl2::tasks::GetTaskFromQueue& item, std::optional<::tl2::tasks::TaskInfo>& result) { - if (!::tl2::details::TasksTaskInfoMaybeReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::TasksGetTaskFromQueueWriteResult(::basictl::tl_ostream & s, tl2::tasks::GetTaskFromQueue& item, std::optional<::tl2::tasks::TaskInfo>& result) { - if (!::tl2::details::TasksTaskInfoMaybeWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::tasks::GetTaskFromQueue::read_result(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo> & result) { - return tl2::details::TasksGetTaskFromQueueReadResult(s, *this, result); -} -bool tl2::tasks::GetTaskFromQueue::write_result(::basictl::tl_ostream & s, std::optional<::tl2::tasks::TaskInfo> & result) { - return tl2::details::TasksGetTaskFromQueueWriteResult(s, *this, result); -} - -bool tl2::tasks::QueueStats::write_json(std::ostream& s, uint32_t nat_fields_mask)const { - if (!::tl2::details::TasksQueueStatsWriteJSON(s, *this, nat_fields_mask)) { return false; } - return true; -} - -bool tl2::tasks::QueueStats::read(::basictl::tl_istream & s, uint32_t nat_fields_mask) { - if (!::tl2::details::TasksQueueStatsRead(s, *this, nat_fields_mask)) { return false; } - return true; -} - -bool tl2::tasks::QueueStats::write(::basictl::tl_ostream & s, uint32_t nat_fields_mask)const { - if (!::tl2::details::TasksQueueStatsWrite(s, *this, nat_fields_mask)) { return false; } - return true; -} - -bool tl2::tasks::QueueStats::read_boxed(::basictl::tl_istream & s, uint32_t nat_fields_mask) { - if (!::tl2::details::TasksQueueStatsReadBoxed(s, *this, nat_fields_mask)) { return false; } - return true; -} - -bool tl2::tasks::QueueStats::write_boxed(::basictl::tl_ostream & s, uint32_t nat_fields_mask)const { - if (!::tl2::details::TasksQueueStatsWriteBoxed(s, *this, nat_fields_mask)) { return false; } - return true; -} - -void tl2::details::TasksQueueStatsReset(::tl2::tasks::QueueStats& item) { - item.waiting_size = 0; - item.scheduled_size = 0; - item.in_progress_size = 0; -} - -bool tl2::details::TasksQueueStatsWriteJSON(std::ostream& s, const ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask) { - auto add_comma = false; - s << "{"; - if ((nat_fields_mask & (1<<0)) != 0) { - add_comma = true; - s << "\"waiting_size\":"; - s << item.waiting_size; - } - if ((nat_fields_mask & (1<<1)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"scheduled_size\":"; - s << item.scheduled_size; - } - if ((nat_fields_mask & (1<<2)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"in_progress_size\":"; - s << item.in_progress_size; - } - s << "}"; - return true; -} - -bool tl2::details::TasksQueueStatsRead(::basictl::tl_istream & s, ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask) { - if ((nat_fields_mask & (1<<0)) != 0) { - if (!s.int_read(item.waiting_size)) { return false; } - } else { - item.waiting_size = 0; - } - if ((nat_fields_mask & (1<<1)) != 0) { - if (!s.int_read(item.scheduled_size)) { return false; } - } else { - item.scheduled_size = 0; - } - if ((nat_fields_mask & (1<<2)) != 0) { - if (!s.int_read(item.in_progress_size)) { return false; } - } else { - item.in_progress_size = 0; - } - return true; -} - -bool tl2::details::TasksQueueStatsWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask) { - if ((nat_fields_mask & (1<<0)) != 0) { - if (!s.int_write(item.waiting_size)) { return false;} - } - if ((nat_fields_mask & (1<<1)) != 0) { - if (!s.int_write(item.scheduled_size)) { return false;} - } - if ((nat_fields_mask & (1<<2)) != 0) { - if (!s.int_write(item.in_progress_size)) { return false;} - } - return true; -} - -bool tl2::details::TasksQueueStatsReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask) { - if (!s.nat_read_exact_tag(0x1d942543)) { return false; } - return tl2::details::TasksQueueStatsRead(s, item, nat_fields_mask); -} - -bool tl2::details::TasksQueueStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask) { - if (!s.nat_write(0x1d942543)) { return false; } - return tl2::details::TasksQueueStatsWrite(s, item, nat_fields_mask); -} - -bool tl2::tasks::QueueTypeInfo::write_json(std::ostream& s)const { - if (!::tl2::details::TasksQueueTypeInfoWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::QueueTypeInfo::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksQueueTypeInfoRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::QueueTypeInfo::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksQueueTypeInfoWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::QueueTypeInfo::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksQueueTypeInfoReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::QueueTypeInfo::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksQueueTypeInfoWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksQueueTypeInfoReset(::tl2::tasks::QueueTypeInfo& item) { - item.type_name.clear(); - ::tl2::details::TasksQueueTypeSettingsReset(item.settings); - ::tl2::details::TasksQueueTypeStatsReset(item.stats); -} - -bool tl2::details::TasksQueueTypeInfoWriteJSON(std::ostream& s, const ::tl2::tasks::QueueTypeInfo& item) { - auto add_comma = false; - s << "{"; - if (item.type_name.size() != 0) { - add_comma = true; - s << "\"type_name\":"; - s << "\"" << item.type_name << "\""; - } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"settings\":"; - if (!::tl2::details::TasksQueueTypeSettingsWriteJSON(s, item.settings)) { return false; } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"stats\":"; - if (!::tl2::details::TasksQueueTypeStatsWriteJSON(s, item.stats)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::TasksQueueTypeInfoRead(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeInfo& item) { - if (!s.string_read(item.type_name)) { return false; } - if (!::tl2::details::TasksQueueTypeSettingsRead(s, item.settings)) { return false; } - if (!::tl2::details::TasksQueueTypeStatsRead(s, item.stats)) { return false; } - return true; -} - -bool tl2::details::TasksQueueTypeInfoWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeInfo& item) { - if (!s.string_write(item.type_name)) { return false;} - if (!::tl2::details::TasksQueueTypeSettingsWrite(s, item.settings)) { return false; } - if (!::tl2::details::TasksQueueTypeStatsWrite(s, item.stats)) { return false; } - return true; -} - -bool tl2::details::TasksQueueTypeInfoReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeInfo& item) { - if (!s.nat_read_exact_tag(0x38d38d3e)) { return false; } - return tl2::details::TasksQueueTypeInfoRead(s, item); -} - -bool tl2::details::TasksQueueTypeInfoWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeInfo& item) { - if (!s.nat_write(0x38d38d3e)) { return false; } - return tl2::details::TasksQueueTypeInfoWrite(s, item); -} - -bool tl2::tasks::QueueTypeSettings::write_json(std::ostream& s)const { - if (!::tl2::details::TasksQueueTypeSettingsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::QueueTypeSettings::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksQueueTypeSettingsRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::QueueTypeSettings::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksQueueTypeSettingsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::QueueTypeSettings::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksQueueTypeSettingsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::QueueTypeSettings::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksQueueTypeSettingsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksQueueTypeSettingsReset(::tl2::tasks::QueueTypeSettings& item) { - item.fields_mask = 0; - item.is_enabled = false; - item.is_persistent = false; - item.priority = 0; - item.default_retry_time = 0; - item.default_retry_num = 0; - item.move_to_queue_type_on_error.clear(); - item.is_blocking = false; - item.timelimit = 0; - item.max_queue_size = 0; -} - -bool tl2::details::TasksQueueTypeSettingsWriteJSON(std::ostream& s, const ::tl2::tasks::QueueTypeSettings& item) { - auto add_comma = false; - s << "{"; - if (item.fields_mask != 0) { - add_comma = true; - s << "\"fields_mask\":"; - s << item.fields_mask; - } - if ((item.fields_mask & (1<<0)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"is_enabled\":"; - if (!::tl2::details::BoolWriteJSON(s, item.is_enabled)) { return false; } - } - if ((item.fields_mask & (1<<1)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"is_persistent\":"; - if (!::tl2::details::BoolWriteJSON(s, item.is_persistent)) { return false; } - } - if ((item.fields_mask & (1<<2)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"priority\":"; - s << item.priority; - } - if ((item.fields_mask & (1<<3)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"default_retry_time\":"; - s << item.default_retry_time; - } - if ((item.fields_mask & (1<<3)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"default_retry_num\":"; - s << item.default_retry_num; - } - if ((item.fields_mask & (1<<4)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"move_to_queue_type_on_error\":"; - s << "\"" << item.move_to_queue_type_on_error << "\""; - } - if ((item.fields_mask & (1<<5)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"is_blocking\":"; - if (!::tl2::details::BoolWriteJSON(s, item.is_blocking)) { return false; } - } - if ((item.fields_mask & (1<<6)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"timelimit\":"; - s << item.timelimit; - } - if ((item.fields_mask & (1<<7)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"max_queue_size\":"; - s << item.max_queue_size; - } - s << "}"; - return true; -} - -bool tl2::details::TasksQueueTypeSettingsRead(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeSettings& item) { - if (!s.nat_read(item.fields_mask)) { return false; } - if ((item.fields_mask & (1<<0)) != 0) { - if (!::tl2::details::BoolReadBoxed(s, item.is_enabled)) { return false; } - } else { - item.is_enabled = false; - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!::tl2::details::BoolReadBoxed(s, item.is_persistent)) { return false; } - } else { - item.is_persistent = false; - } - if ((item.fields_mask & (1<<2)) != 0) { - if (!s.int_read(item.priority)) { return false; } - } else { - item.priority = 0; - } - if ((item.fields_mask & (1<<3)) != 0) { - if (!s.int_read(item.default_retry_time)) { return false; } - } else { - item.default_retry_time = 0; - } - if ((item.fields_mask & (1<<3)) != 0) { - if (!s.int_read(item.default_retry_num)) { return false; } - } else { - item.default_retry_num = 0; - } - if ((item.fields_mask & (1<<4)) != 0) { - if (!s.string_read(item.move_to_queue_type_on_error)) { return false; } - } else { - item.move_to_queue_type_on_error.clear(); - } - if ((item.fields_mask & (1<<5)) != 0) { - if (!::tl2::details::BoolReadBoxed(s, item.is_blocking)) { return false; } - } else { - item.is_blocking = false; - } - if ((item.fields_mask & (1<<6)) != 0) { - if (!s.int_read(item.timelimit)) { return false; } - } else { - item.timelimit = 0; - } - if ((item.fields_mask & (1<<7)) != 0) { - if (!s.int_read(item.max_queue_size)) { return false; } - } else { - item.max_queue_size = 0; - } - return true; -} - -bool tl2::details::TasksQueueTypeSettingsWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeSettings& item) { - if (!s.nat_write(item.fields_mask)) { return false;} - if ((item.fields_mask & (1<<0)) != 0) { - if (!::tl2::details::BoolWriteBoxed(s, item.is_enabled)) { return false; } - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!::tl2::details::BoolWriteBoxed(s, item.is_persistent)) { return false; } - } - if ((item.fields_mask & (1<<2)) != 0) { - if (!s.int_write(item.priority)) { return false;} - } - if ((item.fields_mask & (1<<3)) != 0) { - if (!s.int_write(item.default_retry_time)) { return false;} - } - if ((item.fields_mask & (1<<3)) != 0) { - if (!s.int_write(item.default_retry_num)) { return false;} - } - if ((item.fields_mask & (1<<4)) != 0) { - if (!s.string_write(item.move_to_queue_type_on_error)) { return false;} - } - if ((item.fields_mask & (1<<5)) != 0) { - if (!::tl2::details::BoolWriteBoxed(s, item.is_blocking)) { return false; } - } - if ((item.fields_mask & (1<<6)) != 0) { - if (!s.int_write(item.timelimit)) { return false;} - } - if ((item.fields_mask & (1<<7)) != 0) { - if (!s.int_write(item.max_queue_size)) { return false;} - } - return true; -} - -bool tl2::details::TasksQueueTypeSettingsReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeSettings& item) { - if (!s.nat_read_exact_tag(0x561fbc09)) { return false; } - return tl2::details::TasksQueueTypeSettingsRead(s, item); -} - -bool tl2::details::TasksQueueTypeSettingsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeSettings& item) { - if (!s.nat_write(0x561fbc09)) { return false; } - return tl2::details::TasksQueueTypeSettingsWrite(s, item); -} - -bool tl2::tasks::QueueTypeStats::write_json(std::ostream& s)const { - if (!::tl2::details::TasksQueueTypeStatsWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::QueueTypeStats::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksQueueTypeStatsRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::QueueTypeStats::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksQueueTypeStatsWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::QueueTypeStats::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksQueueTypeStatsReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::QueueTypeStats::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksQueueTypeStatsWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksQueueTypeStatsReset(::tl2::tasks::QueueTypeStats& item) { - item.fields_mask = 0; - item.waiting_size = 0; - item.scheduled_size = 0; - item.in_progress_size = 0; - item.num_queues = 0; -} - -bool tl2::details::TasksQueueTypeStatsWriteJSON(std::ostream& s, const ::tl2::tasks::QueueTypeStats& item) { - auto add_comma = false; - s << "{"; - if (item.fields_mask != 0) { - add_comma = true; - s << "\"fields_mask\":"; - s << item.fields_mask; - } - if ((item.fields_mask & (1<<0)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"waiting_size\":"; - s << item.waiting_size; - } - if ((item.fields_mask & (1<<1)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"scheduled_size\":"; - s << item.scheduled_size; - } - if ((item.fields_mask & (1<<2)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"in_progress_size\":"; - s << item.in_progress_size; - } - if ((item.fields_mask & (1<<3)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"num_queues\":"; - s << item.num_queues; - } - s << "}"; - return true; -} - -bool tl2::details::TasksQueueTypeStatsRead(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats& item) { - if (!s.nat_read(item.fields_mask)) { return false; } - if ((item.fields_mask & (1<<0)) != 0) { - if (!s.long_read(item.waiting_size)) { return false; } - } else { - item.waiting_size = 0; - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!s.long_read(item.scheduled_size)) { return false; } - } else { - item.scheduled_size = 0; - } - if ((item.fields_mask & (1<<2)) != 0) { - if (!s.long_read(item.in_progress_size)) { return false; } - } else { - item.in_progress_size = 0; - } - if ((item.fields_mask & (1<<3)) != 0) { - if (!s.int_read(item.num_queues)) { return false; } - } else { - item.num_queues = 0; - } - return true; -} - -bool tl2::details::TasksQueueTypeStatsWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeStats& item) { - if (!s.nat_write(item.fields_mask)) { return false;} - if ((item.fields_mask & (1<<0)) != 0) { - if (!s.long_write(item.waiting_size)) { return false;} - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!s.long_write(item.scheduled_size)) { return false;} - } - if ((item.fields_mask & (1<<2)) != 0) { - if (!s.long_write(item.in_progress_size)) { return false;} - } - if ((item.fields_mask & (1<<3)) != 0) { - if (!s.int_write(item.num_queues)) { return false;} - } - return true; -} - -bool tl2::details::TasksQueueTypeStatsReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats& item) { - if (!s.nat_read_exact_tag(0xe1b785f2)) { return false; } - return tl2::details::TasksQueueTypeStatsRead(s, item); -} - -bool tl2::details::TasksQueueTypeStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeStats& item) { - if (!s.nat_write(0xe1b785f2)) { return false; } - return tl2::details::TasksQueueTypeStatsWrite(s, item); -} - -bool tl2::tasks::Task::write_json(std::ostream& s)const { - if (!::tl2::details::TasksTaskWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::Task::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::Task::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::Task::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::Task::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksTaskReset(::tl2::tasks::Task& item) { - item.fields_mask = 0; - item.flags = 0; - item.tag.clear(); - item.data.clear(); - item.id = 0; - item.retries = 0; - item.scheduled_time = 0; - item.deadline = 0; -} - -bool tl2::details::TasksTaskWriteJSON(std::ostream& s, const ::tl2::tasks::Task& item) { - auto add_comma = false; - s << "{"; - if (item.fields_mask != 0) { - add_comma = true; - s << "\"fields_mask\":"; - s << item.fields_mask; - } - if (item.flags != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"flags\":"; - s << item.flags; - } - if (item.tag.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"tag\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.tag)) { return false; } - } - if (item.data.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"data\":"; - s << "\"" << item.data << "\""; - } - if ((item.fields_mask & (1<<0)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"id\":"; - s << item.id; - } - if ((item.fields_mask & (1<<1)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"retries\":"; - s << item.retries; - } - if ((item.fields_mask & (1<<2)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"scheduled_time\":"; - s << item.scheduled_time; - } - if ((item.fields_mask & (1<<3)) != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"deadline\":"; - s << item.deadline; - } - s << "}"; - return true; -} - -bool tl2::details::TasksTaskRead(::basictl::tl_istream & s, ::tl2::tasks::Task& item) { - if (!s.nat_read(item.fields_mask)) { return false; } - if (!s.int_read(item.flags)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.tag)) { return false; } - if (!s.string_read(item.data)) { return false; } - if ((item.fields_mask & (1<<0)) != 0) { - if (!s.long_read(item.id)) { return false; } - } else { - item.id = 0; - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!s.int_read(item.retries)) { return false; } - } else { - item.retries = 0; - } - if ((item.fields_mask & (1<<2)) != 0) { - if (!s.int_read(item.scheduled_time)) { return false; } - } else { - item.scheduled_time = 0; - } - if ((item.fields_mask & (1<<3)) != 0) { - if (!s.int_read(item.deadline)) { return false; } - } else { - item.deadline = 0; - } - return true; -} - -bool tl2::details::TasksTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::Task& item) { - if (!s.nat_write(item.fields_mask)) { return false;} - if (!s.int_write(item.flags)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.tag)) { return false; } - if (!s.string_write(item.data)) { return false;} - if ((item.fields_mask & (1<<0)) != 0) { - if (!s.long_write(item.id)) { return false;} - } - if ((item.fields_mask & (1<<1)) != 0) { - if (!s.int_write(item.retries)) { return false;} - } - if ((item.fields_mask & (1<<2)) != 0) { - if (!s.int_write(item.scheduled_time)) { return false;} - } - if ((item.fields_mask & (1<<3)) != 0) { - if (!s.int_write(item.deadline)) { return false;} - } - return true; -} - -bool tl2::details::TasksTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::Task& item) { - if (!s.nat_read_exact_tag(0x7c23bc2c)) { return false; } - return tl2::details::TasksTaskRead(s, item); -} - -bool tl2::details::TasksTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::Task& item) { - if (!s.nat_write(0x7c23bc2c)) { return false; } - return tl2::details::TasksTaskWrite(s, item); -} - -bool tl2::tasks::TaskInfo::write_json(std::ostream& s)const { - if (!::tl2::details::TasksTaskInfoWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskInfo::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskInfoRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskInfo::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskInfoWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskInfo::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskInfoReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskInfo::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskInfoWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksTaskInfoReset(::tl2::tasks::TaskInfo& item) { - item.type_name.clear(); - item.queue_id.clear(); - ::tl2::details::TasksTaskReset(item.task); -} - -bool tl2::details::TasksTaskInfoWriteJSON(std::ostream& s, const ::tl2::tasks::TaskInfo& item) { - auto add_comma = false; - s << "{"; - if (item.type_name.size() != 0) { - add_comma = true; - s << "\"type_name\":"; - s << "\"" << item.type_name << "\""; - } - if (item.queue_id.size() != 0) { - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"queue_id\":"; - if (!::tl2::details::BuiltinVectorIntWriteJSON(s, item.queue_id)) { return false; } - } - if (add_comma) { - s << ","; - } - add_comma = true; - s << "\"task\":"; - if (!::tl2::details::TasksTaskWriteJSON(s, item.task)) { return false; } - s << "}"; - return true; -} - -bool tl2::details::TasksTaskInfoRead(::basictl::tl_istream & s, ::tl2::tasks::TaskInfo& item) { - if (!s.string_read(item.type_name)) { return false; } - if (!::tl2::details::BuiltinVectorIntRead(s, item.queue_id)) { return false; } - if (!::tl2::details::TasksTaskRead(s, item.task)) { return false; } - return true; -} - -bool tl2::details::TasksTaskInfoWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskInfo& item) { - if (!s.string_write(item.type_name)) { return false;} - if (!::tl2::details::BuiltinVectorIntWrite(s, item.queue_id)) { return false; } - if (!::tl2::details::TasksTaskWrite(s, item.task)) { return false; } - return true; -} - -bool tl2::details::TasksTaskInfoReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskInfo& item) { - if (!s.nat_read_exact_tag(0x06f0c6a6)) { return false; } - return tl2::details::TasksTaskInfoRead(s, item); -} - -bool tl2::details::TasksTaskInfoWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskInfo& item) { - if (!s.nat_write(0x06f0c6a6)) { return false; } - return tl2::details::TasksTaskInfoWrite(s, item); -} - -bool tl2::details::TasksTaskInfoMaybeWriteJSON(std::ostream & s, const std::optional<::tl2::tasks::TaskInfo>& item) { - s << "{"; - if (item) { - s << "\"ok\":true"; - s << ",\"value\":"; - if (!::tl2::details::TasksTaskInfoWriteJSON(s, *item)) { return false; } - } - s << "}"; - return true; -} -bool tl2::details::TasksTaskInfoMaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo>& item) { - bool has_item = false; - if (!s.bool_read(has_item, 0x27930a7b, 0x3f9c8ef8)) { return false; } - if (has_item) { - if (!item) { - item.emplace(); - } - if (!::tl2::details::TasksTaskInfoRead(s, *item)) { return false; } - return true; - } - item.reset(); - return true; -} - -bool tl2::details::TasksTaskInfoMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::tasks::TaskInfo>& item) { - if (!s.nat_write(item ? 0x3f9c8ef8 : 0x27930a7b)) { return false; } - if (item) { - if (!::tl2::details::TasksTaskInfoWrite(s, *item)) { return false; } - } - return true; -} - -static const std::string_view TasksTaskStatus_tbl_tl_name[]{"tasks.taskStatusNotCurrentlyInEngine", "tasks.taskStatusScheduled", "tasks.taskStatusWaiting", "tasks.taskStatusInProgress"}; -static const uint32_t TasksTaskStatus_tbl_tl_tag[]{0xb207caaa, 0x0aca80a9, 0x16739c2c, 0x06ef70e7}; - -bool tl2::tasks::TaskStatus::write_json(std::ostream & s)const { - if (!::tl2::details::TasksTaskStatusWriteJSON(s, *this)) { return false; } - return true; -} -bool tl2::tasks::TaskStatus::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskStatusReadBoxed(s, *this)) { return false; } - return true; -} -bool tl2::tasks::TaskStatus::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskStatusWriteBoxed(s, *this)) { return false; } - return true; -} -std::string_view tl2::tasks::TaskStatus::tl_name() const { - return TasksTaskStatus_tbl_tl_name[value.index()]; -} -uint32_t tl2::tasks::TaskStatus::tl_tag() const { - return TasksTaskStatus_tbl_tl_tag[value.index()]; -} - - -void tl2::details::TasksTaskStatusReset(::tl2::tasks::TaskStatus& item) { - item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function -} - -bool tl2::details::TasksTaskStatusWriteJSON(std::ostream & s, const ::tl2::tasks::TaskStatus& item) { - s << "\"" << TasksTaskStatus_tbl_tl_name[item.value.index()] << "\""; - return true; -} -bool tl2::details::TasksTaskStatusReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatus& item) { - uint32_t nat; - s.nat_read(nat); - switch (nat) { - case 0xb207caaa: - if (item.value.index() != 0) { item.value.emplace<0>(); } - break; - case 0x0aca80a9: - if (item.value.index() != 1) { item.value.emplace<1>(); } - break; - case 0x16739c2c: - if (item.value.index() != 2) { item.value.emplace<2>(); } - break; - case 0x06ef70e7: - if (item.value.index() != 3) { item.value.emplace<3>(); } - break; - default: - return s.set_error_union_tag(); - } - return true; -} - -bool tl2::details::TasksTaskStatusWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatus& item) { - s.nat_write(TasksTaskStatus_tbl_tl_tag[item.value.index()]); - switch (item.value.index()) { - } - return true; -} - -bool tl2::tasks::TaskStatusInProgress::write_json(std::ostream& s)const { - if (!::tl2::details::TasksTaskStatusInProgressWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusInProgress::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskStatusInProgressRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusInProgress::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskStatusInProgressWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusInProgress::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskStatusInProgressReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusInProgress::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskStatusInProgressWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksTaskStatusInProgressReset(::tl2::tasks::TaskStatusInProgress& item) { -} - -bool tl2::details::TasksTaskStatusInProgressWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusInProgress& item) { - s << "true"; - return true; -} - -bool tl2::details::TasksTaskStatusInProgressRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusInProgress& item) { - return true; -} - -bool tl2::details::TasksTaskStatusInProgressWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusInProgress& item) { - return true; -} - -bool tl2::details::TasksTaskStatusInProgressReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusInProgress& item) { - if (!s.nat_read_exact_tag(0x06ef70e7)) { return false; } - return tl2::details::TasksTaskStatusInProgressRead(s, item); -} - -bool tl2::details::TasksTaskStatusInProgressWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusInProgress& item) { - if (!s.nat_write(0x06ef70e7)) { return false; } - return tl2::details::TasksTaskStatusInProgressWrite(s, item); -} - -bool tl2::tasks::TaskStatusNotCurrentlyInEngine::write_json(std::ostream& s)const { - if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusNotCurrentlyInEngine::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusNotCurrentlyInEngine::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusNotCurrentlyInEngine::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusNotCurrentlyInEngine::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksTaskStatusNotCurrentlyInEngineReset(::tl2::tasks::TaskStatusNotCurrentlyInEngine& item) { -} - -bool tl2::details::TasksTaskStatusNotCurrentlyInEngineWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item) { - s << "true"; - return true; -} - -bool tl2::details::TasksTaskStatusNotCurrentlyInEngineRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item) { - return true; -} - -bool tl2::details::TasksTaskStatusNotCurrentlyInEngineWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item) { - return true; -} - -bool tl2::details::TasksTaskStatusNotCurrentlyInEngineReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item) { - if (!s.nat_read_exact_tag(0xb207caaa)) { return false; } - return tl2::details::TasksTaskStatusNotCurrentlyInEngineRead(s, item); -} - -bool tl2::details::TasksTaskStatusNotCurrentlyInEngineWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item) { - if (!s.nat_write(0xb207caaa)) { return false; } - return tl2::details::TasksTaskStatusNotCurrentlyInEngineWrite(s, item); -} - -bool tl2::tasks::TaskStatusScheduled::write_json(std::ostream& s)const { - if (!::tl2::details::TasksTaskStatusScheduledWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusScheduled::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskStatusScheduledRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusScheduled::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskStatusScheduledWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusScheduled::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskStatusScheduledReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusScheduled::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskStatusScheduledWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksTaskStatusScheduledReset(::tl2::tasks::TaskStatusScheduled& item) { -} - -bool tl2::details::TasksTaskStatusScheduledWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusScheduled& item) { - s << "true"; - return true; -} - -bool tl2::details::TasksTaskStatusScheduledRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusScheduled& item) { - return true; -} - -bool tl2::details::TasksTaskStatusScheduledWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusScheduled& item) { - return true; -} - -bool tl2::details::TasksTaskStatusScheduledReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusScheduled& item) { - if (!s.nat_read_exact_tag(0x0aca80a9)) { return false; } - return tl2::details::TasksTaskStatusScheduledRead(s, item); -} - -bool tl2::details::TasksTaskStatusScheduledWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusScheduled& item) { - if (!s.nat_write(0x0aca80a9)) { return false; } - return tl2::details::TasksTaskStatusScheduledWrite(s, item); -} - -bool tl2::tasks::TaskStatusWaiting::write_json(std::ostream& s)const { - if (!::tl2::details::TasksTaskStatusWaitingWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusWaiting::read(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskStatusWaitingRead(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusWaiting::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskStatusWaitingWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusWaiting::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TasksTaskStatusWaitingReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tasks::TaskStatusWaiting::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TasksTaskStatusWaitingWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TasksTaskStatusWaitingReset(::tl2::tasks::TaskStatusWaiting& item) { -} - -bool tl2::details::TasksTaskStatusWaitingWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusWaiting& item) { - s << "true"; - return true; -} - -bool tl2::details::TasksTaskStatusWaitingRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusWaiting& item) { - return true; -} - -bool tl2::details::TasksTaskStatusWaitingWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusWaiting& item) { - return true; -} - -bool tl2::details::TasksTaskStatusWaitingReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusWaiting& item) { - if (!s.nat_read_exact_tag(0x16739c2c)) { return false; } - return tl2::details::TasksTaskStatusWaitingRead(s, item); -} - -bool tl2::details::TasksTaskStatusWaitingWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusWaiting& item) { - if (!s.nat_write(0x16739c2c)) { return false; } - return tl2::details::TasksTaskStatusWaitingWrite(s, item); -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.addTask.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.addTask.hpp deleted file mode 100644 index 2555182b..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.addTask.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.task.hpp" - - -namespace tl2 { namespace tasks { -struct AddTask { - // tl magic for function - static const uint32_t MAGIC = 0x2ca073d5; - - std::string type_name; - std::vector queue_id; - ::tl2::tasks::Task task{}; - - std::string_view tl_name() const { return "tasks.addTask"; } - uint32_t tl_tag() const { return 0x2ca073d5; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, int64_t & result); - bool write_result(::basictl::tl_ostream & s, int64_t & result); - - friend std::ostream& operator<<(std::ostream& s, const AddTask& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getAnyTask.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getAnyTask.hpp deleted file mode 100644 index 59e1fa68..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getAnyTask.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.taskInfo.hpp" - - -namespace tl2 { namespace tasks { -struct GetAnyTask { - // tl magic for function - static const uint32_t MAGIC = 0x4a9c7dbb; - - - std::string_view tl_name() const { return "tasks.getAnyTask"; } - uint32_t tl_tag() const { return 0x4a9c7dbb; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo> & result); - bool write_result(::basictl::tl_ostream & s, std::optional<::tl2::tasks::TaskInfo> & result); - - friend std::ostream& operator<<(std::ostream& s, const GetAnyTask& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueSize.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueSize.hpp deleted file mode 100644 index 242b3144..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueSize.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.queueStats.hpp" - - -namespace tl2 { namespace tasks { -struct GetQueueSize { - // tl magic for function - static const uint32_t MAGIC = 0xd8fcda03; - - std::string type_name; - std::vector queue_id; - uint32_t fields_mask = 0; - - std::string_view tl_name() const { return "tasks.getQueueSize"; } - uint32_t tl_tag() const { return 0xd8fcda03; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, ::tl2::tasks::QueueStats & result); - bool write_result(::basictl::tl_ostream & s, ::tl2::tasks::QueueStats & result); - - friend std::ostream& operator<<(std::ostream& s, const GetQueueSize& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueTypes.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueTypes.hpp deleted file mode 100644 index 76b48c05..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getQueueTypes.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.queueTypeInfo.hpp" - - -namespace tl2 { namespace tasks { -struct GetQueueTypes { - // tl magic for function - static const uint32_t MAGIC = 0x5434457a; - - uint32_t settings_mask = 0; - uint32_t stats_mask = 0; - - std::string_view tl_name() const { return "tasks.getQueueTypes"; } - uint32_t tl_tag() const { return 0x5434457a; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo> & result); - bool write_result(::basictl::tl_ostream & s, std::vector<::tl2::tasks::QueueTypeInfo> & result); - - friend std::ostream& operator<<(std::ostream& s, const GetQueueTypes& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getTaskFromQueue.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getTaskFromQueue.hpp deleted file mode 100644 index 2da1310c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/functions/tasks.getTaskFromQueue.hpp +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.taskInfo.hpp" - - -namespace tl2 { namespace tasks { -struct GetTaskFromQueue { - // tl magic for function - static const uint32_t MAGIC = 0x6a52b698; - - std::string type_name; - std::vector queue_id; - - std::string_view tl_name() const { return "tasks.getTaskFromQueue"; } - uint32_t tl_tag() const { return 0x6a52b698; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo> & result); - bool write_result(::basictl::tl_ostream & s, std::optional<::tl2::tasks::TaskInfo> & result); - - friend std::ostream& operator<<(std::ostream& s, const GetTaskFromQueue& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.TaskStatus.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.TaskStatus.hpp deleted file mode 100644 index 96885662..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.TaskStatus.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.TaskStatus.hpp" - -namespace tl2 { namespace details { - -void TasksTaskStatusReset(::tl2::tasks::TaskStatus& item); - -bool TasksTaskStatusWriteJSON(std::ostream & s, const ::tl2::tasks::TaskStatus& item); -bool TasksTaskStatusReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatus& item); -bool TasksTaskStatusWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatus& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.TaskStatusItems.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.TaskStatusItems.hpp deleted file mode 100644 index 43dc671f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.TaskStatusItems.hpp +++ /dev/null @@ -1,53 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.TaskStatusItems.hpp" - -namespace tl2 { namespace details { - -void TasksTaskStatusInProgressReset(::tl2::tasks::TaskStatusInProgress& item); - -bool TasksTaskStatusInProgressWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusInProgress& item); -bool TasksTaskStatusInProgressRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusInProgress& item); -bool TasksTaskStatusInProgressWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusInProgress& item); -bool TasksTaskStatusInProgressReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusInProgress& item); -bool TasksTaskStatusInProgressWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusInProgress& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void TasksTaskStatusNotCurrentlyInEngineReset(::tl2::tasks::TaskStatusNotCurrentlyInEngine& item); - -bool TasksTaskStatusNotCurrentlyInEngineWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item); -bool TasksTaskStatusNotCurrentlyInEngineRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item); -bool TasksTaskStatusNotCurrentlyInEngineWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item); -bool TasksTaskStatusNotCurrentlyInEngineReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item); -bool TasksTaskStatusNotCurrentlyInEngineWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusNotCurrentlyInEngine& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void TasksTaskStatusScheduledReset(::tl2::tasks::TaskStatusScheduled& item); - -bool TasksTaskStatusScheduledWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusScheduled& item); -bool TasksTaskStatusScheduledRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusScheduled& item); -bool TasksTaskStatusScheduledWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusScheduled& item); -bool TasksTaskStatusScheduledReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusScheduled& item); -bool TasksTaskStatusScheduledWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusScheduled& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void TasksTaskStatusWaitingReset(::tl2::tasks::TaskStatusWaiting& item); - -bool TasksTaskStatusWaitingWriteJSON(std::ostream& s, const ::tl2::tasks::TaskStatusWaiting& item); -bool TasksTaskStatusWaitingRead(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusWaiting& item); -bool TasksTaskStatusWaitingWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusWaiting& item); -bool TasksTaskStatusWaitingReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskStatusWaiting& item); -bool TasksTaskStatusWaitingWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskStatusWaiting& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.addTask.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.addTask.hpp deleted file mode 100644 index 0aeb517f..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.addTask.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/tasks.addTask.hpp" - -namespace tl2 { namespace details { - -void TasksAddTaskReset(::tl2::tasks::AddTask& item); - -bool TasksAddTaskWriteJSON(std::ostream& s, const ::tl2::tasks::AddTask& item); -bool TasksAddTaskRead(::basictl::tl_istream & s, ::tl2::tasks::AddTask& item); -bool TasksAddTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::AddTask& item); -bool TasksAddTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::AddTask& item); -bool TasksAddTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::AddTask& item); - -bool TasksAddTaskReadResult(::basictl::tl_istream & s, ::tl2::tasks::AddTask& item, int64_t& result); -bool TasksAddTaskWriteResult(::basictl::tl_ostream & s, ::tl2::tasks::AddTask& item, int64_t& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.cronTask.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.cronTask.hpp deleted file mode 100644 index 37da0241..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.cronTask.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.cronTask.hpp" - -namespace tl2 { namespace details { - -void TasksCronTaskReset(::tl2::tasks::CronTask& item); - -bool TasksCronTaskWriteJSON(std::ostream& s, const ::tl2::tasks::CronTask& item); -bool TasksCronTaskRead(::basictl::tl_istream & s, ::tl2::tasks::CronTask& item); -bool TasksCronTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::CronTask& item); -bool TasksCronTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::CronTask& item); -bool TasksCronTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::CronTask& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.cronTaskWithId.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.cronTaskWithId.hpp deleted file mode 100644 index a4547975..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.cronTaskWithId.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.cronTaskWithId.hpp" - -namespace tl2 { namespace details { - -void TasksCronTaskWithIdReset(::tl2::tasks::CronTaskWithId& item); - -bool TasksCronTaskWithIdWriteJSON(std::ostream& s, const ::tl2::tasks::CronTaskWithId& item); -bool TasksCronTaskWithIdRead(::basictl::tl_istream & s, ::tl2::tasks::CronTaskWithId& item); -bool TasksCronTaskWithIdWrite(::basictl::tl_ostream & s, const ::tl2::tasks::CronTaskWithId& item); -bool TasksCronTaskWithIdReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::CronTaskWithId& item); -bool TasksCronTaskWithIdWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::CronTaskWithId& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.cronTime.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.cronTime.hpp deleted file mode 100644 index a823663d..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.cronTime.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.cronTime.hpp" - -namespace tl2 { namespace details { - -void TasksCronTimeReset(::tl2::tasks::CronTime& item); - -bool TasksCronTimeWriteJSON(std::ostream& s, const ::tl2::tasks::CronTime& item); -bool TasksCronTimeRead(::basictl::tl_istream & s, ::tl2::tasks::CronTime& item); -bool TasksCronTimeWrite(::basictl::tl_ostream & s, const ::tl2::tasks::CronTime& item); -bool TasksCronTimeReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::CronTime& item); -bool TasksCronTimeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::CronTime& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getAnyTask.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getAnyTask.hpp deleted file mode 100644 index d644fa6b..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getAnyTask.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/tasks.getAnyTask.hpp" -#include "../types/tasks.taskInfo.hpp" - -namespace tl2 { namespace details { - -void TasksGetAnyTaskReset(::tl2::tasks::GetAnyTask& item); - -bool TasksGetAnyTaskWriteJSON(std::ostream& s, const ::tl2::tasks::GetAnyTask& item); -bool TasksGetAnyTaskRead(::basictl::tl_istream & s, ::tl2::tasks::GetAnyTask& item); -bool TasksGetAnyTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetAnyTask& item); -bool TasksGetAnyTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetAnyTask& item); -bool TasksGetAnyTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetAnyTask& item); - -bool TasksGetAnyTaskReadResult(::basictl::tl_istream & s, ::tl2::tasks::GetAnyTask& item, std::optional<::tl2::tasks::TaskInfo>& result); -bool TasksGetAnyTaskWriteResult(::basictl::tl_ostream & s, ::tl2::tasks::GetAnyTask& item, std::optional<::tl2::tasks::TaskInfo>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getQueueSize.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getQueueSize.hpp deleted file mode 100644 index 3ef8723e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getQueueSize.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/tasks.getQueueSize.hpp" -#include "../types/tasks.queueStats.hpp" - -namespace tl2 { namespace details { - -void TasksGetQueueSizeReset(::tl2::tasks::GetQueueSize& item); - -bool TasksGetQueueSizeWriteJSON(std::ostream& s, const ::tl2::tasks::GetQueueSize& item); -bool TasksGetQueueSizeRead(::basictl::tl_istream & s, ::tl2::tasks::GetQueueSize& item); -bool TasksGetQueueSizeWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueSize& item); -bool TasksGetQueueSizeReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetQueueSize& item); -bool TasksGetQueueSizeWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueSize& item); - -bool TasksGetQueueSizeReadResult(::basictl::tl_istream & s, ::tl2::tasks::GetQueueSize& item, ::tl2::tasks::QueueStats& result); -bool TasksGetQueueSizeWriteResult(::basictl::tl_ostream & s, ::tl2::tasks::GetQueueSize& item, ::tl2::tasks::QueueStats& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getQueueTypes.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getQueueTypes.hpp deleted file mode 100644 index 661c2af4..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getQueueTypes.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/tasks.getQueueTypes.hpp" -#include "../types/tasks.queueTypeInfo.hpp" - -namespace tl2 { namespace details { - -void TasksGetQueueTypesReset(::tl2::tasks::GetQueueTypes& item); - -bool TasksGetQueueTypesWriteJSON(std::ostream& s, const ::tl2::tasks::GetQueueTypes& item); -bool TasksGetQueueTypesRead(::basictl::tl_istream & s, ::tl2::tasks::GetQueueTypes& item); -bool TasksGetQueueTypesWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueTypes& item); -bool TasksGetQueueTypesReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetQueueTypes& item); -bool TasksGetQueueTypesWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetQueueTypes& item); - -bool TasksGetQueueTypesReadResult(::basictl::tl_istream & s, ::tl2::tasks::GetQueueTypes& item, std::vector<::tl2::tasks::QueueTypeInfo>& result); -bool TasksGetQueueTypesWriteResult(::basictl::tl_ostream & s, ::tl2::tasks::GetQueueTypes& item, std::vector<::tl2::tasks::QueueTypeInfo>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getTaskFromQueue.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getTaskFromQueue.hpp deleted file mode 100644 index 083cdc15..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.getTaskFromQueue.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/tasks.getTaskFromQueue.hpp" -#include "../types/tasks.taskInfo.hpp" - -namespace tl2 { namespace details { - -void TasksGetTaskFromQueueReset(::tl2::tasks::GetTaskFromQueue& item); - -bool TasksGetTaskFromQueueWriteJSON(std::ostream& s, const ::tl2::tasks::GetTaskFromQueue& item); -bool TasksGetTaskFromQueueRead(::basictl::tl_istream & s, ::tl2::tasks::GetTaskFromQueue& item); -bool TasksGetTaskFromQueueWrite(::basictl::tl_ostream & s, const ::tl2::tasks::GetTaskFromQueue& item); -bool TasksGetTaskFromQueueReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::GetTaskFromQueue& item); -bool TasksGetTaskFromQueueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::GetTaskFromQueue& item); - -bool TasksGetTaskFromQueueReadResult(::basictl::tl_istream & s, ::tl2::tasks::GetTaskFromQueue& item, std::optional<::tl2::tasks::TaskInfo>& result); -bool TasksGetTaskFromQueueWriteResult(::basictl::tl_ostream & s, ::tl2::tasks::GetTaskFromQueue& item, std::optional<::tl2::tasks::TaskInfo>& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueStats.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueStats.hpp deleted file mode 100644 index 97042279..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueStats.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.queueStats.hpp" - -namespace tl2 { namespace details { - -void TasksQueueStatsReset(::tl2::tasks::QueueStats& item); - -bool TasksQueueStatsWriteJSON(std::ostream& s, const ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask); -bool TasksQueueStatsRead(::basictl::tl_istream & s, ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask); -bool TasksQueueStatsWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask); -bool TasksQueueStatsReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask); -bool TasksQueueStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueStats& item, uint32_t nat_fields_mask); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueTypeInfo.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueTypeInfo.hpp deleted file mode 100644 index ba4ba7e1..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueTypeInfo.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.queueTypeInfo.hpp" - -namespace tl2 { namespace details { - -void BuiltinVectorTasksQueueTypeInfoReset(std::vector<::tl2::tasks::QueueTypeInfo>& item); - -bool BuiltinVectorTasksQueueTypeInfoWriteJSON(std::ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item); -bool BuiltinVectorTasksQueueTypeInfoRead(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo>& item); -bool BuiltinVectorTasksQueueTypeInfoWrite(::basictl::tl_ostream & s, const std::vector<::tl2::tasks::QueueTypeInfo>& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -void TasksQueueTypeInfoReset(::tl2::tasks::QueueTypeInfo& item); - -bool TasksQueueTypeInfoWriteJSON(std::ostream& s, const ::tl2::tasks::QueueTypeInfo& item); -bool TasksQueueTypeInfoRead(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeInfo& item); -bool TasksQueueTypeInfoWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeInfo& item); -bool TasksQueueTypeInfoReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeInfo& item); -bool TasksQueueTypeInfoWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeInfo& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueTypeSettings.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueTypeSettings.hpp deleted file mode 100644 index 9fe0f6e9..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueTypeSettings.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.queueTypeSettings.hpp" - -namespace tl2 { namespace details { - -void TasksQueueTypeSettingsReset(::tl2::tasks::QueueTypeSettings& item); - -bool TasksQueueTypeSettingsWriteJSON(std::ostream& s, const ::tl2::tasks::QueueTypeSettings& item); -bool TasksQueueTypeSettingsRead(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeSettings& item); -bool TasksQueueTypeSettingsWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeSettings& item); -bool TasksQueueTypeSettingsReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeSettings& item); -bool TasksQueueTypeSettingsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeSettings& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueTypeStats.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueTypeStats.hpp deleted file mode 100644 index ff3f95a1..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.queueTypeStats.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.queueTypeStats.hpp" - -namespace tl2 { namespace details { - -void TasksQueueTypeStatsReset(::tl2::tasks::QueueTypeStats& item); - -bool TasksQueueTypeStatsWriteJSON(std::ostream& s, const ::tl2::tasks::QueueTypeStats& item); -bool TasksQueueTypeStatsRead(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats& item); -bool TasksQueueTypeStatsWrite(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeStats& item); -bool TasksQueueTypeStatsReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats& item); -bool TasksQueueTypeStatsWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::QueueTypeStats& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.task.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.task.hpp deleted file mode 100644 index 14bb9c99..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.task.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.task.hpp" - -namespace tl2 { namespace details { - -void TasksTaskReset(::tl2::tasks::Task& item); - -bool TasksTaskWriteJSON(std::ostream& s, const ::tl2::tasks::Task& item); -bool TasksTaskRead(::basictl::tl_istream & s, ::tl2::tasks::Task& item); -bool TasksTaskWrite(::basictl::tl_ostream & s, const ::tl2::tasks::Task& item); -bool TasksTaskReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::Task& item); -bool TasksTaskWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::Task& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.taskInfo.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.taskInfo.hpp deleted file mode 100644 index 8cf9eb59..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/headers/tasks.taskInfo.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tasks.taskInfo.hpp" - -namespace tl2 { namespace details { - -void TasksTaskInfoReset(::tl2::tasks::TaskInfo& item); - -bool TasksTaskInfoWriteJSON(std::ostream& s, const ::tl2::tasks::TaskInfo& item); -bool TasksTaskInfoRead(::basictl::tl_istream & s, ::tl2::tasks::TaskInfo& item); -bool TasksTaskInfoWrite(::basictl::tl_ostream & s, const ::tl2::tasks::TaskInfo& item); -bool TasksTaskInfoReadBoxed(::basictl::tl_istream & s, ::tl2::tasks::TaskInfo& item); -bool TasksTaskInfoWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tasks::TaskInfo& item); - -}} // namespace tl2::details - -namespace tl2 { namespace details { - -bool TasksTaskInfoMaybeWriteJSON(std::ostream & s, const std::optional<::tl2::tasks::TaskInfo>& item); - -bool TasksTaskInfoMaybeReadBoxed(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo>& item); -bool TasksTaskInfoMaybeWriteBoxed(::basictl::tl_ostream & s, const std::optional<::tl2::tasks::TaskInfo>& item); - - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.TaskStatus.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.TaskStatus.hpp deleted file mode 100644 index 89494f90..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.TaskStatus.hpp +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "tasks.TaskStatusItems.hpp" - - -namespace tl2 { namespace tasks { -struct TaskStatus { - std::variant<::tl2::tasks::TaskStatusNotCurrentlyInEngine, ::tl2::tasks::TaskStatusScheduled, ::tl2::tasks::TaskStatusWaiting, ::tl2::tasks::TaskStatusInProgress> value; - - bool is_NotCurrentlyInEngine() const { return value.index() == 0; } - bool is_Scheduled() const { return value.index() == 1; } - bool is_Waiting() const { return value.index() == 2; } - bool is_InProgress() const { return value.index() == 3; } - - void set_NotCurrentlyInEngine() { value.emplace<0>(); } - void set_Scheduled() { value.emplace<1>(); } - void set_Waiting() { value.emplace<2>(); } - void set_InProgress() { value.emplace<3>(); } - - std::string_view tl_name() const; - uint32_t tl_tag() const; - - bool write_json(std::ostream& s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.TaskStatusItems.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.TaskStatusItems.hpp deleted file mode 100644 index 022ae102..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.TaskStatusItems.hpp +++ /dev/null @@ -1,93 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace tasks { -struct TaskStatusInProgress { - - std::string_view tl_name() const { return "tasks.taskStatusInProgress"; } - uint32_t tl_tag() const { return 0x06ef70e7; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const TaskStatusInProgress& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - -namespace tl2 { namespace tasks { -struct TaskStatusNotCurrentlyInEngine { - - std::string_view tl_name() const { return "tasks.taskStatusNotCurrentlyInEngine"; } - uint32_t tl_tag() const { return 0xb207caaa; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const TaskStatusNotCurrentlyInEngine& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - -namespace tl2 { namespace tasks { -struct TaskStatusScheduled { - - std::string_view tl_name() const { return "tasks.taskStatusScheduled"; } - uint32_t tl_tag() const { return 0x0aca80a9; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const TaskStatusScheduled& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - -namespace tl2 { namespace tasks { -struct TaskStatusWaiting { - - std::string_view tl_name() const { return "tasks.taskStatusWaiting"; } - uint32_t tl_tag() const { return 0x16739c2c; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const TaskStatusWaiting& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.cronTask.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.cronTask.hpp deleted file mode 100644 index f1a7b1a4..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.cronTask.hpp +++ /dev/null @@ -1,33 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "tasks.cronTime.hpp" -#include "tasks.task.hpp" - - -namespace tl2 { namespace tasks { -struct CronTask { - std::string type_name; - std::vector queue_id; - ::tl2::tasks::Task task{}; - ::tl2::tasks::CronTime time{}; - - std::string_view tl_name() const { return "tasks.cronTask"; } - uint32_t tl_tag() const { return 0xc90cf28a; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const CronTask& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.cronTaskWithId.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.cronTaskWithId.hpp deleted file mode 100644 index 1c7679fe..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.cronTaskWithId.hpp +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "tasks.cronTask.hpp" - - -namespace tl2 { namespace tasks { -struct CronTaskWithId { - int32_t id = 0; - int32_t next_time = 0; - ::tl2::tasks::CronTask task{}; - - std::string_view tl_name() const { return "tasks.cronTaskWithId"; } - uint32_t tl_tag() const { return 0x3a958001; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const CronTaskWithId& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.cronTime.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.cronTime.hpp deleted file mode 100644 index 67628475..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.cronTime.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace tasks { -struct CronTime { - uint32_t fields_mask = 0; - std::vector seconds; - std::vector minutes; - std::vector hours; - std::vector days_of_week; - std::vector days; - std::vector months; - - std::string_view tl_name() const { return "tasks.cronTime"; } - uint32_t tl_tag() const { return 0xd4177d7f; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const CronTime& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueStats.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueStats.hpp deleted file mode 100644 index f9fbc996..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueStats.hpp +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace tasks { -struct QueueStats { - int32_t waiting_size = 0; - int32_t scheduled_size = 0; - int32_t in_progress_size = 0; - - std::string_view tl_name() const { return "tasks.queueStats"; } - uint32_t tl_tag() const { return 0x1d942543; } - - bool write_json(std::ostream& s, uint32_t nat_fields_mask)const; - - bool read(::basictl::tl_istream & s, uint32_t nat_fields_mask); - bool write(::basictl::tl_ostream & s, uint32_t nat_fields_mask)const; - - bool read_boxed(::basictl::tl_istream & s, uint32_t nat_fields_mask); - bool write_boxed(::basictl::tl_ostream & s, uint32_t nat_fields_mask)const; -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueTypeInfo.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueTypeInfo.hpp deleted file mode 100644 index 1227d3b5..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueTypeInfo.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "tasks.queueTypeSettings.hpp" -#include "tasks.queueTypeStats.hpp" - - -namespace tl2 { namespace tasks { -struct QueueTypeInfo { - std::string type_name; - ::tl2::tasks::QueueTypeSettings settings{}; - ::tl2::tasks::QueueTypeStats stats{}; - - std::string_view tl_name() const { return "tasks.queueTypeInfo"; } - uint32_t tl_tag() const { return 0x38d38d3e; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const QueueTypeInfo& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueTypeSettings.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueTypeSettings.hpp deleted file mode 100644 index cda8759d..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueTypeSettings.hpp +++ /dev/null @@ -1,37 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace tasks { -struct QueueTypeSettings { - uint32_t fields_mask = 0; - bool is_enabled = false; - bool is_persistent = false; - int32_t priority = 0; - int32_t default_retry_time = 0; - int32_t default_retry_num = 0; - std::string move_to_queue_type_on_error; - bool is_blocking = false; - int32_t timelimit = 0; - int32_t max_queue_size = 0; - - std::string_view tl_name() const { return "tasks.queueTypeSettings"; } - uint32_t tl_tag() const { return 0x561fbc09; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const QueueTypeSettings& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueTypeStats.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueTypeStats.hpp deleted file mode 100644 index c9f6c3af..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.queueTypeStats.hpp +++ /dev/null @@ -1,32 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace tasks { -struct QueueTypeStats { - uint32_t fields_mask = 0; - int64_t waiting_size = 0; - int64_t scheduled_size = 0; - int64_t in_progress_size = 0; - int32_t num_queues = 0; - - std::string_view tl_name() const { return "tasks.queueTypeStats"; } - uint32_t tl_tag() const { return 0xe1b785f2; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const QueueTypeStats& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.task.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.task.hpp deleted file mode 100644 index 3617e724..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.task.hpp +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace tasks { -struct Task { - uint32_t fields_mask = 0; - int32_t flags = 0; - std::vector tag; - std::string data; - int64_t id = 0; - int32_t retries = 0; - int32_t scheduled_time = 0; - int32_t deadline = 0; - - std::string_view tl_name() const { return "tasks.task"; } - uint32_t tl_tag() const { return 0x7c23bc2c; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const Task& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.taskInfo.hpp b/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.taskInfo.hpp deleted file mode 100644 index 20233bd7..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tasks/types/tasks.taskInfo.hpp +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "tasks.task.hpp" - - -namespace tl2 { namespace tasks { -struct TaskInfo { - std::string type_name; - std::vector queue_id; - ::tl2::tasks::Task task{}; - - std::string_view tl_name() const { return "tasks.taskInfo"; } - uint32_t tl_tag() const { return 0x06f0c6a6; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const TaskInfo& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tasks - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tree_stats/details.cpp deleted file mode 100644 index 99749f47..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/details.cpp +++ /dev/null @@ -1,153 +0,0 @@ -#include "headers/tree_stats.ObjectLimitValue.hpp" -#include "headers/tree_stats.objectLimitValueLong.hpp" -#include "headers/tree_stats.objectLimitValueDouble.hpp" - - -static const std::string_view TreeStatsObjectLimitValue_tbl_tl_name[]{"tree_stats.objectLimitValueLong", "tree_stats.objectLimitValueDouble"}; -static const uint32_t TreeStatsObjectLimitValue_tbl_tl_tag[]{0x73111993, 0x5dfb8816}; - -bool tl2::tree_stats::ObjectLimitValue::write_json(std::ostream & s)const { - if (!::tl2::details::TreeStatsObjectLimitValueWriteJSON(s, *this)) { return false; } - return true; -} -bool tl2::tree_stats::ObjectLimitValue::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TreeStatsObjectLimitValueReadBoxed(s, *this)) { return false; } - return true; -} -bool tl2::tree_stats::ObjectLimitValue::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TreeStatsObjectLimitValueWriteBoxed(s, *this)) { return false; } - return true; -} -std::string_view tl2::tree_stats::ObjectLimitValue::tl_name() const { - return TreeStatsObjectLimitValue_tbl_tl_name[value.index()]; -} -uint32_t tl2::tree_stats::ObjectLimitValue::tl_tag() const { - return TreeStatsObjectLimitValue_tbl_tl_tag[value.index()]; -} - - -void tl2::details::TreeStatsObjectLimitValueReset(::tl2::tree_stats::ObjectLimitValue& item) { - item.value.emplace<0>(); // TODO - optimize, if already 0, call Reset function -} - -bool tl2::details::TreeStatsObjectLimitValueWriteJSON(std::ostream & s, const ::tl2::tree_stats::ObjectLimitValue& item) { - s << "{"; - s << "\"type\":"; - s << "\"" << TreeStatsObjectLimitValue_tbl_tl_name[item.value.index()] << "\""; - switch (item.value.index()) { - case 1: - if (std::get<1>(item.value) != 0) { - s << ",\"value\":"; - if (!::tl2::details::TreeStatsObjectLimitValueDoubleWriteJSON(s, std::get<1>(item.value))) { return false; } - } - break; - } - s << "}"; - return true; -} -bool tl2::details::TreeStatsObjectLimitValueReadBoxed(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValue& item) { - uint32_t nat; - s.nat_read(nat); - switch (nat) { - case 0x73111993: - if (item.value.index() != 0) { item.value.emplace<0>(); } - break; - case 0x5dfb8816: - if (item.value.index() != 1) { item.value.emplace<1>(); } - if (!::tl2::details::TreeStatsObjectLimitValueDoubleRead(s, std::get<1>(item.value))) { return false; } - break; - default: - return s.set_error_union_tag(); - } - return true; -} - -bool tl2::details::TreeStatsObjectLimitValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValue& item) { - s.nat_write(TreeStatsObjectLimitValue_tbl_tl_tag[item.value.index()]); - switch (item.value.index()) { - case 1: - if (!::tl2::details::TreeStatsObjectLimitValueDoubleWrite(s, std::get<1>(item.value))) { return false; } - break; - } - return true; -} - -void tl2::details::TreeStatsObjectLimitValueDoubleReset(::tl2::tree_stats::ObjectLimitValueDouble& item) { - item = 0; -} - -bool tl2::details::TreeStatsObjectLimitValueDoubleWriteJSON(std::ostream& s, const ::tl2::tree_stats::ObjectLimitValueDouble& item) { - s << item; - return true; -} - -bool tl2::details::TreeStatsObjectLimitValueDoubleRead(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueDouble& item) { - if (!s.double_read(item)) { return false; } - return true; -} - -bool tl2::details::TreeStatsObjectLimitValueDoubleWrite(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueDouble& item) { - if (!s.double_write(item)) { return false;} - return true; -} - -bool tl2::details::TreeStatsObjectLimitValueDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueDouble& item) { - if (!s.nat_read_exact_tag(0x5dfb8816)) { return false; } - return tl2::details::TreeStatsObjectLimitValueDoubleRead(s, item); -} - -bool tl2::details::TreeStatsObjectLimitValueDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueDouble& item) { - if (!s.nat_write(0x5dfb8816)) { return false; } - return tl2::details::TreeStatsObjectLimitValueDoubleWrite(s, item); -} - -bool tl2::tree_stats::ObjectLimitValueLong::write_json(std::ostream& s)const { - if (!::tl2::details::TreeStatsObjectLimitValueLongWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::tree_stats::ObjectLimitValueLong::read(::basictl::tl_istream & s) { - if (!::tl2::details::TreeStatsObjectLimitValueLongRead(s, *this)) { return false; } - return true; -} - -bool tl2::tree_stats::ObjectLimitValueLong::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::TreeStatsObjectLimitValueLongWrite(s, *this)) { return false; } - return true; -} - -bool tl2::tree_stats::ObjectLimitValueLong::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::TreeStatsObjectLimitValueLongReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::tree_stats::ObjectLimitValueLong::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::TreeStatsObjectLimitValueLongWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::TreeStatsObjectLimitValueLongReset(::tl2::tree_stats::ObjectLimitValueLong& item) { -} - -bool tl2::details::TreeStatsObjectLimitValueLongWriteJSON(std::ostream& s, const ::tl2::tree_stats::ObjectLimitValueLong& item) { - s << "true"; - return true; -} - -bool tl2::details::TreeStatsObjectLimitValueLongRead(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueLong& item) { - return true; -} - -bool tl2::details::TreeStatsObjectLimitValueLongWrite(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueLong& item) { - return true; -} - -bool tl2::details::TreeStatsObjectLimitValueLongReadBoxed(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueLong& item) { - if (!s.nat_read_exact_tag(0x73111993)) { return false; } - return tl2::details::TreeStatsObjectLimitValueLongRead(s, item); -} - -bool tl2::details::TreeStatsObjectLimitValueLongWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueLong& item) { - if (!s.nat_write(0x73111993)) { return false; } - return tl2::details::TreeStatsObjectLimitValueLongWrite(s, item); -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/headers/tree_stats.ObjectLimitValue.hpp b/internal/tlcodegen/test/gen/schema_cpp/tree_stats/headers/tree_stats.ObjectLimitValue.hpp deleted file mode 100644 index 87c4309c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/headers/tree_stats.ObjectLimitValue.hpp +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tree_stats.ObjectLimitValue.hpp" - -namespace tl2 { namespace details { - -void TreeStatsObjectLimitValueReset(::tl2::tree_stats::ObjectLimitValue& item); - -bool TreeStatsObjectLimitValueWriteJSON(std::ostream & s, const ::tl2::tree_stats::ObjectLimitValue& item); -bool TreeStatsObjectLimitValueReadBoxed(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValue& item); -bool TreeStatsObjectLimitValueWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValue& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/headers/tree_stats.objectLimitValueDouble.hpp b/internal/tlcodegen/test/gen/schema_cpp/tree_stats/headers/tree_stats.objectLimitValueDouble.hpp deleted file mode 100644 index ee466826..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/headers/tree_stats.objectLimitValueDouble.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tree_stats.objectLimitValueDouble.hpp" - -namespace tl2 { namespace details { - -void TreeStatsObjectLimitValueDoubleReset(::tl2::tree_stats::ObjectLimitValueDouble& item); - -bool TreeStatsObjectLimitValueDoubleWriteJSON(std::ostream& s, const ::tl2::tree_stats::ObjectLimitValueDouble& item); -bool TreeStatsObjectLimitValueDoubleRead(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueDouble& item); -bool TreeStatsObjectLimitValueDoubleWrite(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueDouble& item); -bool TreeStatsObjectLimitValueDoubleReadBoxed(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueDouble& item); -bool TreeStatsObjectLimitValueDoubleWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueDouble& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/headers/tree_stats.objectLimitValueLong.hpp b/internal/tlcodegen/test/gen/schema_cpp/tree_stats/headers/tree_stats.objectLimitValueLong.hpp deleted file mode 100644 index ccf0ffd3..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/headers/tree_stats.objectLimitValueLong.hpp +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../types/tree_stats.objectLimitValueLong.hpp" - -namespace tl2 { namespace details { - -void TreeStatsObjectLimitValueLongReset(::tl2::tree_stats::ObjectLimitValueLong& item); - -bool TreeStatsObjectLimitValueLongWriteJSON(std::ostream& s, const ::tl2::tree_stats::ObjectLimitValueLong& item); -bool TreeStatsObjectLimitValueLongRead(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueLong& item); -bool TreeStatsObjectLimitValueLongWrite(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueLong& item); -bool TreeStatsObjectLimitValueLongReadBoxed(::basictl::tl_istream & s, ::tl2::tree_stats::ObjectLimitValueLong& item); -bool TreeStatsObjectLimitValueLongWriteBoxed(::basictl::tl_ostream & s, const ::tl2::tree_stats::ObjectLimitValueLong& item); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/types/tree_stats.ObjectLimitValue.hpp b/internal/tlcodegen/test/gen/schema_cpp/tree_stats/types/tree_stats.ObjectLimitValue.hpp deleted file mode 100644 index 8a556767..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/types/tree_stats.ObjectLimitValue.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "tree_stats.objectLimitValueLong.hpp" -#include "tree_stats.objectLimitValueDouble.hpp" - - -namespace tl2 { namespace tree_stats { -struct ObjectLimitValue { - std::variant<::tl2::tree_stats::ObjectLimitValueLong, ::tl2::tree_stats::ObjectLimitValueDouble> value; - - bool is_Long() const { return value.index() == 0; } - bool is_Double() const { return value.index() == 1; } - - void set_Long() { value.emplace<0>(); } - - std::string_view tl_name() const; - uint32_t tl_tag() const; - - bool write_json(std::ostream& s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; -}; - -}} // namespace tl2::tree_stats - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/types/tree_stats.objectLimitValueDouble.hpp b/internal/tlcodegen/test/gen/schema_cpp/tree_stats/types/tree_stats.objectLimitValueDouble.hpp deleted file mode 100644 index aae40caf..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/types/tree_stats.objectLimitValueDouble.hpp +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace tree_stats { -using ObjectLimitValueDouble = double; -}} // namespace tl2::tree_stats - diff --git a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/types/tree_stats.objectLimitValueLong.hpp b/internal/tlcodegen/test/gen/schema_cpp/tree_stats/types/tree_stats.objectLimitValueLong.hpp deleted file mode 100644 index 1cde76cf..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/tree_stats/types/tree_stats.objectLimitValueLong.hpp +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace tree_stats { -struct ObjectLimitValueLong { - - std::string_view tl_name() const { return "tree_stats.objectLimitValueLong"; } - uint32_t tl_tag() const { return 0x73111993; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - friend std::ostream& operator<<(std::ostream& s, const ObjectLimitValueLong& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::tree_stats - diff --git a/internal/tlcodegen/test/gen/schema_cpp/unique/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/unique/details.cpp deleted file mode 100644 index ec8aad80..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/unique/details.cpp +++ /dev/null @@ -1,156 +0,0 @@ -#include "headers/unique.stringToInt.hpp" -#include "headers/unique.get.hpp" -#include "../__common_namespace/headers/int.hpp" - - -bool tl2::unique::Get::write_json(std::ostream& s)const { - if (!::tl2::details::UniqueGetWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::unique::Get::read(::basictl::tl_istream & s) { - if (!::tl2::details::UniqueGetRead(s, *this)) { return false; } - return true; -} - -bool tl2::unique::Get::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::UniqueGetWrite(s, *this)) { return false; } - return true; -} - -bool tl2::unique::Get::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::UniqueGetReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::unique::Get::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::UniqueGetWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::UniqueGetReset(::tl2::unique::Get& item) { - item.key.clear(); -} - -bool tl2::details::UniqueGetWriteJSON(std::ostream& s, const ::tl2::unique::Get& item) { - s << "{"; - if (item.key.size() != 0) { - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::UniqueGetRead(::basictl::tl_istream & s, ::tl2::unique::Get& item) { - if (!s.string_read(item.key)) { return false; } - return true; -} - -bool tl2::details::UniqueGetWrite(::basictl::tl_ostream & s, const ::tl2::unique::Get& item) { - if (!s.string_write(item.key)) { return false;} - return true; -} - -bool tl2::details::UniqueGetReadBoxed(::basictl::tl_istream & s, ::tl2::unique::Get& item) { - if (!s.nat_read_exact_tag(0xce89bbf2)) { return false; } - return tl2::details::UniqueGetRead(s, item); -} - -bool tl2::details::UniqueGetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::unique::Get& item) { - if (!s.nat_write(0xce89bbf2)) { return false; } - return tl2::details::UniqueGetWrite(s, item); -} - -bool tl2::details::UniqueGetReadResult(::basictl::tl_istream & s, tl2::unique::Get& item, std::optional& result) { - if (!::tl2::details::IntMaybeReadBoxed(s, result)) { return false; } - return true; -} -bool tl2::details::UniqueGetWriteResult(::basictl::tl_ostream & s, tl2::unique::Get& item, std::optional& result) { - if (!::tl2::details::IntMaybeWriteBoxed(s, result)) { return false; } - return true; -} - -bool tl2::unique::Get::read_result(::basictl::tl_istream & s, std::optional & result) { - return tl2::details::UniqueGetReadResult(s, *this, result); -} -bool tl2::unique::Get::write_result(::basictl::tl_ostream & s, std::optional & result) { - return tl2::details::UniqueGetWriteResult(s, *this, result); -} - -bool tl2::unique::StringToInt::write_json(std::ostream& s)const { - if (!::tl2::details::UniqueStringToIntWriteJSON(s, *this)) { return false; } - return true; -} - -bool tl2::unique::StringToInt::read(::basictl::tl_istream & s) { - if (!::tl2::details::UniqueStringToIntRead(s, *this)) { return false; } - return true; -} - -bool tl2::unique::StringToInt::write(::basictl::tl_ostream & s)const { - if (!::tl2::details::UniqueStringToIntWrite(s, *this)) { return false; } - return true; -} - -bool tl2::unique::StringToInt::read_boxed(::basictl::tl_istream & s) { - if (!::tl2::details::UniqueStringToIntReadBoxed(s, *this)) { return false; } - return true; -} - -bool tl2::unique::StringToInt::write_boxed(::basictl::tl_ostream & s)const { - if (!::tl2::details::UniqueStringToIntWriteBoxed(s, *this)) { return false; } - return true; -} - -void tl2::details::UniqueStringToIntReset(::tl2::unique::StringToInt& item) { - item.key.clear(); -} - -bool tl2::details::UniqueStringToIntWriteJSON(std::ostream& s, const ::tl2::unique::StringToInt& item) { - s << "{"; - if (item.key.size() != 0) { - s << "\"key\":"; - s << "\"" << item.key << "\""; - } - s << "}"; - return true; -} - -bool tl2::details::UniqueStringToIntRead(::basictl::tl_istream & s, ::tl2::unique::StringToInt& item) { - if (!s.string_read(item.key)) { return false; } - return true; -} - -bool tl2::details::UniqueStringToIntWrite(::basictl::tl_ostream & s, const ::tl2::unique::StringToInt& item) { - if (!s.string_write(item.key)) { return false;} - return true; -} - -bool tl2::details::UniqueStringToIntReadBoxed(::basictl::tl_istream & s, ::tl2::unique::StringToInt& item) { - if (!s.nat_read_exact_tag(0x0f766c35)) { return false; } - return tl2::details::UniqueStringToIntRead(s, item); -} - -bool tl2::details::UniqueStringToIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::unique::StringToInt& item) { - if (!s.nat_write(0x0f766c35)) { return false; } - return tl2::details::UniqueStringToIntWrite(s, item); -} - -bool tl2::details::UniqueStringToIntReadResult(::basictl::tl_istream & s, tl2::unique::StringToInt& item, int32_t& result) { - if (!s.nat_read_exact_tag(0xa8509bda)) { return false;} - if (!s.int_read(result)) { return false; } - return true; -} -bool tl2::details::UniqueStringToIntWriteResult(::basictl::tl_ostream & s, tl2::unique::StringToInt& item, int32_t& result) { - if (!s.nat_write(0xa8509bda)) { return false; } - if (!s.int_write(result)) { return false;} - return true; -} - -bool tl2::unique::StringToInt::read_result(::basictl::tl_istream & s, int32_t & result) { - return tl2::details::UniqueStringToIntReadResult(s, *this, result); -} -bool tl2::unique::StringToInt::write_result(::basictl::tl_ostream & s, int32_t & result) { - return tl2::details::UniqueStringToIntWriteResult(s, *this, result); -} diff --git a/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.get.hpp b/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.get.hpp deleted file mode 100644 index e1f554b5..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.get.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace unique { -struct Get { - // tl magic for function - static const uint32_t MAGIC = 0xce89bbf2; - - std::string key; - - std::string_view tl_name() const { return "unique.get"; } - uint32_t tl_tag() const { return 0xce89bbf2; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, std::optional & result); - bool write_result(::basictl::tl_ostream & s, std::optional & result); - - friend std::ostream& operator<<(std::ostream& s, const Get& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::unique - diff --git a/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.stringToInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.stringToInt.hpp deleted file mode 100644 index cfe42c93..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/unique/functions/unique.stringToInt.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" - - -namespace tl2 { namespace unique { -struct StringToInt { - // tl magic for function - static const uint32_t MAGIC = 0x0f766c35; - - std::string key; - - std::string_view tl_name() const { return "unique.stringToInt"; } - uint32_t tl_tag() const { return 0x0f766c35; } - - bool write_json(std::ostream& s)const; - - bool read(::basictl::tl_istream & s); - bool write(::basictl::tl_ostream & s)const; - - bool read_boxed(::basictl::tl_istream & s); - bool write_boxed(::basictl::tl_ostream & s)const; - - bool read_result(::basictl::tl_istream & s, int32_t & result); - bool write_result(::basictl::tl_ostream & s, int32_t & result); - - friend std::ostream& operator<<(std::ostream& s, const StringToInt& rhs) { - rhs.write_json(s); - return s; - } -}; - -}} // namespace tl2::unique - diff --git a/internal/tlcodegen/test/gen/schema_cpp/unique/headers/unique.get.hpp b/internal/tlcodegen/test/gen/schema_cpp/unique/headers/unique.get.hpp deleted file mode 100644 index e2edfd6c..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/unique/headers/unique.get.hpp +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/unique.get.hpp" -#include "../../__common_namespace/types/int.hpp" - -namespace tl2 { namespace details { - -void UniqueGetReset(::tl2::unique::Get& item); - -bool UniqueGetWriteJSON(std::ostream& s, const ::tl2::unique::Get& item); -bool UniqueGetRead(::basictl::tl_istream & s, ::tl2::unique::Get& item); -bool UniqueGetWrite(::basictl::tl_ostream & s, const ::tl2::unique::Get& item); -bool UniqueGetReadBoxed(::basictl::tl_istream & s, ::tl2::unique::Get& item); -bool UniqueGetWriteBoxed(::basictl::tl_ostream & s, const ::tl2::unique::Get& item); - -bool UniqueGetReadResult(::basictl::tl_istream & s, ::tl2::unique::Get& item, std::optional& result); -bool UniqueGetWriteResult(::basictl::tl_ostream & s, ::tl2::unique::Get& item, std::optional& result); - -}} // namespace tl2::details - diff --git a/internal/tlcodegen/test/gen/schema_cpp/unique/headers/unique.stringToInt.hpp b/internal/tlcodegen/test/gen/schema_cpp/unique/headers/unique.stringToInt.hpp deleted file mode 100644 index d579841e..00000000 --- a/internal/tlcodegen/test/gen/schema_cpp/unique/headers/unique.stringToInt.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -#include "../../a_tlgen_helpers_code.hpp" -#include "../functions/unique.stringToInt.hpp" - -namespace tl2 { namespace details { - -void UniqueStringToIntReset(::tl2::unique::StringToInt& item); - -bool UniqueStringToIntWriteJSON(std::ostream& s, const ::tl2::unique::StringToInt& item); -bool UniqueStringToIntRead(::basictl::tl_istream & s, ::tl2::unique::StringToInt& item); -bool UniqueStringToIntWrite(::basictl::tl_ostream & s, const ::tl2::unique::StringToInt& item); -bool UniqueStringToIntReadBoxed(::basictl::tl_istream & s, ::tl2::unique::StringToInt& item); -bool UniqueStringToIntWriteBoxed(::basictl::tl_ostream & s, const ::tl2::unique::StringToInt& item); - -bool UniqueStringToIntReadResult(::basictl::tl_istream & s, ::tl2::unique::StringToInt& item, int32_t& result); -bool UniqueStringToIntWriteResult(::basictl::tl_ostream & s, ::tl2::unique::StringToInt& item, int32_t& result); - -}} // namespace tl2::details - From 56c609a6cc266f4a98a2e2922adced31d74377ee Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Wed, 20 Nov 2024 17:00:31 +0300 Subject: [PATCH 11/38] add last release after read + color all tests passed --- .../tlcodegen/test/codegen_test/cpp/Makefile | 1 + .../cpp/tests/test_functions_bytes.cpp | 2 - .../cpp/tests/test_objects_bytes.cpp | 1 - .../test/gen/cases_cpp/basics/string_io.cpp | 1 - .../test/gen/cases_cpp/basics/string_io.h | 1 - .../tl/__common_namespace/details.cpp | 4 + .../gen/cases_cpp/tl/benchmarks/details.cpp | 28 ++ .../test/gen/cases_cpp/tl/cases/details.cpp | 108 +++++ .../gen/cases_cpp/tl/cases_bytes/details.cpp | 44 ++ .../test/gen/schema_cpp/basics/string_io.cpp | 1 - .../test/gen/schema_cpp/basics/string_io.h | 1 - .../tl/__common_namespace/details.cpp | 388 +++++++++++++-- .../gen/schema_cpp/tl/antispam/details.cpp | 24 +- .../test/gen/schema_cpp/tl/pkg2/details.cpp | 8 + .../gen/schema_cpp/tl/service1/details.cpp | 440 +++++++++++++++--- .../gen/schema_cpp/tl/service2/details.cpp | 60 ++- .../gen/schema_cpp/tl/service3/details.cpp | 248 ++++++++-- .../gen/schema_cpp/tl/service4/details.cpp | 8 + .../gen/schema_cpp/tl/service5/details.cpp | 60 ++- .../gen/schema_cpp/tl/service6/details.cpp | 44 +- .../test/gen/schema_cpp/tl/tasks/details.cpp | 132 +++++- .../gen/schema_cpp/tl/tree_stats/details.cpp | 4 + .../test/gen/schema_cpp/tl/unique/details.cpp | 32 +- internal/tlcodegen/type_rw_struct_cpp.go | 16 +- 24 files changed, 1497 insertions(+), 159 deletions(-) diff --git a/internal/tlcodegen/test/codegen_test/cpp/Makefile b/internal/tlcodegen/test/codegen_test/cpp/Makefile index 3efbd878..e4009c59 100644 --- a/internal/tlcodegen/test/codegen_test/cpp/Makefile +++ b/internal/tlcodegen/test/codegen_test/cpp/Makefile @@ -13,6 +13,7 @@ run-all-tests: mkdir -p build make run-objects-test make run-functions-test + echo "\n\033[0;32mAll tests passed!\033[0m\n" clean-build: rm -rf build diff --git a/internal/tlcodegen/test/codegen_test/cpp/tests/test_functions_bytes.cpp b/internal/tlcodegen/test/codegen_test/cpp/tests/test_functions_bytes.cpp index ef403956..fd4d89dc 100644 --- a/internal/tlcodegen/test/codegen_test/cpp/tests/test_functions_bytes.cpp +++ b/internal/tlcodegen/test/codegen_test/cpp/tests/test_functions_bytes.cpp @@ -44,8 +44,6 @@ int main() { std::string used_output; if (read_result) { test_result = test_function->read_write_result(input2, output); - - output.last_release(); used_output = {reinterpret_cast(output_str.used_buffer().data()), output_str.used_buffer().size()}; if (test_result) { test_result = used_output == expected_result_output; diff --git a/internal/tlcodegen/test/codegen_test/cpp/tests/test_objects_bytes.cpp b/internal/tlcodegen/test/codegen_test/cpp/tests/test_objects_bytes.cpp index 92f25f0e..c792c938 100644 --- a/internal/tlcodegen/test/codegen_test/cpp/tests/test_objects_bytes.cpp +++ b/internal/tlcodegen/test/codegen_test/cpp/tests/test_objects_bytes.cpp @@ -37,7 +37,6 @@ int main() { bool read_result = test_object->read(input); bool write_result = test_object->write(output); - output.last_release(); std::string used_output{reinterpret_cast(output_str.used_buffer().data()), output_str.used_buffer().size()}; bool test_result = write_result && read_result; if (test_result) { diff --git a/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.cpp b/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.cpp index d36c6165..cf932564 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.cpp +++ b/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.cpp @@ -1,4 +1,3 @@ - // Code generated by vktl/cmd/tlgen2; DO NOT EDIT. #include "basictl.h" #include "string_io.h" diff --git a/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.h b/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.h index 09b525ba..7632efc0 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.h +++ b/internal/tlcodegen/test/gen/cases_cpp/basics/string_io.h @@ -1,4 +1,3 @@ - // Code generated by vktl/cmd/tlgen2; DO NOT EDIT. #pragma once #include "basictl.h" diff --git a/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/details.cpp b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/details.cpp index 249496b4..65085fe1 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/details.cpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/__common_namespace/details.cpp @@ -502,21 +502,25 @@ bool tl2::True::write_json(std::ostream& s)const { bool tl2::True::read(::basictl::tl_istream & s) { if (!::tl2::details::TrueRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::True::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TrueWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::True::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TrueReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::True::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TrueWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } diff --git a/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/details.cpp b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/details.cpp index c25efe73..bc458dc6 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/details.cpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/benchmarks/details.cpp @@ -17,21 +17,25 @@ bool tl2::benchmarks::Vruhash::write_json(std::ostream& s)const { bool tl2::benchmarks::Vruhash::read(::basictl::tl_istream & s) { if (!::tl2::details::BenchmarksVruHashRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::Vruhash::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchmarksVruHashWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::Vruhash::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BenchmarksVruHashReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::Vruhash::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchmarksVruHashWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -89,21 +93,25 @@ bool tl2::benchmarks::Vruposition::write_json(std::ostream& s)const { bool tl2::benchmarks::Vruposition::read(::basictl::tl_istream & s) { if (!::tl2::details::BenchmarksVruPositionRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::Vruposition::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchmarksVruPositionWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::Vruposition::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BenchmarksVruPositionReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::Vruposition::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchmarksVruPositionWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -294,21 +302,25 @@ bool tl2::benchmarks::VrutoyPositions::write_json(std::ostream& s, uint32_t nat_ bool tl2::benchmarks::VrutoyPositions::read(::basictl::tl_istream & s, uint32_t nat_n) { if (!::tl2::details::BenchmarksVrutoyPositionsRead(s, *this, nat_n)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoyPositions::write(::basictl::tl_ostream & s, uint32_t nat_n)const { if (!::tl2::details::BenchmarksVrutoyPositionsWrite(s, *this, nat_n)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoyPositions::read_boxed(::basictl::tl_istream & s, uint32_t nat_n) { if (!::tl2::details::BenchmarksVrutoyPositionsReadBoxed(s, *this, nat_n)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoyPositions::write_boxed(::basictl::tl_ostream & s, uint32_t nat_n)const { if (!::tl2::details::BenchmarksVrutoyPositionsWriteBoxed(s, *this, nat_n)) { return false; } + s.last_release(); return true; } @@ -353,21 +365,25 @@ bool tl2::benchmarks::VrutoyTopLevelContainer::write_json(std::ostream& s)const bool tl2::benchmarks::VrutoyTopLevelContainer::read(::basictl::tl_istream & s) { if (!::tl2::details::BenchmarksVrutoyTopLevelContainerRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoyTopLevelContainer::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchmarksVrutoyTopLevelContainerWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoyTopLevelContainer::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BenchmarksVrutoyTopLevelContainerReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoyTopLevelContainer::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchmarksVrutoyTopLevelContainerWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -410,21 +426,25 @@ bool tl2::benchmarks::VrutoyTopLevelContainerWithDependency::write_json(std::ost bool tl2::benchmarks::VrutoyTopLevelContainerWithDependency::read(::basictl::tl_istream & s) { if (!::tl2::details::BenchmarksVrutoyTopLevelContainerWithDependencyRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoyTopLevelContainerWithDependency::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchmarksVrutoyTopLevelContainerWithDependencyWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoyTopLevelContainerWithDependency::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BenchmarksVrutoyTopLevelContainerWithDependencyReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoyTopLevelContainerWithDependency::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchmarksVrutoyTopLevelContainerWithDependencyWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -547,21 +567,25 @@ bool tl2::benchmarks::VrutoytopLevelUnionBig::write_json(std::ostream& s)const { bool tl2::benchmarks::VrutoytopLevelUnionBig::read(::basictl::tl_istream & s) { if (!::tl2::details::BenchmarksVrutoytopLevelUnionBigRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoytopLevelUnionBig::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchmarksVrutoytopLevelUnionBigWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoytopLevelUnionBig::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BenchmarksVrutoytopLevelUnionBigReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoytopLevelUnionBig::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchmarksVrutoytopLevelUnionBigWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -606,21 +630,25 @@ bool tl2::benchmarks::VrutoytopLevelUnionEmpty::write_json(std::ostream& s)const bool tl2::benchmarks::VrutoytopLevelUnionEmpty::read(::basictl::tl_istream & s) { if (!::tl2::details::BenchmarksVrutoytopLevelUnionEmptyRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoytopLevelUnionEmpty::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchmarksVrutoytopLevelUnionEmptyWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoytopLevelUnionEmpty::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BenchmarksVrutoytopLevelUnionEmptyReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::benchmarks::VrutoytopLevelUnionEmpty::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchmarksVrutoytopLevelUnionEmptyWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } diff --git a/internal/tlcodegen/test/gen/cases_cpp/tl/cases/details.cpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/details.cpp index 3439079f..eb04f20a 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/tl/cases/details.cpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases/details.cpp @@ -192,21 +192,25 @@ bool tl2::cases::MyCycle1::write_json(std::ostream& s)const { bool tl2::cases::MyCycle1::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesMyCycle1Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::MyCycle1::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesMyCycle1Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::MyCycle1::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesMyCycle1ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::MyCycle1::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesMyCycle1WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -270,21 +274,25 @@ bool tl2::cases::MyCycle2::write_json(std::ostream& s)const { bool tl2::cases::MyCycle2::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesMyCycle2Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::MyCycle2::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesMyCycle2Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::MyCycle2::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesMyCycle2ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::MyCycle2::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesMyCycle2WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -348,21 +356,25 @@ bool tl2::cases::MyCycle3::write_json(std::ostream& s)const { bool tl2::cases::MyCycle3::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesMyCycle3Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::MyCycle3::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesMyCycle3Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::MyCycle3::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesMyCycle3ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::MyCycle3::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesMyCycle3WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -432,21 +444,25 @@ bool tl2::cases::Replace7::write_json(std::ostream& s)const { bool tl2::cases::Replace7::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesReplace7Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::Replace7::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesReplace7Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::Replace7::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesReplace7ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::Replace7::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesReplace7WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -515,21 +531,25 @@ bool tl2::cases::Replace7plus::write_json(std::ostream& s)const { bool tl2::cases::Replace7plus::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesReplace7plusRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::Replace7plus::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesReplace7plusWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::Replace7plus::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesReplace7plusReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::Replace7plus::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesReplace7plusWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -604,21 +624,25 @@ bool tl2::cases::Replace7plusplus::write_json(std::ostream& s)const { bool tl2::cases::Replace7plusplus::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesReplace7plusplusRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::Replace7plusplus::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesReplace7plusplusWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::Replace7plusplus::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesReplace7plusplusReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::Replace7plusplus::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesReplace7plusplusWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -693,21 +717,25 @@ bool tl2::cases::TestAllPossibleFieldConfigs::write_json(std::ostream& s, uint32 bool tl2::cases::TestAllPossibleFieldConfigs::read(::basictl::tl_istream & s, uint32_t nat_outer) { if (!::tl2::details::CasesTestAllPossibleFieldConfigsRead(s, *this, nat_outer)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestAllPossibleFieldConfigs::write(::basictl::tl_ostream & s, uint32_t nat_outer)const { if (!::tl2::details::CasesTestAllPossibleFieldConfigsWrite(s, *this, nat_outer)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestAllPossibleFieldConfigs::read_boxed(::basictl::tl_istream & s, uint32_t nat_outer) { if (!::tl2::details::CasesTestAllPossibleFieldConfigsReadBoxed(s, *this, nat_outer)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestAllPossibleFieldConfigs::write_boxed(::basictl::tl_ostream & s, uint32_t nat_outer)const { if (!::tl2::details::CasesTestAllPossibleFieldConfigsWriteBoxed(s, *this, nat_outer)) { return false; } + s.last_release(); return true; } @@ -918,21 +946,25 @@ bool tl2::cases::TestAllPossibleFieldConfigsContainer::write_json(std::ostream& bool tl2::cases::TestAllPossibleFieldConfigsContainer::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestAllPossibleFieldConfigsContainerRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestAllPossibleFieldConfigsContainer::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestAllPossibleFieldConfigsContainerWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestAllPossibleFieldConfigsContainer::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestAllPossibleFieldConfigsContainerReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestAllPossibleFieldConfigsContainer::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestAllPossibleFieldConfigsContainerWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -988,21 +1020,25 @@ bool tl2::cases::TestArray::write_json(std::ostream& s)const { bool tl2::cases::TestArray::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestArrayRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestArray::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestArrayWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestArray::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestArrayReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestArray::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestArrayWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1060,21 +1096,25 @@ bool tl2::cases::TestBeforeReadBitValidation::write_json(std::ostream& s)const { bool tl2::cases::TestBeforeReadBitValidation::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestBeforeReadBitValidationRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestBeforeReadBitValidation::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestBeforeReadBitValidationWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestBeforeReadBitValidation::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestBeforeReadBitValidationReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestBeforeReadBitValidation::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestBeforeReadBitValidationWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1155,21 +1195,25 @@ bool tl2::cases::TestDictAny::write_json(std::ostream& s)const { bool tl2::cases::TestDictAny::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestDictAnyRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestDictAny::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestDictAnyWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestDictAny::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestDictAnyReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestDictAny::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestDictAnyWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1214,21 +1258,25 @@ bool tl2::cases::TestDictInt::write_json(std::ostream& s)const { bool tl2::cases::TestDictInt::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestDictIntRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestDictInt::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestDictIntWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestDictInt::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestDictIntReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestDictInt::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestDictIntWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1273,21 +1321,25 @@ bool tl2::cases::TestDictString::write_json(std::ostream& s)const { bool tl2::cases::TestDictString::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestDictStringRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestDictString::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestDictStringWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestDictString::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestDictStringReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestDictString::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestDictStringWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1389,21 +1441,25 @@ bool tl2::cases::TestEnum1::write_json(std::ostream& s)const { bool tl2::cases::TestEnum1::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestEnum1Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestEnum1::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestEnum1Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestEnum1::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestEnum1ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestEnum1::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestEnum1WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1440,21 +1496,25 @@ bool tl2::cases::TestEnum2::write_json(std::ostream& s)const { bool tl2::cases::TestEnum2::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestEnum2Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestEnum2::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestEnum2Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestEnum2::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestEnum2ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestEnum2::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestEnum2WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1491,21 +1551,25 @@ bool tl2::cases::TestEnum3::write_json(std::ostream& s)const { bool tl2::cases::TestEnum3::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestEnum3Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestEnum3::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestEnum3Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestEnum3::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestEnum3ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestEnum3::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestEnum3WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1542,21 +1606,25 @@ bool tl2::cases::TestEnumContainer::write_json(std::ostream& s)const { bool tl2::cases::TestEnumContainer::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestEnumContainerRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestEnumContainer::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestEnumContainerWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestEnumContainer::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestEnumContainerReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestEnumContainer::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestEnumContainerWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1599,21 +1667,25 @@ bool tl2::cases::TestLocalFieldmask::write_json(std::ostream& s)const { bool tl2::cases::TestLocalFieldmask::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestLocalFieldmaskRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestLocalFieldmask::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestLocalFieldmaskWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestLocalFieldmask::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestLocalFieldmaskReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestLocalFieldmask::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestLocalFieldmaskWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1711,21 +1783,25 @@ bool tl2::cases::TestMaybe::write_json(std::ostream& s)const { bool tl2::cases::TestMaybe::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestMaybeRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestMaybe::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestMaybeWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestMaybe::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestMaybeReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestMaybe::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestMaybeWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1770,21 +1846,25 @@ bool tl2::cases::TestOutFieldMask::write_json(std::ostream& s, uint32_t nat_f)co bool tl2::cases::TestOutFieldMask::read(::basictl::tl_istream & s, uint32_t nat_f) { if (!::tl2::details::CasesTestOutFieldMaskRead(s, *this, nat_f)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestOutFieldMask::write(::basictl::tl_ostream & s, uint32_t nat_f)const { if (!::tl2::details::CasesTestOutFieldMaskWrite(s, *this, nat_f)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestOutFieldMask::read_boxed(::basictl::tl_istream & s, uint32_t nat_f) { if (!::tl2::details::CasesTestOutFieldMaskReadBoxed(s, *this, nat_f)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestOutFieldMask::write_boxed(::basictl::tl_ostream & s, uint32_t nat_f)const { if (!::tl2::details::CasesTestOutFieldMaskWriteBoxed(s, *this, nat_f)) { return false; } + s.last_release(); return true; } @@ -1857,21 +1937,25 @@ bool tl2::cases::TestOutFieldMaskContainer::write_json(std::ostream& s)const { bool tl2::cases::TestOutFieldMaskContainer::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestOutFieldMaskContainerRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestOutFieldMaskContainer::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestOutFieldMaskContainerWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestOutFieldMaskContainer::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestOutFieldMaskContainerReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestOutFieldMaskContainer::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestOutFieldMaskContainerWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1927,21 +2011,25 @@ bool tl2::cases::TestRecursiveFieldMask::write_json(std::ostream& s)const { bool tl2::cases::TestRecursiveFieldMask::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestRecursiveFieldmaskRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestRecursiveFieldMask::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestRecursiveFieldmaskWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestRecursiveFieldMask::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestRecursiveFieldmaskReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestRecursiveFieldMask::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestRecursiveFieldmaskWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2073,21 +2161,25 @@ bool tl2::cases::TestTuple::write_json(std::ostream& s)const { bool tl2::cases::TestTuple::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestTupleRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestTuple::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestTupleWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestTuple::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestTupleReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestTuple::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestTupleWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2205,21 +2297,25 @@ bool tl2::cases::TestUnion1::write_json(std::ostream& s)const { bool tl2::cases::TestUnion1::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestUnion1Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestUnion1::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestUnion1Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestUnion1::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestUnion1ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestUnion1::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestUnion1WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2264,21 +2360,25 @@ bool tl2::cases::TestUnion2::write_json(std::ostream& s)const { bool tl2::cases::TestUnion2::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestUnion2Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestUnion2::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestUnion2Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestUnion2::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestUnion2ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestUnion2::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestUnion2WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2323,21 +2423,25 @@ bool tl2::cases::TestUnionContainer::write_json(std::ostream& s)const { bool tl2::cases::TestUnionContainer::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestUnionContainerRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestUnionContainer::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestUnionContainerWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestUnionContainer::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestUnionContainerReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestUnionContainer::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestUnionContainerWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2380,21 +2484,25 @@ bool tl2::cases::TestVector::write_json(std::ostream& s)const { bool tl2::cases::TestVector::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestVectorRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestVector::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestVectorWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestVector::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesTestVectorReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases::TestVector::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesTestVectorWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } diff --git a/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/details.cpp b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/details.cpp index dbc89bc5..1e713db4 100644 --- a/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/details.cpp +++ b/internal/tlcodegen/test/gen/cases_cpp/tl/cases_bytes/details.cpp @@ -174,21 +174,25 @@ bool tl2::cases_bytes::TestArray::write_json(std::ostream& s)const { bool tl2::cases_bytes::TestArray::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestArrayRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestArray::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestArrayWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestArray::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestArrayReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestArray::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestArrayWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -246,21 +250,25 @@ bool tl2::cases_bytes::TestDictAny::write_json(std::ostream& s)const { bool tl2::cases_bytes::TestDictAny::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestDictAnyRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestDictAny::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestDictAnyWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestDictAny::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestDictAnyReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestDictAny::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestDictAnyWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -305,21 +313,25 @@ bool tl2::cases_bytes::TestDictInt::write_json(std::ostream& s)const { bool tl2::cases_bytes::TestDictInt::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestDictIntRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestDictInt::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestDictIntWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestDictInt::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestDictIntReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestDictInt::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestDictIntWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -364,21 +376,25 @@ bool tl2::cases_bytes::TestDictString::write_json(std::ostream& s)const { bool tl2::cases_bytes::TestDictString::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestDictStringRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestDictString::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestDictStringWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestDictString::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestDictStringReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestDictString::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestDictStringWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -423,21 +439,25 @@ bool tl2::cases_bytes::TestDictStringString::write_json(std::ostream& s)const { bool tl2::cases_bytes::TestDictStringString::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestDictStringStringRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestDictStringString::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestDictStringStringWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestDictStringString::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestDictStringStringReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestDictStringString::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestDictStringStringWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -539,21 +559,25 @@ bool tl2::cases_bytes::TestEnum1::write_json(std::ostream& s)const { bool tl2::cases_bytes::TestEnum1::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestEnum1Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestEnum1::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestEnum1Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestEnum1::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestEnum1ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestEnum1::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestEnum1WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -590,21 +614,25 @@ bool tl2::cases_bytes::TestEnum2::write_json(std::ostream& s)const { bool tl2::cases_bytes::TestEnum2::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestEnum2Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestEnum2::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestEnum2Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestEnum2::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestEnum2ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestEnum2::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestEnum2WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -641,21 +669,25 @@ bool tl2::cases_bytes::TestEnum3::write_json(std::ostream& s)const { bool tl2::cases_bytes::TestEnum3::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestEnum3Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestEnum3::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestEnum3Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestEnum3::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestEnum3ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestEnum3::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestEnum3WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -692,21 +724,25 @@ bool tl2::cases_bytes::TestEnumContainer::write_json(std::ostream& s)const { bool tl2::cases_bytes::TestEnumContainer::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestEnumContainerRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestEnumContainer::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestEnumContainerWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestEnumContainer::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestEnumContainerReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestEnumContainer::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestEnumContainerWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -749,21 +785,25 @@ bool tl2::cases_bytes::TestTuple::write_json(std::ostream& s)const { bool tl2::cases_bytes::TestTuple::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestTupleRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestTuple::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestTupleWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestTuple::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestTupleReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestTuple::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestTupleWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -806,21 +846,25 @@ bool tl2::cases_bytes::TestVector::write_json(std::ostream& s)const { bool tl2::cases_bytes::TestVector::read(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestVectorRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestVector::write(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestVectorWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestVector::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::CasesBytesTestVectorReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::cases_bytes::TestVector::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::CasesBytesTestVectorWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.cpp b/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.cpp index d36c6165..cf932564 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.cpp @@ -1,4 +1,3 @@ - // Code generated by vktl/cmd/tlgen2; DO NOT EDIT. #include "basictl.h" #include "string_io.h" diff --git a/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.h b/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.h index 09b525ba..7632efc0 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.h +++ b/internal/tlcodegen/test/gen/schema_cpp/basics/string_io.h @@ -1,4 +1,3 @@ - // Code generated by vktl/cmd/tlgen2; DO NOT EDIT. #pragma once #include "basictl.h" diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/details.cpp index 6f8c6cec..2c21144b 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/details.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/__common_namespace/details.cpp @@ -75,21 +75,25 @@ bool tl2::BenchObject::write_json(std::ostream& s)const { bool tl2::BenchObject::read(::basictl::tl_istream & s) { if (!::tl2::details::BenchObjectRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BenchObject::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchObjectWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BenchObject::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BenchObjectReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BenchObject::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BenchObjectWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -164,21 +168,25 @@ bool tl2::BoxedArray::write_json(std::ostream& s)const { bool tl2::BoxedArray::read(::basictl::tl_istream & s) { if (!::tl2::details::BoxedArrayRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedArray::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedArrayWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedArray::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BoxedArrayReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedArray::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedArrayWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -224,10 +232,18 @@ bool tl2::details::BoxedArrayWriteResult(::basictl::tl_ostream & s, tl2::BoxedAr } bool tl2::BoxedArray::read_result(::basictl::tl_istream & s, ::tl2::MyBoxedArray & result) { - return tl2::details::BoxedArrayReadResult(s, *this, result); + auto read_result = tl2::details::BoxedArrayReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::BoxedArray::write_result(::basictl::tl_ostream & s, ::tl2::MyBoxedArray & result) { - return tl2::details::BoxedArrayWriteResult(s, *this, result); + auto write_result = tl2::details::BoxedArrayWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::BoxedInt::write_json(std::ostream& s)const { @@ -237,21 +253,25 @@ bool tl2::BoxedInt::write_json(std::ostream& s)const { bool tl2::BoxedInt::read(::basictl::tl_istream & s) { if (!::tl2::details::BoxedIntRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedInt::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedIntWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedInt::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BoxedIntReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedInt::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedIntWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -303,10 +323,18 @@ bool tl2::details::BoxedIntWriteResult(::basictl::tl_ostream & s, tl2::BoxedInt& } bool tl2::BoxedInt::read_result(::basictl::tl_istream & s, int32_t & result) { - return tl2::details::BoxedIntReadResult(s, *this, result); + auto read_result = tl2::details::BoxedIntReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::BoxedInt::write_result(::basictl::tl_ostream & s, int32_t & result) { - return tl2::details::BoxedIntWriteResult(s, *this, result); + auto write_result = tl2::details::BoxedIntWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::BoxedString::write_json(std::ostream& s)const { @@ -316,21 +344,25 @@ bool tl2::BoxedString::write_json(std::ostream& s)const { bool tl2::BoxedString::read(::basictl::tl_istream & s) { if (!::tl2::details::BoxedStringRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedString::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedStringWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedString::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BoxedStringReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedString::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedStringWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -382,10 +414,18 @@ bool tl2::details::BoxedStringWriteResult(::basictl::tl_ostream & s, tl2::BoxedS } bool tl2::BoxedString::read_result(::basictl::tl_istream & s, std::string & result) { - return tl2::details::BoxedStringReadResult(s, *this, result); + auto read_result = tl2::details::BoxedStringReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::BoxedString::write_result(::basictl::tl_ostream & s, std::string & result) { - return tl2::details::BoxedStringWriteResult(s, *this, result); + auto write_result = tl2::details::BoxedStringWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::BoxedTuple::write_json(std::ostream& s)const { @@ -395,21 +435,25 @@ bool tl2::BoxedTuple::write_json(std::ostream& s)const { bool tl2::BoxedTuple::read(::basictl::tl_istream & s) { if (!::tl2::details::BoxedTupleRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedTuple::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedTupleWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedTuple::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BoxedTupleReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedTuple::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedTupleWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -459,10 +503,18 @@ bool tl2::details::BoxedTupleWriteResult(::basictl::tl_ostream & s, tl2::BoxedTu } bool tl2::BoxedTuple::read_result(::basictl::tl_istream & s, std::array & result) { - return tl2::details::BoxedTupleReadResult(s, *this, result); + auto read_result = tl2::details::BoxedTupleReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::BoxedTuple::write_result(::basictl::tl_ostream & s, std::array & result) { - return tl2::details::BoxedTupleWriteResult(s, *this, result); + auto write_result = tl2::details::BoxedTupleWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::BoxedTupleSlice1::write_json(std::ostream& s)const { @@ -472,21 +524,25 @@ bool tl2::BoxedTupleSlice1::write_json(std::ostream& s)const { bool tl2::BoxedTupleSlice1::read(::basictl::tl_istream & s) { if (!::tl2::details::BoxedTupleSlice1Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedTupleSlice1::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedTupleSlice1Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedTupleSlice1::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BoxedTupleSlice1ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedTupleSlice1::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedTupleSlice1WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -551,10 +607,18 @@ bool tl2::details::BoxedTupleSlice1WriteResult(::basictl::tl_ostream & s, tl2::B } bool tl2::BoxedTupleSlice1::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::BoxedTupleSlice1ReadResult(s, *this, result); + auto read_result = tl2::details::BoxedTupleSlice1ReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::BoxedTupleSlice1::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::BoxedTupleSlice1WriteResult(s, *this, result); + auto write_result = tl2::details::BoxedTupleSlice1WriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::BoxedTupleSlice2::write_json(std::ostream& s)const { @@ -564,21 +628,25 @@ bool tl2::BoxedTupleSlice2::write_json(std::ostream& s)const { bool tl2::BoxedTupleSlice2::read(::basictl::tl_istream & s) { if (!::tl2::details::BoxedTupleSlice2Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedTupleSlice2::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedTupleSlice2Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedTupleSlice2::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BoxedTupleSlice2ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedTupleSlice2::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedTupleSlice2WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -624,10 +692,18 @@ bool tl2::details::BoxedTupleSlice2WriteResult(::basictl::tl_ostream & s, tl2::B } bool tl2::BoxedTupleSlice2::read_result(::basictl::tl_istream & s, ::tl2::MyBoxedTupleSlice & result) { - return tl2::details::BoxedTupleSlice2ReadResult(s, *this, result); + auto read_result = tl2::details::BoxedTupleSlice2ReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::BoxedTupleSlice2::write_result(::basictl::tl_ostream & s, ::tl2::MyBoxedTupleSlice & result) { - return tl2::details::BoxedTupleSlice2WriteResult(s, *this, result); + auto write_result = tl2::details::BoxedTupleSlice2WriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::BoxedTupleSlice3::write_json(std::ostream& s)const { @@ -637,21 +713,25 @@ bool tl2::BoxedTupleSlice3::write_json(std::ostream& s)const { bool tl2::BoxedTupleSlice3::read(::basictl::tl_istream & s) { if (!::tl2::details::BoxedTupleSlice3Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedTupleSlice3::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedTupleSlice3Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedTupleSlice3::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BoxedTupleSlice3ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedTupleSlice3::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedTupleSlice3WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -716,10 +796,18 @@ bool tl2::details::BoxedTupleSlice3WriteResult(::basictl::tl_ostream & s, tl2::B } bool tl2::BoxedTupleSlice3::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::BoxedTupleSlice3ReadResult(s, *this, result); + auto read_result = tl2::details::BoxedTupleSlice3ReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::BoxedTupleSlice3::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::BoxedTupleSlice3WriteResult(s, *this, result); + auto write_result = tl2::details::BoxedTupleSlice3WriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::BoxedVector32::write_json(std::ostream& s)const { @@ -729,21 +817,25 @@ bool tl2::BoxedVector32::write_json(std::ostream& s)const { bool tl2::BoxedVector32::read(::basictl::tl_istream & s) { if (!::tl2::details::BoxedVector32Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedVector32::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedVector32Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedVector32::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BoxedVector32ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedVector32::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedVector32WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -795,10 +887,18 @@ bool tl2::details::BoxedVector32WriteResult(::basictl::tl_ostream & s, tl2::Boxe } bool tl2::BoxedVector32::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::BoxedVector32ReadResult(s, *this, result); + auto read_result = tl2::details::BoxedVector32ReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::BoxedVector32::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::BoxedVector32WriteResult(s, *this, result); + auto write_result = tl2::details::BoxedVector32WriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::BoxedVector32BoxedElem::write_json(std::ostream& s)const { @@ -808,21 +908,25 @@ bool tl2::BoxedVector32BoxedElem::write_json(std::ostream& s)const { bool tl2::BoxedVector32BoxedElem::read(::basictl::tl_istream & s) { if (!::tl2::details::BoxedVector32BoxedElemRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedVector32BoxedElem::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedVector32BoxedElemWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedVector32BoxedElem::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BoxedVector32BoxedElemReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedVector32BoxedElem::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedVector32BoxedElemWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -874,10 +978,18 @@ bool tl2::details::BoxedVector32BoxedElemWriteResult(::basictl::tl_ostream & s, } bool tl2::BoxedVector32BoxedElem::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::BoxedVector32BoxedElemReadResult(s, *this, result); + auto read_result = tl2::details::BoxedVector32BoxedElemReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::BoxedVector32BoxedElem::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::BoxedVector32BoxedElemWriteResult(s, *this, result); + auto write_result = tl2::details::BoxedVector32BoxedElemWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::BoxedVector64::write_json(std::ostream& s)const { @@ -887,21 +999,25 @@ bool tl2::BoxedVector64::write_json(std::ostream& s)const { bool tl2::BoxedVector64::read(::basictl::tl_istream & s) { if (!::tl2::details::BoxedVector64Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedVector64::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedVector64Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedVector64::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BoxedVector64ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoxedVector64::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BoxedVector64WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -953,10 +1069,18 @@ bool tl2::details::BoxedVector64WriteResult(::basictl::tl_ostream & s, tl2::Boxe } bool tl2::BoxedVector64::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::BoxedVector64ReadResult(s, *this, result); + auto read_result = tl2::details::BoxedVector64ReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::BoxedVector64::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::BoxedVector64WriteResult(s, *this, result); + auto write_result = tl2::details::BoxedVector64WriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } void tl2::details::BuiltinTuple10IntBoxedReset(std::array& item) { @@ -1740,21 +1864,25 @@ bool tl2::FieldConflict1::write_json(std::ostream& s)const { bool tl2::FieldConflict1::read(::basictl::tl_istream & s) { if (!::tl2::details::FieldConflict1Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::FieldConflict1::write(::basictl::tl_ostream & s)const { if (!::tl2::details::FieldConflict1Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::FieldConflict1::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::FieldConflict1ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::FieldConflict1::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::FieldConflict1WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1812,21 +1940,25 @@ bool tl2::FieldConflict2::write_json(std::ostream& s)const { bool tl2::FieldConflict2::read(::basictl::tl_istream & s) { if (!::tl2::details::FieldConflict2Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::FieldConflict2::write(::basictl::tl_ostream & s)const { if (!::tl2::details::FieldConflict2Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::FieldConflict2::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::FieldConflict2ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::FieldConflict2::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::FieldConflict2WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1884,21 +2016,25 @@ bool tl2::FieldConflict3::write_json(std::ostream& s)const { bool tl2::FieldConflict3::read(::basictl::tl_istream & s) { if (!::tl2::details::FieldConflict3Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::FieldConflict3::write(::basictl::tl_ostream & s)const { if (!::tl2::details::FieldConflict3Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::FieldConflict3::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::FieldConflict3ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::FieldConflict3::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::FieldConflict3WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1956,21 +2092,25 @@ bool tl2::FieldConflict4::write_json(std::ostream& s)const { bool tl2::FieldConflict4::read(::basictl::tl_istream & s) { if (!::tl2::details::FieldConflict4Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::FieldConflict4::write(::basictl::tl_ostream & s)const { if (!::tl2::details::FieldConflict4Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::FieldConflict4::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::FieldConflict4ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::FieldConflict4::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::FieldConflict4WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2057,21 +2197,25 @@ bool tl2::Get_arrays::write_json(std::ostream& s)const { bool tl2::Get_arrays::read(::basictl::tl_istream & s) { if (!::tl2::details::GetArraysRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::Get_arrays::write(::basictl::tl_ostream & s)const { if (!::tl2::details::GetArraysWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::Get_arrays::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::GetArraysReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::Get_arrays::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::GetArraysWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2143,10 +2287,18 @@ bool tl2::details::GetArraysWriteResult(::basictl::tl_ostream & s, tl2::Get_arra } bool tl2::Get_arrays::read_result(::basictl::tl_istream & s, std::array & result) { - return tl2::details::GetArraysReadResult(s, *this, result); + auto read_result = tl2::details::GetArraysReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::Get_arrays::write_result(::basictl::tl_ostream & s, std::array & result) { - return tl2::details::GetArraysWriteResult(s, *this, result); + auto write_result = tl2::details::GetArraysWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::GetDouble::write_json(std::ostream& s)const { @@ -2156,21 +2308,25 @@ bool tl2::GetDouble::write_json(std::ostream& s)const { bool tl2::GetDouble::read(::basictl::tl_istream & s) { if (!::tl2::details::GetDoubleRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetDouble::write(::basictl::tl_ostream & s)const { if (!::tl2::details::GetDoubleWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetDouble::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::GetDoubleReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetDouble::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::GetDoubleWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2222,10 +2378,18 @@ bool tl2::details::GetDoubleWriteResult(::basictl::tl_ostream & s, tl2::GetDoubl } bool tl2::GetDouble::read_result(::basictl::tl_istream & s, double & result) { - return tl2::details::GetDoubleReadResult(s, *this, result); + auto read_result = tl2::details::GetDoubleReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::GetDouble::write_result(::basictl::tl_ostream & s, double & result) { - return tl2::details::GetDoubleWriteResult(s, *this, result); + auto write_result = tl2::details::GetDoubleWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::GetFloat::write_json(std::ostream& s)const { @@ -2235,21 +2399,25 @@ bool tl2::GetFloat::write_json(std::ostream& s)const { bool tl2::GetFloat::read(::basictl::tl_istream & s) { if (!::tl2::details::GetFloatRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetFloat::write(::basictl::tl_ostream & s)const { if (!::tl2::details::GetFloatWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetFloat::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::GetFloatReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetFloat::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::GetFloatWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2299,10 +2467,18 @@ bool tl2::details::GetFloatWriteResult(::basictl::tl_ostream & s, tl2::GetFloat& } bool tl2::GetFloat::read_result(::basictl::tl_istream & s, float & result) { - return tl2::details::GetFloatReadResult(s, *this, result); + auto read_result = tl2::details::GetFloatReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::GetFloat::write_result(::basictl::tl_ostream & s, float & result) { - return tl2::details::GetFloatWriteResult(s, *this, result); + auto write_result = tl2::details::GetFloatWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::GetMaybeIface::write_json(std::ostream& s)const { @@ -2312,21 +2488,25 @@ bool tl2::GetMaybeIface::write_json(std::ostream& s)const { bool tl2::GetMaybeIface::read(::basictl::tl_istream & s) { if (!::tl2::details::GetMaybeIfaceRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetMaybeIface::write(::basictl::tl_ostream & s)const { if (!::tl2::details::GetMaybeIfaceWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetMaybeIface::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::GetMaybeIfaceReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetMaybeIface::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::GetMaybeIfaceWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2372,10 +2552,18 @@ bool tl2::details::GetMaybeIfaceWriteResult(::basictl::tl_ostream & s, tl2::GetM } bool tl2::GetMaybeIface::read_result(::basictl::tl_istream & s, std::optional<::tl2::service1::Value> & result) { - return tl2::details::GetMaybeIfaceReadResult(s, *this, result); + auto read_result = tl2::details::GetMaybeIfaceReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::GetMaybeIface::write_result(::basictl::tl_ostream & s, std::optional<::tl2::service1::Value> & result) { - return tl2::details::GetMaybeIfaceWriteResult(s, *this, result); + auto write_result = tl2::details::GetMaybeIfaceWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::GetMyDictOfInt::write_json(std::ostream& s)const { @@ -2385,21 +2573,25 @@ bool tl2::GetMyDictOfInt::write_json(std::ostream& s)const { bool tl2::GetMyDictOfInt::read(::basictl::tl_istream & s) { if (!::tl2::details::GetMyDictOfIntRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetMyDictOfInt::write(::basictl::tl_ostream & s)const { if (!::tl2::details::GetMyDictOfIntWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetMyDictOfInt::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::GetMyDictOfIntReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetMyDictOfInt::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::GetMyDictOfIntWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2447,10 +2639,18 @@ bool tl2::details::GetMyDictOfIntWriteResult(::basictl::tl_ostream & s, tl2::Get } bool tl2::GetMyDictOfInt::read_result(::basictl::tl_istream & s, ::tl2::MyDictOfInt & result) { - return tl2::details::GetMyDictOfIntReadResult(s, *this, result); + auto read_result = tl2::details::GetMyDictOfIntReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::GetMyDictOfInt::write_result(::basictl::tl_ostream & s, ::tl2::MyDictOfInt & result) { - return tl2::details::GetMyDictOfIntWriteResult(s, *this, result); + auto write_result = tl2::details::GetMyDictOfIntWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::GetMyDouble::write_json(std::ostream& s)const { @@ -2460,21 +2660,25 @@ bool tl2::GetMyDouble::write_json(std::ostream& s)const { bool tl2::GetMyDouble::read(::basictl::tl_istream & s) { if (!::tl2::details::GetMyDoubleRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetMyDouble::write(::basictl::tl_ostream & s)const { if (!::tl2::details::GetMyDoubleWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetMyDouble::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::GetMyDoubleReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetMyDouble::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::GetMyDoubleWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2522,10 +2726,18 @@ bool tl2::details::GetMyDoubleWriteResult(::basictl::tl_ostream & s, tl2::GetMyD } bool tl2::GetMyDouble::read_result(::basictl::tl_istream & s, ::tl2::MyDouble & result) { - return tl2::details::GetMyDoubleReadResult(s, *this, result); + auto read_result = tl2::details::GetMyDoubleReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::GetMyDouble::write_result(::basictl::tl_ostream & s, ::tl2::MyDouble & result) { - return tl2::details::GetMyDoubleWriteResult(s, *this, result); + auto write_result = tl2::details::GetMyDoubleWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::GetMyValue::write_json(std::ostream& s)const { @@ -2535,21 +2747,25 @@ bool tl2::GetMyValue::write_json(std::ostream& s)const { bool tl2::GetMyValue::read(::basictl::tl_istream & s) { if (!::tl2::details::GetMyValueRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetMyValue::write(::basictl::tl_ostream & s)const { if (!::tl2::details::GetMyValueWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetMyValue::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::GetMyValueReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetMyValue::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::GetMyValueWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2595,10 +2811,18 @@ bool tl2::details::GetMyValueWriteResult(::basictl::tl_ostream & s, tl2::GetMyVa } bool tl2::GetMyValue::read_result(::basictl::tl_istream & s, ::tl2::MyValue & result) { - return tl2::details::GetMyValueReadResult(s, *this, result); + auto read_result = tl2::details::GetMyValueReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::GetMyValue::write_result(::basictl::tl_ostream & s, ::tl2::MyValue & result) { - return tl2::details::GetMyValueWriteResult(s, *this, result); + auto write_result = tl2::details::GetMyValueWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::GetNonOptNat::write_json(std::ostream& s)const { @@ -2608,21 +2832,25 @@ bool tl2::GetNonOptNat::write_json(std::ostream& s)const { bool tl2::GetNonOptNat::read(::basictl::tl_istream & s) { if (!::tl2::details::GetNonOptNatRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetNonOptNat::write(::basictl::tl_ostream & s)const { if (!::tl2::details::GetNonOptNatWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetNonOptNat::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::GetNonOptNatReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetNonOptNat::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::GetNonOptNatWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2687,10 +2915,18 @@ bool tl2::details::GetNonOptNatWriteResult(::basictl::tl_ostream & s, tl2::GetNo } bool tl2::GetNonOptNat::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::GetNonOptNatReadResult(s, *this, result); + auto read_result = tl2::details::GetNonOptNatReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::GetNonOptNat::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::GetNonOptNatWriteResult(s, *this, result); + auto write_result = tl2::details::GetNonOptNatWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::GetStats::write_json(std::ostream& s)const { @@ -2700,21 +2936,25 @@ bool tl2::GetStats::write_json(std::ostream& s)const { bool tl2::GetStats::read(::basictl::tl_istream & s) { if (!::tl2::details::GetStatsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetStats::write(::basictl::tl_ostream & s)const { if (!::tl2::details::GetStatsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetStats::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::GetStatsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::GetStats::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::GetStatsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2760,10 +3000,18 @@ bool tl2::details::GetStatsWriteResult(::basictl::tl_ostream & s, tl2::GetStats& } bool tl2::GetStats::read_result(::basictl::tl_istream & s, ::tl2::tasks::QueueTypeStats & result) { - return tl2::details::GetStatsReadResult(s, *this, result); + auto read_result = tl2::details::GetStatsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::GetStats::write_result(::basictl::tl_ostream & s, ::tl2::tasks::QueueTypeStats & result) { - return tl2::details::GetStatsWriteResult(s, *this, result); + auto write_result = tl2::details::GetStatsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } void tl2::details::IntReset(int32_t& item) { @@ -2836,21 +3084,25 @@ bool tl2::Integer::write_json(std::ostream& s)const { bool tl2::Integer::read(::basictl::tl_istream & s) { if (!::tl2::details::IntegerRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::Integer::write(::basictl::tl_ostream & s)const { if (!::tl2::details::IntegerWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::Integer::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::IntegerReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::Integer::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::IntegerWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2895,21 +3147,25 @@ bool tl2::Issue3498::write_json(std::ostream& s)const { bool tl2::Issue3498::read(::basictl::tl_istream & s) { if (!::tl2::details::Issue3498Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::Issue3498::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Issue3498Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::Issue3498::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Issue3498ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::Issue3498::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Issue3498WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3127,21 +3383,25 @@ bool tl2::MyBoxedArray::write_json(std::ostream& s)const { bool tl2::MyBoxedArray::read(::basictl::tl_istream & s) { if (!::tl2::details::MyBoxedArrayRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyBoxedArray::write(::basictl::tl_ostream & s)const { if (!::tl2::details::MyBoxedArrayWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyBoxedArray::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::MyBoxedArrayReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyBoxedArray::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::MyBoxedArrayWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3186,21 +3446,25 @@ bool tl2::MyBoxedTupleSlice::write_json(std::ostream& s)const { bool tl2::MyBoxedTupleSlice::read(::basictl::tl_istream & s) { if (!::tl2::details::MyBoxedTupleSliceRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyBoxedTupleSlice::write(::basictl::tl_ostream & s)const { if (!::tl2::details::MyBoxedTupleSliceWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyBoxedTupleSlice::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::MyBoxedTupleSliceReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyBoxedTupleSlice::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::MyBoxedTupleSliceWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3260,21 +3524,25 @@ bool tl2::MyBoxedVectorSlice::write_json(std::ostream& s)const { bool tl2::MyBoxedVectorSlice::read(::basictl::tl_istream & s) { if (!::tl2::details::MyBoxedVectorSliceRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyBoxedVectorSlice::write(::basictl::tl_ostream & s)const { if (!::tl2::details::MyBoxedVectorSliceWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyBoxedVectorSlice::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::MyBoxedVectorSliceReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyBoxedVectorSlice::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::MyBoxedVectorSliceWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3381,21 +3649,25 @@ bool tl2::MyInt::write_json(std::ostream& s)const { bool tl2::MyInt::read(::basictl::tl_istream & s) { if (!::tl2::details::MyIntRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyInt::write(::basictl::tl_ostream & s)const { if (!::tl2::details::MyIntWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyInt::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::MyIntReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyInt::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::MyIntWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3500,21 +3772,25 @@ bool tl2::MyMcValue::write_json(std::ostream& s)const { bool tl2::MyMcValue::read(::basictl::tl_istream & s) { if (!::tl2::details::MyMcValueRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyMcValue::write(::basictl::tl_ostream & s)const { if (!::tl2::details::MyMcValueWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyMcValue::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::MyMcValueReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyMcValue::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::MyMcValueWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3557,21 +3833,25 @@ bool tl2::MyMcValueTuple::write_json(std::ostream& s)const { bool tl2::MyMcValueTuple::read(::basictl::tl_istream & s) { if (!::tl2::details::MyMcValueTupleRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyMcValueTuple::write(::basictl::tl_ostream & s)const { if (!::tl2::details::MyMcValueTupleWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyMcValueTuple::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::MyMcValueTupleReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyMcValueTuple::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::MyMcValueTupleWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3614,21 +3894,25 @@ bool tl2::MyMcValueVector::write_json(std::ostream& s)const { bool tl2::MyMcValueVector::read(::basictl::tl_istream & s) { if (!::tl2::details::MyMcValueVectorRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyMcValueVector::write(::basictl::tl_ostream & s)const { if (!::tl2::details::MyMcValueVectorWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyMcValueVector::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::MyMcValueVectorReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyMcValueVector::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::MyMcValueVectorWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3673,21 +3957,25 @@ bool tl2::MyString::write_json(std::ostream& s)const { bool tl2::MyString::read(::basictl::tl_istream & s) { if (!::tl2::details::MyStringRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyString::write(::basictl::tl_ostream & s)const { if (!::tl2::details::MyStringWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyString::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::MyStringReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyString::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::MyStringWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3797,21 +4085,25 @@ bool tl2::MyTwoDicts::write_json(std::ostream& s)const { bool tl2::MyTwoDicts::read(::basictl::tl_istream & s) { if (!::tl2::details::MyTwoDictsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyTwoDicts::write(::basictl::tl_ostream & s)const { if (!::tl2::details::MyTwoDictsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyTwoDicts::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::MyTwoDictsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::MyTwoDicts::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::MyTwoDictsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3944,21 +4236,25 @@ bool tl2::NonOptNat::write_json(std::ostream& s)const { bool tl2::NonOptNat::read(::basictl::tl_istream & s) { if (!::tl2::details::NonOptNatRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::NonOptNat::write(::basictl::tl_ostream & s)const { if (!::tl2::details::NonOptNatWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::NonOptNat::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::NonOptNatReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::NonOptNat::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::NonOptNatWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -4086,21 +4382,25 @@ bool tl2::RpcInvokeReqExtra::write_json(std::ostream& s)const { bool tl2::RpcInvokeReqExtra::read(::basictl::tl_istream & s) { if (!::tl2::details::RpcInvokeReqExtraRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::RpcInvokeReqExtra::write(::basictl::tl_ostream & s)const { if (!::tl2::details::RpcInvokeReqExtraWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::RpcInvokeReqExtra::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::RpcInvokeReqExtraReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::RpcInvokeReqExtra::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::RpcInvokeReqExtraWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -4232,21 +4532,25 @@ bool tl2::StatOne::write_json(std::ostream& s)const { bool tl2::StatOne::read(::basictl::tl_istream & s) { if (!::tl2::details::StatOneRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::StatOne::write(::basictl::tl_ostream & s)const { if (!::tl2::details::StatOneWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::StatOne::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::StatOneReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::StatOne::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::StatOneWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -4333,21 +4637,25 @@ bool tl2::True::write_json(std::ostream& s)const { bool tl2::True::read(::basictl::tl_istream & s) { if (!::tl2::details::TrueRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::True::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TrueWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::True::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TrueReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::True::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TrueWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -4993,21 +5301,25 @@ bool tl2::WithFloat::write_json(std::ostream& s)const { bool tl2::WithFloat::read(::basictl::tl_istream & s) { if (!::tl2::details::WithFloatRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::WithFloat::write(::basictl::tl_ostream & s)const { if (!::tl2::details::WithFloatWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::WithFloat::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::WithFloatReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::WithFloat::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::WithFloatWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/details.cpp index 46d42886..bc4fc239 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/details.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/antispam/details.cpp @@ -11,21 +11,25 @@ bool tl2::antispam::GetPattern::write_json(std::ostream& s)const { bool tl2::antispam::GetPattern::read(::basictl::tl_istream & s) { if (!::tl2::details::AntispamGetPatternRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::antispam::GetPattern::write(::basictl::tl_ostream & s)const { if (!::tl2::details::AntispamGetPatternWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::antispam::GetPattern::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::AntispamGetPatternReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::antispam::GetPattern::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::AntispamGetPatternWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -73,10 +77,18 @@ bool tl2::details::AntispamGetPatternWriteResult(::basictl::tl_ostream & s, tl2: } bool tl2::antispam::GetPattern::read_result(::basictl::tl_istream & s, ::tl2::antispam::PatternFull & result) { - return tl2::details::AntispamGetPatternReadResult(s, *this, result); + auto read_result = tl2::details::AntispamGetPatternReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::antispam::GetPattern::write_result(::basictl::tl_ostream & s, ::tl2::antispam::PatternFull & result) { - return tl2::details::AntispamGetPatternWriteResult(s, *this, result); + auto write_result = tl2::details::AntispamGetPatternWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::antispam::PatternFound::write_json(std::ostream& s)const { @@ -86,21 +98,25 @@ bool tl2::antispam::PatternFound::write_json(std::ostream& s)const { bool tl2::antispam::PatternFound::read(::basictl::tl_istream & s) { if (!::tl2::details::AntispamPatternFoundRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::antispam::PatternFound::write(::basictl::tl_ostream & s)const { if (!::tl2::details::AntispamPatternFoundWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::antispam::PatternFound::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::AntispamPatternFoundReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::antispam::PatternFound::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::AntispamPatternFoundWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -258,21 +274,25 @@ bool tl2::antispam::PatternNotFound::write_json(std::ostream& s)const { bool tl2::antispam::PatternNotFound::read(::basictl::tl_istream & s) { if (!::tl2::details::AntispamPatternNotFoundRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::antispam::PatternNotFound::write(::basictl::tl_ostream & s)const { if (!::tl2::details::AntispamPatternNotFoundWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::antispam::PatternNotFound::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::AntispamPatternNotFoundReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::antispam::PatternNotFound::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::AntispamPatternNotFoundWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/details.cpp index 3422796f..746ec3cd 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/details.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/pkg2/details.cpp @@ -10,21 +10,25 @@ bool tl2::pkg2::Foo::write_json(std::ostream& s)const { bool tl2::pkg2::Foo::read(::basictl::tl_istream & s) { if (!::tl2::details::Pkg2FooRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::pkg2::Foo::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Pkg2FooWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::pkg2::Foo::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Pkg2FooReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::pkg2::Foo::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Pkg2FooWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -69,21 +73,25 @@ bool tl2::pkg2::T1::write_json(std::ostream& s)const { bool tl2::pkg2::T1::read(::basictl::tl_istream & s) { if (!::tl2::details::Pkg2T1Read(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::pkg2::T1::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Pkg2T1Write(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::pkg2::T1::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Pkg2T1ReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::pkg2::T1::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Pkg2T1WriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/details.cpp index 533f8c29..ef2ba6b5 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tl/service1/details.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service1/details.cpp @@ -456,21 +456,25 @@ bool tl2::service1::Add::write_json(std::ostream& s)const { bool tl2::service1::Add::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1AddRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Add::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1AddWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Add::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1AddReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Add::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1AddWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -553,10 +557,18 @@ bool tl2::details::Service1AddWriteResult(::basictl::tl_ostream & s, tl2::servic } bool tl2::service1::Add::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1AddReadResult(s, *this, result); + auto read_result = tl2::details::Service1AddReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::Add::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1AddWriteResult(s, *this, result); + auto write_result = tl2::details::Service1AddWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::AddOrGet::write_json(std::ostream& s)const { @@ -566,21 +578,25 @@ bool tl2::service1::AddOrGet::write_json(std::ostream& s)const { bool tl2::service1::AddOrGet::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1AddOrGetRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::AddOrGet::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1AddOrGetWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::AddOrGet::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1AddOrGetReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::AddOrGet::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1AddOrGetWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -663,10 +679,18 @@ bool tl2::details::Service1AddOrGetWriteResult(::basictl::tl_ostream & s, tl2::s } bool tl2::service1::AddOrGet::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1AddOrGetReadResult(s, *this, result); + auto read_result = tl2::details::Service1AddOrGetReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::AddOrGet::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1AddOrGetWriteResult(s, *this, result); + auto write_result = tl2::details::Service1AddOrGetWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::AddOrIncr::write_json(std::ostream& s)const { @@ -676,21 +700,25 @@ bool tl2::service1::AddOrIncr::write_json(std::ostream& s)const { bool tl2::service1::AddOrIncr::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1AddOrIncrRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::AddOrIncr::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1AddOrIncrWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::AddOrIncr::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1AddOrIncrReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::AddOrIncr::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1AddOrIncrWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -773,10 +801,18 @@ bool tl2::details::Service1AddOrIncrWriteResult(::basictl::tl_ostream & s, tl2:: } bool tl2::service1::AddOrIncr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1AddOrIncrReadResult(s, *this, result); + auto read_result = tl2::details::Service1AddOrIncrReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::AddOrIncr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1AddOrIncrWriteResult(s, *this, result); + auto write_result = tl2::details::Service1AddOrIncrWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::Append::write_json(std::ostream& s)const { @@ -786,21 +822,25 @@ bool tl2::service1::Append::write_json(std::ostream& s)const { bool tl2::service1::Append::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1AppendRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Append::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1AppendWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Append::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1AppendReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Append::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1AppendWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -883,10 +923,18 @@ bool tl2::details::Service1AppendWriteResult(::basictl::tl_ostream & s, tl2::ser } bool tl2::service1::Append::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1AppendReadResult(s, *this, result); + auto read_result = tl2::details::Service1AppendReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::Append::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1AppendWriteResult(s, *this, result); + auto write_result = tl2::details::Service1AppendWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::Cas::write_json(std::ostream& s)const { @@ -896,21 +944,25 @@ bool tl2::service1::Cas::write_json(std::ostream& s)const { bool tl2::service1::Cas::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1CasRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Cas::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1CasWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Cas::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1CasReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Cas::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1CasWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1004,10 +1056,18 @@ bool tl2::details::Service1CasWriteResult(::basictl::tl_ostream & s, tl2::servic } bool tl2::service1::Cas::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1CasReadResult(s, *this, result); + auto read_result = tl2::details::Service1CasReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::Cas::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1CasWriteResult(s, *this, result); + auto write_result = tl2::details::Service1CasWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::Decr::write_json(std::ostream& s)const { @@ -1017,21 +1077,25 @@ bool tl2::service1::Decr::write_json(std::ostream& s)const { bool tl2::service1::Decr::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1DecrRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Decr::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1DecrWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Decr::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1DecrReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Decr::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1DecrWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1092,10 +1156,18 @@ bool tl2::details::Service1DecrWriteResult(::basictl::tl_ostream & s, tl2::servi } bool tl2::service1::Decr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1DecrReadResult(s, *this, result); + auto read_result = tl2::details::Service1DecrReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::Decr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1DecrWriteResult(s, *this, result); + auto write_result = tl2::details::Service1DecrWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::Delete::write_json(std::ostream& s)const { @@ -1105,21 +1177,25 @@ bool tl2::service1::Delete::write_json(std::ostream& s)const { bool tl2::service1::Delete::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1DeleteRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Delete::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1DeleteWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Delete::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1DeleteReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Delete::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1DeleteWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1167,10 +1243,18 @@ bool tl2::details::Service1DeleteWriteResult(::basictl::tl_ostream & s, tl2::ser } bool tl2::service1::Delete::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1DeleteReadResult(s, *this, result); + auto read_result = tl2::details::Service1DeleteReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::Delete::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1DeleteWriteResult(s, *this, result); + auto write_result = tl2::details::Service1DeleteWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::DisableExpiration::write_json(std::ostream& s)const { @@ -1180,21 +1264,25 @@ bool tl2::service1::DisableExpiration::write_json(std::ostream& s)const { bool tl2::service1::DisableExpiration::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1DisableExpirationRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::DisableExpiration::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1DisableExpirationWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::DisableExpiration::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1DisableExpirationReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::DisableExpiration::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1DisableExpirationWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1242,10 +1330,18 @@ bool tl2::details::Service1DisableExpirationWriteResult(::basictl::tl_ostream & } bool tl2::service1::DisableExpiration::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1DisableExpirationReadResult(s, *this, result); + auto read_result = tl2::details::Service1DisableExpirationReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::DisableExpiration::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1DisableExpirationWriteResult(s, *this, result); + auto write_result = tl2::details::Service1DisableExpirationWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::DisableKeysStat::write_json(std::ostream& s)const { @@ -1255,21 +1351,25 @@ bool tl2::service1::DisableKeysStat::write_json(std::ostream& s)const { bool tl2::service1::DisableKeysStat::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1DisableKeysStatRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::DisableKeysStat::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1DisableKeysStatWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::DisableKeysStat::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1DisableKeysStatReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::DisableKeysStat::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1DisableKeysStatWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1317,10 +1417,18 @@ bool tl2::details::Service1DisableKeysStatWriteResult(::basictl::tl_ostream & s, } bool tl2::service1::DisableKeysStat::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1DisableKeysStatReadResult(s, *this, result); + auto read_result = tl2::details::Service1DisableKeysStatReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::DisableKeysStat::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1DisableKeysStatWriteResult(s, *this, result); + auto write_result = tl2::details::Service1DisableKeysStatWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::EnableExpiration::write_json(std::ostream& s)const { @@ -1330,21 +1438,25 @@ bool tl2::service1::EnableExpiration::write_json(std::ostream& s)const { bool tl2::service1::EnableExpiration::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1EnableExpirationRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::EnableExpiration::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1EnableExpirationWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::EnableExpiration::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1EnableExpirationReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::EnableExpiration::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1EnableExpirationWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1392,10 +1504,18 @@ bool tl2::details::Service1EnableExpirationWriteResult(::basictl::tl_ostream & s } bool tl2::service1::EnableExpiration::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1EnableExpirationReadResult(s, *this, result); + auto read_result = tl2::details::Service1EnableExpirationReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::EnableExpiration::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1EnableExpirationWriteResult(s, *this, result); + auto write_result = tl2::details::Service1EnableExpirationWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::EnableKeysStat::write_json(std::ostream& s)const { @@ -1405,21 +1525,25 @@ bool tl2::service1::EnableKeysStat::write_json(std::ostream& s)const { bool tl2::service1::EnableKeysStat::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1EnableKeysStatRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::EnableKeysStat::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1EnableKeysStatWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::EnableKeysStat::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1EnableKeysStatReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::EnableKeysStat::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1EnableKeysStatWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1467,10 +1591,18 @@ bool tl2::details::Service1EnableKeysStatWriteResult(::basictl::tl_ostream & s, } bool tl2::service1::EnableKeysStat::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1EnableKeysStatReadResult(s, *this, result); + auto read_result = tl2::details::Service1EnableKeysStatReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::EnableKeysStat::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1EnableKeysStatWriteResult(s, *this, result); + auto write_result = tl2::details::Service1EnableKeysStatWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::Exists::write_json(std::ostream& s)const { @@ -1480,21 +1612,25 @@ bool tl2::service1::Exists::write_json(std::ostream& s)const { bool tl2::service1::Exists::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1ExistsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Exists::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1ExistsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Exists::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1ExistsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Exists::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1ExistsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1542,10 +1678,18 @@ bool tl2::details::Service1ExistsWriteResult(::basictl::tl_ostream & s, tl2::ser } bool tl2::service1::Exists::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1ExistsReadResult(s, *this, result); + auto read_result = tl2::details::Service1ExistsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::Exists::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1ExistsWriteResult(s, *this, result); + auto write_result = tl2::details::Service1ExistsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::Get::write_json(std::ostream& s)const { @@ -1555,21 +1699,25 @@ bool tl2::service1::Get::write_json(std::ostream& s)const { bool tl2::service1::Get::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Get::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Get::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Get::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1617,10 +1765,18 @@ bool tl2::details::Service1GetWriteResult(::basictl::tl_ostream & s, tl2::servic } bool tl2::service1::Get::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1GetReadResult(s, *this, result); + auto read_result = tl2::details::Service1GetReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::Get::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1GetWriteResult(s, *this, result); + auto write_result = tl2::details::Service1GetWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::GetExpireTime::write_json(std::ostream& s)const { @@ -1630,21 +1786,25 @@ bool tl2::service1::GetExpireTime::write_json(std::ostream& s)const { bool tl2::service1::GetExpireTime::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetExpireTimeRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetExpireTime::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetExpireTimeWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetExpireTime::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetExpireTimeReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetExpireTime::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetExpireTimeWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1692,10 +1852,18 @@ bool tl2::details::Service1GetExpireTimeWriteResult(::basictl::tl_ostream & s, t } bool tl2::service1::GetExpireTime::read_result(::basictl::tl_istream & s, std::optional & result) { - return tl2::details::Service1GetExpireTimeReadResult(s, *this, result); + auto read_result = tl2::details::Service1GetExpireTimeReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::GetExpireTime::write_result(::basictl::tl_ostream & s, std::optional & result) { - return tl2::details::Service1GetExpireTimeWriteResult(s, *this, result); + auto write_result = tl2::details::Service1GetExpireTimeWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::GetKeysStat::write_json(std::ostream& s)const { @@ -1705,21 +1873,25 @@ bool tl2::service1::GetKeysStat::write_json(std::ostream& s)const { bool tl2::service1::GetKeysStat::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetKeysStatRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetKeysStat::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetKeysStatWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetKeysStat::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetKeysStatReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetKeysStat::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetKeysStatWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1767,10 +1939,18 @@ bool tl2::details::Service1GetKeysStatWriteResult(::basictl::tl_ostream & s, tl2 } bool tl2::service1::GetKeysStat::read_result(::basictl::tl_istream & s, std::optional<::tl2::service1::KeysStat> & result) { - return tl2::details::Service1GetKeysStatReadResult(s, *this, result); + auto read_result = tl2::details::Service1GetKeysStatReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::GetKeysStat::write_result(::basictl::tl_ostream & s, std::optional<::tl2::service1::KeysStat> & result) { - return tl2::details::Service1GetKeysStatWriteResult(s, *this, result); + auto write_result = tl2::details::Service1GetKeysStatWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::GetKeysStatPeriods::write_json(std::ostream& s)const { @@ -1780,21 +1960,25 @@ bool tl2::service1::GetKeysStatPeriods::write_json(std::ostream& s)const { bool tl2::service1::GetKeysStatPeriods::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetKeysStatPeriodsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetKeysStatPeriods::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetKeysStatPeriodsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetKeysStatPeriods::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetKeysStatPeriodsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetKeysStatPeriods::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetKeysStatPeriodsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1836,10 +2020,18 @@ bool tl2::details::Service1GetKeysStatPeriodsWriteResult(::basictl::tl_ostream & } bool tl2::service1::GetKeysStatPeriods::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::Service1GetKeysStatPeriodsReadResult(s, *this, result); + auto read_result = tl2::details::Service1GetKeysStatPeriodsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::GetKeysStatPeriods::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::Service1GetKeysStatPeriodsWriteResult(s, *this, result); + auto write_result = tl2::details::Service1GetKeysStatPeriodsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::GetWildcard::write_json(std::ostream& s)const { @@ -1849,21 +2041,25 @@ bool tl2::service1::GetWildcard::write_json(std::ostream& s)const { bool tl2::service1::GetWildcard::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetWildcardRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetWildcard::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetWildcardWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetWildcard::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetWildcardReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetWildcard::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetWildcardWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1913,10 +2109,18 @@ bool tl2::details::Service1GetWildcardWriteResult(::basictl::tl_ostream & s, tl2 } bool tl2::service1::GetWildcard::read_result(::basictl::tl_istream & s, std::vector<::tl2::Map> & result) { - return tl2::details::Service1GetWildcardReadResult(s, *this, result); + auto read_result = tl2::details::Service1GetWildcardReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::GetWildcard::write_result(::basictl::tl_ostream & s, std::vector<::tl2::Map> & result) { - return tl2::details::Service1GetWildcardWriteResult(s, *this, result); + auto write_result = tl2::details::Service1GetWildcardWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::GetWildcardDict::write_json(std::ostream& s)const { @@ -1926,21 +2130,25 @@ bool tl2::service1::GetWildcardDict::write_json(std::ostream& s)const { bool tl2::service1::GetWildcardDict::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetWildcardDictRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetWildcardDict::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetWildcardDictWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetWildcardDict::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetWildcardDictReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetWildcardDict::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetWildcardDictWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1988,10 +2196,18 @@ bool tl2::details::Service1GetWildcardDictWriteResult(::basictl::tl_ostream & s, } bool tl2::service1::GetWildcardDict::read_result(::basictl::tl_istream & s, ::tl2::Dictionary & result) { - return tl2::details::Service1GetWildcardDictReadResult(s, *this, result); + auto read_result = tl2::details::Service1GetWildcardDictReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::GetWildcardDict::write_result(::basictl::tl_ostream & s, ::tl2::Dictionary & result) { - return tl2::details::Service1GetWildcardDictWriteResult(s, *this, result); + auto write_result = tl2::details::Service1GetWildcardDictWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::GetWildcardList::write_json(std::ostream& s)const { @@ -2001,21 +2217,25 @@ bool tl2::service1::GetWildcardList::write_json(std::ostream& s)const { bool tl2::service1::GetWildcardList::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetWildcardListRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetWildcardList::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetWildcardListWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetWildcardList::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetWildcardListReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetWildcardList::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetWildcardListWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2065,10 +2285,18 @@ bool tl2::details::Service1GetWildcardListWriteResult(::basictl::tl_ostream & s, } bool tl2::service1::GetWildcardList::read_result(::basictl::tl_istream & s, std::vector & result) { - return tl2::details::Service1GetWildcardListReadResult(s, *this, result); + auto read_result = tl2::details::Service1GetWildcardListReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::GetWildcardList::write_result(::basictl::tl_ostream & s, std::vector & result) { - return tl2::details::Service1GetWildcardListWriteResult(s, *this, result); + auto write_result = tl2::details::Service1GetWildcardListWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::GetWildcardWithFlags::write_json(std::ostream& s)const { @@ -2078,21 +2306,25 @@ bool tl2::service1::GetWildcardWithFlags::write_json(std::ostream& s)const { bool tl2::service1::GetWildcardWithFlags::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetWildcardWithFlagsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetWildcardWithFlags::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetWildcardWithFlagsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetWildcardWithFlags::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1GetWildcardWithFlagsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::GetWildcardWithFlags::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1GetWildcardWithFlagsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2140,10 +2372,18 @@ bool tl2::details::Service1GetWildcardWithFlagsWriteResult(::basictl::tl_ostream } bool tl2::service1::GetWildcardWithFlags::read_result(::basictl::tl_istream & s, ::tl2::Dictionary<::tl2::service1::Value> & result) { - return tl2::details::Service1GetWildcardWithFlagsReadResult(s, *this, result); + auto read_result = tl2::details::Service1GetWildcardWithFlagsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::GetWildcardWithFlags::write_result(::basictl::tl_ostream & s, ::tl2::Dictionary<::tl2::service1::Value> & result) { - return tl2::details::Service1GetWildcardWithFlagsWriteResult(s, *this, result); + auto write_result = tl2::details::Service1GetWildcardWithFlagsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::Incr::write_json(std::ostream& s)const { @@ -2153,21 +2393,25 @@ bool tl2::service1::Incr::write_json(std::ostream& s)const { bool tl2::service1::Incr::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1IncrRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Incr::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1IncrWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Incr::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1IncrReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Incr::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1IncrWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2228,10 +2472,18 @@ bool tl2::details::Service1IncrWriteResult(::basictl::tl_ostream & s, tl2::servi } bool tl2::service1::Incr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1IncrReadResult(s, *this, result); + auto read_result = tl2::details::Service1IncrReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::Incr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1IncrWriteResult(s, *this, result); + auto write_result = tl2::details::Service1IncrWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::KeysStat::write_json(std::ostream& s)const { @@ -2241,21 +2493,25 @@ bool tl2::service1::KeysStat::write_json(std::ostream& s)const { bool tl2::service1::KeysStat::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1KeysStatRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::KeysStat::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1KeysStatWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::KeysStat::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1KeysStatReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::KeysStat::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1KeysStatWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2345,21 +2601,25 @@ bool tl2::service1::Longvalue::write_json(std::ostream& s)const { bool tl2::service1::Longvalue::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1LongvalueRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Longvalue::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1LongvalueWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Longvalue::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1LongvalueReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Longvalue::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1LongvalueWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2417,21 +2677,25 @@ bool tl2::service1::LongvalueWithTime::write_json(std::ostream& s)const { bool tl2::service1::LongvalueWithTime::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1LongvalueWithTimeRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::LongvalueWithTime::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1LongvalueWithTimeWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::LongvalueWithTime::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1LongvalueWithTimeReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::LongvalueWithTime::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1LongvalueWithTimeWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2500,21 +2764,25 @@ bool tl2::service1::Not_found::write_json(std::ostream& s)const { bool tl2::service1::Not_found::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1NotFoundRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Not_found::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1NotFoundWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Not_found::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1NotFoundReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Not_found::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1NotFoundWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2551,21 +2819,25 @@ bool tl2::service1::Replace::write_json(std::ostream& s)const { bool tl2::service1::Replace::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1ReplaceRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Replace::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1ReplaceWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Replace::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1ReplaceReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Replace::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1ReplaceWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2648,10 +2920,18 @@ bool tl2::details::Service1ReplaceWriteResult(::basictl::tl_ostream & s, tl2::se } bool tl2::service1::Replace::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1ReplaceReadResult(s, *this, result); + auto read_result = tl2::details::Service1ReplaceReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::Replace::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1ReplaceWriteResult(s, *this, result); + auto write_result = tl2::details::Service1ReplaceWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::ReplaceOrIncr::write_json(std::ostream& s)const { @@ -2661,21 +2941,25 @@ bool tl2::service1::ReplaceOrIncr::write_json(std::ostream& s)const { bool tl2::service1::ReplaceOrIncr::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1ReplaceOrIncrRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::ReplaceOrIncr::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1ReplaceOrIncrWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::ReplaceOrIncr::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1ReplaceOrIncrReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::ReplaceOrIncr::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1ReplaceOrIncrWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2758,10 +3042,18 @@ bool tl2::details::Service1ReplaceOrIncrWriteResult(::basictl::tl_ostream & s, t } bool tl2::service1::ReplaceOrIncr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1ReplaceOrIncrReadResult(s, *this, result); + auto read_result = tl2::details::Service1ReplaceOrIncrReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::ReplaceOrIncr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1ReplaceOrIncrWriteResult(s, *this, result); + auto write_result = tl2::details::Service1ReplaceOrIncrWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::Set::write_json(std::ostream& s)const { @@ -2771,21 +3063,25 @@ bool tl2::service1::Set::write_json(std::ostream& s)const { bool tl2::service1::Set::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1SetRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Set::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1SetWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Set::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1SetReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Set::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1SetWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2868,10 +3164,18 @@ bool tl2::details::Service1SetWriteResult(::basictl::tl_ostream & s, tl2::servic } bool tl2::service1::Set::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1SetReadResult(s, *this, result); + auto read_result = tl2::details::Service1SetReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::Set::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1SetWriteResult(s, *this, result); + auto write_result = tl2::details::Service1SetWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::SetOrIncr::write_json(std::ostream& s)const { @@ -2881,21 +3185,25 @@ bool tl2::service1::SetOrIncr::write_json(std::ostream& s)const { bool tl2::service1::SetOrIncr::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1SetOrIncrRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::SetOrIncr::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1SetOrIncrWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::SetOrIncr::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1SetOrIncrReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::SetOrIncr::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1SetOrIncrWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2978,10 +3286,18 @@ bool tl2::details::Service1SetOrIncrWriteResult(::basictl::tl_ostream & s, tl2:: } bool tl2::service1::SetOrIncr::read_result(::basictl::tl_istream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1SetOrIncrReadResult(s, *this, result); + auto read_result = tl2::details::Service1SetOrIncrReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::SetOrIncr::write_result(::basictl::tl_ostream & s, ::tl2::service1::Value & result) { - return tl2::details::Service1SetOrIncrWriteResult(s, *this, result); + auto write_result = tl2::details::Service1SetOrIncrWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service1::Strvalue::write_json(std::ostream& s)const { @@ -2991,21 +3307,25 @@ bool tl2::service1::Strvalue::write_json(std::ostream& s)const { bool tl2::service1::Strvalue::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1StrvalueRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Strvalue::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1StrvalueWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Strvalue::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1StrvalueReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Strvalue::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1StrvalueWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3063,21 +3383,25 @@ bool tl2::service1::StrvalueWithTime::write_json(std::ostream& s)const { bool tl2::service1::StrvalueWithTime::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1StrvalueWithTimeRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::StrvalueWithTime::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1StrvalueWithTimeWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::StrvalueWithTime::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1StrvalueWithTimeReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::StrvalueWithTime::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1StrvalueWithTimeWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3146,21 +3470,25 @@ bool tl2::service1::Touch::write_json(std::ostream& s)const { bool tl2::service1::Touch::read(::basictl::tl_istream & s) { if (!::tl2::details::Service1TouchRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Touch::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1TouchWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Touch::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service1TouchReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service1::Touch::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service1TouchWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -3221,10 +3549,18 @@ bool tl2::details::Service1TouchWriteResult(::basictl::tl_ostream & s, tl2::serv } bool tl2::service1::Touch::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service1TouchReadResult(s, *this, result); + auto read_result = tl2::details::Service1TouchReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service1::Touch::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service1TouchWriteResult(s, *this, result); + auto write_result = tl2::details::Service1TouchWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } static const std::string_view Service1Value_tbl_tl_name[]{"service1.not_found", "service1.strvalue", "service1.longvalue", "service1.strvalueWithTime", "service1.longvalueWithTime"}; diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/details.cpp index 9a0d5551..c0682bbb 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tl/service2/details.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service2/details.cpp @@ -137,21 +137,25 @@ bool tl2::service2::AddOrIncrMany::write_json(std::ostream& s)const { bool tl2::service2::AddOrIncrMany::read(::basictl::tl_istream & s) { if (!::tl2::details::Service2AddOrIncrManyRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service2::AddOrIncrMany::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service2AddOrIncrManyWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service2::AddOrIncrMany::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service2AddOrIncrManyReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service2::AddOrIncrMany::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service2AddOrIncrManyWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -269,10 +273,18 @@ bool tl2::details::Service2AddOrIncrManyWriteResult(::basictl::tl_ostream & s, t } bool tl2::service2::AddOrIncrMany::read_result(::basictl::tl_istream & s, std::vector<::tl2::service2::CounterSet> & result) { - return tl2::details::Service2AddOrIncrManyReadResult(s, *this, result); + auto read_result = tl2::details::Service2AddOrIncrManyReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service2::AddOrIncrMany::write_result(::basictl::tl_ostream & s, std::vector<::tl2::service2::CounterSet> & result) { - return tl2::details::Service2AddOrIncrManyWriteResult(s, *this, result); + auto write_result = tl2::details::Service2AddOrIncrManyWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service2::CounterSet::write_json(std::ostream& s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { @@ -282,21 +294,25 @@ bool tl2::service2::CounterSet::write_json(std::ostream& s, uint32_t nat_intCoun bool tl2::service2::CounterSet::read(::basictl::tl_istream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { if (!::tl2::details::Service2CounterSetRead(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } + s.last_release(); return true; } bool tl2::service2::CounterSet::write(::basictl::tl_ostream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { if (!::tl2::details::Service2CounterSetWrite(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } + s.last_release(); return true; } bool tl2::service2::CounterSet::read_boxed(::basictl::tl_istream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { if (!::tl2::details::Service2CounterSetReadBoxed(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } + s.last_release(); return true; } bool tl2::service2::CounterSet::write_boxed(::basictl::tl_ostream & s, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { if (!::tl2::details::Service2CounterSetWriteBoxed(s, *this, nat_intCountersNum, nat_floatCountersNum)) { return false; } + s.last_release(); return true; } @@ -354,21 +370,25 @@ bool tl2::service2::DeltaSet::write_json(std::ostream& s, uint32_t nat_objectIdL bool tl2::service2::DeltaSet::read(::basictl::tl_istream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { if (!::tl2::details::Service2DeltaSetRead(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } + s.last_release(); return true; } bool tl2::service2::DeltaSet::write(::basictl::tl_ostream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { if (!::tl2::details::Service2DeltaSetWrite(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } + s.last_release(); return true; } bool tl2::service2::DeltaSet::read_boxed(::basictl::tl_istream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum) { if (!::tl2::details::Service2DeltaSetReadBoxed(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } + s.last_release(); return true; } bool tl2::service2::DeltaSet::write_boxed(::basictl::tl_ostream & s, uint32_t nat_objectIdLength, uint32_t nat_intCountersNum, uint32_t nat_floatCountersNum)const { if (!::tl2::details::Service2DeltaSetWriteBoxed(s, *this, nat_objectIdLength, nat_intCountersNum, nat_floatCountersNum)) { return false; } + s.last_release(); return true; } @@ -422,21 +442,25 @@ bool tl2::service2::ObjectId::write_json(std::ostream& s, uint32_t nat_objectIdL bool tl2::service2::ObjectId::read(::basictl::tl_istream & s, uint32_t nat_objectIdLength) { if (!::tl2::details::Service2ObjectIdRead(s, *this, nat_objectIdLength)) { return false; } + s.last_release(); return true; } bool tl2::service2::ObjectId::write(::basictl::tl_ostream & s, uint32_t nat_objectIdLength)const { if (!::tl2::details::Service2ObjectIdWrite(s, *this, nat_objectIdLength)) { return false; } + s.last_release(); return true; } bool tl2::service2::ObjectId::read_boxed(::basictl::tl_istream & s, uint32_t nat_objectIdLength) { if (!::tl2::details::Service2ObjectIdReadBoxed(s, *this, nat_objectIdLength)) { return false; } + s.last_release(); return true; } bool tl2::service2::ObjectId::write_boxed(::basictl::tl_ostream & s, uint32_t nat_objectIdLength)const { if (!::tl2::details::Service2ObjectIdWriteBoxed(s, *this, nat_objectIdLength)) { return false; } + s.last_release(); return true; } @@ -481,21 +505,25 @@ bool tl2::service2::Set::write_json(std::ostream& s)const { bool tl2::service2::Set::read(::basictl::tl_istream & s) { if (!::tl2::details::Service2SetRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service2::Set::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service2SetWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service2::Set::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service2SetReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service2::Set::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service2SetWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -598,10 +626,18 @@ bool tl2::details::Service2SetWriteResult(::basictl::tl_ostream & s, tl2::servic } bool tl2::service2::Set::read_result(::basictl::tl_istream & s, ::tl2::True & result) { - return tl2::details::Service2SetReadResult(s, *this, result); + auto read_result = tl2::details::Service2SetReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service2::Set::write_result(::basictl::tl_ostream & s, ::tl2::True & result) { - return tl2::details::Service2SetWriteResult(s, *this, result); + auto write_result = tl2::details::Service2SetWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service2::SetObjectTtl::write_json(std::ostream& s)const { @@ -611,21 +647,25 @@ bool tl2::service2::SetObjectTtl::write_json(std::ostream& s)const { bool tl2::service2::SetObjectTtl::read(::basictl::tl_istream & s) { if (!::tl2::details::Service2SetObjectTtlRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service2::SetObjectTtl::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service2SetObjectTtlWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service2::SetObjectTtl::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service2SetObjectTtlReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service2::SetObjectTtl::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service2SetObjectTtlWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -695,10 +735,18 @@ bool tl2::details::Service2SetObjectTtlWriteResult(::basictl::tl_ostream & s, tl } bool tl2::service2::SetObjectTtl::read_result(::basictl::tl_istream & s, ::tl2::True & result) { - return tl2::details::Service2SetObjectTtlReadResult(s, *this, result); + auto read_result = tl2::details::Service2SetObjectTtlReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service2::SetObjectTtl::write_result(::basictl::tl_ostream & s, ::tl2::True & result) { - return tl2::details::Service2SetObjectTtlWriteResult(s, *this, result); + auto write_result = tl2::details::Service2SetObjectTtlWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } void tl2::details::TupleDoubleReset(std::vector& item) { diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/details.cpp index 313054c9..fddf9104 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tl/service3/details.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service3/details.cpp @@ -30,21 +30,25 @@ bool tl2::BoolStat::write_json(std::ostream& s)const { bool tl2::BoolStat::read(::basictl::tl_istream & s) { if (!::tl2::details::BoolStatRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoolStat::write(::basictl::tl_ostream & s)const { if (!::tl2::details::BoolStatWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoolStat::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::BoolStatReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::BoolStat::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::BoolStatWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -298,21 +302,25 @@ bool tl2::service3::CreateProduct::write_json(std::ostream& s)const { bool tl2::service3::CreateProduct::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3CreateProductRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::CreateProduct::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3CreateProductWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::CreateProduct::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3CreateProductReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::CreateProduct::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3CreateProductWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -417,10 +425,18 @@ bool tl2::details::Service3CreateProductWriteResult(::basictl::tl_ostream & s, t } bool tl2::service3::CreateProduct::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3CreateProductReadResult(s, *this, result); + auto read_result = tl2::details::Service3CreateProductReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::CreateProduct::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3CreateProductWriteResult(s, *this, result); + auto write_result = tl2::details::Service3CreateProductWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::DeleteAllProducts::write_json(std::ostream& s)const { @@ -430,21 +446,25 @@ bool tl2::service3::DeleteAllProducts::write_json(std::ostream& s)const { bool tl2::service3::DeleteAllProducts::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3DeleteAllProductsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::DeleteAllProducts::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3DeleteAllProductsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::DeleteAllProducts::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3DeleteAllProductsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::DeleteAllProducts::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3DeleteAllProductsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -527,10 +547,18 @@ bool tl2::details::Service3DeleteAllProductsWriteResult(::basictl::tl_ostream & } bool tl2::service3::DeleteAllProducts::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3DeleteAllProductsReadResult(s, *this, result); + auto read_result = tl2::details::Service3DeleteAllProductsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::DeleteAllProducts::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3DeleteAllProductsWriteResult(s, *this, result); + auto write_result = tl2::details::Service3DeleteAllProductsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::DeleteGroupedProducts::write_json(std::ostream& s)const { @@ -540,21 +568,25 @@ bool tl2::service3::DeleteGroupedProducts::write_json(std::ostream& s)const { bool tl2::service3::DeleteGroupedProducts::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3DeleteGroupedProductsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::DeleteGroupedProducts::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3DeleteGroupedProductsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::DeleteGroupedProducts::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3DeleteGroupedProductsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::DeleteGroupedProducts::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3DeleteGroupedProductsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -648,10 +680,18 @@ bool tl2::details::Service3DeleteGroupedProductsWriteResult(::basictl::tl_ostrea } bool tl2::service3::DeleteGroupedProducts::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3DeleteGroupedProductsReadResult(s, *this, result); + auto read_result = tl2::details::Service3DeleteGroupedProductsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::DeleteGroupedProducts::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3DeleteGroupedProductsWriteResult(s, *this, result); + auto write_result = tl2::details::Service3DeleteGroupedProductsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::DeleteProduct::write_json(std::ostream& s)const { @@ -661,21 +701,25 @@ bool tl2::service3::DeleteProduct::write_json(std::ostream& s)const { bool tl2::service3::DeleteProduct::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3DeleteProductRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::DeleteProduct::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3DeleteProductWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::DeleteProduct::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3DeleteProductReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::DeleteProduct::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3DeleteProductWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -758,10 +802,18 @@ bool tl2::details::Service3DeleteProductWriteResult(::basictl::tl_ostream & s, t } bool tl2::service3::DeleteProduct::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3DeleteProductReadResult(s, *this, result); + auto read_result = tl2::details::Service3DeleteProductReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::DeleteProduct::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3DeleteProductWriteResult(s, *this, result); + auto write_result = tl2::details::Service3DeleteProductWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::GetLastVisitTimestamp::write_json(std::ostream& s)const { @@ -771,21 +823,25 @@ bool tl2::service3::GetLastVisitTimestamp::write_json(std::ostream& s)const { bool tl2::service3::GetLastVisitTimestamp::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3GetLastVisitTimestampRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetLastVisitTimestamp::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GetLastVisitTimestampWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetLastVisitTimestamp::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3GetLastVisitTimestampReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetLastVisitTimestamp::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GetLastVisitTimestampWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -833,10 +889,18 @@ bool tl2::details::Service3GetLastVisitTimestampWriteResult(::basictl::tl_ostrea } bool tl2::service3::GetLastVisitTimestamp::read_result(::basictl::tl_istream & s, std::optional & result) { - return tl2::details::Service3GetLastVisitTimestampReadResult(s, *this, result); + auto read_result = tl2::details::Service3GetLastVisitTimestampReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::GetLastVisitTimestamp::write_result(::basictl::tl_ostream & s, std::optional & result) { - return tl2::details::Service3GetLastVisitTimestampWriteResult(s, *this, result); + auto write_result = tl2::details::Service3GetLastVisitTimestampWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::GetLimits::write_json(std::ostream& s)const { @@ -846,21 +910,25 @@ bool tl2::service3::GetLimits::write_json(std::ostream& s)const { bool tl2::service3::GetLimits::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3GetLimitsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetLimits::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GetLimitsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetLimits::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3GetLimitsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetLimits::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GetLimitsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -900,10 +968,18 @@ bool tl2::details::Service3GetLimitsWriteResult(::basictl::tl_ostream & s, tl2:: } bool tl2::service3::GetLimits::read_result(::basictl::tl_istream & s, ::tl2::service3::Limits & result) { - return tl2::details::Service3GetLimitsReadResult(s, *this, result); + auto read_result = tl2::details::Service3GetLimitsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::GetLimits::write_result(::basictl::tl_ostream & s, ::tl2::service3::Limits & result) { - return tl2::details::Service3GetLimitsWriteResult(s, *this, result); + auto write_result = tl2::details::Service3GetLimitsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::GetProductStats::write_json(std::ostream& s)const { @@ -913,21 +989,25 @@ bool tl2::service3::GetProductStats::write_json(std::ostream& s)const { bool tl2::service3::GetProductStats::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3GetProductStatsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetProductStats::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GetProductStatsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetProductStats::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3GetProductStatsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetProductStats::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GetProductStatsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -988,10 +1068,18 @@ bool tl2::details::Service3GetProductStatsWriteResult(::basictl::tl_ostream & s, } bool tl2::service3::GetProductStats::read_result(::basictl::tl_istream & s, std::optional> & result) { - return tl2::details::Service3GetProductStatsReadResult(s, *this, result); + auto read_result = tl2::details::Service3GetProductStatsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::GetProductStats::write_result(::basictl::tl_ostream & s, std::optional> & result) { - return tl2::details::Service3GetProductStatsWriteResult(s, *this, result); + auto write_result = tl2::details::Service3GetProductStatsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::GetProducts::write_json(std::ostream& s)const { @@ -1001,21 +1089,25 @@ bool tl2::service3::GetProducts::write_json(std::ostream& s)const { bool tl2::service3::GetProducts::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3GetProductsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetProducts::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GetProductsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetProducts::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3GetProductsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetProducts::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GetProductsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1142,10 +1234,18 @@ bool tl2::details::Service3GetProductsWriteResult(::basictl::tl_ostream & s, tl2 } bool tl2::service3::GetProducts::read_result(::basictl::tl_istream & s, std::optional> & result) { - return tl2::details::Service3GetProductsReadResult(s, *this, result); + auto read_result = tl2::details::Service3GetProductsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::GetProducts::write_result(::basictl::tl_ostream & s, std::optional> & result) { - return tl2::details::Service3GetProductsWriteResult(s, *this, result); + auto write_result = tl2::details::Service3GetProductsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::GetScheduledProducts::write_json(std::ostream& s)const { @@ -1155,21 +1255,25 @@ bool tl2::service3::GetScheduledProducts::write_json(std::ostream& s)const { bool tl2::service3::GetScheduledProducts::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3GetScheduledProductsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetScheduledProducts::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GetScheduledProductsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetScheduledProducts::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3GetScheduledProductsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GetScheduledProducts::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GetScheduledProductsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1230,10 +1334,18 @@ bool tl2::details::Service3GetScheduledProductsWriteResult(::basictl::tl_ostream } bool tl2::service3::GetScheduledProducts::read_result(::basictl::tl_istream & s, std::optional>> & result) { - return tl2::details::Service3GetScheduledProductsReadResult(s, *this, result); + auto read_result = tl2::details::Service3GetScheduledProductsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::GetScheduledProducts::write_result(::basictl::tl_ostream & s, std::optional>> & result) { - return tl2::details::Service3GetScheduledProductsWriteResult(s, *this, result); + auto write_result = tl2::details::Service3GetScheduledProductsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::GroupCountLimit::write_json(std::ostream& s)const { @@ -1243,21 +1355,25 @@ bool tl2::service3::GroupCountLimit::write_json(std::ostream& s)const { bool tl2::service3::GroupCountLimit::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3GroupCountLimitRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GroupCountLimit::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GroupCountLimitWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GroupCountLimit::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3GroupCountLimitReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GroupCountLimit::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GroupCountLimitWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1315,21 +1431,25 @@ bool tl2::service3::GroupSizeLimit::write_json(std::ostream& s)const { bool tl2::service3::GroupSizeLimit::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3GroupSizeLimitRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GroupSizeLimit::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GroupSizeLimitWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GroupSizeLimit::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3GroupSizeLimitReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::GroupSizeLimit::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3GroupSizeLimitWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1387,21 +1507,25 @@ bool tl2::service3::Limits::write_json(std::ostream& s)const { bool tl2::service3::Limits::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3LimitsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::Limits::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3LimitsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::Limits::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3LimitsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::Limits::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3LimitsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1481,21 +1605,25 @@ bool tl2::service3::Product::write_json(std::ostream& s, uint32_t nat_mode)const bool tl2::service3::Product::read(::basictl::tl_istream & s, uint32_t nat_mode) { if (!::tl2::details::Service3ProductRead(s, *this, nat_mode)) { return false; } + s.last_release(); return true; } bool tl2::service3::Product::write(::basictl::tl_ostream & s, uint32_t nat_mode)const { if (!::tl2::details::Service3ProductWrite(s, *this, nat_mode)) { return false; } + s.last_release(); return true; } bool tl2::service3::Product::read_boxed(::basictl::tl_istream & s, uint32_t nat_mode) { if (!::tl2::details::Service3ProductReadBoxed(s, *this, nat_mode)) { return false; } + s.last_release(); return true; } bool tl2::service3::Product::write_boxed(::basictl::tl_ostream & s, uint32_t nat_mode)const { if (!::tl2::details::Service3ProductWriteBoxed(s, *this, nat_mode)) { return false; } + s.last_release(); return true; } @@ -1700,21 +1828,25 @@ bool tl2::service3::ProductStatsOld::write_json(std::ostream& s)const { bool tl2::service3::ProductStatsOld::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3ProductStatsOldRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::ProductStatsOld::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3ProductStatsOldWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::ProductStatsOld::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3ProductStatsOldReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::ProductStatsOld::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3ProductStatsOldWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1805,21 +1937,25 @@ bool tl2::service3::RestoreAllProducts::write_json(std::ostream& s)const { bool tl2::service3::RestoreAllProducts::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3RestoreAllProductsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::RestoreAllProducts::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3RestoreAllProductsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::RestoreAllProducts::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3RestoreAllProductsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::RestoreAllProducts::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3RestoreAllProductsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1902,10 +2038,18 @@ bool tl2::details::Service3RestoreAllProductsWriteResult(::basictl::tl_ostream & } bool tl2::service3::RestoreAllProducts::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3RestoreAllProductsReadResult(s, *this, result); + auto read_result = tl2::details::Service3RestoreAllProductsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::RestoreAllProducts::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3RestoreAllProductsWriteResult(s, *this, result); + auto write_result = tl2::details::Service3RestoreAllProductsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::RestoreGroupedProducts::write_json(std::ostream& s)const { @@ -1915,21 +2059,25 @@ bool tl2::service3::RestoreGroupedProducts::write_json(std::ostream& s)const { bool tl2::service3::RestoreGroupedProducts::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3RestoreGroupedProductsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::RestoreGroupedProducts::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3RestoreGroupedProductsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::RestoreGroupedProducts::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3RestoreGroupedProductsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::RestoreGroupedProducts::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3RestoreGroupedProductsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2023,10 +2171,18 @@ bool tl2::details::Service3RestoreGroupedProductsWriteResult(::basictl::tl_ostre } bool tl2::service3::RestoreGroupedProducts::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3RestoreGroupedProductsReadResult(s, *this, result); + auto read_result = tl2::details::Service3RestoreGroupedProductsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::RestoreGroupedProducts::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3RestoreGroupedProductsWriteResult(s, *this, result); + auto write_result = tl2::details::Service3RestoreGroupedProductsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::RestoreProduct::write_json(std::ostream& s)const { @@ -2036,21 +2192,25 @@ bool tl2::service3::RestoreProduct::write_json(std::ostream& s)const { bool tl2::service3::RestoreProduct::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3RestoreProductRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::RestoreProduct::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3RestoreProductWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::RestoreProduct::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3RestoreProductReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::RestoreProduct::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3RestoreProductWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2133,10 +2293,18 @@ bool tl2::details::Service3RestoreProductWriteResult(::basictl::tl_ostream & s, } bool tl2::service3::RestoreProduct::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3RestoreProductReadResult(s, *this, result); + auto read_result = tl2::details::Service3RestoreProductReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::RestoreProduct::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3RestoreProductWriteResult(s, *this, result); + auto write_result = tl2::details::Service3RestoreProductWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::SetLastVisitTimestamp::write_json(std::ostream& s)const { @@ -2146,21 +2314,25 @@ bool tl2::service3::SetLastVisitTimestamp::write_json(std::ostream& s)const { bool tl2::service3::SetLastVisitTimestamp::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3SetLastVisitTimestampRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::SetLastVisitTimestamp::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3SetLastVisitTimestampWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::SetLastVisitTimestamp::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3SetLastVisitTimestampReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::SetLastVisitTimestamp::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3SetLastVisitTimestampWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2221,10 +2393,18 @@ bool tl2::details::Service3SetLastVisitTimestampWriteResult(::basictl::tl_ostrea } bool tl2::service3::SetLastVisitTimestamp::read_result(::basictl::tl_istream & s, bool & result) { - return tl2::details::Service3SetLastVisitTimestampReadResult(s, *this, result); + auto read_result = tl2::details::Service3SetLastVisitTimestampReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::SetLastVisitTimestamp::write_result(::basictl::tl_ostream & s, bool & result) { - return tl2::details::Service3SetLastVisitTimestampWriteResult(s, *this, result); + auto write_result = tl2::details::Service3SetLastVisitTimestampWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service3::SetLimits::write_json(std::ostream& s)const { @@ -2234,21 +2414,25 @@ bool tl2::service3::SetLimits::write_json(std::ostream& s)const { bool tl2::service3::SetLimits::read(::basictl::tl_istream & s) { if (!::tl2::details::Service3SetLimitsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::SetLimits::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3SetLimitsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::SetLimits::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service3SetLimitsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service3::SetLimits::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service3SetLimitsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -2294,10 +2478,18 @@ bool tl2::details::Service3SetLimitsWriteResult(::basictl::tl_ostream & s, tl2:: } bool tl2::service3::SetLimits::read_result(::basictl::tl_istream & s, ::tl2::BoolStat & result) { - return tl2::details::Service3SetLimitsReadResult(s, *this, result); + auto read_result = tl2::details::Service3SetLimitsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service3::SetLimits::write_result(::basictl::tl_ostream & s, ::tl2::BoolStat & result) { - return tl2::details::Service3SetLimitsWriteResult(s, *this, result); + auto write_result = tl2::details::Service3SetLimitsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } void tl2::details::VectorService3GroupCountLimitReset(std::vector<::tl2::service3::GroupCountLimit>& item) { diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service4/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/service4/details.cpp index f2c2d259..10f60247 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tl/service4/details.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service4/details.cpp @@ -11,21 +11,25 @@ bool tl2::service4::ModifiedNewsEntry::write_json(std::ostream& s)const { bool tl2::service4::ModifiedNewsEntry::read(::basictl::tl_istream & s) { if (!::tl2::details::Service4ModifiedNewsEntryRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service4::ModifiedNewsEntry::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service4ModifiedNewsEntryWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service4::ModifiedNewsEntry::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service4ModifiedNewsEntryReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service4::ModifiedNewsEntry::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service4ModifiedNewsEntryWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -143,21 +147,25 @@ bool tl2::service4::Object::write_json(std::ostream& s)const { bool tl2::service4::Object::read(::basictl::tl_istream & s) { if (!::tl2::details::Service4ObjectRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service4::Object::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service4ObjectWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service4::Object::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service4ObjectReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service4::Object::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service4ObjectWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/details.cpp index c61cc7b2..f98b23c7 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tl/service5/details.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service5/details.cpp @@ -14,21 +14,25 @@ bool tl2::service5::EmptyOutput::write_json(std::ostream& s)const { bool tl2::service5::EmptyOutput::read(::basictl::tl_istream & s) { if (!::tl2::details::Service5EmptyOutputRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::EmptyOutput::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service5EmptyOutputWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::EmptyOutput::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service5EmptyOutputReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::EmptyOutput::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service5EmptyOutputWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -65,21 +69,25 @@ bool tl2::service5::Insert::write_json(std::ostream& s)const { bool tl2::service5::Insert::read(::basictl::tl_istream & s) { if (!::tl2::details::Service5InsertRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::Insert::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service5InsertWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::Insert::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service5InsertReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::Insert::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service5InsertWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -140,10 +148,18 @@ bool tl2::details::Service5InsertWriteResult(::basictl::tl_ostream & s, tl2::ser } bool tl2::service5::Insert::read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result) { - return tl2::details::Service5InsertReadResult(s, *this, result); + auto read_result = tl2::details::Service5InsertReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service5::Insert::write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result) { - return tl2::details::Service5InsertWriteResult(s, *this, result); + auto write_result = tl2::details::Service5InsertWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } static const std::string_view Service5Output_tbl_tl_name[]{"service5.emptyOutput", "service5.stringOutput"}; @@ -220,21 +236,25 @@ bool tl2::service5::Params::write_json(std::ostream& s)const { bool tl2::service5::Params::read(::basictl::tl_istream & s) { if (!::tl2::details::Service5ParamsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::Params::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service5ParamsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::Params::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service5ParamsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::Params::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service5ParamsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -315,21 +335,25 @@ bool tl2::service5::PerformQuery::write_json(std::ostream& s)const { bool tl2::service5::PerformQuery::read(::basictl::tl_istream & s) { if (!::tl2::details::Service5PerformQueryRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::PerformQuery::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service5PerformQueryWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::PerformQuery::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service5PerformQueryReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::PerformQuery::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service5PerformQueryWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -377,10 +401,18 @@ bool tl2::details::Service5PerformQueryWriteResult(::basictl::tl_ostream & s, tl } bool tl2::service5::PerformQuery::read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result) { - return tl2::details::Service5PerformQueryReadResult(s, *this, result); + auto read_result = tl2::details::Service5PerformQueryReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service5::PerformQuery::write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result) { - return tl2::details::Service5PerformQueryWriteResult(s, *this, result); + auto write_result = tl2::details::Service5PerformQueryWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service5::Query::write_json(std::ostream& s)const { @@ -390,21 +422,25 @@ bool tl2::service5::Query::write_json(std::ostream& s)const { bool tl2::service5::Query::read(::basictl::tl_istream & s) { if (!::tl2::details::Service5QueryRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::Query::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service5QueryWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::Query::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service5QueryReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::Query::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service5QueryWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -463,10 +499,18 @@ bool tl2::details::Service5QueryWriteResult(::basictl::tl_ostream & s, tl2::serv } bool tl2::service5::Query::read_result(::basictl::tl_istream & s, ::tl2::service5::Output & result) { - return tl2::details::Service5QueryReadResult(s, *this, result); + auto read_result = tl2::details::Service5QueryReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service5::Query::write_result(::basictl::tl_ostream & s, ::tl2::service5::Output & result) { - return tl2::details::Service5QueryWriteResult(s, *this, result); + auto write_result = tl2::details::Service5QueryWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service5::StringOutput::write_json(std::ostream& s)const { @@ -476,21 +520,25 @@ bool tl2::service5::StringOutput::write_json(std::ostream& s)const { bool tl2::service5::StringOutput::read(::basictl::tl_istream & s) { if (!::tl2::details::Service5StringOutputRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::StringOutput::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service5StringOutputWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::StringOutput::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service5StringOutputReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service5::StringOutput::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service5StringOutputWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/details.cpp index 7418c918..f5e6cc63 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tl/service6/details.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/service6/details.cpp @@ -88,21 +88,25 @@ bool tl2::service6::Error::write_json(std::ostream& s)const { bool tl2::service6::Error::read(::basictl::tl_istream & s) { if (!::tl2::details::Service6ErrorRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::Error::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service6ErrorWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::Error::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service6ErrorReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::Error::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service6ErrorWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -147,21 +151,25 @@ bool tl2::service6::FindResultRow::write_json(std::ostream& s)const { bool tl2::service6::FindResultRow::read(::basictl::tl_istream & s) { if (!::tl2::details::Service6FindResultRowRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::FindResultRow::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service6FindResultRowWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::FindResultRow::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service6FindResultRowReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::FindResultRow::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service6FindResultRowWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -206,21 +214,25 @@ bool tl2::service6::FindWithBoundsResult::write_json(std::ostream& s)const { bool tl2::service6::FindWithBoundsResult::read(::basictl::tl_istream & s) { if (!::tl2::details::Service6FindWithBoundsResultRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::FindWithBoundsResult::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service6FindWithBoundsResultWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::FindWithBoundsResult::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service6FindWithBoundsResultReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::FindWithBoundsResult::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service6FindWithBoundsResultWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -265,21 +277,25 @@ bool tl2::service6::MultiFind::write_json(std::ostream& s)const { bool tl2::service6::MultiFind::read(::basictl::tl_istream & s) { if (!::tl2::details::Service6MultiFindRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::MultiFind::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service6MultiFindWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::MultiFind::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service6MultiFindReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::MultiFind::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service6MultiFindWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -353,10 +369,18 @@ bool tl2::details::Service6MultiFindWriteResult(::basictl::tl_ostream & s, tl2:: } bool tl2::service6::MultiFind::read_result(::basictl::tl_istream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> & result) { - return tl2::details::Service6MultiFindReadResult(s, *this, result); + auto read_result = tl2::details::Service6MultiFindReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service6::MultiFind::write_result(::basictl::tl_ostream & s, std::vector<::tl2::Either<::tl2::service6::Error, std::vector<::tl2::service6::FindResultRow>>> & result) { - return tl2::details::Service6MultiFindWriteResult(s, *this, result); + auto write_result = tl2::details::Service6MultiFindWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::service6::MultiFindWithBounds::write_json(std::ostream& s)const { @@ -366,21 +390,25 @@ bool tl2::service6::MultiFindWithBounds::write_json(std::ostream& s)const { bool tl2::service6::MultiFindWithBounds::read(::basictl::tl_istream & s) { if (!::tl2::details::Service6MultiFindWithBoundsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::MultiFindWithBounds::write(::basictl::tl_ostream & s)const { if (!::tl2::details::Service6MultiFindWithBoundsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::MultiFindWithBounds::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::Service6MultiFindWithBoundsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::service6::MultiFindWithBounds::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::Service6MultiFindWithBoundsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -430,8 +458,16 @@ bool tl2::details::Service6MultiFindWithBoundsWriteResult(::basictl::tl_ostream } bool tl2::service6::MultiFindWithBounds::read_result(::basictl::tl_istream & s, std::vector<::tl2::Either>> & result) { - return tl2::details::Service6MultiFindWithBoundsReadResult(s, *this, result); + auto read_result = tl2::details::Service6MultiFindWithBoundsReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::service6::MultiFindWithBounds::write_result(::basictl::tl_ostream & s, std::vector<::tl2::Either>> & result) { - return tl2::details::Service6MultiFindWithBoundsWriteResult(s, *this, result); + auto write_result = tl2::details::Service6MultiFindWithBoundsWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/details.cpp index eebf018e..0bb05aeb 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/details.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tasks/details.cpp @@ -63,21 +63,25 @@ bool tl2::tasks::AddTask::write_json(std::ostream& s)const { bool tl2::tasks::AddTask::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksAddTaskRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::AddTask::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksAddTaskWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::AddTask::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksAddTaskReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::AddTask::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksAddTaskWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -149,10 +153,18 @@ bool tl2::details::TasksAddTaskWriteResult(::basictl::tl_ostream & s, tl2::tasks } bool tl2::tasks::AddTask::read_result(::basictl::tl_istream & s, int64_t & result) { - return tl2::details::TasksAddTaskReadResult(s, *this, result); + auto read_result = tl2::details::TasksAddTaskReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::tasks::AddTask::write_result(::basictl::tl_ostream & s, int64_t & result) { - return tl2::details::TasksAddTaskWriteResult(s, *this, result); + auto write_result = tl2::details::TasksAddTaskWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::tasks::CronTask::write_json(std::ostream& s)const { @@ -162,21 +174,25 @@ bool tl2::tasks::CronTask::write_json(std::ostream& s)const { bool tl2::tasks::CronTask::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksCronTaskRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::CronTask::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksCronTaskWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::CronTask::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksCronTaskReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::CronTask::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksCronTaskWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -252,21 +268,25 @@ bool tl2::tasks::CronTaskWithId::write_json(std::ostream& s)const { bool tl2::tasks::CronTaskWithId::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksCronTaskWithIdRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::CronTaskWithId::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksCronTaskWithIdWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::CronTaskWithId::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksCronTaskWithIdReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::CronTaskWithId::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksCronTaskWithIdWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -333,21 +353,25 @@ bool tl2::tasks::CronTime::write_json(std::ostream& s)const { bool tl2::tasks::CronTime::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksCronTimeRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::CronTime::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksCronTimeWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::CronTime::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksCronTimeReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::CronTime::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksCronTimeWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -496,21 +520,25 @@ bool tl2::tasks::GetAnyTask::write_json(std::ostream& s)const { bool tl2::tasks::GetAnyTask::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksGetAnyTaskRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::GetAnyTask::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksGetAnyTaskWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::GetAnyTask::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksGetAnyTaskReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::GetAnyTask::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksGetAnyTaskWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -550,10 +578,18 @@ bool tl2::details::TasksGetAnyTaskWriteResult(::basictl::tl_ostream & s, tl2::ta } bool tl2::tasks::GetAnyTask::read_result(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo> & result) { - return tl2::details::TasksGetAnyTaskReadResult(s, *this, result); + auto read_result = tl2::details::TasksGetAnyTaskReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::tasks::GetAnyTask::write_result(::basictl::tl_ostream & s, std::optional<::tl2::tasks::TaskInfo> & result) { - return tl2::details::TasksGetAnyTaskWriteResult(s, *this, result); + auto write_result = tl2::details::TasksGetAnyTaskWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::tasks::GetQueueSize::write_json(std::ostream& s)const { @@ -563,21 +599,25 @@ bool tl2::tasks::GetQueueSize::write_json(std::ostream& s)const { bool tl2::tasks::GetQueueSize::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksGetQueueSizeRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::GetQueueSize::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksGetQueueSizeWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::GetQueueSize::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksGetQueueSizeReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::GetQueueSize::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksGetQueueSizeWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -649,10 +689,18 @@ bool tl2::details::TasksGetQueueSizeWriteResult(::basictl::tl_ostream & s, tl2:: } bool tl2::tasks::GetQueueSize::read_result(::basictl::tl_istream & s, ::tl2::tasks::QueueStats & result) { - return tl2::details::TasksGetQueueSizeReadResult(s, *this, result); + auto read_result = tl2::details::TasksGetQueueSizeReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::tasks::GetQueueSize::write_result(::basictl::tl_ostream & s, ::tl2::tasks::QueueStats & result) { - return tl2::details::TasksGetQueueSizeWriteResult(s, *this, result); + auto write_result = tl2::details::TasksGetQueueSizeWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::tasks::GetQueueTypes::write_json(std::ostream& s)const { @@ -662,21 +710,25 @@ bool tl2::tasks::GetQueueTypes::write_json(std::ostream& s)const { bool tl2::tasks::GetQueueTypes::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksGetQueueTypesRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::GetQueueTypes::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksGetQueueTypesWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::GetQueueTypes::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksGetQueueTypesReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::GetQueueTypes::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksGetQueueTypesWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -739,10 +791,18 @@ bool tl2::details::TasksGetQueueTypesWriteResult(::basictl::tl_ostream & s, tl2: } bool tl2::tasks::GetQueueTypes::read_result(::basictl::tl_istream & s, std::vector<::tl2::tasks::QueueTypeInfo> & result) { - return tl2::details::TasksGetQueueTypesReadResult(s, *this, result); + auto read_result = tl2::details::TasksGetQueueTypesReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::tasks::GetQueueTypes::write_result(::basictl::tl_ostream & s, std::vector<::tl2::tasks::QueueTypeInfo> & result) { - return tl2::details::TasksGetQueueTypesWriteResult(s, *this, result); + auto write_result = tl2::details::TasksGetQueueTypesWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::tasks::GetTaskFromQueue::write_json(std::ostream& s)const { @@ -752,21 +812,25 @@ bool tl2::tasks::GetTaskFromQueue::write_json(std::ostream& s)const { bool tl2::tasks::GetTaskFromQueue::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksGetTaskFromQueueRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::GetTaskFromQueue::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksGetTaskFromQueueWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::GetTaskFromQueue::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksGetTaskFromQueueReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::GetTaskFromQueue::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksGetTaskFromQueueWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -827,10 +891,18 @@ bool tl2::details::TasksGetTaskFromQueueWriteResult(::basictl::tl_ostream & s, t } bool tl2::tasks::GetTaskFromQueue::read_result(::basictl::tl_istream & s, std::optional<::tl2::tasks::TaskInfo> & result) { - return tl2::details::TasksGetTaskFromQueueReadResult(s, *this, result); + auto read_result = tl2::details::TasksGetTaskFromQueueReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::tasks::GetTaskFromQueue::write_result(::basictl::tl_ostream & s, std::optional<::tl2::tasks::TaskInfo> & result) { - return tl2::details::TasksGetTaskFromQueueWriteResult(s, *this, result); + auto write_result = tl2::details::TasksGetTaskFromQueueWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::tasks::QueueStats::write_json(std::ostream& s, uint32_t nat_fields_mask)const { @@ -840,21 +912,25 @@ bool tl2::tasks::QueueStats::write_json(std::ostream& s, uint32_t nat_fields_mas bool tl2::tasks::QueueStats::read(::basictl::tl_istream & s, uint32_t nat_fields_mask) { if (!::tl2::details::TasksQueueStatsRead(s, *this, nat_fields_mask)) { return false; } + s.last_release(); return true; } bool tl2::tasks::QueueStats::write(::basictl::tl_ostream & s, uint32_t nat_fields_mask)const { if (!::tl2::details::TasksQueueStatsWrite(s, *this, nat_fields_mask)) { return false; } + s.last_release(); return true; } bool tl2::tasks::QueueStats::read_boxed(::basictl::tl_istream & s, uint32_t nat_fields_mask) { if (!::tl2::details::TasksQueueStatsReadBoxed(s, *this, nat_fields_mask)) { return false; } + s.last_release(); return true; } bool tl2::tasks::QueueStats::write_boxed(::basictl::tl_ostream & s, uint32_t nat_fields_mask)const { if (!::tl2::details::TasksQueueStatsWriteBoxed(s, *this, nat_fields_mask)) { return false; } + s.last_release(); return true; } @@ -941,21 +1017,25 @@ bool tl2::tasks::QueueTypeInfo::write_json(std::ostream& s)const { bool tl2::tasks::QueueTypeInfo::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksQueueTypeInfoRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::QueueTypeInfo::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksQueueTypeInfoWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::QueueTypeInfo::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksQueueTypeInfoReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::QueueTypeInfo::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksQueueTypeInfoWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1020,21 +1100,25 @@ bool tl2::tasks::QueueTypeSettings::write_json(std::ostream& s)const { bool tl2::tasks::QueueTypeSettings::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksQueueTypeSettingsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::QueueTypeSettings::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksQueueTypeSettingsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::QueueTypeSettings::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksQueueTypeSettingsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::QueueTypeSettings::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksQueueTypeSettingsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1234,21 +1318,25 @@ bool tl2::tasks::QueueTypeStats::write_json(std::ostream& s)const { bool tl2::tasks::QueueTypeStats::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksQueueTypeStatsRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::QueueTypeStats::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksQueueTypeStatsWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::QueueTypeStats::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksQueueTypeStatsReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::QueueTypeStats::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksQueueTypeStatsWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1363,21 +1451,25 @@ bool tl2::tasks::Task::write_json(std::ostream& s)const { bool tl2::tasks::Task::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksTaskRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::Task::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksTaskWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::Task::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksTaskReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::Task::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksTaskWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1525,21 +1617,25 @@ bool tl2::tasks::TaskInfo::write_json(std::ostream& s)const { bool tl2::tasks::TaskInfo::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksTaskInfoRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskInfo::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksTaskInfoWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskInfo::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksTaskInfoReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskInfo::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksTaskInfoWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1698,21 +1794,25 @@ bool tl2::tasks::TaskStatusInProgress::write_json(std::ostream& s)const { bool tl2::tasks::TaskStatusInProgress::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksTaskStatusInProgressRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskStatusInProgress::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksTaskStatusInProgressWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskStatusInProgress::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksTaskStatusInProgressReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskStatusInProgress::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksTaskStatusInProgressWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1749,21 +1849,25 @@ bool tl2::tasks::TaskStatusNotCurrentlyInEngine::write_json(std::ostream& s)cons bool tl2::tasks::TaskStatusNotCurrentlyInEngine::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskStatusNotCurrentlyInEngine::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskStatusNotCurrentlyInEngine::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskStatusNotCurrentlyInEngine::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksTaskStatusNotCurrentlyInEngineWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1800,21 +1904,25 @@ bool tl2::tasks::TaskStatusScheduled::write_json(std::ostream& s)const { bool tl2::tasks::TaskStatusScheduled::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksTaskStatusScheduledRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskStatusScheduled::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksTaskStatusScheduledWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskStatusScheduled::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksTaskStatusScheduledReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskStatusScheduled::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksTaskStatusScheduledWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -1851,21 +1959,25 @@ bool tl2::tasks::TaskStatusWaiting::write_json(std::ostream& s)const { bool tl2::tasks::TaskStatusWaiting::read(::basictl::tl_istream & s) { if (!::tl2::details::TasksTaskStatusWaitingRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskStatusWaiting::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksTaskStatusWaitingWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskStatusWaiting::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TasksTaskStatusWaitingReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tasks::TaskStatusWaiting::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TasksTaskStatusWaitingWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/details.cpp index fae6df2c..66e7f2b1 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/details.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/tree_stats/details.cpp @@ -108,21 +108,25 @@ bool tl2::tree_stats::ObjectLimitValueLong::write_json(std::ostream& s)const { bool tl2::tree_stats::ObjectLimitValueLong::read(::basictl::tl_istream & s) { if (!::tl2::details::TreeStatsObjectLimitValueLongRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tree_stats::ObjectLimitValueLong::write(::basictl::tl_ostream & s)const { if (!::tl2::details::TreeStatsObjectLimitValueLongWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tree_stats::ObjectLimitValueLong::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::TreeStatsObjectLimitValueLongReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::tree_stats::ObjectLimitValueLong::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::TreeStatsObjectLimitValueLongWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } diff --git a/internal/tlcodegen/test/gen/schema_cpp/tl/unique/details.cpp b/internal/tlcodegen/test/gen/schema_cpp/tl/unique/details.cpp index f51ea7f6..309cd206 100644 --- a/internal/tlcodegen/test/gen/schema_cpp/tl/unique/details.cpp +++ b/internal/tlcodegen/test/gen/schema_cpp/tl/unique/details.cpp @@ -10,21 +10,25 @@ bool tl2::unique::Get::write_json(std::ostream& s)const { bool tl2::unique::Get::read(::basictl::tl_istream & s) { if (!::tl2::details::UniqueGetRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::unique::Get::write(::basictl::tl_ostream & s)const { if (!::tl2::details::UniqueGetWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::unique::Get::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::UniqueGetReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::unique::Get::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::UniqueGetWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -72,10 +76,18 @@ bool tl2::details::UniqueGetWriteResult(::basictl::tl_ostream & s, tl2::unique:: } bool tl2::unique::Get::read_result(::basictl::tl_istream & s, std::optional & result) { - return tl2::details::UniqueGetReadResult(s, *this, result); + auto read_result = tl2::details::UniqueGetReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::unique::Get::write_result(::basictl::tl_ostream & s, std::optional & result) { - return tl2::details::UniqueGetWriteResult(s, *this, result); + auto write_result = tl2::details::UniqueGetWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } bool tl2::unique::StringToInt::write_json(std::ostream& s)const { @@ -85,21 +97,25 @@ bool tl2::unique::StringToInt::write_json(std::ostream& s)const { bool tl2::unique::StringToInt::read(::basictl::tl_istream & s) { if (!::tl2::details::UniqueStringToIntRead(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::unique::StringToInt::write(::basictl::tl_ostream & s)const { if (!::tl2::details::UniqueStringToIntWrite(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::unique::StringToInt::read_boxed(::basictl::tl_istream & s) { if (!::tl2::details::UniqueStringToIntReadBoxed(s, *this)) { return false; } + s.last_release(); return true; } bool tl2::unique::StringToInt::write_boxed(::basictl::tl_ostream & s)const { if (!::tl2::details::UniqueStringToIntWriteBoxed(s, *this)) { return false; } + s.last_release(); return true; } @@ -149,8 +165,16 @@ bool tl2::details::UniqueStringToIntWriteResult(::basictl::tl_ostream & s, tl2:: } bool tl2::unique::StringToInt::read_result(::basictl::tl_istream & s, int32_t & result) { - return tl2::details::UniqueStringToIntReadResult(s, *this, result); + auto read_result = tl2::details::UniqueStringToIntReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool tl2::unique::StringToInt::write_result(::basictl::tl_ostream & s, int32_t & result) { - return tl2::details::UniqueStringToIntWriteResult(s, *this, result); + auto write_result = tl2::details::UniqueStringToIntWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } diff --git a/internal/tlcodegen/type_rw_struct_cpp.go b/internal/tlcodegen/type_rw_struct_cpp.go index 63098910..ea149ab2 100644 --- a/internal/tlcodegen/type_rw_struct_cpp.go +++ b/internal/tlcodegen/type_rw_struct_cpp.go @@ -332,11 +332,13 @@ bool %[5]s::write_json(std::ostream& s%[1]s)const { bool %[5]s::read(::basictl::tl_istream & s%[1]s) { %[3]s + s.last_release(); return true; } bool %[5]s::write(::basictl::tl_ostream & s%[1]s)const { %[4]s + s.last_release(); return true; } `, @@ -351,11 +353,13 @@ bool %[5]s::write(::basictl::tl_ostream & s%[1]s)const { cppDet.WriteString(fmt.Sprintf(` bool %[5]s::read_boxed(::basictl::tl_istream & s%[1]s) { %[3]s + s.last_release(); return true; } bool %[5]s::write_boxed(::basictl::tl_ostream & s%[1]s)const { %[4]s + s.last_release(); return true; } `, @@ -440,10 +444,18 @@ bool %[8]s::%[6]sWriteResult(::basictl::tl_ostream & s, %[2]s& item, %[1]s& resu } bool %[2]s::read_result(::basictl::tl_istream & s, %[1]s & result) { - return %[8]s::%[6]sReadResult(s, *this, result); + auto read_result = %[8]s::%[6]sReadResult(s, *this, result); + if (read_result) { + s.last_release(); + } + return read_result; } bool %[2]s::write_result(::basictl::tl_ostream & s, %[1]s & result) { - return %[8]s::%[6]sWriteResult(s, *this, result); + auto write_result = %[8]s::%[6]sWriteResult(s, *this, result); + if (write_result) { + s.last_release(); + } + return write_result; } `, resultType, From 2df4a588a7c78bf62625427a9f1e49545ee2a8a6 Mon Sep 17 00:00:00 2001 From: Grigory Buteyko Date: Thu, 22 Aug 2024 17:08:27 +0300 Subject: [PATCH 12/38] default timeout in tl clients --- internal/tlcodegen/qt_namespace.qtpl | 7 ++++- internal/tlcodegen/qt_namespace.qtpl.go | 7 ++++- .../tlcodegen/test/gen/schema/meta/meta.go | 30 +++++-------------- 3 files changed, 19 insertions(+), 25 deletions(-) diff --git a/internal/tlcodegen/qt_namespace.qtpl b/internal/tlcodegen/qt_namespace.qtpl index 8ead0025..9afca9bb 100644 --- a/internal/tlcodegen/qt_namespace.qtpl +++ b/internal/tlcodegen/qt_namespace.qtpl @@ -10,6 +10,7 @@ package {%s= gen.GlobalPackageName + name %} import ( {%- if gen.options.GenerateRPCCode && anyFunctions -%} "context" + "time" {%q= gen.options.BasicRPCPath %} {%q= gen.BasicPackageNameFull %} @@ -34,7 +35,8 @@ type Client struct { Client *rpc.Client Network string // should be either "tcp4" or "unix" Address string - ActorID int64 // should be non-zero when using rpc-proxy + ActorID int64 // should be >0 for routing via rpc-proxy + Timeout time.Time // used if not set in extra or ctx } {%= writeClientsCode(gen.GlobalPackageName, namespace.types, directImports, ourTypes) %} @@ -122,6 +124,9 @@ func (c *Client) {%s= typeString %}(ctx context.Context, args {%s= typeString %} if extra != nil { req.Extra = *extra } + if _, ok := ctx.Deadline(); !ok { + rpc.UpdateExtraTimeout(&req.Extra, c.Timeout) + } req.Body, err = args.WriteBoxedGeneral(req.Body) if err != nil { return internal.ErrorClientWrite("{%s= tlName %}", err) diff --git a/internal/tlcodegen/qt_namespace.qtpl.go b/internal/tlcodegen/qt_namespace.qtpl.go index a5a90e5e..82977be9 100644 --- a/internal/tlcodegen/qt_namespace.qtpl.go +++ b/internal/tlcodegen/qt_namespace.qtpl.go @@ -29,6 +29,7 @@ import ( `) if gen.options.GenerateRPCCode && anyFunctions { qw422016.N().S(` "context" + "time" `) qw422016.N().Q(gen.options.BasicRPCPath) @@ -68,7 +69,8 @@ type Client struct { Client *rpc.Client Network string // should be either "tcp4" or "unix" Address string - ActorID int64 // should be non-zero when using rpc-proxy + ActorID int64 // should be >0 for routing via rpc-proxy + Timeout time.Time // used if not set in extra or ctx } `) @@ -243,6 +245,9 @@ func streamwriteClientCode(qw422016 *qt422016.Writer, bytesVersion bool, shortPa if extra != nil { req.Extra = *extra } + if _, ok := ctx.Deadline(); !ok { + rpc.UpdateExtraTimeout(&req.Extra, c.Timeout) + } req.Body, err = args.WriteBoxedGeneral(req.Body) if err != nil { return internal.ErrorClientWrite("`) diff --git a/internal/tlcodegen/test/gen/schema/meta/meta.go b/internal/tlcodegen/test/gen/schema/meta/meta.go index 6c68fb63..9a0f7238 100644 --- a/internal/tlcodegen/test/gen/schema/meta/meta.go +++ b/internal/tlcodegen/test/gen/schema/meta/meta.go @@ -91,14 +91,14 @@ func CreateObjectFromName(name string) Object { } func CreateFunctionBytes(tag uint32) Function { - if item := FactoryItemByTLTagBytes(tag); item != nil && item.createFunctionBytes != nil { + if item := FactoryItemByTLTag(tag); item != nil && item.createFunctionBytes != nil { return item.createFunctionBytes() } return nil } func CreateObjectBytes(tag uint32) Object { - if item := FactoryItemByTLTagBytes(tag); item != nil && item.createObjectBytes != nil { + if item := FactoryItemByTLTag(tag); item != nil && item.createObjectBytes != nil { return item.createObjectBytes() } return nil @@ -106,7 +106,7 @@ func CreateObjectBytes(tag uint32) Object { // name can be in any of 3 forms "ch_proxy.insert#7cf362ba", "ch_proxy.insert" or "#7cf362ba" func CreateFunctionFromNameBytes(name string) Function { - if item := FactoryItemByTLNameBytes(name); item != nil && item.createFunctionBytes != nil { + if item := FactoryItemByTLName(name); item != nil && item.createFunctionBytes != nil { return item.createFunctionBytes() } return nil @@ -114,7 +114,7 @@ func CreateFunctionFromNameBytes(name string) Function { // name can be in any of 3 forms "ch_proxy.insert#7cf362ba", "ch_proxy.insert" or "#7cf362ba" func CreateObjectFromNameBytes(name string) Object { - if item := FactoryItemByTLNameBytes(name); item != nil && item.createObjectBytes != nil { + if item := FactoryItemByTLName(name); item != nil && item.createObjectBytes != nil { return item.createObjectBytes() } return nil @@ -199,22 +199,10 @@ func FactoryItemByTLName(name string) *TLItem { return itemsByName[name] } -func FactoryItemByTLTagBytes(tag uint32) *TLItem { - return itemsBytesByTag[tag] -} - -func FactoryItemByTLNameBytes(name string) *TLItem { - return itemsBytesByName[name] -} - var itemsByTag = map[uint32]*TLItem{} var itemsByName = map[string]*TLItem{} -var itemsBytesByTag = map[uint32]*TLItem{} - -var itemsBytesByName = map[string]*TLItem{} - func SetGlobalFactoryCreateForFunction(itemTag uint32, createObject func() Object, createFunction func() Function, createFunctionLong func() Function) { item := itemsByTag[itemTag] if item == nil { @@ -242,7 +230,7 @@ func SetGlobalFactoryCreateForEnumElement(itemTag uint32) { } func SetGlobalFactoryCreateForFunctionBytes(itemTag uint32, createObject func() Object, createFunction func() Function, createFunctionLong func() Function) { - item := itemsBytesByTag[itemTag] + item := itemsByTag[itemTag] if item == nil { panic(fmt.Sprintf("factory cannot find function tag #%08x to set", itemTag)) } @@ -252,7 +240,7 @@ func SetGlobalFactoryCreateForFunctionBytes(itemTag uint32, createObject func() } func SetGlobalFactoryCreateForObjectBytes(itemTag uint32, createObject func() Object) { - item := itemsBytesByTag[itemTag] + item := itemsByTag[itemTag] if item == nil { panic(fmt.Sprintf("factory cannot find item tag #%08x to set", itemTag)) } @@ -260,7 +248,7 @@ func SetGlobalFactoryCreateForObjectBytes(itemTag uint32, createObject func() Ob } func SetGlobalFactoryCreateForEnumElementBytes(itemTag uint32) { - item := itemsBytesByTag[itemTag] + item := itemsByTag[itemTag] if item == nil { panic(fmt.Sprintf("factory cannot find enum tag #%08x to set", itemTag)) } @@ -288,10 +276,6 @@ func fillObject(n1 string, n2 string, item *TLItem) { itemsByName[item.tlName] = item itemsByName[n1] = item itemsByName[n2] = item - itemsBytesByTag[item.tag] = item - itemsBytesByName[item.tlName] = item - itemsBytesByName[n1] = item - itemsBytesByName[n2] = item item.createObject = pleaseImportFactoryObject item.createObjectBytes = pleaseImportFactoryBytesObject // code below is as fast, but allocates some extra strings which are already in binary const segment due to JSON code From 0dbeed15283f63c45591de36d79c57046b10f1d8 Mon Sep 17 00:00:00 2001 From: Grigory Buteyko Date: Thu, 22 Aug 2024 17:27:19 +0300 Subject: [PATCH 13/38] tiny fix --- internal/tlcodegen/qt_namespace.qtpl | 4 ++-- internal/tlcodegen/qt_namespace.qtpl.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/tlcodegen/qt_namespace.qtpl b/internal/tlcodegen/qt_namespace.qtpl index 9afca9bb..300b215c 100644 --- a/internal/tlcodegen/qt_namespace.qtpl +++ b/internal/tlcodegen/qt_namespace.qtpl @@ -35,8 +35,8 @@ type Client struct { Client *rpc.Client Network string // should be either "tcp4" or "unix" Address string - ActorID int64 // should be >0 for routing via rpc-proxy - Timeout time.Time // used if not set in extra or ctx + ActorID int64 // should be >0 for routing via rpc-proxy + Timeout time.Duration // used if not set in extra or ctx } {%= writeClientsCode(gen.GlobalPackageName, namespace.types, directImports, ourTypes) %} diff --git a/internal/tlcodegen/qt_namespace.qtpl.go b/internal/tlcodegen/qt_namespace.qtpl.go index 82977be9..8b703c34 100644 --- a/internal/tlcodegen/qt_namespace.qtpl.go +++ b/internal/tlcodegen/qt_namespace.qtpl.go @@ -69,8 +69,8 @@ type Client struct { Client *rpc.Client Network string // should be either "tcp4" or "unix" Address string - ActorID int64 // should be >0 for routing via rpc-proxy - Timeout time.Time // used if not set in extra or ctx + ActorID int64 // should be >0 for routing via rpc-proxy + Timeout time.Duration // used if not set in extra or ctx } `) From ba506b70cf70bd4a77f2bc44975ca9ed7050fad2 Mon Sep 17 00:00:00 2001 From: Grigory Buteyko Date: Thu, 22 Aug 2024 17:28:32 +0300 Subject: [PATCH 14/38] tiny tweak --- internal/tlcodegen/qt_namespace.qtpl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/tlcodegen/qt_namespace.qtpl b/internal/tlcodegen/qt_namespace.qtpl index 300b215c..960aaa8a 100644 --- a/internal/tlcodegen/qt_namespace.qtpl +++ b/internal/tlcodegen/qt_namespace.qtpl @@ -124,9 +124,9 @@ func (c *Client) {%s= typeString %}(ctx context.Context, args {%s= typeString %} if extra != nil { req.Extra = *extra } - if _, ok := ctx.Deadline(); !ok { - rpc.UpdateExtraTimeout(&req.Extra, c.Timeout) - } + if _, ok := ctx.Deadline(); !ok { + rpc.UpdateExtraTimeout(&req.Extra, c.Timeout) + } req.Body, err = args.WriteBoxedGeneral(req.Body) if err != nil { return internal.ErrorClientWrite("{%s= tlName %}", err) From 7d3b7c4ddac3899228a27bd01ca89e6a55e7dde8 Mon Sep 17 00:00:00 2001 From: Grigory Buteyko Date: Thu, 22 Aug 2024 17:29:00 +0300 Subject: [PATCH 15/38] tiny twaks --- internal/tlcodegen/qt_namespace.qtpl.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/tlcodegen/qt_namespace.qtpl.go b/internal/tlcodegen/qt_namespace.qtpl.go index 8b703c34..55b5270d 100644 --- a/internal/tlcodegen/qt_namespace.qtpl.go +++ b/internal/tlcodegen/qt_namespace.qtpl.go @@ -245,9 +245,9 @@ func streamwriteClientCode(qw422016 *qt422016.Writer, bytesVersion bool, shortPa if extra != nil { req.Extra = *extra } - if _, ok := ctx.Deadline(); !ok { - rpc.UpdateExtraTimeout(&req.Extra, c.Timeout) - } + if _, ok := ctx.Deadline(); !ok { + rpc.UpdateExtraTimeout(&req.Extra, c.Timeout) + } req.Body, err = args.WriteBoxedGeneral(req.Body) if err != nil { return internal.ErrorClientWrite("`) From 7c8a3cb8a427de1c89bef1896e6efd21f70563f4 Mon Sep 17 00:00:00 2001 From: Grigory Buteyko Date: Thu, 22 Aug 2024 17:32:31 +0300 Subject: [PATCH 16/38] linter happy --- internal/tlast/tlgen_tlo.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/tlast/tlgen_tlo.go b/internal/tlast/tlgen_tlo.go index 17378d0d..38cdb5a2 100644 --- a/internal/tlast/tlgen_tlo.go +++ b/internal/tlast/tlgen_tlo.go @@ -185,7 +185,6 @@ func (tl TL) GenerateTLO(version uint32) (tls.SchemaV4, error) { } } var mc paramScope - left := tls.CombinatorLeft{} args := make([]tls.Arg, 0, len(c.TemplateArguments)+len(c.Fields)) for i, ta := range c.TemplateArguments { var tag int32 @@ -224,7 +223,7 @@ func (tl TL) GenerateTLO(version uint32) (tls.SchemaV4, error) { mc.append(f.FieldName, f.FieldType.Type.String(), len(c.TemplateArguments)+i) } } - left = tls.CombinatorLeft0{ + left := tls.CombinatorLeft0{ ArgsNum: uint32(len(args)), Args: args, }.AsUnion() From d7261bb228d9ad22d7ef6486c52fe9c7b08bd4bd Mon Sep 17 00:00:00 2001 From: Grigory Buteyko Date: Thu, 22 Aug 2024 19:14:29 +0300 Subject: [PATCH 17/38] slightly modified logic of tinestamp --- internal/tlcodegen/qt_namespace.qtpl | 6 ++---- internal/tlcodegen/qt_namespace.qtpl.go | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/internal/tlcodegen/qt_namespace.qtpl b/internal/tlcodegen/qt_namespace.qtpl index 960aaa8a..472ac02f 100644 --- a/internal/tlcodegen/qt_namespace.qtpl +++ b/internal/tlcodegen/qt_namespace.qtpl @@ -36,7 +36,7 @@ type Client struct { Network string // should be either "tcp4" or "unix" Address string ActorID int64 // should be >0 for routing via rpc-proxy - Timeout time.Duration // used if not set in extra or ctx + Timeout time.Duration // set to extra.CustomTimeoutMs, if not already set } {%= writeClientsCode(gen.GlobalPackageName, namespace.types, directImports, ourTypes) %} @@ -124,9 +124,7 @@ func (c *Client) {%s= typeString %}(ctx context.Context, args {%s= typeString %} if extra != nil { req.Extra = *extra } - if _, ok := ctx.Deadline(); !ok { - rpc.UpdateExtraTimeout(&req.Extra, c.Timeout) - } + rpc.UpdateExtraTimeout(&req.Extra, c.Timeout) req.Body, err = args.WriteBoxedGeneral(req.Body) if err != nil { return internal.ErrorClientWrite("{%s= tlName %}", err) diff --git a/internal/tlcodegen/qt_namespace.qtpl.go b/internal/tlcodegen/qt_namespace.qtpl.go index 55b5270d..32d1e839 100644 --- a/internal/tlcodegen/qt_namespace.qtpl.go +++ b/internal/tlcodegen/qt_namespace.qtpl.go @@ -70,7 +70,7 @@ type Client struct { Network string // should be either "tcp4" or "unix" Address string ActorID int64 // should be >0 for routing via rpc-proxy - Timeout time.Duration // used if not set in extra or ctx + Timeout time.Duration // set to extra.CustomTimeoutMs, if not already set } `) @@ -245,9 +245,7 @@ func streamwriteClientCode(qw422016 *qt422016.Writer, bytesVersion bool, shortPa if extra != nil { req.Extra = *extra } - if _, ok := ctx.Deadline(); !ok { - rpc.UpdateExtraTimeout(&req.Extra, c.Timeout) - } + rpc.UpdateExtraTimeout(&req.Extra, c.Timeout) req.Body, err = args.WriteBoxedGeneral(req.Body) if err != nil { return internal.ErrorClientWrite("`) From 23dc568072c1471563813b14cd06d0ca8bd81e78 Mon Sep 17 00:00:00 2001 From: Grigory Buteyko Date: Sat, 21 Sep 2024 00:47:29 +0300 Subject: [PATCH 18/38] generator and schema version available through meta, new RPC code generated --- internal/tlcodegen/qt_meta.qtpl | 7 +++++- internal/tlcodegen/qt_meta.qtpl.go | 23 +++++++++++++++---- internal/tlcodegen/qt_namespace.qtpl | 6 ++++- internal/tlcodegen/qt_namespace.qtpl.go | 6 ++++- .../tlcodegen/test/gen/cases/meta/meta.go | 5 ++++ .../test/gen/goldmaster/meta/meta.go | 7 ++++++ .../test/gen/goldmaster_nosplit/meta/meta.go | 7 ++++++ internal/tlcodegen/tlgen_go.go | 2 +- 8 files changed, 54 insertions(+), 9 deletions(-) diff --git a/internal/tlcodegen/qt_meta.qtpl b/internal/tlcodegen/qt_meta.qtpl index 1d6b8ac2..c5e5fdcb 100644 --- a/internal/tlcodegen/qt_meta.qtpl +++ b/internal/tlcodegen/qt_meta.qtpl @@ -1,6 +1,6 @@ {%- import "fmt" -%} -{%- func (gen *Gen2) generateMeta() -%} +{%- func (gen *Gen2) generateMeta(tlgenVersion string) -%} {%s= HeaderComment %} {%- code typeWrappers := gen.generatedTypesList-%} package {%s MetaGoPackageName %} @@ -12,6 +12,11 @@ import ( "{%s= gen.options.TLPackageNameFull %}/internal" ) +func SchemaGenerator() string { return {%s= fmt.Sprintf("%#v", tlgenVersion) %} } +func SchemaURL() string { return {%s= fmt.Sprintf("%#v", gen.options.SchemaURL) %} } +func SchemaCommit() string { return {%s= fmt.Sprintf("%#v", gen.options.SchemaCommit) %} } +func SchemaTimestamp() uint32 { return {%v gen.options.SchemaTimestamp %} } + // We can create only types which have zero type arguments and zero nat arguments type Object interface { TLName() string // returns type's TL name. For union, returns constructor name depending on actual union value diff --git a/internal/tlcodegen/qt_meta.qtpl.go b/internal/tlcodegen/qt_meta.qtpl.go index aa3b6025..65bce294 100644 --- a/internal/tlcodegen/qt_meta.qtpl.go +++ b/internal/tlcodegen/qt_meta.qtpl.go @@ -16,7 +16,7 @@ var ( _ = qt422016.AcquireByteBuffer ) -func (gen *Gen2) streamgenerateMeta(qw422016 *qt422016.Writer) { +func (gen *Gen2) streamgenerateMeta(qw422016 *qt422016.Writer, tlgenVersion string) { qw422016.N().S(HeaderComment) qw422016.N().S(` `) @@ -37,6 +37,19 @@ import ( qw422016.N().S(`/internal" ) +func SchemaGenerator() string { return `) + qw422016.N().S(fmt.Sprintf("%#v", tlgenVersion)) + qw422016.N().S(` } +func SchemaURL() string { return `) + qw422016.N().S(fmt.Sprintf("%#v", gen.options.SchemaURL)) + qw422016.N().S(` } +func SchemaCommit() string { return `) + qw422016.N().S(fmt.Sprintf("%#v", gen.options.SchemaCommit)) + qw422016.N().S(` } +func SchemaTimestamp() uint32 { return `) + qw422016.E().V(gen.options.SchemaTimestamp) + qw422016.N().S(` } + // We can create only types which have zero type arguments and zero nat arguments type Object interface { TLName() string // returns type's TL name. For union, returns constructor name depending on actual union value @@ -399,15 +412,15 @@ func init() { `) } -func (gen *Gen2) writegenerateMeta(qq422016 qtio422016.Writer) { +func (gen *Gen2) writegenerateMeta(qq422016 qtio422016.Writer, tlgenVersion string) { qw422016 := qt422016.AcquireWriter(qq422016) - gen.streamgenerateMeta(qw422016) + gen.streamgenerateMeta(qw422016, tlgenVersion) qt422016.ReleaseWriter(qw422016) } -func (gen *Gen2) generateMeta() string { +func (gen *Gen2) generateMeta(tlgenVersion string) string { qb422016 := qt422016.AcquireByteBuffer() - gen.writegenerateMeta(qb422016) + gen.writegenerateMeta(qb422016, tlgenVersion) qs422016 := string(qb422016.B) qt422016.ReleaseByteBuffer(qb422016) return qs422016 diff --git a/internal/tlcodegen/qt_namespace.qtpl b/internal/tlcodegen/qt_namespace.qtpl index 472ac02f..cf8cc28e 100644 --- a/internal/tlcodegen/qt_namespace.qtpl +++ b/internal/tlcodegen/qt_namespace.qtpl @@ -122,7 +122,8 @@ func (c *Client) {%s= typeString %}(ctx context.Context, args {%s= typeString %} {%- endif -%} req.FunctionName = "{%s= tlName %}" if extra != nil { - req.Extra = *extra + req.Extra = extra.RequestExtra + req.FailIfNoConnection = extra.FailIfNoConnection } rpc.UpdateExtraTimeout(&req.Extra, c.Timeout) req.Body, err = args.WriteBoxedGeneral(req.Body) @@ -130,6 +131,9 @@ func (c *Client) {%s= typeString %}(ctx context.Context, args {%s= typeString %} return internal.ErrorClientWrite("{%s= tlName %}", err) } resp, err := c.Client.Do(ctx, c.Network, c.Address, req) + if extra != nil && resp != nil { + extra.ResponseExtra = resp.Extra + } defer c.Client.PutResponse(resp) if err != nil { return internal.ErrorClientDo("{%s= tlName %}", c.Network, c.ActorID, c.Address, err) diff --git a/internal/tlcodegen/qt_namespace.qtpl.go b/internal/tlcodegen/qt_namespace.qtpl.go index 32d1e839..c80102d7 100644 --- a/internal/tlcodegen/qt_namespace.qtpl.go +++ b/internal/tlcodegen/qt_namespace.qtpl.go @@ -243,7 +243,8 @@ func streamwriteClientCode(qw422016 *qt422016.Writer, bytesVersion bool, shortPa qw422016.N().S(tlName) qw422016.N().S(`" if extra != nil { - req.Extra = *extra + req.Extra = extra.RequestExtra + req.FailIfNoConnection = extra.FailIfNoConnection } rpc.UpdateExtraTimeout(&req.Extra, c.Timeout) req.Body, err = args.WriteBoxedGeneral(req.Body) @@ -253,6 +254,9 @@ func streamwriteClientCode(qw422016 *qt422016.Writer, bytesVersion bool, shortPa qw422016.N().S(`", err) } resp, err := c.Client.Do(ctx, c.Network, c.Address, req) + if extra != nil && resp != nil { + extra.ResponseExtra = resp.Extra + } defer c.Client.PutResponse(resp) if err != nil { return internal.ErrorClientDo("`) diff --git a/internal/tlcodegen/test/gen/cases/meta/meta.go b/internal/tlcodegen/test/gen/cases/meta/meta.go index c61eeed2..8276c719 100644 --- a/internal/tlcodegen/test/gen/cases/meta/meta.go +++ b/internal/tlcodegen/test/gen/cases/meta/meta.go @@ -14,6 +14,11 @@ import ( "github.com/vkcom/tl/pkg/basictl" ) +func SchemaGenerator() string { return "(devel)" } +func SchemaURL() string { return "" } +func SchemaCommit() string { return "" } +func SchemaTimestamp() uint32 { return 0 } + // We can create only types which have zero type arguments and zero nat arguments type Object interface { TLName() string // returns type's TL name. For union, returns constructor name depending on actual union value diff --git a/internal/tlcodegen/test/gen/goldmaster/meta/meta.go b/internal/tlcodegen/test/gen/goldmaster/meta/meta.go index 231d21e1..ff04033d 100644 --- a/internal/tlcodegen/test/gen/goldmaster/meta/meta.go +++ b/internal/tlcodegen/test/gen/goldmaster/meta/meta.go @@ -14,6 +14,13 @@ import ( "github.com/vkcom/tl/pkg/basictl" ) +func SchemaGenerator() string { return "(devel)" } +func SchemaURL() string { + return "https://github.com/VKCOM/tl/blob/master/internal/tlcodegen/test/tls/goldmaster.tl" +} +func SchemaCommit() string { return "abcdefgh" } +func SchemaTimestamp() uint32 { return 301822800 } + // We can create only types which have zero type arguments and zero nat arguments type Object interface { TLName() string // returns type's TL name. For union, returns constructor name depending on actual union value diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go index 90f5954a..0fede745 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go @@ -14,6 +14,13 @@ import ( "github.com/vkcom/tl/pkg/basictl" ) +func SchemaGenerator() string { return "(devel)" } +func SchemaURL() string { + return "https://github.com/VKCOM/tl/blob/master/internal/tlcodegen/test/tls/goldmaster.tl" +} +func SchemaCommit() string { return "abcdefgh" } +func SchemaTimestamp() uint32 { return 301822800 } + // We can create only types which have zero type arguments and zero nat arguments type Object interface { TLName() string // returns type's TL name. For union, returns constructor name depending on actual union value diff --git a/internal/tlcodegen/tlgen_go.go b/internal/tlcodegen/tlgen_go.go index 61f1fc83..d1d9238c 100644 --- a/internal/tlcodegen/tlgen_go.go +++ b/internal/tlcodegen/tlgen_go.go @@ -238,7 +238,7 @@ var _ = basictl.NatWrite if err := gen.addCodeFile(filepath.Join(FactoryGoPackageNameBytes, FactoryGoPackageNameBytes+goExt), gen.copyrightText+gen.generateFactoryBytes(sortedNames, directImports)); err != nil { return err } - if err := gen.addCodeFile(filepath.Join(MetaGoPackageName, MetaGoPackageName+goExt), gen.copyrightText+gen.generateMeta()); err != nil { + if err := gen.addCodeFile(filepath.Join(MetaGoPackageName, MetaGoPackageName+goExt), gen.copyrightText+gen.generateMeta(TLGenVersion())); err != nil { return err } filepathName = filepath.Join("internal", "a_tlgen_helpers_code.go") // TODO decollision From 2387f3d69e1dc0d4493bc12943b59d042dea6787 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Mon, 28 Oct 2024 16:03:20 +0300 Subject: [PATCH 19/38] add new feature to meta.Function --- internal/tlcodegen/qt_meta.qtpl | 2 ++ internal/tlcodegen/qt_meta.qtpl.go | 2 ++ internal/tlcodegen/qt_struct.qtpl | 5 +++++ internal/tlcodegen/qt_struct.qtpl.go | 11 ++++++++++- internal/tlcodegen/type_rw.go | 1 + internal/tlcodegen/type_rw_bool.go | 4 ++++ internal/tlcodegen/type_rw_maybe.go | 4 ++++ internal/tlcodegen/type_rw_primitive.go | 4 ++++ internal/tlcodegen/type_rw_struct.go | 9 +++++++++ internal/tlcodegen/type_rw_tuple.go | 4 ++++ internal/tlcodegen/type_rw_union.go | 4 ++++ 11 files changed, 49 insertions(+), 1 deletion(-) diff --git a/internal/tlcodegen/qt_meta.qtpl b/internal/tlcodegen/qt_meta.qtpl index c5e5fdcb..74c312a2 100644 --- a/internal/tlcodegen/qt_meta.qtpl +++ b/internal/tlcodegen/qt_meta.qtpl @@ -44,6 +44,8 @@ type Object interface { type Function interface { Object + ContainsUnionTypesInResult() bool + ReadResultWriteResultJSON(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResult(r) + WriteResultJSON(w). Returns new r, new w, plus error ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResultJSON(r) + WriteResult(w). Returns new r, new w, plus error diff --git a/internal/tlcodegen/qt_meta.qtpl.go b/internal/tlcodegen/qt_meta.qtpl.go index 65bce294..ad104782 100644 --- a/internal/tlcodegen/qt_meta.qtpl.go +++ b/internal/tlcodegen/qt_meta.qtpl.go @@ -81,6 +81,8 @@ type Object interface { type Function interface { Object + ContainsUnionTypesInResult() bool + ReadResultWriteResultJSON(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResult(r) + WriteResultJSON(w). Returns new r, new w, plus error ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResultJSON(r) + WriteResult(w). Returns new r, new w, plus error diff --git a/internal/tlcodegen/qt_struct.qtpl b/internal/tlcodegen/qt_struct.qtpl index b71f76e5..939aae7a 100644 --- a/internal/tlcodegen/qt_struct.qtpl +++ b/internal/tlcodegen/qt_struct.qtpl @@ -744,6 +744,11 @@ vru.replicaState#3d74578e fields_mask:# pre_vote_demote :fields_mask.10?string goName := addBytes(struct_.wr.goGlobalName, bytesVersion) retArg := struct_.ResultType.TypeString2(bytesVersion, directImports, struct_.wr.ins, false, false) -%} + +func (item *{%s= goName %}) ContainsUnionTypesInResult() bool { + return {%v= struct_.ResultType.trw.ContainsUnion() %} +} + func (item *{%s= goName %}) ReadResult(w []byte, ret *{%s= retArg %}) (_ []byte, err error) { {%s= struct_.ResultType.TypeReadingCode(bytesVersion, directImports, struct_.wr.ins, "ret", false, formatNatArgs(struct_.Fields, struct_.ResultNatArgs), true, true) %} } diff --git a/internal/tlcodegen/qt_struct.qtpl.go b/internal/tlcodegen/qt_struct.qtpl.go index 9bf7c849..2385da25 100644 --- a/internal/tlcodegen/qt_struct.qtpl.go +++ b/internal/tlcodegen/qt_struct.qtpl.go @@ -1575,7 +1575,16 @@ func (struct_ *TypeRWStruct) streamfunctionCode(qw422016 *qt422016.Writer, bytes goName := addBytes(struct_.wr.goGlobalName, bytesVersion) retArg := struct_.ResultType.TypeString2(bytesVersion, directImports, struct_.wr.ins, false, false) - qw422016.N().S(`func (item *`) + qw422016.N().S(` +func (item *`) + qw422016.N().S(goName) + qw422016.N().S(`) ContainsUnionTypesInResult() bool { + return `) + qw422016.N().V(struct_.ResultType.trw.ContainsUnion()) + qw422016.N().S(` +} + +func (item *`) qw422016.N().S(goName) qw422016.N().S(`) ReadResult(w []byte, ret *`) qw422016.N().S(retArg) diff --git a/internal/tlcodegen/type_rw.go b/internal/tlcodegen/type_rw.go index 753c86cc..f59b3b08 100644 --- a/internal/tlcodegen/type_rw.go +++ b/internal/tlcodegen/type_rw.go @@ -709,6 +709,7 @@ type TypeRW interface { AllPossibleRecursionProducers() []*TypeRWWrapper AllTypeDependencies(generic, countFunctions bool) []*TypeRWWrapper IsWrappingType() bool + ContainsUnion() bool BeforeCodeGenerationStep1() // during first phase, some wr.trw are nil due to recursive types. So we delay some BeforeCodeGenerationStep2() // during second phase, union fields recursive bit is set diff --git a/internal/tlcodegen/type_rw_bool.go b/internal/tlcodegen/type_rw_bool.go index cf6b578d..fd0c33b7 100644 --- a/internal/tlcodegen/type_rw_bool.go +++ b/internal/tlcodegen/type_rw_bool.go @@ -54,6 +54,10 @@ func (trw *TypeRWBool) IsWrappingType() bool { return true } +func (trw *TypeRWBool) ContainsUnion() bool { + return false +} + func (trw *TypeRWBool) FillRecursiveChildren(visitedNodes map[*TypeRWWrapper]int, generic bool) { } diff --git a/internal/tlcodegen/type_rw_maybe.go b/internal/tlcodegen/type_rw_maybe.go index 0df7ff30..2d84cdce 100644 --- a/internal/tlcodegen/type_rw_maybe.go +++ b/internal/tlcodegen/type_rw_maybe.go @@ -55,6 +55,10 @@ func (trw *TypeRWMaybe) IsWrappingType() bool { return true } +func (trw *TypeRWMaybe) ContainsUnion() bool { + return true +} + func (trw *TypeRWMaybe) FillRecursiveChildren(visitedNodes map[*TypeRWWrapper]int, generic bool) { visitedNodes[trw.wr] = 1 trw.element.t.trw.FillRecursiveChildren(visitedNodes, generic) diff --git a/internal/tlcodegen/type_rw_primitive.go b/internal/tlcodegen/type_rw_primitive.go index 2f3ee4d2..3dec0bab 100644 --- a/internal/tlcodegen/type_rw_primitive.go +++ b/internal/tlcodegen/type_rw_primitive.go @@ -70,6 +70,10 @@ func (trw *TypeRWPrimitive) IsWrappingType() bool { return true } +func (trw *TypeRWPrimitive) ContainsUnion() bool { + return false +} + func (trw *TypeRWPrimitive) FillRecursiveChildren(visitedNodes map[*TypeRWWrapper]int, generic bool) { } diff --git a/internal/tlcodegen/type_rw_struct.go b/internal/tlcodegen/type_rw_struct.go index 3b611002..be5f6a36 100644 --- a/internal/tlcodegen/type_rw_struct.go +++ b/internal/tlcodegen/type_rw_struct.go @@ -185,6 +185,15 @@ func (trw *TypeRWStruct) IsWrappingType() bool { return trw.isUnwrapType() } +func (trw *TypeRWStruct) ContainsUnion() bool { + for _, f := range trw.Fields { + if f.t.trw.ContainsUnion() { + return true + } + } + return false +} + func (trw *TypeRWStruct) FillRecursiveChildren(visitedNodes map[*TypeRWWrapper]int, generic bool) { if visitedNodes[trw.wr] != 0 { return diff --git a/internal/tlcodegen/type_rw_tuple.go b/internal/tlcodegen/type_rw_tuple.go index 8243c24d..0139720a 100644 --- a/internal/tlcodegen/type_rw_tuple.go +++ b/internal/tlcodegen/type_rw_tuple.go @@ -108,6 +108,10 @@ func (trw *TypeRWBrackets) IsWrappingType() bool { return false } +func (trw *TypeRWBrackets) ContainsUnion() bool { + return false +} + func (trw *TypeRWBrackets) BeforeCodeGenerationStep1() { if trw.vectorLike { if ok, isString, kf, vf := isDictionaryElement(trw.element.t); ok { diff --git a/internal/tlcodegen/type_rw_union.go b/internal/tlcodegen/type_rw_union.go index 43268787..30a8ac36 100644 --- a/internal/tlcodegen/type_rw_union.go +++ b/internal/tlcodegen/type_rw_union.go @@ -87,6 +87,10 @@ func (trw *TypeRWUnion) IsWrappingType() bool { return false } +func (trw *TypeRWUnion) ContainsUnion() bool { + return true +} + func (trw *TypeRWUnion) BeforeCodeGenerationStep1() { } From 2abfa2d8584e395e194a1d08db3d25aa98b609c8 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Mon, 28 Oct 2024 16:03:33 +0300 Subject: [PATCH 20/38] updated goldmaster --- internal/tlcodegen/test/gen/cases/meta/meta.go | 2 ++ .../test/gen/goldmaster/internal/tl/tlCall1/call1.go | 4 ++++ .../test/gen/goldmaster/internal/tl/tlCall2/call2.go | 4 ++++ .../test/gen/goldmaster/internal/tl/tlCall3/call3.go | 4 ++++ .../test/gen/goldmaster/internal/tl/tlCall4/call4.go | 4 ++++ .../test/gen/goldmaster/internal/tl/tlCall5/call5.go | 4 ++++ .../test/gen/goldmaster/internal/tl/tlCall6/call6.go | 4 ++++ .../test/gen/goldmaster/internal/tl/tlCall7/call7.go | 4 ++++ .../test/gen/goldmaster/internal/tl/tlCall8/call8.go | 4 ++++ .../test/gen/goldmaster/internal/tl/tlCall9/call9.go | 4 ++++ .../test/gen/goldmaster/internal/tlab/tlAbCall1/ab.call1.go | 4 ++++ .../test/gen/goldmaster/internal/tlab/tlAbCall2/ab.call2.go | 4 ++++ .../test/gen/goldmaster/internal/tlab/tlAbCall3/ab.call3.go | 4 ++++ .../test/gen/goldmaster/internal/tlab/tlAbCall4/ab.call4.go | 4 ++++ .../test/gen/goldmaster/internal/tlab/tlAbCall5/ab.call5.go | 4 ++++ .../test/gen/goldmaster/internal/tlab/tlAbCall6/ab.call6.go | 4 ++++ .../test/gen/goldmaster/internal/tlab/tlAbCall7/ab.call7.go | 4 ++++ .../test/gen/goldmaster/internal/tlab/tlAbCall8/ab.call8.go | 4 ++++ .../test/gen/goldmaster/internal/tlab/tlAbCall9/ab.call9.go | 4 ++++ .../internal/tlservice5/tlService5Insert/service5.insert.go | 4 ++++ .../tlService5LongInsert/service5Long.insert.go | 4 ++++ .../usefulService.getUserEntity.go | 4 ++++ internal/tlcodegen/test/gen/goldmaster/meta/meta.go | 2 ++ .../test/gen/goldmaster_nosplit/internal/ab.call1.go | 4 ++++ .../test/gen/goldmaster_nosplit/internal/ab.call2.go | 4 ++++ .../test/gen/goldmaster_nosplit/internal/ab.call3.go | 4 ++++ .../test/gen/goldmaster_nosplit/internal/ab.call4.go | 4 ++++ .../test/gen/goldmaster_nosplit/internal/ab.call5.go | 4 ++++ .../test/gen/goldmaster_nosplit/internal/ab.call6.go | 4 ++++ .../test/gen/goldmaster_nosplit/internal/ab.call7.go | 4 ++++ .../test/gen/goldmaster_nosplit/internal/ab.call8.go | 4 ++++ .../test/gen/goldmaster_nosplit/internal/ab.call9.go | 4 ++++ .../tlcodegen/test/gen/goldmaster_nosplit/internal/call1.go | 4 ++++ .../tlcodegen/test/gen/goldmaster_nosplit/internal/call2.go | 4 ++++ .../tlcodegen/test/gen/goldmaster_nosplit/internal/call3.go | 4 ++++ .../tlcodegen/test/gen/goldmaster_nosplit/internal/call4.go | 4 ++++ .../tlcodegen/test/gen/goldmaster_nosplit/internal/call5.go | 4 ++++ .../tlcodegen/test/gen/goldmaster_nosplit/internal/call6.go | 4 ++++ .../tlcodegen/test/gen/goldmaster_nosplit/internal/call7.go | 4 ++++ .../tlcodegen/test/gen/goldmaster_nosplit/internal/call8.go | 4 ++++ .../tlcodegen/test/gen/goldmaster_nosplit/internal/call9.go | 4 ++++ .../test/gen/goldmaster_nosplit/internal/service5.insert.go | 4 ++++ .../gen/goldmaster_nosplit/internal/service5Long.insert.go | 4 ++++ .../internal/usefulService.getUserEntity.go | 4 ++++ internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go | 2 ++ 45 files changed, 174 insertions(+) diff --git a/internal/tlcodegen/test/gen/cases/meta/meta.go b/internal/tlcodegen/test/gen/cases/meta/meta.go index 8276c719..1cb7936c 100644 --- a/internal/tlcodegen/test/gen/cases/meta/meta.go +++ b/internal/tlcodegen/test/gen/cases/meta/meta.go @@ -41,6 +41,8 @@ type Object interface { type Function interface { Object + ContainsUnionTypesInResult() bool + ReadResultWriteResultJSON(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResult(r) + WriteResultJSON(w). Returns new r, new w, plus error ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResultJSON(r) + WriteResult(w). Returns new r, new w, plus error diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall1/call1.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall1/call1.go index b3ec9c8b..4551b75e 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall1/call1.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall1/call1.go @@ -63,6 +63,10 @@ func (item *Call1) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call1) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call1) ReadResult(w []byte, ret *tlAbTypeB.AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall2/call2.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall2/call2.go index bb687693..6d6c0669 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall2/call2.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall2/call2.go @@ -63,6 +63,10 @@ func (item *Call2) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call2) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call2) ReadResult(w []byte, ret *tlCdTypeB.CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall3/call3.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall3/call3.go index c5521b71..b36e3660 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall3/call3.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall3/call3.go @@ -63,6 +63,10 @@ func (item *Call3) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call3) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call3) ReadResult(w []byte, ret *tlTypeB.TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall4/call4.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall4/call4.go index 7d8bb079..0baf7c13 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall4/call4.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall4/call4.go @@ -63,6 +63,10 @@ func (item *Call4) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call4) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call4) ReadResult(w []byte, ret *tlAbTypeB.AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall5/call5.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall5/call5.go index c2fbca9a..cdadad8c 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall5/call5.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall5/call5.go @@ -63,6 +63,10 @@ func (item *Call5) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call5) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call5) ReadResult(w []byte, ret *tlCdTypeB.CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall6/call6.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall6/call6.go index f8ba82fe..22cf821d 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall6/call6.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall6/call6.go @@ -63,6 +63,10 @@ func (item *Call6) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call6) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call6) ReadResult(w []byte, ret *tlTypeB.TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall7/call7.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall7/call7.go index f2f0653a..059a825a 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall7/call7.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall7/call7.go @@ -63,6 +63,10 @@ func (item *Call7) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call7) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call7) ReadResult(w []byte, ret *tlAbTypeB.AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall8/call8.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall8/call8.go index 5bc5fad2..e8d9da38 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall8/call8.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall8/call8.go @@ -63,6 +63,10 @@ func (item *Call8) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call8) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call8) ReadResult(w []byte, ret *tlCdTypeB.CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall9/call9.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall9/call9.go index e8aa7fae..2fe9696a 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall9/call9.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall9/call9.go @@ -63,6 +63,10 @@ func (item *Call9) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call9) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call9) ReadResult(w []byte, ret *tlTypeB.TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1/ab.call1.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1/ab.call1.go index c7ada15a..2f9b2f1e 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1/ab.call1.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1/ab.call1.go @@ -63,6 +63,10 @@ func (item *AbCall1) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall1) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall1) ReadResult(w []byte, ret *tlAbTypeB.AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2/ab.call2.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2/ab.call2.go index ac4a65c6..72328666 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2/ab.call2.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2/ab.call2.go @@ -63,6 +63,10 @@ func (item *AbCall2) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall2) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall2) ReadResult(w []byte, ret *tlCdTypeB.CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3/ab.call3.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3/ab.call3.go index e6d31d3e..ace4e027 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3/ab.call3.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3/ab.call3.go @@ -63,6 +63,10 @@ func (item *AbCall3) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall3) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall3) ReadResult(w []byte, ret *tlTypeB.TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4/ab.call4.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4/ab.call4.go index 8ac8aa48..3eca1318 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4/ab.call4.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4/ab.call4.go @@ -63,6 +63,10 @@ func (item *AbCall4) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall4) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall4) ReadResult(w []byte, ret *tlAbTypeB.AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall5/ab.call5.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall5/ab.call5.go index c30fc33d..41906de6 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall5/ab.call5.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall5/ab.call5.go @@ -63,6 +63,10 @@ func (item *AbCall5) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall5) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall5) ReadResult(w []byte, ret *tlCdTypeB.CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall6/ab.call6.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall6/ab.call6.go index 3cd8333c..2c80c437 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall6/ab.call6.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall6/ab.call6.go @@ -63,6 +63,10 @@ func (item *AbCall6) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall6) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall6) ReadResult(w []byte, ret *tlTypeB.TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall7/ab.call7.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall7/ab.call7.go index 6ba5d2b9..0443623e 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall7/ab.call7.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall7/ab.call7.go @@ -63,6 +63,10 @@ func (item *AbCall7) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall7) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall7) ReadResult(w []byte, ret *tlAbTypeB.AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall8/ab.call8.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall8/ab.call8.go index 273a91a4..a202b0ef 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall8/ab.call8.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall8/ab.call8.go @@ -63,6 +63,10 @@ func (item *AbCall8) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall8) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall8) ReadResult(w []byte, ret *tlCdTypeB.CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall9/ab.call9.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall9/ab.call9.go index 3de9cf0a..ad669503 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall9/ab.call9.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall9/ab.call9.go @@ -63,6 +63,10 @@ func (item *AbCall9) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall9) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall9) ReadResult(w []byte, ret *tlTypeB.TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5Insert/service5.insert.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5Insert/service5.insert.go index a0edbdea..1b4381ab 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5Insert/service5.insert.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5Insert/service5.insert.go @@ -80,6 +80,10 @@ func (item *Service5Insert) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Service5Insert) ContainsUnionTypesInResult() bool { + return true +} + func (item *Service5Insert) ReadResult(w []byte, ret *cycle_16847572a0831d4cd4c0c0fb513151f3.Service5Output) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5Long/tlService5LongInsert/service5Long.insert.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5Long/tlService5LongInsert/service5Long.insert.go index d8a42aef..0389dbf8 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5Long/tlService5LongInsert/service5Long.insert.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5Long/tlService5LongInsert/service5Long.insert.go @@ -80,6 +80,10 @@ func (item *Service5LongInsert) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Service5LongInsert) ContainsUnionTypesInResult() bool { + return true +} + func (item *Service5LongInsert) ReadResult(w []byte, ret *cycle_98d4570147919cfd6f6ebfc47c3e10a0.Service5LongOutput) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go index a149b206..c330c584 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go @@ -97,6 +97,10 @@ func (item *UsefulServiceGetUserEntity) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *UsefulServiceGetUserEntity) ContainsUnionTypesInResult() bool { + return true +} + func (item *UsefulServiceGetUserEntity) ReadResult(w []byte, ret *tlUsefulServiceGetUserEntityResultBoxedMaybe.UsefulServiceGetUserEntityResultBoxedMaybe) (_ []byte, err error) { return ret.ReadBoxed(w, item.FieldsMask) } diff --git a/internal/tlcodegen/test/gen/goldmaster/meta/meta.go b/internal/tlcodegen/test/gen/goldmaster/meta/meta.go index ff04033d..37a437bf 100644 --- a/internal/tlcodegen/test/gen/goldmaster/meta/meta.go +++ b/internal/tlcodegen/test/gen/goldmaster/meta/meta.go @@ -43,6 +43,8 @@ type Object interface { type Function interface { Object + ContainsUnionTypesInResult() bool + ReadResultWriteResultJSON(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResult(r) + WriteResultJSON(w). Returns new r, new w, plus error ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResultJSON(r) + WriteResult(w). Returns new r, new w, plus error diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call1.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call1.go index 59a5325f..304a10ae 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call1.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call1.go @@ -59,6 +59,10 @@ func (item *AbCall1) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall1) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall1) ReadResult(w []byte, ret *AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call2.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call2.go index 3a948fbd..6311ddd9 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call2.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call2.go @@ -59,6 +59,10 @@ func (item *AbCall2) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall2) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall2) ReadResult(w []byte, ret *CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call3.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call3.go index 7d1e02a0..a8aab157 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call3.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call3.go @@ -59,6 +59,10 @@ func (item *AbCall3) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall3) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall3) ReadResult(w []byte, ret *TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call4.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call4.go index 8eb0582a..af5bae88 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call4.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call4.go @@ -59,6 +59,10 @@ func (item *AbCall4) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall4) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall4) ReadResult(w []byte, ret *AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call5.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call5.go index a8be54d3..2547d276 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call5.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call5.go @@ -59,6 +59,10 @@ func (item *AbCall5) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall5) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall5) ReadResult(w []byte, ret *CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call6.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call6.go index 9851206c..32e5c712 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call6.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call6.go @@ -59,6 +59,10 @@ func (item *AbCall6) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall6) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall6) ReadResult(w []byte, ret *TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call7.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call7.go index 863b1b63..dd72345f 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call7.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call7.go @@ -59,6 +59,10 @@ func (item *AbCall7) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall7) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall7) ReadResult(w []byte, ret *AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call8.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call8.go index ab3525e0..61a7e7e0 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call8.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call8.go @@ -59,6 +59,10 @@ func (item *AbCall8) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall8) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall8) ReadResult(w []byte, ret *CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call9.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call9.go index 7fcaf0ed..02bb2e88 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call9.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call9.go @@ -59,6 +59,10 @@ func (item *AbCall9) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *AbCall9) ContainsUnionTypesInResult() bool { + return false +} + func (item *AbCall9) ReadResult(w []byte, ret *TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call1.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call1.go index 18982fde..a8d32bec 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call1.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call1.go @@ -59,6 +59,10 @@ func (item *Call1) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call1) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call1) ReadResult(w []byte, ret *AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call2.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call2.go index 0b0bbbac..245d63d2 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call2.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call2.go @@ -59,6 +59,10 @@ func (item *Call2) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call2) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call2) ReadResult(w []byte, ret *CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call3.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call3.go index ab623e84..09a058f8 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call3.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call3.go @@ -59,6 +59,10 @@ func (item *Call3) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call3) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call3) ReadResult(w []byte, ret *TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call4.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call4.go index 81b5fdd5..8da6f156 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call4.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call4.go @@ -59,6 +59,10 @@ func (item *Call4) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call4) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call4) ReadResult(w []byte, ret *AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call5.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call5.go index 759bd1f3..94c46554 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call5.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call5.go @@ -59,6 +59,10 @@ func (item *Call5) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call5) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call5) ReadResult(w []byte, ret *CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call6.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call6.go index 7447b6c4..0e7c0e34 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call6.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call6.go @@ -59,6 +59,10 @@ func (item *Call6) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call6) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call6) ReadResult(w []byte, ret *TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call7.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call7.go index 4da80c44..bdbb0b34 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call7.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call7.go @@ -59,6 +59,10 @@ func (item *Call7) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call7) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call7) ReadResult(w []byte, ret *AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call8.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call8.go index eadc7fd0..3e230ea5 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call8.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call8.go @@ -59,6 +59,10 @@ func (item *Call8) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call8) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call8) ReadResult(w []byte, ret *CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call9.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call9.go index 06f107aa..91984d7b 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call9.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call9.go @@ -59,6 +59,10 @@ func (item *Call9) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Call9) ContainsUnionTypesInResult() bool { + return false +} + func (item *Call9) ReadResult(w []byte, ret *TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5.insert.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5.insert.go index e042f5a3..785e5a95 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5.insert.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5.insert.go @@ -77,6 +77,10 @@ func (item *Service5Insert) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Service5Insert) ContainsUnionTypesInResult() bool { + return true +} + func (item *Service5Insert) ReadResult(w []byte, ret *Service5Output) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5Long.insert.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5Long.insert.go index 10b4af47..74a5aafb 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5Long.insert.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5Long.insert.go @@ -77,6 +77,10 @@ func (item *Service5LongInsert) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *Service5LongInsert) ContainsUnionTypesInResult() bool { + return true +} + func (item *Service5LongInsert) ReadResult(w []byte, ret *Service5LongOutput) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/usefulService.getUserEntity.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/usefulService.getUserEntity.go index 2161037c..f8f0fed8 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/usefulService.getUserEntity.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/usefulService.getUserEntity.go @@ -94,6 +94,10 @@ func (item *UsefulServiceGetUserEntity) WriteBoxed(w []byte) []byte { return item.Write(w) } +func (item *UsefulServiceGetUserEntity) ContainsUnionTypesInResult() bool { + return true +} + func (item *UsefulServiceGetUserEntity) ReadResult(w []byte, ret *UsefulServiceGetUserEntityResultBoxedMaybe) (_ []byte, err error) { return ret.ReadBoxed(w, item.FieldsMask) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go index 0fede745..97fa63e9 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go @@ -43,6 +43,8 @@ type Object interface { type Function interface { Object + ContainsUnionTypesInResult() bool + ReadResultWriteResultJSON(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResult(r) + WriteResultJSON(w). Returns new r, new w, plus error ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResultJSON(r) + WriteResult(w). Returns new r, new w, plus error From 4a68452f596e6d1dfa0c4e69d8f2095da9034dc5 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Mon, 28 Oct 2024 16:12:29 +0300 Subject: [PATCH 21/38] update ContainsUnion for Maybe --- internal/tlcodegen/type_rw_maybe.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/tlcodegen/type_rw_maybe.go b/internal/tlcodegen/type_rw_maybe.go index 2d84cdce..60f23fdf 100644 --- a/internal/tlcodegen/type_rw_maybe.go +++ b/internal/tlcodegen/type_rw_maybe.go @@ -56,7 +56,7 @@ func (trw *TypeRWMaybe) IsWrappingType() bool { } func (trw *TypeRWMaybe) ContainsUnion() bool { - return true + return false } func (trw *TypeRWMaybe) FillRecursiveChildren(visitedNodes map[*TypeRWWrapper]int, generic bool) { From a3d4c4ee1251dce40ae6b0c7492b4014aa95eeae Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Mon, 28 Oct 2024 16:14:31 +0300 Subject: [PATCH 22/38] update goldmaster after prev fix --- .../tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go | 2 +- .../goldmaster_nosplit/internal/usefulService.getUserEntity.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go index c330c584..d1736b81 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go @@ -98,7 +98,7 @@ func (item *UsefulServiceGetUserEntity) WriteBoxed(w []byte) []byte { } func (item *UsefulServiceGetUserEntity) ContainsUnionTypesInResult() bool { - return true + return false } func (item *UsefulServiceGetUserEntity) ReadResult(w []byte, ret *tlUsefulServiceGetUserEntityResultBoxedMaybe.UsefulServiceGetUserEntityResultBoxedMaybe) (_ []byte, err error) { diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/usefulService.getUserEntity.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/usefulService.getUserEntity.go index f8f0fed8..d2a5149f 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/usefulService.getUserEntity.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/usefulService.getUserEntity.go @@ -95,7 +95,7 @@ func (item *UsefulServiceGetUserEntity) WriteBoxed(w []byte) []byte { } func (item *UsefulServiceGetUserEntity) ContainsUnionTypesInResult() bool { - return true + return false } func (item *UsefulServiceGetUserEntity) ReadResult(w []byte, ret *UsefulServiceGetUserEntityResultBoxedMaybe) (_ []byte, err error) { From 798a56529f6feeb4eac1c99b1637d0d1108e7c29 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Mon, 28 Oct 2024 16:45:27 +0300 Subject: [PATCH 23/38] moved From interFACE TO tlitem data --- internal/tlcodegen/qt_meta.qtpl | 11 ++++++++--- internal/tlcodegen/qt_meta.qtpl.go | 15 ++++++++++++--- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/internal/tlcodegen/qt_meta.qtpl b/internal/tlcodegen/qt_meta.qtpl index 74c312a2..9b8a7302 100644 --- a/internal/tlcodegen/qt_meta.qtpl +++ b/internal/tlcodegen/qt_meta.qtpl @@ -44,8 +44,6 @@ type Object interface { type Function interface { Object - ContainsUnionTypesInResult() bool - ReadResultWriteResultJSON(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResult(r) + WriteResultJSON(w). Returns new r, new w, plus error ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResultJSON(r) + WriteResult(w). Returns new r, new w, plus error @@ -149,6 +147,9 @@ type TLItem struct { tag uint32 annotations uint32 tlName string + + resultTypeContainsUnionTypes bool + createFunction func() Function createFunctionLong func() Function createObject func() Object @@ -164,6 +165,8 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } +func (item TLItem) HasResultTypeContainUnionTypes() bool { return item.resultTypeContainsUnionTypes } + // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } func (item TLItem) CreateFunctionLong() Function { return item.createFunctionLong() } @@ -337,14 +340,16 @@ func init() { {%- if wr.tlTag == 0 || !wr.IsTopLevel() -%} {%- continue -%} {%- endif -%} {%- stripspace -%} {%- if fun, ok := wr.trw.(*TypeRWStruct); ok && len(wr.NatParams) == 0 -%} + {%- code resultTypeContainsUnionTypes := false -%} {%- if fun.ResultType != nil -%} + {%- code resultTypeContainsUnionTypes = fun.ResultType.trw.ContainsUnion() -%} fillFunction( {%- else -%} fillObject( {%- endif -%} "{%= wr.tlName.String() %}#{%s= fmt.Sprintf("%08x", wr.tlTag) %}", {%q= fmt.Sprintf("#%08x", wr.tlTag) %}, - &TLItem{tag: {%s= fmt.Sprintf("0x%08x", wr.tlTag) %}, annotations: {%s= fmt.Sprintf("0x%x", wr.AnnotationsMask()) %}, tlName: "{%= wr.tlName.String() %}"}) + &TLItem{tag: {%s= fmt.Sprintf("0x%08x", wr.tlTag) %}, annotations: {%s= fmt.Sprintf("0x%x", wr.AnnotationsMask()) %}, tlName: "{%= wr.tlName.String() %}", resultTypeContainsUnionTypes: {%v= resultTypeContainsUnionTypes %}}) {%- endif -%} {%- endstripspace -%} diff --git a/internal/tlcodegen/qt_meta.qtpl.go b/internal/tlcodegen/qt_meta.qtpl.go index ad104782..451e472c 100644 --- a/internal/tlcodegen/qt_meta.qtpl.go +++ b/internal/tlcodegen/qt_meta.qtpl.go @@ -81,8 +81,6 @@ type Object interface { type Function interface { Object - ContainsUnionTypesInResult() bool - ReadResultWriteResultJSON(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResult(r) + WriteResultJSON(w). Returns new r, new w, plus error ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResultJSON(r) + WriteResult(w). Returns new r, new w, plus error @@ -188,6 +186,9 @@ type TLItem struct { tag uint32 annotations uint32 tlName string + + resultTypeContainsUnionTypes bool + createFunction func() Function createFunctionLong func() Function createObject func() Object @@ -203,6 +204,8 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } +func (item TLItem) HasResultTypeContainUnionTypes() bool { return item.resultTypeContainsUnionTypes } + // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } func (item TLItem) CreateFunctionLong() Function { return item.createFunctionLong() } @@ -387,7 +390,11 @@ func init() { continue } if fun, ok := wr.trw.(*TypeRWStruct); ok && len(wr.NatParams) == 0 { + resultTypeContainsUnionTypes := false + if fun.ResultType != nil { + resultTypeContainsUnionTypes = fun.ResultType.trw.ContainsUnion() + qw422016.N().S(`fillFunction(`) } else { qw422016.N().S(`fillObject(`) @@ -404,7 +411,9 @@ func init() { qw422016.N().S(fmt.Sprintf("0x%x", wr.AnnotationsMask())) qw422016.N().S(`, tlName: "`) wr.tlName.StreamString(qw422016) - qw422016.N().S(`"})`) + qw422016.N().S(`", resultTypeContainsUnionTypes:`) + qw422016.N().V(resultTypeContainsUnionTypes) + qw422016.N().S(`})`) } qw422016.N().S(` `) From f9d697f8d38e2ff28ac7e9249d923eb4d57720ca Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Mon, 28 Oct 2024 16:45:42 +0300 Subject: [PATCH 24/38] update goldmaster --- .../tlcodegen/test/gen/cases/meta/meta.go | 109 ++++----- .../test/gen/goldmaster/meta/meta.go | 219 +++++++++--------- .../test/gen/goldmaster_nosplit/meta/meta.go | 219 +++++++++--------- 3 files changed, 278 insertions(+), 269 deletions(-) diff --git a/internal/tlcodegen/test/gen/cases/meta/meta.go b/internal/tlcodegen/test/gen/cases/meta/meta.go index 1cb7936c..2813d013 100644 --- a/internal/tlcodegen/test/gen/cases/meta/meta.go +++ b/internal/tlcodegen/test/gen/cases/meta/meta.go @@ -41,8 +41,6 @@ type Object interface { type Function interface { Object - ContainsUnionTypesInResult() bool - ReadResultWriteResultJSON(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResult(r) + WriteResultJSON(w). Returns new r, new w, plus error ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResultJSON(r) + WriteResult(w). Returns new r, new w, plus error @@ -129,9 +127,12 @@ func CreateObjectFromNameBytes(name string) Object { } type TLItem struct { - tag uint32 - annotations uint32 - tlName string + tag uint32 + annotations uint32 + tlName string + + resultTypeContainsUnionTypes bool + createFunction func() Function createFunctionLong func() Function createObject func() Object @@ -146,6 +147,8 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } +func (item TLItem) HasResultTypeContainUnionTypes() bool { return item.resultTypeContainsUnionTypes } + // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } func (item TLItem) CreateFunctionLong() Function { return item.createFunctionLong() } @@ -296,52 +299,52 @@ func fillFunction(n1 string, n2 string, item *TLItem) { } func init() { - fillObject("benchmarks.vruhash#d31bd0fd", "#d31bd0fd", &TLItem{tag: 0xd31bd0fd, annotations: 0x0, tlName: "benchmarks.vruhash"}) - fillObject("benchmarks.vruposition#32792c04", "#32792c04", &TLItem{tag: 0x32792c04, annotations: 0x0, tlName: "benchmarks.vruposition"}) - fillObject("benchmarks.vrutoyTopLevelContainer#fb442ca5", "#fb442ca5", &TLItem{tag: 0xfb442ca5, annotations: 0x0, tlName: "benchmarks.vrutoyTopLevelContainer"}) - fillObject("benchmarks.vrutoyTopLevelContainerWithDependency#c176008e", "#c176008e", &TLItem{tag: 0xc176008e, annotations: 0x0, tlName: "benchmarks.vrutoyTopLevelContainerWithDependency"}) - fillObject("benchmarks.vrutoytopLevelUnionBig#ef556bee", "#ef556bee", &TLItem{tag: 0xef556bee, annotations: 0x0, tlName: "benchmarks.vrutoytopLevelUnionBig"}) - fillObject("benchmarks.vrutoytopLevelUnionEmpty#ce27c770", "#ce27c770", &TLItem{tag: 0xce27c770, annotations: 0x0, tlName: "benchmarks.vrutoytopLevelUnionEmpty"}) - fillObject("cases_bytes.testArray#3762fb81", "#3762fb81", &TLItem{tag: 0x3762fb81, annotations: 0x0, tlName: "cases_bytes.testArray"}) - fillObject("cases_bytes.testDictAny#5a5fce57", "#5a5fce57", &TLItem{tag: 0x5a5fce57, annotations: 0x0, tlName: "cases_bytes.testDictAny"}) - fillObject("cases_bytes.testDictInt#453ace07", "#453ace07", &TLItem{tag: 0x453ace07, annotations: 0x0, tlName: "cases_bytes.testDictInt"}) - fillObject("cases_bytes.testDictString#6c04d6ce", "#6c04d6ce", &TLItem{tag: 0x6c04d6ce, annotations: 0x0, tlName: "cases_bytes.testDictString"}) - fillObject("cases_bytes.testDictStringString#ad69c772", "#ad69c772", &TLItem{tag: 0xad69c772, annotations: 0x0, tlName: "cases_bytes.testDictStringString"}) - fillObject("cases_bytes.testEnum1#58aad3f5", "#58aad3f5", &TLItem{tag: 0x58aad3f5, annotations: 0x0, tlName: "cases_bytes.testEnum1"}) - fillObject("cases_bytes.testEnum2#00b47add", "#00b47add", &TLItem{tag: 0x00b47add, annotations: 0x0, tlName: "cases_bytes.testEnum2"}) - fillObject("cases_bytes.testEnum3#81911ffa", "#81911ffa", &TLItem{tag: 0x81911ffa, annotations: 0x0, tlName: "cases_bytes.testEnum3"}) - fillObject("cases_bytes.testEnumContainer#32b92037", "#32b92037", &TLItem{tag: 0x32b92037, annotations: 0x0, tlName: "cases_bytes.testEnumContainer"}) - fillObject("cases_bytes.testTuple#2dd3bacf", "#2dd3bacf", &TLItem{tag: 0x2dd3bacf, annotations: 0x0, tlName: "cases_bytes.testTuple"}) - fillObject("cases_bytes.testVector#3647c8ae", "#3647c8ae", &TLItem{tag: 0x3647c8ae, annotations: 0x0, tlName: "cases_bytes.testVector"}) - fillObject("cases.myCycle1#d3ca919d", "#d3ca919d", &TLItem{tag: 0xd3ca919d, annotations: 0x0, tlName: "cases.myCycle1"}) - fillObject("cases.myCycle2#5444c9a2", "#5444c9a2", &TLItem{tag: 0x5444c9a2, annotations: 0x0, tlName: "cases.myCycle2"}) - fillObject("cases.myCycle3#7624f86b", "#7624f86b", &TLItem{tag: 0x7624f86b, annotations: 0x0, tlName: "cases.myCycle3"}) - fillObject("cases.replace7#6ccce4be", "#6ccce4be", &TLItem{tag: 0x6ccce4be, annotations: 0x0, tlName: "cases.replace7"}) - fillObject("cases.replace7plus#197858f5", "#197858f5", &TLItem{tag: 0x197858f5, annotations: 0x0, tlName: "cases.replace7plus"}) - fillObject("cases.replace7plusplus#abc39b68", "#abc39b68", &TLItem{tag: 0xabc39b68, annotations: 0x0, tlName: "cases.replace7plusplus"}) - fillObject("cases.testAllPossibleFieldConfigsContainer#e3fae936", "#e3fae936", &TLItem{tag: 0xe3fae936, annotations: 0x0, tlName: "cases.testAllPossibleFieldConfigsContainer"}) - fillObject("cases.testArray#a888030d", "#a888030d", &TLItem{tag: 0xa888030d, annotations: 0x0, tlName: "cases.testArray"}) - fillObject("cases.testBeforeReadBitValidation#9b2396db", "#9b2396db", &TLItem{tag: 0x9b2396db, annotations: 0x0, tlName: "cases.testBeforeReadBitValidation"}) - fillObject("cases.testDictAny#e29b8ae6", "#e29b8ae6", &TLItem{tag: 0xe29b8ae6, annotations: 0x0, tlName: "cases.testDictAny"}) - fillObject("cases.testDictInt#d3877643", "#d3877643", &TLItem{tag: 0xd3877643, annotations: 0x0, tlName: "cases.testDictInt"}) - fillObject("cases.testDictString#c463c79b", "#c463c79b", &TLItem{tag: 0xc463c79b, annotations: 0x0, tlName: "cases.testDictString"}) - fillObject("cases.testEnum1#6c6c55ac", "#6c6c55ac", &TLItem{tag: 0x6c6c55ac, annotations: 0x0, tlName: "cases.testEnum1"}) - fillObject("cases.testEnum2#86ea88ce", "#86ea88ce", &TLItem{tag: 0x86ea88ce, annotations: 0x0, tlName: "cases.testEnum2"}) - fillObject("cases.testEnum3#69b83e2f", "#69b83e2f", &TLItem{tag: 0x69b83e2f, annotations: 0x0, tlName: "cases.testEnum3"}) - fillObject("cases.testEnumContainer#cb684231", "#cb684231", &TLItem{tag: 0xcb684231, annotations: 0x0, tlName: "cases.testEnumContainer"}) - fillObject("cases.testLocalFieldmask#f68fd3f9", "#f68fd3f9", &TLItem{tag: 0xf68fd3f9, annotations: 0x0, tlName: "cases.testLocalFieldmask"}) - fillObject("cases.testMaybe#d6602613", "#d6602613", &TLItem{tag: 0xd6602613, annotations: 0x0, tlName: "cases.testMaybe"}) - fillObject("cases.testOutFieldMaskContainer#1850ffe4", "#1850ffe4", &TLItem{tag: 0x1850ffe4, annotations: 0x0, tlName: "cases.testOutFieldMaskContainer"}) - fillObject("cases.testRecursiveFieldMask#c58cf85e", "#c58cf85e", &TLItem{tag: 0xc58cf85e, annotations: 0x0, tlName: "cases.testRecursiveFieldMask"}) - fillObject("cases.testTuple#4b9caf8f", "#4b9caf8f", &TLItem{tag: 0x4b9caf8f, annotations: 0x0, tlName: "cases.testTuple"}) - fillObject("cases.testUnion1#4b4f09b1", "#4b4f09b1", &TLItem{tag: 0x4b4f09b1, annotations: 0x0, tlName: "cases.testUnion1"}) - fillObject("cases.testUnion2#464f96c4", "#464f96c4", &TLItem{tag: 0x464f96c4, annotations: 0x0, tlName: "cases.testUnion2"}) - fillObject("cases.testUnionContainer#4497a381", "#4497a381", &TLItem{tag: 0x4497a381, annotations: 0x0, tlName: "cases.testUnionContainer"}) - fillObject("cases.testVector#4975695c", "#4975695c", &TLItem{tag: 0x4975695c, annotations: 0x0, tlName: "cases.testVector"}) - fillObject("int#a8509bda", "#a8509bda", &TLItem{tag: 0xa8509bda, annotations: 0x0, tlName: "int"}) - fillObject("int32#7934e71f", "#7934e71f", &TLItem{tag: 0x7934e71f, annotations: 0x0, tlName: "int32"}) - fillObject("int64#f5609de0", "#f5609de0", &TLItem{tag: 0xf5609de0, annotations: 0x0, tlName: "int64"}) - fillObject("long#22076cba", "#22076cba", &TLItem{tag: 0x22076cba, annotations: 0x0, tlName: "long"}) - fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string"}) - fillObject("true#3fedd339", "#3fedd339", &TLItem{tag: 0x3fedd339, annotations: 0x0, tlName: "true"}) + fillObject("benchmarks.vruhash#d31bd0fd", "#d31bd0fd", &TLItem{tag: 0xd31bd0fd, annotations: 0x0, tlName: "benchmarks.vruhash", resultTypeContainsUnionTypes: false}) + fillObject("benchmarks.vruposition#32792c04", "#32792c04", &TLItem{tag: 0x32792c04, annotations: 0x0, tlName: "benchmarks.vruposition", resultTypeContainsUnionTypes: false}) + fillObject("benchmarks.vrutoyTopLevelContainer#fb442ca5", "#fb442ca5", &TLItem{tag: 0xfb442ca5, annotations: 0x0, tlName: "benchmarks.vrutoyTopLevelContainer", resultTypeContainsUnionTypes: false}) + fillObject("benchmarks.vrutoyTopLevelContainerWithDependency#c176008e", "#c176008e", &TLItem{tag: 0xc176008e, annotations: 0x0, tlName: "benchmarks.vrutoyTopLevelContainerWithDependency", resultTypeContainsUnionTypes: false}) + fillObject("benchmarks.vrutoytopLevelUnionBig#ef556bee", "#ef556bee", &TLItem{tag: 0xef556bee, annotations: 0x0, tlName: "benchmarks.vrutoytopLevelUnionBig", resultTypeContainsUnionTypes: false}) + fillObject("benchmarks.vrutoytopLevelUnionEmpty#ce27c770", "#ce27c770", &TLItem{tag: 0xce27c770, annotations: 0x0, tlName: "benchmarks.vrutoytopLevelUnionEmpty", resultTypeContainsUnionTypes: false}) + fillObject("cases_bytes.testArray#3762fb81", "#3762fb81", &TLItem{tag: 0x3762fb81, annotations: 0x0, tlName: "cases_bytes.testArray", resultTypeContainsUnionTypes: false}) + fillObject("cases_bytes.testDictAny#5a5fce57", "#5a5fce57", &TLItem{tag: 0x5a5fce57, annotations: 0x0, tlName: "cases_bytes.testDictAny", resultTypeContainsUnionTypes: false}) + fillObject("cases_bytes.testDictInt#453ace07", "#453ace07", &TLItem{tag: 0x453ace07, annotations: 0x0, tlName: "cases_bytes.testDictInt", resultTypeContainsUnionTypes: false}) + fillObject("cases_bytes.testDictString#6c04d6ce", "#6c04d6ce", &TLItem{tag: 0x6c04d6ce, annotations: 0x0, tlName: "cases_bytes.testDictString", resultTypeContainsUnionTypes: false}) + fillObject("cases_bytes.testDictStringString#ad69c772", "#ad69c772", &TLItem{tag: 0xad69c772, annotations: 0x0, tlName: "cases_bytes.testDictStringString", resultTypeContainsUnionTypes: false}) + fillObject("cases_bytes.testEnum1#58aad3f5", "#58aad3f5", &TLItem{tag: 0x58aad3f5, annotations: 0x0, tlName: "cases_bytes.testEnum1", resultTypeContainsUnionTypes: false}) + fillObject("cases_bytes.testEnum2#00b47add", "#00b47add", &TLItem{tag: 0x00b47add, annotations: 0x0, tlName: "cases_bytes.testEnum2", resultTypeContainsUnionTypes: false}) + fillObject("cases_bytes.testEnum3#81911ffa", "#81911ffa", &TLItem{tag: 0x81911ffa, annotations: 0x0, tlName: "cases_bytes.testEnum3", resultTypeContainsUnionTypes: false}) + fillObject("cases_bytes.testEnumContainer#32b92037", "#32b92037", &TLItem{tag: 0x32b92037, annotations: 0x0, tlName: "cases_bytes.testEnumContainer", resultTypeContainsUnionTypes: false}) + fillObject("cases_bytes.testTuple#2dd3bacf", "#2dd3bacf", &TLItem{tag: 0x2dd3bacf, annotations: 0x0, tlName: "cases_bytes.testTuple", resultTypeContainsUnionTypes: false}) + fillObject("cases_bytes.testVector#3647c8ae", "#3647c8ae", &TLItem{tag: 0x3647c8ae, annotations: 0x0, tlName: "cases_bytes.testVector", resultTypeContainsUnionTypes: false}) + fillObject("cases.myCycle1#d3ca919d", "#d3ca919d", &TLItem{tag: 0xd3ca919d, annotations: 0x0, tlName: "cases.myCycle1", resultTypeContainsUnionTypes: false}) + fillObject("cases.myCycle2#5444c9a2", "#5444c9a2", &TLItem{tag: 0x5444c9a2, annotations: 0x0, tlName: "cases.myCycle2", resultTypeContainsUnionTypes: false}) + fillObject("cases.myCycle3#7624f86b", "#7624f86b", &TLItem{tag: 0x7624f86b, annotations: 0x0, tlName: "cases.myCycle3", resultTypeContainsUnionTypes: false}) + fillObject("cases.replace7#6ccce4be", "#6ccce4be", &TLItem{tag: 0x6ccce4be, annotations: 0x0, tlName: "cases.replace7", resultTypeContainsUnionTypes: false}) + fillObject("cases.replace7plus#197858f5", "#197858f5", &TLItem{tag: 0x197858f5, annotations: 0x0, tlName: "cases.replace7plus", resultTypeContainsUnionTypes: false}) + fillObject("cases.replace7plusplus#abc39b68", "#abc39b68", &TLItem{tag: 0xabc39b68, annotations: 0x0, tlName: "cases.replace7plusplus", resultTypeContainsUnionTypes: false}) + fillObject("cases.testAllPossibleFieldConfigsContainer#e3fae936", "#e3fae936", &TLItem{tag: 0xe3fae936, annotations: 0x0, tlName: "cases.testAllPossibleFieldConfigsContainer", resultTypeContainsUnionTypes: false}) + fillObject("cases.testArray#a888030d", "#a888030d", &TLItem{tag: 0xa888030d, annotations: 0x0, tlName: "cases.testArray", resultTypeContainsUnionTypes: false}) + fillObject("cases.testBeforeReadBitValidation#9b2396db", "#9b2396db", &TLItem{tag: 0x9b2396db, annotations: 0x0, tlName: "cases.testBeforeReadBitValidation", resultTypeContainsUnionTypes: false}) + fillObject("cases.testDictAny#e29b8ae6", "#e29b8ae6", &TLItem{tag: 0xe29b8ae6, annotations: 0x0, tlName: "cases.testDictAny", resultTypeContainsUnionTypes: false}) + fillObject("cases.testDictInt#d3877643", "#d3877643", &TLItem{tag: 0xd3877643, annotations: 0x0, tlName: "cases.testDictInt", resultTypeContainsUnionTypes: false}) + fillObject("cases.testDictString#c463c79b", "#c463c79b", &TLItem{tag: 0xc463c79b, annotations: 0x0, tlName: "cases.testDictString", resultTypeContainsUnionTypes: false}) + fillObject("cases.testEnum1#6c6c55ac", "#6c6c55ac", &TLItem{tag: 0x6c6c55ac, annotations: 0x0, tlName: "cases.testEnum1", resultTypeContainsUnionTypes: false}) + fillObject("cases.testEnum2#86ea88ce", "#86ea88ce", &TLItem{tag: 0x86ea88ce, annotations: 0x0, tlName: "cases.testEnum2", resultTypeContainsUnionTypes: false}) + fillObject("cases.testEnum3#69b83e2f", "#69b83e2f", &TLItem{tag: 0x69b83e2f, annotations: 0x0, tlName: "cases.testEnum3", resultTypeContainsUnionTypes: false}) + fillObject("cases.testEnumContainer#cb684231", "#cb684231", &TLItem{tag: 0xcb684231, annotations: 0x0, tlName: "cases.testEnumContainer", resultTypeContainsUnionTypes: false}) + fillObject("cases.testLocalFieldmask#f68fd3f9", "#f68fd3f9", &TLItem{tag: 0xf68fd3f9, annotations: 0x0, tlName: "cases.testLocalFieldmask", resultTypeContainsUnionTypes: false}) + fillObject("cases.testMaybe#d6602613", "#d6602613", &TLItem{tag: 0xd6602613, annotations: 0x0, tlName: "cases.testMaybe", resultTypeContainsUnionTypes: false}) + fillObject("cases.testOutFieldMaskContainer#1850ffe4", "#1850ffe4", &TLItem{tag: 0x1850ffe4, annotations: 0x0, tlName: "cases.testOutFieldMaskContainer", resultTypeContainsUnionTypes: false}) + fillObject("cases.testRecursiveFieldMask#c58cf85e", "#c58cf85e", &TLItem{tag: 0xc58cf85e, annotations: 0x0, tlName: "cases.testRecursiveFieldMask", resultTypeContainsUnionTypes: false}) + fillObject("cases.testTuple#4b9caf8f", "#4b9caf8f", &TLItem{tag: 0x4b9caf8f, annotations: 0x0, tlName: "cases.testTuple", resultTypeContainsUnionTypes: false}) + fillObject("cases.testUnion1#4b4f09b1", "#4b4f09b1", &TLItem{tag: 0x4b4f09b1, annotations: 0x0, tlName: "cases.testUnion1", resultTypeContainsUnionTypes: false}) + fillObject("cases.testUnion2#464f96c4", "#464f96c4", &TLItem{tag: 0x464f96c4, annotations: 0x0, tlName: "cases.testUnion2", resultTypeContainsUnionTypes: false}) + fillObject("cases.testUnionContainer#4497a381", "#4497a381", &TLItem{tag: 0x4497a381, annotations: 0x0, tlName: "cases.testUnionContainer", resultTypeContainsUnionTypes: false}) + fillObject("cases.testVector#4975695c", "#4975695c", &TLItem{tag: 0x4975695c, annotations: 0x0, tlName: "cases.testVector", resultTypeContainsUnionTypes: false}) + fillObject("int#a8509bda", "#a8509bda", &TLItem{tag: 0xa8509bda, annotations: 0x0, tlName: "int", resultTypeContainsUnionTypes: false}) + fillObject("int32#7934e71f", "#7934e71f", &TLItem{tag: 0x7934e71f, annotations: 0x0, tlName: "int32", resultTypeContainsUnionTypes: false}) + fillObject("int64#f5609de0", "#f5609de0", &TLItem{tag: 0xf5609de0, annotations: 0x0, tlName: "int64", resultTypeContainsUnionTypes: false}) + fillObject("long#22076cba", "#22076cba", &TLItem{tag: 0x22076cba, annotations: 0x0, tlName: "long", resultTypeContainsUnionTypes: false}) + fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string", resultTypeContainsUnionTypes: false}) + fillObject("true#3fedd339", "#3fedd339", &TLItem{tag: 0x3fedd339, annotations: 0x0, tlName: "true", resultTypeContainsUnionTypes: false}) } diff --git a/internal/tlcodegen/test/gen/goldmaster/meta/meta.go b/internal/tlcodegen/test/gen/goldmaster/meta/meta.go index 37a437bf..ce068287 100644 --- a/internal/tlcodegen/test/gen/goldmaster/meta/meta.go +++ b/internal/tlcodegen/test/gen/goldmaster/meta/meta.go @@ -43,8 +43,6 @@ type Object interface { type Function interface { Object - ContainsUnionTypesInResult() bool - ReadResultWriteResultJSON(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResult(r) + WriteResultJSON(w). Returns new r, new w, plus error ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResultJSON(r) + WriteResult(w). Returns new r, new w, plus error @@ -131,9 +129,12 @@ func CreateObjectFromNameBytes(name string) Object { } type TLItem struct { - tag uint32 - annotations uint32 - tlName string + tag uint32 + annotations uint32 + tlName string + + resultTypeContainsUnionTypes bool + createFunction func() Function createFunctionLong func() Function createObject func() Object @@ -148,6 +149,8 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } +func (item TLItem) HasResultTypeContainUnionTypes() bool { return item.resultTypeContainsUnionTypes } + // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } func (item TLItem) CreateFunctionLong() Function { return item.createFunctionLong() } @@ -300,107 +303,107 @@ func fillFunction(n1 string, n2 string, item *TLItem) { } func init() { - fillObject("a.blue#623360f3", "#623360f3", &TLItem{tag: 0x623360f3, annotations: 0x0, tlName: "a.blue"}) - fillObject("a.color#f35d7a69", "#f35d7a69", &TLItem{tag: 0xf35d7a69, annotations: 0x0, tlName: "a.color"}) - fillObject("a.green#6127e7b8", "#6127e7b8", &TLItem{tag: 0x6127e7b8, annotations: 0x0, tlName: "a.green"}) - fillObject("a.red#b83a723d", "#b83a723d", &TLItem{tag: 0xb83a723d, annotations: 0x0, tlName: "a.red"}) - fillObject("a.top2#7082d18f", "#7082d18f", &TLItem{tag: 0x7082d18f, annotations: 0x0, tlName: "a.top2"}) - fillObject("a.uNionA#a7662843", "#a7662843", &TLItem{tag: 0xa7662843, annotations: 0x0, tlName: "a.uNionA"}) - fillObject("ab.alias#944aaa97", "#944aaa97", &TLItem{tag: 0x944aaa97, annotations: 0x0, tlName: "ab.alias"}) - fillFunction("ab.call1#20c5fb2d", "#20c5fb2d", &TLItem{tag: 0x20c5fb2d, annotations: 0x1, tlName: "ab.call1"}) - fillFunction("ab.call2#77d5f057", "#77d5f057", &TLItem{tag: 0x77d5f057, annotations: 0x1, tlName: "ab.call2"}) - fillFunction("ab.call3#0a083445", "#0a083445", &TLItem{tag: 0x0a083445, annotations: 0x1, tlName: "ab.call3"}) - fillFunction("ab.call4#c1220a1e", "#c1220a1e", &TLItem{tag: 0xc1220a1e, annotations: 0x1, tlName: "ab.call4"}) - fillFunction("ab.call5#7ba4d28d", "#7ba4d28d", &TLItem{tag: 0x7ba4d28d, annotations: 0x1, tlName: "ab.call5"}) - fillFunction("ab.call6#84d815cb", "#84d815cb", &TLItem{tag: 0x84d815cb, annotations: 0x1, tlName: "ab.call6"}) - fillFunction("ab.call7#46ec10bf", "#46ec10bf", &TLItem{tag: 0x46ec10bf, annotations: 0x1, tlName: "ab.call7"}) - fillFunction("ab.call8#1b8652d9", "#1b8652d9", &TLItem{tag: 0x1b8652d9, annotations: 0x1, tlName: "ab.call8"}) - fillFunction("ab.call9#75de906c", "#75de906c", &TLItem{tag: 0x75de906c, annotations: 0x1, tlName: "ab.call9"}) - fillObject("ab.code#7651b1ac", "#7651b1ac", &TLItem{tag: 0x7651b1ac, annotations: 0x0, tlName: "ab.code"}) - fillObject("ab.counterChangeRequestPeriodsMany#14a35d80", "#14a35d80", &TLItem{tag: 0x14a35d80, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsMany"}) - fillObject("ab.counterChangeRequestPeriodsOne#d9c36de5", "#d9c36de5", &TLItem{tag: 0xd9c36de5, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsOne"}) - fillObject("ab.empty#1ec6a63e", "#1ec6a63e", &TLItem{tag: 0x1ec6a63e, annotations: 0x0, tlName: "ab.empty"}) - fillObject("ab.myType#e0e96c86", "#e0e96c86", &TLItem{tag: 0xe0e96c86, annotations: 0x0, tlName: "ab.myType"}) - fillObject("ab.testMaybe#4dac492a", "#4dac492a", &TLItem{tag: 0x4dac492a, annotations: 0x0, tlName: "ab.testMaybe"}) - fillObject("ab.topLevel1#e67bce28", "#e67bce28", &TLItem{tag: 0xe67bce28, annotations: 0x0, tlName: "ab.topLevel1"}) - fillObject("ab.topLevel2#cef933fb", "#cef933fb", &TLItem{tag: 0xcef933fb, annotations: 0x0, tlName: "ab.topLevel2"}) - fillObject("ab.typeA#a99fef6a", "#a99fef6a", &TLItem{tag: 0xa99fef6a, annotations: 0x0, tlName: "ab.typeA"}) - fillObject("ab.typeB#ff2e6d58", "#ff2e6d58", &TLItem{tag: 0xff2e6d58, annotations: 0x0, tlName: "ab.typeB"}) - fillObject("ab.typeC#69920d6e", "#69920d6e", &TLItem{tag: 0x69920d6e, annotations: 0x0, tlName: "ab.typeC"}) - fillObject("ab.typeD#76615bf1", "#76615bf1", &TLItem{tag: 0x76615bf1, annotations: 0x0, tlName: "ab.typeD"}) - fillObject("ab.useCycle#71687381", "#71687381", &TLItem{tag: 0x71687381, annotations: 0x0, tlName: "ab.useCycle"}) - fillObject("ab.useDictString#3325d884", "#3325d884", &TLItem{tag: 0x3325d884, annotations: 0x0, tlName: "ab.useDictString"}) - fillObject("au.nionA#df61f632", "#df61f632", &TLItem{tag: 0xdf61f632, annotations: 0x0, tlName: "au.nionA"}) - fillObject("b.red#a9471844", "#a9471844", &TLItem{tag: 0xa9471844, annotations: 0x0, tlName: "b.red"}) - fillFunction("call1#a7302fbc", "#a7302fbc", &TLItem{tag: 0xa7302fbc, annotations: 0x1, tlName: "call1"}) - fillFunction("call2#f02024c6", "#f02024c6", &TLItem{tag: 0xf02024c6, annotations: 0x1, tlName: "call2"}) - fillFunction("call3#6ace6718", "#6ace6718", &TLItem{tag: 0x6ace6718, annotations: 0x1, tlName: "call3"}) - fillFunction("call4#46d7de8f", "#46d7de8f", &TLItem{tag: 0x46d7de8f, annotations: 0x1, tlName: "call4"}) - fillFunction("call5#fc51061c", "#fc51061c", &TLItem{tag: 0xfc51061c, annotations: 0x1, tlName: "call5"}) - fillFunction("call6#e41e4696", "#e41e4696", &TLItem{tag: 0xe41e4696, annotations: 0x1, tlName: "call6"}) - fillFunction("call7#262a43e2", "#262a43e2", &TLItem{tag: 0x262a43e2, annotations: 0x1, tlName: "call7"}) - fillFunction("call8#7b400184", "#7b400184", &TLItem{tag: 0x7b400184, annotations: 0x1, tlName: "call8"}) - fillFunction("call9#67a0d62d", "#67a0d62d", &TLItem{tag: 0x67a0d62d, annotations: 0x1, tlName: "call9"}) - fillObject("cd.myType#eab6a6b4", "#eab6a6b4", &TLItem{tag: 0xeab6a6b4, annotations: 0x0, tlName: "cd.myType"}) - fillObject("cd.response#8c202f64", "#8c202f64", &TLItem{tag: 0x8c202f64, annotations: 0x0, tlName: "cd.response"}) - fillObject("cd.topLevel3#5cd1ca89", "#5cd1ca89", &TLItem{tag: 0x5cd1ca89, annotations: 0x0, tlName: "cd.topLevel3"}) - fillObject("cd.typeA#a831a920", "#a831a920", &TLItem{tag: 0xa831a920, annotations: 0x0, tlName: "cd.typeA"}) - fillObject("cd.typeB#377b4996", "#377b4996", &TLItem{tag: 0x377b4996, annotations: 0x0, tlName: "cd.typeB"}) - fillObject("cd.typeC#db0f93d4", "#db0f93d4", &TLItem{tag: 0xdb0f93d4, annotations: 0x0, tlName: "cd.typeC"}) - fillObject("cd.typeD#b5528285", "#b5528285", &TLItem{tag: 0xb5528285, annotations: 0x0, tlName: "cd.typeD"}) - fillObject("cd.useCycle#6ed67ca0", "#6ed67ca0", &TLItem{tag: 0x6ed67ca0, annotations: 0x0, tlName: "cd.useCycle"}) - fillObject("cyc1.myCycle#136ecc9e", "#136ecc9e", &TLItem{tag: 0x136ecc9e, annotations: 0x0, tlName: "cyc1.myCycle"}) - fillObject("cyc2.myCycle#fba5eecb", "#fba5eecb", &TLItem{tag: 0xfba5eecb, annotations: 0x0, tlName: "cyc2.myCycle"}) - fillObject("cyc3.myCycle#47866860", "#47866860", &TLItem{tag: 0x47866860, annotations: 0x0, tlName: "cyc3.myCycle"}) - fillObject("cycleTuple#c867fae3", "#c867fae3", &TLItem{tag: 0xc867fae3, annotations: 0x0, tlName: "cycleTuple"}) - fillObject("halfStr#647ddaf5", "#647ddaf5", &TLItem{tag: 0x647ddaf5, annotations: 0x0, tlName: "halfStr"}) - fillObject("hren#12ab5219", "#12ab5219", &TLItem{tag: 0x12ab5219, annotations: 0x0, tlName: "hren"}) - fillObject("int#a8509bda", "#a8509bda", &TLItem{tag: 0xa8509bda, annotations: 0x0, tlName: "int"}) - fillObject("int32#7934e71f", "#7934e71f", &TLItem{tag: 0x7934e71f, annotations: 0x0, tlName: "int32"}) - fillObject("int64#f5609de0", "#f5609de0", &TLItem{tag: 0xf5609de0, annotations: 0x0, tlName: "int64"}) - fillObject("long#22076cba", "#22076cba", &TLItem{tag: 0x22076cba, annotations: 0x0, tlName: "long"}) - fillObject("maybeTest1#c457763c", "#c457763c", &TLItem{tag: 0xc457763c, annotations: 0x0, tlName: "maybeTest1"}) - fillObject("multiPoint#0e1ae81e", "#0e1ae81e", &TLItem{tag: 0x0e1ae81e, annotations: 0x0, tlName: "multiPoint"}) - fillObject("myInt32#ba59e151", "#ba59e151", &TLItem{tag: 0xba59e151, annotations: 0x0, tlName: "myInt32"}) - fillObject("myInt64#1d95db9d", "#1d95db9d", &TLItem{tag: 0x1d95db9d, annotations: 0x0, tlName: "myInt64"}) - fillObject("myNat#c60c1b41", "#c60c1b41", &TLItem{tag: 0xc60c1b41, annotations: 0x0, tlName: "myNat"}) - fillObject("myPlus#79e0c6df", "#79e0c6df", &TLItem{tag: 0x79e0c6df, annotations: 0x0, tlName: "myPlus"}) - fillObject("myPlus3#692c291b", "#692c291b", &TLItem{tag: 0x692c291b, annotations: 0x0, tlName: "myPlus3"}) - fillObject("myZero#8d868379", "#8d868379", &TLItem{tag: 0x8d868379, annotations: 0x0, tlName: "myZero"}) - fillObject("myZero3#103a40cf", "#103a40cf", &TLItem{tag: 0x103a40cf, annotations: 0x0, tlName: "myZero3"}) - fillObject("nativeWrappers#344ddf50", "#344ddf50", &TLItem{tag: 0x344ddf50, annotations: 0x0, tlName: "nativeWrappers"}) - fillObject("noStr#3a728324", "#3a728324", &TLItem{tag: 0x3a728324, annotations: 0x0, tlName: "noStr"}) - fillObject("replace#323db63e", "#323db63e", &TLItem{tag: 0x323db63e, annotations: 0x0, tlName: "replace"}) - fillObject("replace10#fc81f008", "#fc81f008", &TLItem{tag: 0xfc81f008, annotations: 0x0, tlName: "replace10"}) - fillObject("replace12#ec121094", "#ec121094", &TLItem{tag: 0xec121094, annotations: 0x0, tlName: "replace12"}) - fillObject("replace15#2280e430", "#2280e430", &TLItem{tag: 0x2280e430, annotations: 0x0, tlName: "replace15"}) - fillObject("replace17#f46f9b9b", "#f46f9b9b", &TLItem{tag: 0xf46f9b9b, annotations: 0x0, tlName: "replace17"}) - fillObject("replace18#704dd712", "#704dd712", &TLItem{tag: 0x704dd712, annotations: 0x0, tlName: "replace18"}) - fillObject("replace2#e2d4ebee", "#e2d4ebee", &TLItem{tag: 0xe2d4ebee, annotations: 0x0, tlName: "replace2"}) - fillObject("replace3#51e324e4", "#51e324e4", &TLItem{tag: 0x51e324e4, annotations: 0x0, tlName: "replace3"}) - fillObject("replace5#8b5bc78a", "#8b5bc78a", &TLItem{tag: 0x8b5bc78a, annotations: 0x0, tlName: "replace5"}) - fillObject("replace6#abd49d06", "#abd49d06", &TLItem{tag: 0xabd49d06, annotations: 0x0, tlName: "replace6"}) - fillObject("replace7#f4c66d9f", "#f4c66d9f", &TLItem{tag: 0xf4c66d9f, annotations: 0x0, tlName: "replace7"}) - fillObject("replace8#d626c117", "#d626c117", &TLItem{tag: 0xd626c117, annotations: 0x0, tlName: "replace8"}) - fillObject("replace9#95d598c5", "#95d598c5", &TLItem{tag: 0x95d598c5, annotations: 0x0, tlName: "replace9"}) - fillObject("service5.emptyOutput#ff8f7db8", "#ff8f7db8", &TLItem{tag: 0xff8f7db8, annotations: 0x0, tlName: "service5.emptyOutput"}) - fillFunction("service5.insert#7cf362ba", "#7cf362ba", &TLItem{tag: 0x7cf362ba, annotations: 0x2, tlName: "service5.insert"}) - fillObject("service5Long.emptyOutput#ff8f7db9", "#ff8f7db9", &TLItem{tag: 0xff8f7db9, annotations: 0x0, tlName: "service5Long.emptyOutput"}) - fillFunction("service5Long.insert#7cf362bb", "#7cf362bb", &TLItem{tag: 0x7cf362bb, annotations: 0x2, tlName: "service5Long.insert"}) - fillObject("service5Long.stringOutput#dc170ff5", "#dc170ff5", &TLItem{tag: 0xdc170ff5, annotations: 0x0, tlName: "service5Long.stringOutput"}) - fillObject("service5.stringOutput#dc170ff4", "#dc170ff4", &TLItem{tag: 0xdc170ff4, annotations: 0x0, tlName: "service5.stringOutput"}) - fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string"}) - fillObject("testMaybe#88920e90", "#88920e90", &TLItem{tag: 0x88920e90, annotations: 0x0, tlName: "testMaybe"}) - fillObject("testMaybe2#0aa03cf2", "#0aa03cf2", &TLItem{tag: 0x0aa03cf2, annotations: 0x0, tlName: "testMaybe2"}) - fillObject("true#3fedd339", "#3fedd339", &TLItem{tag: 0x3fedd339, annotations: 0x0, tlName: "true"}) - fillObject("typeA#157673c1", "#157673c1", &TLItem{tag: 0x157673c1, annotations: 0x0, tlName: "typeA"}) - fillObject("typeB#9d024802", "#9d024802", &TLItem{tag: 0x9d024802, annotations: 0x0, tlName: "typeB"}) - fillObject("typeC#6b8ef43f", "#6b8ef43f", &TLItem{tag: 0x6b8ef43f, annotations: 0x0, tlName: "typeC"}) - fillObject("typeD#b1f4369e", "#b1f4369e", &TLItem{tag: 0xb1f4369e, annotations: 0x0, tlName: "typeD"}) - fillObject("unionArgsUse#742161d2", "#742161d2", &TLItem{tag: 0x742161d2, annotations: 0x0, tlName: "unionArgsUse"}) - fillObject("useDictUgly#fb9ce817", "#fb9ce817", &TLItem{tag: 0xfb9ce817, annotations: 0x0, tlName: "useDictUgly"}) - fillObject("useResponse#0a63ec5f", "#0a63ec5f", &TLItem{tag: 0x0a63ec5f, annotations: 0x0, tlName: "useResponse"}) - fillObject("useStr#9aa3dee5", "#9aa3dee5", &TLItem{tag: 0x9aa3dee5, annotations: 0x0, tlName: "useStr"}) - fillObject("useTrue#dfdd4180", "#dfdd4180", &TLItem{tag: 0xdfdd4180, annotations: 0x0, tlName: "useTrue"}) - fillFunction("usefulService.getUserEntity#3c857e52", "#3c857e52", &TLItem{tag: 0x3c857e52, annotations: 0x2, tlName: "usefulService.getUserEntity"}) + fillObject("a.blue#623360f3", "#623360f3", &TLItem{tag: 0x623360f3, annotations: 0x0, tlName: "a.blue", resultTypeContainsUnionTypes: false}) + fillObject("a.color#f35d7a69", "#f35d7a69", &TLItem{tag: 0xf35d7a69, annotations: 0x0, tlName: "a.color", resultTypeContainsUnionTypes: false}) + fillObject("a.green#6127e7b8", "#6127e7b8", &TLItem{tag: 0x6127e7b8, annotations: 0x0, tlName: "a.green", resultTypeContainsUnionTypes: false}) + fillObject("a.red#b83a723d", "#b83a723d", &TLItem{tag: 0xb83a723d, annotations: 0x0, tlName: "a.red", resultTypeContainsUnionTypes: false}) + fillObject("a.top2#7082d18f", "#7082d18f", &TLItem{tag: 0x7082d18f, annotations: 0x0, tlName: "a.top2", resultTypeContainsUnionTypes: false}) + fillObject("a.uNionA#a7662843", "#a7662843", &TLItem{tag: 0xa7662843, annotations: 0x0, tlName: "a.uNionA", resultTypeContainsUnionTypes: false}) + fillObject("ab.alias#944aaa97", "#944aaa97", &TLItem{tag: 0x944aaa97, annotations: 0x0, tlName: "ab.alias", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call1#20c5fb2d", "#20c5fb2d", &TLItem{tag: 0x20c5fb2d, annotations: 0x1, tlName: "ab.call1", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call2#77d5f057", "#77d5f057", &TLItem{tag: 0x77d5f057, annotations: 0x1, tlName: "ab.call2", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call3#0a083445", "#0a083445", &TLItem{tag: 0x0a083445, annotations: 0x1, tlName: "ab.call3", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call4#c1220a1e", "#c1220a1e", &TLItem{tag: 0xc1220a1e, annotations: 0x1, tlName: "ab.call4", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call5#7ba4d28d", "#7ba4d28d", &TLItem{tag: 0x7ba4d28d, annotations: 0x1, tlName: "ab.call5", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call6#84d815cb", "#84d815cb", &TLItem{tag: 0x84d815cb, annotations: 0x1, tlName: "ab.call6", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call7#46ec10bf", "#46ec10bf", &TLItem{tag: 0x46ec10bf, annotations: 0x1, tlName: "ab.call7", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call8#1b8652d9", "#1b8652d9", &TLItem{tag: 0x1b8652d9, annotations: 0x1, tlName: "ab.call8", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call9#75de906c", "#75de906c", &TLItem{tag: 0x75de906c, annotations: 0x1, tlName: "ab.call9", resultTypeContainsUnionTypes: false}) + fillObject("ab.code#7651b1ac", "#7651b1ac", &TLItem{tag: 0x7651b1ac, annotations: 0x0, tlName: "ab.code", resultTypeContainsUnionTypes: false}) + fillObject("ab.counterChangeRequestPeriodsMany#14a35d80", "#14a35d80", &TLItem{tag: 0x14a35d80, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsMany", resultTypeContainsUnionTypes: false}) + fillObject("ab.counterChangeRequestPeriodsOne#d9c36de5", "#d9c36de5", &TLItem{tag: 0xd9c36de5, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsOne", resultTypeContainsUnionTypes: false}) + fillObject("ab.empty#1ec6a63e", "#1ec6a63e", &TLItem{tag: 0x1ec6a63e, annotations: 0x0, tlName: "ab.empty", resultTypeContainsUnionTypes: false}) + fillObject("ab.myType#e0e96c86", "#e0e96c86", &TLItem{tag: 0xe0e96c86, annotations: 0x0, tlName: "ab.myType", resultTypeContainsUnionTypes: false}) + fillObject("ab.testMaybe#4dac492a", "#4dac492a", &TLItem{tag: 0x4dac492a, annotations: 0x0, tlName: "ab.testMaybe", resultTypeContainsUnionTypes: false}) + fillObject("ab.topLevel1#e67bce28", "#e67bce28", &TLItem{tag: 0xe67bce28, annotations: 0x0, tlName: "ab.topLevel1", resultTypeContainsUnionTypes: false}) + fillObject("ab.topLevel2#cef933fb", "#cef933fb", &TLItem{tag: 0xcef933fb, annotations: 0x0, tlName: "ab.topLevel2", resultTypeContainsUnionTypes: false}) + fillObject("ab.typeA#a99fef6a", "#a99fef6a", &TLItem{tag: 0xa99fef6a, annotations: 0x0, tlName: "ab.typeA", resultTypeContainsUnionTypes: false}) + fillObject("ab.typeB#ff2e6d58", "#ff2e6d58", &TLItem{tag: 0xff2e6d58, annotations: 0x0, tlName: "ab.typeB", resultTypeContainsUnionTypes: false}) + fillObject("ab.typeC#69920d6e", "#69920d6e", &TLItem{tag: 0x69920d6e, annotations: 0x0, tlName: "ab.typeC", resultTypeContainsUnionTypes: false}) + fillObject("ab.typeD#76615bf1", "#76615bf1", &TLItem{tag: 0x76615bf1, annotations: 0x0, tlName: "ab.typeD", resultTypeContainsUnionTypes: false}) + fillObject("ab.useCycle#71687381", "#71687381", &TLItem{tag: 0x71687381, annotations: 0x0, tlName: "ab.useCycle", resultTypeContainsUnionTypes: false}) + fillObject("ab.useDictString#3325d884", "#3325d884", &TLItem{tag: 0x3325d884, annotations: 0x0, tlName: "ab.useDictString", resultTypeContainsUnionTypes: false}) + fillObject("au.nionA#df61f632", "#df61f632", &TLItem{tag: 0xdf61f632, annotations: 0x0, tlName: "au.nionA", resultTypeContainsUnionTypes: false}) + fillObject("b.red#a9471844", "#a9471844", &TLItem{tag: 0xa9471844, annotations: 0x0, tlName: "b.red", resultTypeContainsUnionTypes: false}) + fillFunction("call1#a7302fbc", "#a7302fbc", &TLItem{tag: 0xa7302fbc, annotations: 0x1, tlName: "call1", resultTypeContainsUnionTypes: false}) + fillFunction("call2#f02024c6", "#f02024c6", &TLItem{tag: 0xf02024c6, annotations: 0x1, tlName: "call2", resultTypeContainsUnionTypes: false}) + fillFunction("call3#6ace6718", "#6ace6718", &TLItem{tag: 0x6ace6718, annotations: 0x1, tlName: "call3", resultTypeContainsUnionTypes: false}) + fillFunction("call4#46d7de8f", "#46d7de8f", &TLItem{tag: 0x46d7de8f, annotations: 0x1, tlName: "call4", resultTypeContainsUnionTypes: false}) + fillFunction("call5#fc51061c", "#fc51061c", &TLItem{tag: 0xfc51061c, annotations: 0x1, tlName: "call5", resultTypeContainsUnionTypes: false}) + fillFunction("call6#e41e4696", "#e41e4696", &TLItem{tag: 0xe41e4696, annotations: 0x1, tlName: "call6", resultTypeContainsUnionTypes: false}) + fillFunction("call7#262a43e2", "#262a43e2", &TLItem{tag: 0x262a43e2, annotations: 0x1, tlName: "call7", resultTypeContainsUnionTypes: false}) + fillFunction("call8#7b400184", "#7b400184", &TLItem{tag: 0x7b400184, annotations: 0x1, tlName: "call8", resultTypeContainsUnionTypes: false}) + fillFunction("call9#67a0d62d", "#67a0d62d", &TLItem{tag: 0x67a0d62d, annotations: 0x1, tlName: "call9", resultTypeContainsUnionTypes: false}) + fillObject("cd.myType#eab6a6b4", "#eab6a6b4", &TLItem{tag: 0xeab6a6b4, annotations: 0x0, tlName: "cd.myType", resultTypeContainsUnionTypes: false}) + fillObject("cd.response#8c202f64", "#8c202f64", &TLItem{tag: 0x8c202f64, annotations: 0x0, tlName: "cd.response", resultTypeContainsUnionTypes: false}) + fillObject("cd.topLevel3#5cd1ca89", "#5cd1ca89", &TLItem{tag: 0x5cd1ca89, annotations: 0x0, tlName: "cd.topLevel3", resultTypeContainsUnionTypes: false}) + fillObject("cd.typeA#a831a920", "#a831a920", &TLItem{tag: 0xa831a920, annotations: 0x0, tlName: "cd.typeA", resultTypeContainsUnionTypes: false}) + fillObject("cd.typeB#377b4996", "#377b4996", &TLItem{tag: 0x377b4996, annotations: 0x0, tlName: "cd.typeB", resultTypeContainsUnionTypes: false}) + fillObject("cd.typeC#db0f93d4", "#db0f93d4", &TLItem{tag: 0xdb0f93d4, annotations: 0x0, tlName: "cd.typeC", resultTypeContainsUnionTypes: false}) + fillObject("cd.typeD#b5528285", "#b5528285", &TLItem{tag: 0xb5528285, annotations: 0x0, tlName: "cd.typeD", resultTypeContainsUnionTypes: false}) + fillObject("cd.useCycle#6ed67ca0", "#6ed67ca0", &TLItem{tag: 0x6ed67ca0, annotations: 0x0, tlName: "cd.useCycle", resultTypeContainsUnionTypes: false}) + fillObject("cyc1.myCycle#136ecc9e", "#136ecc9e", &TLItem{tag: 0x136ecc9e, annotations: 0x0, tlName: "cyc1.myCycle", resultTypeContainsUnionTypes: false}) + fillObject("cyc2.myCycle#fba5eecb", "#fba5eecb", &TLItem{tag: 0xfba5eecb, annotations: 0x0, tlName: "cyc2.myCycle", resultTypeContainsUnionTypes: false}) + fillObject("cyc3.myCycle#47866860", "#47866860", &TLItem{tag: 0x47866860, annotations: 0x0, tlName: "cyc3.myCycle", resultTypeContainsUnionTypes: false}) + fillObject("cycleTuple#c867fae3", "#c867fae3", &TLItem{tag: 0xc867fae3, annotations: 0x0, tlName: "cycleTuple", resultTypeContainsUnionTypes: false}) + fillObject("halfStr#647ddaf5", "#647ddaf5", &TLItem{tag: 0x647ddaf5, annotations: 0x0, tlName: "halfStr", resultTypeContainsUnionTypes: false}) + fillObject("hren#12ab5219", "#12ab5219", &TLItem{tag: 0x12ab5219, annotations: 0x0, tlName: "hren", resultTypeContainsUnionTypes: false}) + fillObject("int#a8509bda", "#a8509bda", &TLItem{tag: 0xa8509bda, annotations: 0x0, tlName: "int", resultTypeContainsUnionTypes: false}) + fillObject("int32#7934e71f", "#7934e71f", &TLItem{tag: 0x7934e71f, annotations: 0x0, tlName: "int32", resultTypeContainsUnionTypes: false}) + fillObject("int64#f5609de0", "#f5609de0", &TLItem{tag: 0xf5609de0, annotations: 0x0, tlName: "int64", resultTypeContainsUnionTypes: false}) + fillObject("long#22076cba", "#22076cba", &TLItem{tag: 0x22076cba, annotations: 0x0, tlName: "long", resultTypeContainsUnionTypes: false}) + fillObject("maybeTest1#c457763c", "#c457763c", &TLItem{tag: 0xc457763c, annotations: 0x0, tlName: "maybeTest1", resultTypeContainsUnionTypes: false}) + fillObject("multiPoint#0e1ae81e", "#0e1ae81e", &TLItem{tag: 0x0e1ae81e, annotations: 0x0, tlName: "multiPoint", resultTypeContainsUnionTypes: false}) + fillObject("myInt32#ba59e151", "#ba59e151", &TLItem{tag: 0xba59e151, annotations: 0x0, tlName: "myInt32", resultTypeContainsUnionTypes: false}) + fillObject("myInt64#1d95db9d", "#1d95db9d", &TLItem{tag: 0x1d95db9d, annotations: 0x0, tlName: "myInt64", resultTypeContainsUnionTypes: false}) + fillObject("myNat#c60c1b41", "#c60c1b41", &TLItem{tag: 0xc60c1b41, annotations: 0x0, tlName: "myNat", resultTypeContainsUnionTypes: false}) + fillObject("myPlus#79e0c6df", "#79e0c6df", &TLItem{tag: 0x79e0c6df, annotations: 0x0, tlName: "myPlus", resultTypeContainsUnionTypes: false}) + fillObject("myPlus3#692c291b", "#692c291b", &TLItem{tag: 0x692c291b, annotations: 0x0, tlName: "myPlus3", resultTypeContainsUnionTypes: false}) + fillObject("myZero#8d868379", "#8d868379", &TLItem{tag: 0x8d868379, annotations: 0x0, tlName: "myZero", resultTypeContainsUnionTypes: false}) + fillObject("myZero3#103a40cf", "#103a40cf", &TLItem{tag: 0x103a40cf, annotations: 0x0, tlName: "myZero3", resultTypeContainsUnionTypes: false}) + fillObject("nativeWrappers#344ddf50", "#344ddf50", &TLItem{tag: 0x344ddf50, annotations: 0x0, tlName: "nativeWrappers", resultTypeContainsUnionTypes: false}) + fillObject("noStr#3a728324", "#3a728324", &TLItem{tag: 0x3a728324, annotations: 0x0, tlName: "noStr", resultTypeContainsUnionTypes: false}) + fillObject("replace#323db63e", "#323db63e", &TLItem{tag: 0x323db63e, annotations: 0x0, tlName: "replace", resultTypeContainsUnionTypes: false}) + fillObject("replace10#fc81f008", "#fc81f008", &TLItem{tag: 0xfc81f008, annotations: 0x0, tlName: "replace10", resultTypeContainsUnionTypes: false}) + fillObject("replace12#ec121094", "#ec121094", &TLItem{tag: 0xec121094, annotations: 0x0, tlName: "replace12", resultTypeContainsUnionTypes: false}) + fillObject("replace15#2280e430", "#2280e430", &TLItem{tag: 0x2280e430, annotations: 0x0, tlName: "replace15", resultTypeContainsUnionTypes: false}) + fillObject("replace17#f46f9b9b", "#f46f9b9b", &TLItem{tag: 0xf46f9b9b, annotations: 0x0, tlName: "replace17", resultTypeContainsUnionTypes: false}) + fillObject("replace18#704dd712", "#704dd712", &TLItem{tag: 0x704dd712, annotations: 0x0, tlName: "replace18", resultTypeContainsUnionTypes: false}) + fillObject("replace2#e2d4ebee", "#e2d4ebee", &TLItem{tag: 0xe2d4ebee, annotations: 0x0, tlName: "replace2", resultTypeContainsUnionTypes: false}) + fillObject("replace3#51e324e4", "#51e324e4", &TLItem{tag: 0x51e324e4, annotations: 0x0, tlName: "replace3", resultTypeContainsUnionTypes: false}) + fillObject("replace5#8b5bc78a", "#8b5bc78a", &TLItem{tag: 0x8b5bc78a, annotations: 0x0, tlName: "replace5", resultTypeContainsUnionTypes: false}) + fillObject("replace6#abd49d06", "#abd49d06", &TLItem{tag: 0xabd49d06, annotations: 0x0, tlName: "replace6", resultTypeContainsUnionTypes: false}) + fillObject("replace7#f4c66d9f", "#f4c66d9f", &TLItem{tag: 0xf4c66d9f, annotations: 0x0, tlName: "replace7", resultTypeContainsUnionTypes: false}) + fillObject("replace8#d626c117", "#d626c117", &TLItem{tag: 0xd626c117, annotations: 0x0, tlName: "replace8", resultTypeContainsUnionTypes: false}) + fillObject("replace9#95d598c5", "#95d598c5", &TLItem{tag: 0x95d598c5, annotations: 0x0, tlName: "replace9", resultTypeContainsUnionTypes: false}) + fillObject("service5.emptyOutput#ff8f7db8", "#ff8f7db8", &TLItem{tag: 0xff8f7db8, annotations: 0x0, tlName: "service5.emptyOutput", resultTypeContainsUnionTypes: false}) + fillFunction("service5.insert#7cf362ba", "#7cf362ba", &TLItem{tag: 0x7cf362ba, annotations: 0x2, tlName: "service5.insert", resultTypeContainsUnionTypes: true}) + fillObject("service5Long.emptyOutput#ff8f7db9", "#ff8f7db9", &TLItem{tag: 0xff8f7db9, annotations: 0x0, tlName: "service5Long.emptyOutput", resultTypeContainsUnionTypes: false}) + fillFunction("service5Long.insert#7cf362bb", "#7cf362bb", &TLItem{tag: 0x7cf362bb, annotations: 0x2, tlName: "service5Long.insert", resultTypeContainsUnionTypes: true}) + fillObject("service5Long.stringOutput#dc170ff5", "#dc170ff5", &TLItem{tag: 0xdc170ff5, annotations: 0x0, tlName: "service5Long.stringOutput", resultTypeContainsUnionTypes: false}) + fillObject("service5.stringOutput#dc170ff4", "#dc170ff4", &TLItem{tag: 0xdc170ff4, annotations: 0x0, tlName: "service5.stringOutput", resultTypeContainsUnionTypes: false}) + fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string", resultTypeContainsUnionTypes: false}) + fillObject("testMaybe#88920e90", "#88920e90", &TLItem{tag: 0x88920e90, annotations: 0x0, tlName: "testMaybe", resultTypeContainsUnionTypes: false}) + fillObject("testMaybe2#0aa03cf2", "#0aa03cf2", &TLItem{tag: 0x0aa03cf2, annotations: 0x0, tlName: "testMaybe2", resultTypeContainsUnionTypes: false}) + fillObject("true#3fedd339", "#3fedd339", &TLItem{tag: 0x3fedd339, annotations: 0x0, tlName: "true", resultTypeContainsUnionTypes: false}) + fillObject("typeA#157673c1", "#157673c1", &TLItem{tag: 0x157673c1, annotations: 0x0, tlName: "typeA", resultTypeContainsUnionTypes: false}) + fillObject("typeB#9d024802", "#9d024802", &TLItem{tag: 0x9d024802, annotations: 0x0, tlName: "typeB", resultTypeContainsUnionTypes: false}) + fillObject("typeC#6b8ef43f", "#6b8ef43f", &TLItem{tag: 0x6b8ef43f, annotations: 0x0, tlName: "typeC", resultTypeContainsUnionTypes: false}) + fillObject("typeD#b1f4369e", "#b1f4369e", &TLItem{tag: 0xb1f4369e, annotations: 0x0, tlName: "typeD", resultTypeContainsUnionTypes: false}) + fillObject("unionArgsUse#742161d2", "#742161d2", &TLItem{tag: 0x742161d2, annotations: 0x0, tlName: "unionArgsUse", resultTypeContainsUnionTypes: false}) + fillObject("useDictUgly#fb9ce817", "#fb9ce817", &TLItem{tag: 0xfb9ce817, annotations: 0x0, tlName: "useDictUgly", resultTypeContainsUnionTypes: false}) + fillObject("useResponse#0a63ec5f", "#0a63ec5f", &TLItem{tag: 0x0a63ec5f, annotations: 0x0, tlName: "useResponse", resultTypeContainsUnionTypes: false}) + fillObject("useStr#9aa3dee5", "#9aa3dee5", &TLItem{tag: 0x9aa3dee5, annotations: 0x0, tlName: "useStr", resultTypeContainsUnionTypes: false}) + fillObject("useTrue#dfdd4180", "#dfdd4180", &TLItem{tag: 0xdfdd4180, annotations: 0x0, tlName: "useTrue", resultTypeContainsUnionTypes: false}) + fillFunction("usefulService.getUserEntity#3c857e52", "#3c857e52", &TLItem{tag: 0x3c857e52, annotations: 0x2, tlName: "usefulService.getUserEntity", resultTypeContainsUnionTypes: false}) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go index 97fa63e9..d1a0d028 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go @@ -43,8 +43,6 @@ type Object interface { type Function interface { Object - ContainsUnionTypesInResult() bool - ReadResultWriteResultJSON(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResult(r) + WriteResultJSON(w). Returns new r, new w, plus error ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) // combination of ReadResultJSON(r) + WriteResult(w). Returns new r, new w, plus error @@ -131,9 +129,12 @@ func CreateObjectFromNameBytes(name string) Object { } type TLItem struct { - tag uint32 - annotations uint32 - tlName string + tag uint32 + annotations uint32 + tlName string + + resultTypeContainsUnionTypes bool + createFunction func() Function createFunctionLong func() Function createObject func() Object @@ -148,6 +149,8 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } +func (item TLItem) HasResultTypeContainUnionTypes() bool { return item.resultTypeContainsUnionTypes } + // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } func (item TLItem) CreateFunctionLong() Function { return item.createFunctionLong() } @@ -300,107 +303,107 @@ func fillFunction(n1 string, n2 string, item *TLItem) { } func init() { - fillObject("a.blue#623360f3", "#623360f3", &TLItem{tag: 0x623360f3, annotations: 0x0, tlName: "a.blue"}) - fillObject("a.color#f35d7a69", "#f35d7a69", &TLItem{tag: 0xf35d7a69, annotations: 0x0, tlName: "a.color"}) - fillObject("a.green#6127e7b8", "#6127e7b8", &TLItem{tag: 0x6127e7b8, annotations: 0x0, tlName: "a.green"}) - fillObject("a.red#b83a723d", "#b83a723d", &TLItem{tag: 0xb83a723d, annotations: 0x0, tlName: "a.red"}) - fillObject("a.top2#7082d18f", "#7082d18f", &TLItem{tag: 0x7082d18f, annotations: 0x0, tlName: "a.top2"}) - fillObject("a.uNionA#a7662843", "#a7662843", &TLItem{tag: 0xa7662843, annotations: 0x0, tlName: "a.uNionA"}) - fillObject("ab.alias#944aaa97", "#944aaa97", &TLItem{tag: 0x944aaa97, annotations: 0x0, tlName: "ab.alias"}) - fillFunction("ab.call1#20c5fb2d", "#20c5fb2d", &TLItem{tag: 0x20c5fb2d, annotations: 0x1, tlName: "ab.call1"}) - fillFunction("ab.call2#77d5f057", "#77d5f057", &TLItem{tag: 0x77d5f057, annotations: 0x1, tlName: "ab.call2"}) - fillFunction("ab.call3#0a083445", "#0a083445", &TLItem{tag: 0x0a083445, annotations: 0x1, tlName: "ab.call3"}) - fillFunction("ab.call4#c1220a1e", "#c1220a1e", &TLItem{tag: 0xc1220a1e, annotations: 0x1, tlName: "ab.call4"}) - fillFunction("ab.call5#7ba4d28d", "#7ba4d28d", &TLItem{tag: 0x7ba4d28d, annotations: 0x1, tlName: "ab.call5"}) - fillFunction("ab.call6#84d815cb", "#84d815cb", &TLItem{tag: 0x84d815cb, annotations: 0x1, tlName: "ab.call6"}) - fillFunction("ab.call7#46ec10bf", "#46ec10bf", &TLItem{tag: 0x46ec10bf, annotations: 0x1, tlName: "ab.call7"}) - fillFunction("ab.call8#1b8652d9", "#1b8652d9", &TLItem{tag: 0x1b8652d9, annotations: 0x1, tlName: "ab.call8"}) - fillFunction("ab.call9#75de906c", "#75de906c", &TLItem{tag: 0x75de906c, annotations: 0x1, tlName: "ab.call9"}) - fillObject("ab.code#7651b1ac", "#7651b1ac", &TLItem{tag: 0x7651b1ac, annotations: 0x0, tlName: "ab.code"}) - fillObject("ab.counterChangeRequestPeriodsMany#14a35d80", "#14a35d80", &TLItem{tag: 0x14a35d80, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsMany"}) - fillObject("ab.counterChangeRequestPeriodsOne#d9c36de5", "#d9c36de5", &TLItem{tag: 0xd9c36de5, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsOne"}) - fillObject("ab.empty#1ec6a63e", "#1ec6a63e", &TLItem{tag: 0x1ec6a63e, annotations: 0x0, tlName: "ab.empty"}) - fillObject("ab.myType#e0e96c86", "#e0e96c86", &TLItem{tag: 0xe0e96c86, annotations: 0x0, tlName: "ab.myType"}) - fillObject("ab.testMaybe#4dac492a", "#4dac492a", &TLItem{tag: 0x4dac492a, annotations: 0x0, tlName: "ab.testMaybe"}) - fillObject("ab.topLevel1#e67bce28", "#e67bce28", &TLItem{tag: 0xe67bce28, annotations: 0x0, tlName: "ab.topLevel1"}) - fillObject("ab.topLevel2#cef933fb", "#cef933fb", &TLItem{tag: 0xcef933fb, annotations: 0x0, tlName: "ab.topLevel2"}) - fillObject("ab.typeA#a99fef6a", "#a99fef6a", &TLItem{tag: 0xa99fef6a, annotations: 0x0, tlName: "ab.typeA"}) - fillObject("ab.typeB#ff2e6d58", "#ff2e6d58", &TLItem{tag: 0xff2e6d58, annotations: 0x0, tlName: "ab.typeB"}) - fillObject("ab.typeC#69920d6e", "#69920d6e", &TLItem{tag: 0x69920d6e, annotations: 0x0, tlName: "ab.typeC"}) - fillObject("ab.typeD#76615bf1", "#76615bf1", &TLItem{tag: 0x76615bf1, annotations: 0x0, tlName: "ab.typeD"}) - fillObject("ab.useCycle#71687381", "#71687381", &TLItem{tag: 0x71687381, annotations: 0x0, tlName: "ab.useCycle"}) - fillObject("ab.useDictString#3325d884", "#3325d884", &TLItem{tag: 0x3325d884, annotations: 0x0, tlName: "ab.useDictString"}) - fillObject("au.nionA#df61f632", "#df61f632", &TLItem{tag: 0xdf61f632, annotations: 0x0, tlName: "au.nionA"}) - fillObject("b.red#a9471844", "#a9471844", &TLItem{tag: 0xa9471844, annotations: 0x0, tlName: "b.red"}) - fillFunction("call1#a7302fbc", "#a7302fbc", &TLItem{tag: 0xa7302fbc, annotations: 0x1, tlName: "call1"}) - fillFunction("call2#f02024c6", "#f02024c6", &TLItem{tag: 0xf02024c6, annotations: 0x1, tlName: "call2"}) - fillFunction("call3#6ace6718", "#6ace6718", &TLItem{tag: 0x6ace6718, annotations: 0x1, tlName: "call3"}) - fillFunction("call4#46d7de8f", "#46d7de8f", &TLItem{tag: 0x46d7de8f, annotations: 0x1, tlName: "call4"}) - fillFunction("call5#fc51061c", "#fc51061c", &TLItem{tag: 0xfc51061c, annotations: 0x1, tlName: "call5"}) - fillFunction("call6#e41e4696", "#e41e4696", &TLItem{tag: 0xe41e4696, annotations: 0x1, tlName: "call6"}) - fillFunction("call7#262a43e2", "#262a43e2", &TLItem{tag: 0x262a43e2, annotations: 0x1, tlName: "call7"}) - fillFunction("call8#7b400184", "#7b400184", &TLItem{tag: 0x7b400184, annotations: 0x1, tlName: "call8"}) - fillFunction("call9#67a0d62d", "#67a0d62d", &TLItem{tag: 0x67a0d62d, annotations: 0x1, tlName: "call9"}) - fillObject("cd.myType#eab6a6b4", "#eab6a6b4", &TLItem{tag: 0xeab6a6b4, annotations: 0x0, tlName: "cd.myType"}) - fillObject("cd.response#8c202f64", "#8c202f64", &TLItem{tag: 0x8c202f64, annotations: 0x0, tlName: "cd.response"}) - fillObject("cd.topLevel3#5cd1ca89", "#5cd1ca89", &TLItem{tag: 0x5cd1ca89, annotations: 0x0, tlName: "cd.topLevel3"}) - fillObject("cd.typeA#a831a920", "#a831a920", &TLItem{tag: 0xa831a920, annotations: 0x0, tlName: "cd.typeA"}) - fillObject("cd.typeB#377b4996", "#377b4996", &TLItem{tag: 0x377b4996, annotations: 0x0, tlName: "cd.typeB"}) - fillObject("cd.typeC#db0f93d4", "#db0f93d4", &TLItem{tag: 0xdb0f93d4, annotations: 0x0, tlName: "cd.typeC"}) - fillObject("cd.typeD#b5528285", "#b5528285", &TLItem{tag: 0xb5528285, annotations: 0x0, tlName: "cd.typeD"}) - fillObject("cd.useCycle#6ed67ca0", "#6ed67ca0", &TLItem{tag: 0x6ed67ca0, annotations: 0x0, tlName: "cd.useCycle"}) - fillObject("cyc1.myCycle#136ecc9e", "#136ecc9e", &TLItem{tag: 0x136ecc9e, annotations: 0x0, tlName: "cyc1.myCycle"}) - fillObject("cyc2.myCycle#fba5eecb", "#fba5eecb", &TLItem{tag: 0xfba5eecb, annotations: 0x0, tlName: "cyc2.myCycle"}) - fillObject("cyc3.myCycle#47866860", "#47866860", &TLItem{tag: 0x47866860, annotations: 0x0, tlName: "cyc3.myCycle"}) - fillObject("cycleTuple#c867fae3", "#c867fae3", &TLItem{tag: 0xc867fae3, annotations: 0x0, tlName: "cycleTuple"}) - fillObject("halfStr#647ddaf5", "#647ddaf5", &TLItem{tag: 0x647ddaf5, annotations: 0x0, tlName: "halfStr"}) - fillObject("hren#12ab5219", "#12ab5219", &TLItem{tag: 0x12ab5219, annotations: 0x0, tlName: "hren"}) - fillObject("int#a8509bda", "#a8509bda", &TLItem{tag: 0xa8509bda, annotations: 0x0, tlName: "int"}) - fillObject("int32#7934e71f", "#7934e71f", &TLItem{tag: 0x7934e71f, annotations: 0x0, tlName: "int32"}) - fillObject("int64#f5609de0", "#f5609de0", &TLItem{tag: 0xf5609de0, annotations: 0x0, tlName: "int64"}) - fillObject("long#22076cba", "#22076cba", &TLItem{tag: 0x22076cba, annotations: 0x0, tlName: "long"}) - fillObject("maybeTest1#c457763c", "#c457763c", &TLItem{tag: 0xc457763c, annotations: 0x0, tlName: "maybeTest1"}) - fillObject("multiPoint#0e1ae81e", "#0e1ae81e", &TLItem{tag: 0x0e1ae81e, annotations: 0x0, tlName: "multiPoint"}) - fillObject("myInt32#ba59e151", "#ba59e151", &TLItem{tag: 0xba59e151, annotations: 0x0, tlName: "myInt32"}) - fillObject("myInt64#1d95db9d", "#1d95db9d", &TLItem{tag: 0x1d95db9d, annotations: 0x0, tlName: "myInt64"}) - fillObject("myNat#c60c1b41", "#c60c1b41", &TLItem{tag: 0xc60c1b41, annotations: 0x0, tlName: "myNat"}) - fillObject("myPlus#79e0c6df", "#79e0c6df", &TLItem{tag: 0x79e0c6df, annotations: 0x0, tlName: "myPlus"}) - fillObject("myPlus3#692c291b", "#692c291b", &TLItem{tag: 0x692c291b, annotations: 0x0, tlName: "myPlus3"}) - fillObject("myZero#8d868379", "#8d868379", &TLItem{tag: 0x8d868379, annotations: 0x0, tlName: "myZero"}) - fillObject("myZero3#103a40cf", "#103a40cf", &TLItem{tag: 0x103a40cf, annotations: 0x0, tlName: "myZero3"}) - fillObject("nativeWrappers#344ddf50", "#344ddf50", &TLItem{tag: 0x344ddf50, annotations: 0x0, tlName: "nativeWrappers"}) - fillObject("noStr#3a728324", "#3a728324", &TLItem{tag: 0x3a728324, annotations: 0x0, tlName: "noStr"}) - fillObject("replace#323db63e", "#323db63e", &TLItem{tag: 0x323db63e, annotations: 0x0, tlName: "replace"}) - fillObject("replace10#fc81f008", "#fc81f008", &TLItem{tag: 0xfc81f008, annotations: 0x0, tlName: "replace10"}) - fillObject("replace12#ec121094", "#ec121094", &TLItem{tag: 0xec121094, annotations: 0x0, tlName: "replace12"}) - fillObject("replace15#2280e430", "#2280e430", &TLItem{tag: 0x2280e430, annotations: 0x0, tlName: "replace15"}) - fillObject("replace17#f46f9b9b", "#f46f9b9b", &TLItem{tag: 0xf46f9b9b, annotations: 0x0, tlName: "replace17"}) - fillObject("replace18#704dd712", "#704dd712", &TLItem{tag: 0x704dd712, annotations: 0x0, tlName: "replace18"}) - fillObject("replace2#e2d4ebee", "#e2d4ebee", &TLItem{tag: 0xe2d4ebee, annotations: 0x0, tlName: "replace2"}) - fillObject("replace3#51e324e4", "#51e324e4", &TLItem{tag: 0x51e324e4, annotations: 0x0, tlName: "replace3"}) - fillObject("replace5#8b5bc78a", "#8b5bc78a", &TLItem{tag: 0x8b5bc78a, annotations: 0x0, tlName: "replace5"}) - fillObject("replace6#abd49d06", "#abd49d06", &TLItem{tag: 0xabd49d06, annotations: 0x0, tlName: "replace6"}) - fillObject("replace7#f4c66d9f", "#f4c66d9f", &TLItem{tag: 0xf4c66d9f, annotations: 0x0, tlName: "replace7"}) - fillObject("replace8#d626c117", "#d626c117", &TLItem{tag: 0xd626c117, annotations: 0x0, tlName: "replace8"}) - fillObject("replace9#95d598c5", "#95d598c5", &TLItem{tag: 0x95d598c5, annotations: 0x0, tlName: "replace9"}) - fillObject("service5.emptyOutput#ff8f7db8", "#ff8f7db8", &TLItem{tag: 0xff8f7db8, annotations: 0x0, tlName: "service5.emptyOutput"}) - fillFunction("service5.insert#7cf362ba", "#7cf362ba", &TLItem{tag: 0x7cf362ba, annotations: 0x2, tlName: "service5.insert"}) - fillObject("service5Long.emptyOutput#ff8f7db9", "#ff8f7db9", &TLItem{tag: 0xff8f7db9, annotations: 0x0, tlName: "service5Long.emptyOutput"}) - fillFunction("service5Long.insert#7cf362bb", "#7cf362bb", &TLItem{tag: 0x7cf362bb, annotations: 0x2, tlName: "service5Long.insert"}) - fillObject("service5Long.stringOutput#dc170ff5", "#dc170ff5", &TLItem{tag: 0xdc170ff5, annotations: 0x0, tlName: "service5Long.stringOutput"}) - fillObject("service5.stringOutput#dc170ff4", "#dc170ff4", &TLItem{tag: 0xdc170ff4, annotations: 0x0, tlName: "service5.stringOutput"}) - fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string"}) - fillObject("testMaybe#88920e90", "#88920e90", &TLItem{tag: 0x88920e90, annotations: 0x0, tlName: "testMaybe"}) - fillObject("testMaybe2#0aa03cf2", "#0aa03cf2", &TLItem{tag: 0x0aa03cf2, annotations: 0x0, tlName: "testMaybe2"}) - fillObject("true#3fedd339", "#3fedd339", &TLItem{tag: 0x3fedd339, annotations: 0x0, tlName: "true"}) - fillObject("typeA#157673c1", "#157673c1", &TLItem{tag: 0x157673c1, annotations: 0x0, tlName: "typeA"}) - fillObject("typeB#9d024802", "#9d024802", &TLItem{tag: 0x9d024802, annotations: 0x0, tlName: "typeB"}) - fillObject("typeC#6b8ef43f", "#6b8ef43f", &TLItem{tag: 0x6b8ef43f, annotations: 0x0, tlName: "typeC"}) - fillObject("typeD#b1f4369e", "#b1f4369e", &TLItem{tag: 0xb1f4369e, annotations: 0x0, tlName: "typeD"}) - fillObject("unionArgsUse#742161d2", "#742161d2", &TLItem{tag: 0x742161d2, annotations: 0x0, tlName: "unionArgsUse"}) - fillObject("useDictUgly#fb9ce817", "#fb9ce817", &TLItem{tag: 0xfb9ce817, annotations: 0x0, tlName: "useDictUgly"}) - fillObject("useResponse#0a63ec5f", "#0a63ec5f", &TLItem{tag: 0x0a63ec5f, annotations: 0x0, tlName: "useResponse"}) - fillObject("useStr#9aa3dee5", "#9aa3dee5", &TLItem{tag: 0x9aa3dee5, annotations: 0x0, tlName: "useStr"}) - fillObject("useTrue#dfdd4180", "#dfdd4180", &TLItem{tag: 0xdfdd4180, annotations: 0x0, tlName: "useTrue"}) - fillFunction("usefulService.getUserEntity#3c857e52", "#3c857e52", &TLItem{tag: 0x3c857e52, annotations: 0x2, tlName: "usefulService.getUserEntity"}) + fillObject("a.blue#623360f3", "#623360f3", &TLItem{tag: 0x623360f3, annotations: 0x0, tlName: "a.blue", resultTypeContainsUnionTypes: false}) + fillObject("a.color#f35d7a69", "#f35d7a69", &TLItem{tag: 0xf35d7a69, annotations: 0x0, tlName: "a.color", resultTypeContainsUnionTypes: false}) + fillObject("a.green#6127e7b8", "#6127e7b8", &TLItem{tag: 0x6127e7b8, annotations: 0x0, tlName: "a.green", resultTypeContainsUnionTypes: false}) + fillObject("a.red#b83a723d", "#b83a723d", &TLItem{tag: 0xb83a723d, annotations: 0x0, tlName: "a.red", resultTypeContainsUnionTypes: false}) + fillObject("a.top2#7082d18f", "#7082d18f", &TLItem{tag: 0x7082d18f, annotations: 0x0, tlName: "a.top2", resultTypeContainsUnionTypes: false}) + fillObject("a.uNionA#a7662843", "#a7662843", &TLItem{tag: 0xa7662843, annotations: 0x0, tlName: "a.uNionA", resultTypeContainsUnionTypes: false}) + fillObject("ab.alias#944aaa97", "#944aaa97", &TLItem{tag: 0x944aaa97, annotations: 0x0, tlName: "ab.alias", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call1#20c5fb2d", "#20c5fb2d", &TLItem{tag: 0x20c5fb2d, annotations: 0x1, tlName: "ab.call1", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call2#77d5f057", "#77d5f057", &TLItem{tag: 0x77d5f057, annotations: 0x1, tlName: "ab.call2", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call3#0a083445", "#0a083445", &TLItem{tag: 0x0a083445, annotations: 0x1, tlName: "ab.call3", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call4#c1220a1e", "#c1220a1e", &TLItem{tag: 0xc1220a1e, annotations: 0x1, tlName: "ab.call4", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call5#7ba4d28d", "#7ba4d28d", &TLItem{tag: 0x7ba4d28d, annotations: 0x1, tlName: "ab.call5", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call6#84d815cb", "#84d815cb", &TLItem{tag: 0x84d815cb, annotations: 0x1, tlName: "ab.call6", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call7#46ec10bf", "#46ec10bf", &TLItem{tag: 0x46ec10bf, annotations: 0x1, tlName: "ab.call7", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call8#1b8652d9", "#1b8652d9", &TLItem{tag: 0x1b8652d9, annotations: 0x1, tlName: "ab.call8", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call9#75de906c", "#75de906c", &TLItem{tag: 0x75de906c, annotations: 0x1, tlName: "ab.call9", resultTypeContainsUnionTypes: false}) + fillObject("ab.code#7651b1ac", "#7651b1ac", &TLItem{tag: 0x7651b1ac, annotations: 0x0, tlName: "ab.code", resultTypeContainsUnionTypes: false}) + fillObject("ab.counterChangeRequestPeriodsMany#14a35d80", "#14a35d80", &TLItem{tag: 0x14a35d80, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsMany", resultTypeContainsUnionTypes: false}) + fillObject("ab.counterChangeRequestPeriodsOne#d9c36de5", "#d9c36de5", &TLItem{tag: 0xd9c36de5, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsOne", resultTypeContainsUnionTypes: false}) + fillObject("ab.empty#1ec6a63e", "#1ec6a63e", &TLItem{tag: 0x1ec6a63e, annotations: 0x0, tlName: "ab.empty", resultTypeContainsUnionTypes: false}) + fillObject("ab.myType#e0e96c86", "#e0e96c86", &TLItem{tag: 0xe0e96c86, annotations: 0x0, tlName: "ab.myType", resultTypeContainsUnionTypes: false}) + fillObject("ab.testMaybe#4dac492a", "#4dac492a", &TLItem{tag: 0x4dac492a, annotations: 0x0, tlName: "ab.testMaybe", resultTypeContainsUnionTypes: false}) + fillObject("ab.topLevel1#e67bce28", "#e67bce28", &TLItem{tag: 0xe67bce28, annotations: 0x0, tlName: "ab.topLevel1", resultTypeContainsUnionTypes: false}) + fillObject("ab.topLevel2#cef933fb", "#cef933fb", &TLItem{tag: 0xcef933fb, annotations: 0x0, tlName: "ab.topLevel2", resultTypeContainsUnionTypes: false}) + fillObject("ab.typeA#a99fef6a", "#a99fef6a", &TLItem{tag: 0xa99fef6a, annotations: 0x0, tlName: "ab.typeA", resultTypeContainsUnionTypes: false}) + fillObject("ab.typeB#ff2e6d58", "#ff2e6d58", &TLItem{tag: 0xff2e6d58, annotations: 0x0, tlName: "ab.typeB", resultTypeContainsUnionTypes: false}) + fillObject("ab.typeC#69920d6e", "#69920d6e", &TLItem{tag: 0x69920d6e, annotations: 0x0, tlName: "ab.typeC", resultTypeContainsUnionTypes: false}) + fillObject("ab.typeD#76615bf1", "#76615bf1", &TLItem{tag: 0x76615bf1, annotations: 0x0, tlName: "ab.typeD", resultTypeContainsUnionTypes: false}) + fillObject("ab.useCycle#71687381", "#71687381", &TLItem{tag: 0x71687381, annotations: 0x0, tlName: "ab.useCycle", resultTypeContainsUnionTypes: false}) + fillObject("ab.useDictString#3325d884", "#3325d884", &TLItem{tag: 0x3325d884, annotations: 0x0, tlName: "ab.useDictString", resultTypeContainsUnionTypes: false}) + fillObject("au.nionA#df61f632", "#df61f632", &TLItem{tag: 0xdf61f632, annotations: 0x0, tlName: "au.nionA", resultTypeContainsUnionTypes: false}) + fillObject("b.red#a9471844", "#a9471844", &TLItem{tag: 0xa9471844, annotations: 0x0, tlName: "b.red", resultTypeContainsUnionTypes: false}) + fillFunction("call1#a7302fbc", "#a7302fbc", &TLItem{tag: 0xa7302fbc, annotations: 0x1, tlName: "call1", resultTypeContainsUnionTypes: false}) + fillFunction("call2#f02024c6", "#f02024c6", &TLItem{tag: 0xf02024c6, annotations: 0x1, tlName: "call2", resultTypeContainsUnionTypes: false}) + fillFunction("call3#6ace6718", "#6ace6718", &TLItem{tag: 0x6ace6718, annotations: 0x1, tlName: "call3", resultTypeContainsUnionTypes: false}) + fillFunction("call4#46d7de8f", "#46d7de8f", &TLItem{tag: 0x46d7de8f, annotations: 0x1, tlName: "call4", resultTypeContainsUnionTypes: false}) + fillFunction("call5#fc51061c", "#fc51061c", &TLItem{tag: 0xfc51061c, annotations: 0x1, tlName: "call5", resultTypeContainsUnionTypes: false}) + fillFunction("call6#e41e4696", "#e41e4696", &TLItem{tag: 0xe41e4696, annotations: 0x1, tlName: "call6", resultTypeContainsUnionTypes: false}) + fillFunction("call7#262a43e2", "#262a43e2", &TLItem{tag: 0x262a43e2, annotations: 0x1, tlName: "call7", resultTypeContainsUnionTypes: false}) + fillFunction("call8#7b400184", "#7b400184", &TLItem{tag: 0x7b400184, annotations: 0x1, tlName: "call8", resultTypeContainsUnionTypes: false}) + fillFunction("call9#67a0d62d", "#67a0d62d", &TLItem{tag: 0x67a0d62d, annotations: 0x1, tlName: "call9", resultTypeContainsUnionTypes: false}) + fillObject("cd.myType#eab6a6b4", "#eab6a6b4", &TLItem{tag: 0xeab6a6b4, annotations: 0x0, tlName: "cd.myType", resultTypeContainsUnionTypes: false}) + fillObject("cd.response#8c202f64", "#8c202f64", &TLItem{tag: 0x8c202f64, annotations: 0x0, tlName: "cd.response", resultTypeContainsUnionTypes: false}) + fillObject("cd.topLevel3#5cd1ca89", "#5cd1ca89", &TLItem{tag: 0x5cd1ca89, annotations: 0x0, tlName: "cd.topLevel3", resultTypeContainsUnionTypes: false}) + fillObject("cd.typeA#a831a920", "#a831a920", &TLItem{tag: 0xa831a920, annotations: 0x0, tlName: "cd.typeA", resultTypeContainsUnionTypes: false}) + fillObject("cd.typeB#377b4996", "#377b4996", &TLItem{tag: 0x377b4996, annotations: 0x0, tlName: "cd.typeB", resultTypeContainsUnionTypes: false}) + fillObject("cd.typeC#db0f93d4", "#db0f93d4", &TLItem{tag: 0xdb0f93d4, annotations: 0x0, tlName: "cd.typeC", resultTypeContainsUnionTypes: false}) + fillObject("cd.typeD#b5528285", "#b5528285", &TLItem{tag: 0xb5528285, annotations: 0x0, tlName: "cd.typeD", resultTypeContainsUnionTypes: false}) + fillObject("cd.useCycle#6ed67ca0", "#6ed67ca0", &TLItem{tag: 0x6ed67ca0, annotations: 0x0, tlName: "cd.useCycle", resultTypeContainsUnionTypes: false}) + fillObject("cyc1.myCycle#136ecc9e", "#136ecc9e", &TLItem{tag: 0x136ecc9e, annotations: 0x0, tlName: "cyc1.myCycle", resultTypeContainsUnionTypes: false}) + fillObject("cyc2.myCycle#fba5eecb", "#fba5eecb", &TLItem{tag: 0xfba5eecb, annotations: 0x0, tlName: "cyc2.myCycle", resultTypeContainsUnionTypes: false}) + fillObject("cyc3.myCycle#47866860", "#47866860", &TLItem{tag: 0x47866860, annotations: 0x0, tlName: "cyc3.myCycle", resultTypeContainsUnionTypes: false}) + fillObject("cycleTuple#c867fae3", "#c867fae3", &TLItem{tag: 0xc867fae3, annotations: 0x0, tlName: "cycleTuple", resultTypeContainsUnionTypes: false}) + fillObject("halfStr#647ddaf5", "#647ddaf5", &TLItem{tag: 0x647ddaf5, annotations: 0x0, tlName: "halfStr", resultTypeContainsUnionTypes: false}) + fillObject("hren#12ab5219", "#12ab5219", &TLItem{tag: 0x12ab5219, annotations: 0x0, tlName: "hren", resultTypeContainsUnionTypes: false}) + fillObject("int#a8509bda", "#a8509bda", &TLItem{tag: 0xa8509bda, annotations: 0x0, tlName: "int", resultTypeContainsUnionTypes: false}) + fillObject("int32#7934e71f", "#7934e71f", &TLItem{tag: 0x7934e71f, annotations: 0x0, tlName: "int32", resultTypeContainsUnionTypes: false}) + fillObject("int64#f5609de0", "#f5609de0", &TLItem{tag: 0xf5609de0, annotations: 0x0, tlName: "int64", resultTypeContainsUnionTypes: false}) + fillObject("long#22076cba", "#22076cba", &TLItem{tag: 0x22076cba, annotations: 0x0, tlName: "long", resultTypeContainsUnionTypes: false}) + fillObject("maybeTest1#c457763c", "#c457763c", &TLItem{tag: 0xc457763c, annotations: 0x0, tlName: "maybeTest1", resultTypeContainsUnionTypes: false}) + fillObject("multiPoint#0e1ae81e", "#0e1ae81e", &TLItem{tag: 0x0e1ae81e, annotations: 0x0, tlName: "multiPoint", resultTypeContainsUnionTypes: false}) + fillObject("myInt32#ba59e151", "#ba59e151", &TLItem{tag: 0xba59e151, annotations: 0x0, tlName: "myInt32", resultTypeContainsUnionTypes: false}) + fillObject("myInt64#1d95db9d", "#1d95db9d", &TLItem{tag: 0x1d95db9d, annotations: 0x0, tlName: "myInt64", resultTypeContainsUnionTypes: false}) + fillObject("myNat#c60c1b41", "#c60c1b41", &TLItem{tag: 0xc60c1b41, annotations: 0x0, tlName: "myNat", resultTypeContainsUnionTypes: false}) + fillObject("myPlus#79e0c6df", "#79e0c6df", &TLItem{tag: 0x79e0c6df, annotations: 0x0, tlName: "myPlus", resultTypeContainsUnionTypes: false}) + fillObject("myPlus3#692c291b", "#692c291b", &TLItem{tag: 0x692c291b, annotations: 0x0, tlName: "myPlus3", resultTypeContainsUnionTypes: false}) + fillObject("myZero#8d868379", "#8d868379", &TLItem{tag: 0x8d868379, annotations: 0x0, tlName: "myZero", resultTypeContainsUnionTypes: false}) + fillObject("myZero3#103a40cf", "#103a40cf", &TLItem{tag: 0x103a40cf, annotations: 0x0, tlName: "myZero3", resultTypeContainsUnionTypes: false}) + fillObject("nativeWrappers#344ddf50", "#344ddf50", &TLItem{tag: 0x344ddf50, annotations: 0x0, tlName: "nativeWrappers", resultTypeContainsUnionTypes: false}) + fillObject("noStr#3a728324", "#3a728324", &TLItem{tag: 0x3a728324, annotations: 0x0, tlName: "noStr", resultTypeContainsUnionTypes: false}) + fillObject("replace#323db63e", "#323db63e", &TLItem{tag: 0x323db63e, annotations: 0x0, tlName: "replace", resultTypeContainsUnionTypes: false}) + fillObject("replace10#fc81f008", "#fc81f008", &TLItem{tag: 0xfc81f008, annotations: 0x0, tlName: "replace10", resultTypeContainsUnionTypes: false}) + fillObject("replace12#ec121094", "#ec121094", &TLItem{tag: 0xec121094, annotations: 0x0, tlName: "replace12", resultTypeContainsUnionTypes: false}) + fillObject("replace15#2280e430", "#2280e430", &TLItem{tag: 0x2280e430, annotations: 0x0, tlName: "replace15", resultTypeContainsUnionTypes: false}) + fillObject("replace17#f46f9b9b", "#f46f9b9b", &TLItem{tag: 0xf46f9b9b, annotations: 0x0, tlName: "replace17", resultTypeContainsUnionTypes: false}) + fillObject("replace18#704dd712", "#704dd712", &TLItem{tag: 0x704dd712, annotations: 0x0, tlName: "replace18", resultTypeContainsUnionTypes: false}) + fillObject("replace2#e2d4ebee", "#e2d4ebee", &TLItem{tag: 0xe2d4ebee, annotations: 0x0, tlName: "replace2", resultTypeContainsUnionTypes: false}) + fillObject("replace3#51e324e4", "#51e324e4", &TLItem{tag: 0x51e324e4, annotations: 0x0, tlName: "replace3", resultTypeContainsUnionTypes: false}) + fillObject("replace5#8b5bc78a", "#8b5bc78a", &TLItem{tag: 0x8b5bc78a, annotations: 0x0, tlName: "replace5", resultTypeContainsUnionTypes: false}) + fillObject("replace6#abd49d06", "#abd49d06", &TLItem{tag: 0xabd49d06, annotations: 0x0, tlName: "replace6", resultTypeContainsUnionTypes: false}) + fillObject("replace7#f4c66d9f", "#f4c66d9f", &TLItem{tag: 0xf4c66d9f, annotations: 0x0, tlName: "replace7", resultTypeContainsUnionTypes: false}) + fillObject("replace8#d626c117", "#d626c117", &TLItem{tag: 0xd626c117, annotations: 0x0, tlName: "replace8", resultTypeContainsUnionTypes: false}) + fillObject("replace9#95d598c5", "#95d598c5", &TLItem{tag: 0x95d598c5, annotations: 0x0, tlName: "replace9", resultTypeContainsUnionTypes: false}) + fillObject("service5.emptyOutput#ff8f7db8", "#ff8f7db8", &TLItem{tag: 0xff8f7db8, annotations: 0x0, tlName: "service5.emptyOutput", resultTypeContainsUnionTypes: false}) + fillFunction("service5.insert#7cf362ba", "#7cf362ba", &TLItem{tag: 0x7cf362ba, annotations: 0x2, tlName: "service5.insert", resultTypeContainsUnionTypes: true}) + fillObject("service5Long.emptyOutput#ff8f7db9", "#ff8f7db9", &TLItem{tag: 0xff8f7db9, annotations: 0x0, tlName: "service5Long.emptyOutput", resultTypeContainsUnionTypes: false}) + fillFunction("service5Long.insert#7cf362bb", "#7cf362bb", &TLItem{tag: 0x7cf362bb, annotations: 0x2, tlName: "service5Long.insert", resultTypeContainsUnionTypes: true}) + fillObject("service5Long.stringOutput#dc170ff5", "#dc170ff5", &TLItem{tag: 0xdc170ff5, annotations: 0x0, tlName: "service5Long.stringOutput", resultTypeContainsUnionTypes: false}) + fillObject("service5.stringOutput#dc170ff4", "#dc170ff4", &TLItem{tag: 0xdc170ff4, annotations: 0x0, tlName: "service5.stringOutput", resultTypeContainsUnionTypes: false}) + fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string", resultTypeContainsUnionTypes: false}) + fillObject("testMaybe#88920e90", "#88920e90", &TLItem{tag: 0x88920e90, annotations: 0x0, tlName: "testMaybe", resultTypeContainsUnionTypes: false}) + fillObject("testMaybe2#0aa03cf2", "#0aa03cf2", &TLItem{tag: 0x0aa03cf2, annotations: 0x0, tlName: "testMaybe2", resultTypeContainsUnionTypes: false}) + fillObject("true#3fedd339", "#3fedd339", &TLItem{tag: 0x3fedd339, annotations: 0x0, tlName: "true", resultTypeContainsUnionTypes: false}) + fillObject("typeA#157673c1", "#157673c1", &TLItem{tag: 0x157673c1, annotations: 0x0, tlName: "typeA", resultTypeContainsUnionTypes: false}) + fillObject("typeB#9d024802", "#9d024802", &TLItem{tag: 0x9d024802, annotations: 0x0, tlName: "typeB", resultTypeContainsUnionTypes: false}) + fillObject("typeC#6b8ef43f", "#6b8ef43f", &TLItem{tag: 0x6b8ef43f, annotations: 0x0, tlName: "typeC", resultTypeContainsUnionTypes: false}) + fillObject("typeD#b1f4369e", "#b1f4369e", &TLItem{tag: 0xb1f4369e, annotations: 0x0, tlName: "typeD", resultTypeContainsUnionTypes: false}) + fillObject("unionArgsUse#742161d2", "#742161d2", &TLItem{tag: 0x742161d2, annotations: 0x0, tlName: "unionArgsUse", resultTypeContainsUnionTypes: false}) + fillObject("useDictUgly#fb9ce817", "#fb9ce817", &TLItem{tag: 0xfb9ce817, annotations: 0x0, tlName: "useDictUgly", resultTypeContainsUnionTypes: false}) + fillObject("useResponse#0a63ec5f", "#0a63ec5f", &TLItem{tag: 0x0a63ec5f, annotations: 0x0, tlName: "useResponse", resultTypeContainsUnionTypes: false}) + fillObject("useStr#9aa3dee5", "#9aa3dee5", &TLItem{tag: 0x9aa3dee5, annotations: 0x0, tlName: "useStr", resultTypeContainsUnionTypes: false}) + fillObject("useTrue#dfdd4180", "#dfdd4180", &TLItem{tag: 0xdfdd4180, annotations: 0x0, tlName: "useTrue", resultTypeContainsUnionTypes: false}) + fillFunction("usefulService.getUserEntity#3c857e52", "#3c857e52", &TLItem{tag: 0x3c857e52, annotations: 0x2, tlName: "usefulService.getUserEntity", resultTypeContainsUnionTypes: false}) } From 7820d1c19fd26ce32a9af1b5f55c7c03f569a797 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Tue, 29 Oct 2024 10:56:21 +0300 Subject: [PATCH 25/38] fix logic for detection unions with adding visitedNodes --- internal/tlcodegen/qt_meta.qtpl | 4 ++-- internal/tlcodegen/qt_meta.qtpl.go | 4 ++-- internal/tlcodegen/qt_struct.qtpl | 5 ----- internal/tlcodegen/qt_struct.qtpl.go | 11 +---------- internal/tlcodegen/type_rw.go | 19 ++++++++++++++++++- internal/tlcodegen/type_rw_bool.go | 2 +- internal/tlcodegen/type_rw_maybe.go | 4 ++-- internal/tlcodegen/type_rw_primitive.go | 2 +- internal/tlcodegen/type_rw_struct.go | 4 ++-- internal/tlcodegen/type_rw_tuple.go | 4 ++-- internal/tlcodegen/type_rw_union.go | 2 +- 11 files changed, 32 insertions(+), 29 deletions(-) diff --git a/internal/tlcodegen/qt_meta.qtpl b/internal/tlcodegen/qt_meta.qtpl index 9b8a7302..bf221fc0 100644 --- a/internal/tlcodegen/qt_meta.qtpl +++ b/internal/tlcodegen/qt_meta.qtpl @@ -165,7 +165,7 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } -func (item TLItem) HasResultTypeContainUnionTypes() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } @@ -342,7 +342,7 @@ func init() { {%- if fun, ok := wr.trw.(*TypeRWStruct); ok && len(wr.NatParams) == 0 -%} {%- code resultTypeContainsUnionTypes := false -%} {%- if fun.ResultType != nil -%} - {%- code resultTypeContainsUnionTypes = fun.ResultType.trw.ContainsUnion() -%} + {%- code resultTypeContainsUnionTypes = fun.wr.DoesReturnTypeContainUnionTypes() -%} fillFunction( {%- else -%} fillObject( diff --git a/internal/tlcodegen/qt_meta.qtpl.go b/internal/tlcodegen/qt_meta.qtpl.go index 451e472c..324caf3c 100644 --- a/internal/tlcodegen/qt_meta.qtpl.go +++ b/internal/tlcodegen/qt_meta.qtpl.go @@ -204,7 +204,7 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } -func (item TLItem) HasResultTypeContainUnionTypes() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } @@ -393,7 +393,7 @@ func init() { resultTypeContainsUnionTypes := false if fun.ResultType != nil { - resultTypeContainsUnionTypes = fun.ResultType.trw.ContainsUnion() + resultTypeContainsUnionTypes = fun.wr.DoesReturnTypeContainUnionTypes() qw422016.N().S(`fillFunction(`) } else { diff --git a/internal/tlcodegen/qt_struct.qtpl b/internal/tlcodegen/qt_struct.qtpl index 939aae7a..b71f76e5 100644 --- a/internal/tlcodegen/qt_struct.qtpl +++ b/internal/tlcodegen/qt_struct.qtpl @@ -744,11 +744,6 @@ vru.replicaState#3d74578e fields_mask:# pre_vote_demote :fields_mask.10?string goName := addBytes(struct_.wr.goGlobalName, bytesVersion) retArg := struct_.ResultType.TypeString2(bytesVersion, directImports, struct_.wr.ins, false, false) -%} - -func (item *{%s= goName %}) ContainsUnionTypesInResult() bool { - return {%v= struct_.ResultType.trw.ContainsUnion() %} -} - func (item *{%s= goName %}) ReadResult(w []byte, ret *{%s= retArg %}) (_ []byte, err error) { {%s= struct_.ResultType.TypeReadingCode(bytesVersion, directImports, struct_.wr.ins, "ret", false, formatNatArgs(struct_.Fields, struct_.ResultNatArgs), true, true) %} } diff --git a/internal/tlcodegen/qt_struct.qtpl.go b/internal/tlcodegen/qt_struct.qtpl.go index 2385da25..9bf7c849 100644 --- a/internal/tlcodegen/qt_struct.qtpl.go +++ b/internal/tlcodegen/qt_struct.qtpl.go @@ -1575,16 +1575,7 @@ func (struct_ *TypeRWStruct) streamfunctionCode(qw422016 *qt422016.Writer, bytes goName := addBytes(struct_.wr.goGlobalName, bytesVersion) retArg := struct_.ResultType.TypeString2(bytesVersion, directImports, struct_.wr.ins, false, false) - qw422016.N().S(` -func (item *`) - qw422016.N().S(goName) - qw422016.N().S(`) ContainsUnionTypesInResult() bool { - return `) - qw422016.N().V(struct_.ResultType.trw.ContainsUnion()) - qw422016.N().S(` -} - -func (item *`) + qw422016.N().S(`func (item *`) qw422016.N().S(goName) qw422016.N().S(`) ReadResult(w []byte, ret *`) qw422016.N().S(retArg) diff --git a/internal/tlcodegen/type_rw.go b/internal/tlcodegen/type_rw.go index f59b3b08..9249e22e 100644 --- a/internal/tlcodegen/type_rw.go +++ b/internal/tlcodegen/type_rw.go @@ -165,6 +165,23 @@ func (w *TypeRWWrapper) AnnotationsMask() uint32 { return mask } +func (w *TypeRWWrapper) DoesReturnTypeContainUnionTypes() bool { + if w, ok := w.trw.(*TypeRWStruct); ok && w.ResultType != nil { + return w.ResultType.containsUnion(map[*TypeRWWrapper]bool{}) + } else { + return false + } +} + +func (w *TypeRWWrapper) containsUnion(visitedNodes map[*TypeRWWrapper]bool) bool { + if _, ok := visitedNodes[w]; !ok { + visitedNodes[w] = false + return w.trw.ContainsUnion(visitedNodes) + } else { + return false + } +} + // Assign structural names to external arguments func (w *TypeRWWrapper) NatArgs(result []ActualNatArg, prefix string) []ActualNatArg { for i, a := range w.arguments { @@ -709,7 +726,7 @@ type TypeRW interface { AllPossibleRecursionProducers() []*TypeRWWrapper AllTypeDependencies(generic, countFunctions bool) []*TypeRWWrapper IsWrappingType() bool - ContainsUnion() bool + ContainsUnion(visitedNodes map[*TypeRWWrapper]bool) bool BeforeCodeGenerationStep1() // during first phase, some wr.trw are nil due to recursive types. So we delay some BeforeCodeGenerationStep2() // during second phase, union fields recursive bit is set diff --git a/internal/tlcodegen/type_rw_bool.go b/internal/tlcodegen/type_rw_bool.go index fd0c33b7..5093806d 100644 --- a/internal/tlcodegen/type_rw_bool.go +++ b/internal/tlcodegen/type_rw_bool.go @@ -54,7 +54,7 @@ func (trw *TypeRWBool) IsWrappingType() bool { return true } -func (trw *TypeRWBool) ContainsUnion() bool { +func (trw *TypeRWBool) ContainsUnion(visitedNodes map[*TypeRWWrapper]bool) bool { return false } diff --git a/internal/tlcodegen/type_rw_maybe.go b/internal/tlcodegen/type_rw_maybe.go index 60f23fdf..b2068e4f 100644 --- a/internal/tlcodegen/type_rw_maybe.go +++ b/internal/tlcodegen/type_rw_maybe.go @@ -55,8 +55,8 @@ func (trw *TypeRWMaybe) IsWrappingType() bool { return true } -func (trw *TypeRWMaybe) ContainsUnion() bool { - return false +func (trw *TypeRWMaybe) ContainsUnion(visitedNodes map[*TypeRWWrapper]bool) bool { + return trw.element.t.containsUnion(visitedNodes) } func (trw *TypeRWMaybe) FillRecursiveChildren(visitedNodes map[*TypeRWWrapper]int, generic bool) { diff --git a/internal/tlcodegen/type_rw_primitive.go b/internal/tlcodegen/type_rw_primitive.go index 3dec0bab..b789a0ab 100644 --- a/internal/tlcodegen/type_rw_primitive.go +++ b/internal/tlcodegen/type_rw_primitive.go @@ -70,7 +70,7 @@ func (trw *TypeRWPrimitive) IsWrappingType() bool { return true } -func (trw *TypeRWPrimitive) ContainsUnion() bool { +func (trw *TypeRWPrimitive) ContainsUnion(visitedNodes map[*TypeRWWrapper]bool) bool { return false } diff --git a/internal/tlcodegen/type_rw_struct.go b/internal/tlcodegen/type_rw_struct.go index be5f6a36..8d4f5058 100644 --- a/internal/tlcodegen/type_rw_struct.go +++ b/internal/tlcodegen/type_rw_struct.go @@ -185,9 +185,9 @@ func (trw *TypeRWStruct) IsWrappingType() bool { return trw.isUnwrapType() } -func (trw *TypeRWStruct) ContainsUnion() bool { +func (trw *TypeRWStruct) ContainsUnion(visitedNodes map[*TypeRWWrapper]bool) bool { for _, f := range trw.Fields { - if f.t.trw.ContainsUnion() { + if f.t.containsUnion(visitedNodes) { return true } } diff --git a/internal/tlcodegen/type_rw_tuple.go b/internal/tlcodegen/type_rw_tuple.go index 0139720a..77578557 100644 --- a/internal/tlcodegen/type_rw_tuple.go +++ b/internal/tlcodegen/type_rw_tuple.go @@ -108,8 +108,8 @@ func (trw *TypeRWBrackets) IsWrappingType() bool { return false } -func (trw *TypeRWBrackets) ContainsUnion() bool { - return false +func (trw *TypeRWBrackets) ContainsUnion(visitedNodes map[*TypeRWWrapper]bool) bool { + return trw.element.t.containsUnion(visitedNodes) } func (trw *TypeRWBrackets) BeforeCodeGenerationStep1() { diff --git a/internal/tlcodegen/type_rw_union.go b/internal/tlcodegen/type_rw_union.go index 30a8ac36..21e5bf18 100644 --- a/internal/tlcodegen/type_rw_union.go +++ b/internal/tlcodegen/type_rw_union.go @@ -87,7 +87,7 @@ func (trw *TypeRWUnion) IsWrappingType() bool { return false } -func (trw *TypeRWUnion) ContainsUnion() bool { +func (trw *TypeRWUnion) ContainsUnion(visitedNodes map[*TypeRWWrapper]bool) bool { return true } From bfead875a90dede3d79b31efa80706fb1db0f825 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Tue, 29 Oct 2024 10:57:03 +0300 Subject: [PATCH 26/38] add specific list type add method which returns it --- internal/tlcodegen/test/tls/goldmaster.tl | 3 +++ internal/tlcodegen/test/tls/goldmaster2.tl | 2 ++ internal/tlcodegen/test/tls/goldmaster_canonical.tl | 2 ++ 3 files changed, 7 insertions(+) diff --git a/internal/tlcodegen/test/tls/goldmaster.tl b/internal/tlcodegen/test/tls/goldmaster.tl index ceaf29bc..503e55d9 100644 --- a/internal/tlcodegen/test/tls/goldmaster.tl +++ b/internal/tlcodegen/test/tls/goldmaster.tl @@ -50,6 +50,9 @@ dictionaryAny#1f4c6190 {k:Type} {v:Type} # [(dictionaryFieldAny k v)] = Dictiona true = True; // this can be used as void type and serialized to empty array in PHP useTrue#dfdd4180 fm:# a:fm.0?true b:fm.1?True c:true d:True e:fm.2?Bool = UseTrue; // we give warnings for many fields of this kind +//---- test recursive struct without union as result +list {X:Type} flag:# head:flag.0?X tail:flag.0?(list X) = List X; + //---- test bytes version propagation noStr x:int = NoStr; useStr x:string = UseStr; diff --git a/internal/tlcodegen/test/tls/goldmaster2.tl b/internal/tlcodegen/test/tls/goldmaster2.tl index 87a2947c..099e9ac0 100644 --- a/internal/tlcodegen/test/tls/goldmaster2.tl +++ b/internal/tlcodegen/test/tls/goldmaster2.tl @@ -10,6 +10,8 @@ @read call9 x:typeA = TypeB; @readwrite service5.insert#7cf362ba flags:# persistent:flags.0?%True = service5.Output; +@readwrite service5.insertList#7cf362bc flags:# persistent:flags.0?%True = List; + @readwrite service5Long.insert#7cf362bb flags:# persistent:flags.0?%True = service5Long.Output; ---types--- diff --git a/internal/tlcodegen/test/tls/goldmaster_canonical.tl b/internal/tlcodegen/test/tls/goldmaster_canonical.tl index 3a9b415e..498b6b98 100644 --- a/internal/tlcodegen/test/tls/goldmaster_canonical.tl +++ b/internal/tlcodegen/test/tls/goldmaster_canonical.tl @@ -24,6 +24,7 @@ dictionaryFieldAny#2c43a65b k:Type v:Type key:k value:v = DictionaryFieldAny k v dictionaryAny#1f4c6190 k:Type v:Type # [ (dictionaryFieldAny k v) ] = DictionaryAny k v // ./internal/tlcodegen/test/tls/goldmaster.tl true#3fedd339 = True // ./internal/tlcodegen/test/tls/goldmaster.tl useTrue#dfdd4180 fm:# a:fm.0?true b:fm.1?True c:true d:True e:fm.2?Bool = UseTrue // ./internal/tlcodegen/test/tls/goldmaster.tl +list#02d80cdd X:Type flag:# head:flag.0?X tail:flag.0?list X = List X // ./internal/tlcodegen/test/tls/goldmaster.tl noStr#3a728324 x:int = NoStr // ./internal/tlcodegen/test/tls/goldmaster.tl useStr#9aa3dee5 x:string = UseStr // ./internal/tlcodegen/test/tls/goldmaster.tl halfStr#647ddaf5 x:noStr y:useStr = HalfStr // ./internal/tlcodegen/test/tls/goldmaster.tl @@ -133,5 +134,6 @@ service5Long.stringOutput#dc170ff5 http_code:long response:string = service5Long @read call8#7b400184 x:typeA = cd.TypeB // ./internal/tlcodegen/test/tls/goldmaster2.tl @read call9#67a0d62d x:typeA = TypeB // ./internal/tlcodegen/test/tls/goldmaster2.tl @readwrite service5.insert#7cf362ba flags:# persistent:flags.0?%True = service5.Output // ./internal/tlcodegen/test/tls/goldmaster2.tl +@readwrite service5.insertList#7cf362bc flags:# persistent:flags.0?%True = List service5.Output // ./internal/tlcodegen/test/tls/goldmaster2.tl @readwrite service5Long.insert#7cf362bb flags:# persistent:flags.0?%True = service5Long.Output // ./internal/tlcodegen/test/tls/goldmaster2.tl aaa#05b0e500 A:# T:Type U:Type a:# B:# A0:A.0?string A1:A.1?string a0:a.0?string a1:a.1?string B0:B.0?string B1:B.1?U = Aaa A T U // ./internal/tlcodegen/test/tls/goldmaster3.tl From 9c4d806fee8fdf4bf3936d54b903ba5d73232dd4 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Tue, 29 Oct 2024 10:57:18 +0300 Subject: [PATCH 27/38] update goldmaster --- .../tlcodegen/test/gen/cases/meta/meta.go | 2 +- .../gen/goldmaster/constants/constants.go | 2 + .../test/gen/goldmaster/factory/factory.go | 2 + .../goldmaster/factory_bytes/factory_bytes.go | 2 + .../goldmaster/internal/tl/tlCall1/call1.go | 4 - .../goldmaster/internal/tl/tlCall2/call2.go | 4 - .../goldmaster/internal/tl/tlCall3/call3.go | 4 - .../goldmaster/internal/tl/tlCall4/call4.go | 4 - .../goldmaster/internal/tl/tlCall5/call5.go | 4 - .../goldmaster/internal/tl/tlCall6/call6.go | 4 - .../goldmaster/internal/tl/tlCall7/call7.go | 4 - .../goldmaster/internal/tl/tlCall8/call8.go | 4 - .../goldmaster/internal/tl/tlCall9/call9.go | 4 - .../internal/tlab/tlAbCall1/ab.call1.go | 4 - .../internal/tlab/tlAbCall2/ab.call2.go | 4 - .../internal/tlab/tlAbCall3/ab.call3.go | 4 - .../internal/tlab/tlAbCall4/ab.call4.go | 4 - .../internal/tlab/tlAbCall5/ab.call5.go | 4 - .../internal/tlab/tlAbCall6/ab.call6.go | 4 - .../internal/tlab/tlAbCall7/ab.call7.go | 4 - .../internal/tlab/tlAbCall8/ab.call8.go | 4 - .../internal/tlab/tlAbCall9/ab.call9.go | 4 - .../tlService5Insert/service5.insert.go | 4 - .../service5Long.insert.go | 4 - .../usefulService.getUserEntity.go | 4 - .../test/gen/goldmaster/meta/meta.go | 3 +- .../tlcodegen/test/gen/goldmaster/tl/tl.go | 2 + .../tlcodegen/test/gen/goldmaster/tljson.html | 79 +++++++++++++++++++ .../gen/goldmaster/tlservice5/tlservice5.go | 2 + .../goldmaster_nosplit/internal/ab.call1.go | 4 - .../goldmaster_nosplit/internal/ab.call2.go | 4 - .../goldmaster_nosplit/internal/ab.call3.go | 4 - .../goldmaster_nosplit/internal/ab.call4.go | 4 - .../goldmaster_nosplit/internal/ab.call5.go | 4 - .../goldmaster_nosplit/internal/ab.call6.go | 4 - .../goldmaster_nosplit/internal/ab.call7.go | 4 - .../goldmaster_nosplit/internal/ab.call8.go | 4 - .../goldmaster_nosplit/internal/ab.call9.go | 4 - .../gen/goldmaster_nosplit/internal/call1.go | 4 - .../gen/goldmaster_nosplit/internal/call2.go | 4 - .../gen/goldmaster_nosplit/internal/call3.go | 4 - .../gen/goldmaster_nosplit/internal/call4.go | 4 - .../gen/goldmaster_nosplit/internal/call5.go | 4 - .../gen/goldmaster_nosplit/internal/call6.go | 4 - .../gen/goldmaster_nosplit/internal/call7.go | 4 - .../gen/goldmaster_nosplit/internal/call8.go | 4 - .../gen/goldmaster_nosplit/internal/call9.go | 4 - .../internal/service5.insert.go | 4 - .../internal/service5Long.insert.go | 4 - .../internal/usefulService.getUserEntity.go | 4 - .../test/gen/goldmaster_nosplit/meta/meta.go | 6 +- 51 files changed, 95 insertions(+), 173 deletions(-) diff --git a/internal/tlcodegen/test/gen/cases/meta/meta.go b/internal/tlcodegen/test/gen/cases/meta/meta.go index 2813d013..d017ce5a 100644 --- a/internal/tlcodegen/test/gen/cases/meta/meta.go +++ b/internal/tlcodegen/test/gen/cases/meta/meta.go @@ -147,7 +147,7 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } -func (item TLItem) HasResultTypeContainUnionTypes() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } diff --git a/internal/tlcodegen/test/gen/goldmaster/constants/constants.go b/internal/tlcodegen/test/gen/goldmaster/constants/constants.go index c75b695a..7bc0e677 100644 --- a/internal/tlcodegen/test/gen/goldmaster/constants/constants.go +++ b/internal/tlcodegen/test/gen/goldmaster/constants/constants.go @@ -82,6 +82,7 @@ const ( Int = 0xa8509bda // int Int32 = 0x7934e71f // int32 Int64 = 0xf5609de0 // int64 + List = 0x02d80cdd // list Long = 0x22076cba // long MaybeTest1 = 0xc457763c // maybeTest1 MaybeWrapper = 0x723390c4 // maybeWrapper @@ -118,6 +119,7 @@ const ( ResultTrue = 0x3f9c8ef8 // resultTrue Service5EmptyOutput = 0xff8f7db8 // service5.emptyOutput Service5Insert = 0x7cf362ba // service5.insert + Service5InsertList = 0x7cf362bc // service5.insertList Service5StringOutput = 0xdc170ff4 // service5.stringOutput Service5LongEmptyOutput = 0xff8f7db9 // service5Long.emptyOutput Service5LongInsert = 0x7cf362bb // service5Long.insert diff --git a/internal/tlcodegen/test/gen/goldmaster/factory/factory.go b/internal/tlcodegen/test/gen/goldmaster/factory/factory.go index 491ea633..04a11d8f 100644 --- a/internal/tlcodegen/test/gen/goldmaster/factory/factory.go +++ b/internal/tlcodegen/test/gen/goldmaster/factory/factory.go @@ -93,6 +93,7 @@ import ( "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlcd/tlCdTypeD" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlcd/tlCdUseCycle" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5Insert" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5InsertList" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5Long/tlService5LongInsert" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/meta" @@ -208,6 +209,7 @@ func init() { meta.SetGlobalFactoryCreateForObject(0x95d598c5, func() meta.Object { var ret tlReplace9.Replace9; return &ret }) meta.SetGlobalFactoryCreateForObject(0xff8f7db8, func() meta.Object { var ret cycle_16847572a0831d4cd4c0c0fb513151f3.Service5EmptyOutput; return &ret }) meta.SetGlobalFactoryCreateForFunction(0x7cf362ba, func() meta.Object { var ret tlService5Insert.Service5Insert; return &ret }, func() meta.Function { var ret tlService5Insert.Service5Insert; return &ret }, func() meta.Function { var ret tlService5LongInsert.Service5LongInsert; return &ret }) + meta.SetGlobalFactoryCreateForFunction(0x7cf362bc, func() meta.Object { var ret tlService5InsertList.Service5InsertList; return &ret }, func() meta.Function { var ret tlService5InsertList.Service5InsertList; return &ret }, nil) meta.SetGlobalFactoryCreateForObject(0xff8f7db9, func() meta.Object { var ret cycle_98d4570147919cfd6f6ebfc47c3e10a0.Service5LongEmptyOutput return &ret diff --git a/internal/tlcodegen/test/gen/goldmaster/factory_bytes/factory_bytes.go b/internal/tlcodegen/test/gen/goldmaster/factory_bytes/factory_bytes.go index 7fceb6e7..1af8918b 100644 --- a/internal/tlcodegen/test/gen/goldmaster/factory_bytes/factory_bytes.go +++ b/internal/tlcodegen/test/gen/goldmaster/factory_bytes/factory_bytes.go @@ -93,6 +93,7 @@ import ( "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlcd/tlCdTypeD" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlcd/tlCdUseCycle" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5Insert" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5InsertList" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5Long/tlService5LongInsert" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/meta" @@ -208,6 +209,7 @@ func init() { meta.SetGlobalFactoryCreateForObjectBytes(0x95d598c5, func() meta.Object { var ret tlReplace9.Replace9; return &ret }) meta.SetGlobalFactoryCreateForObjectBytes(0xff8f7db8, func() meta.Object { var ret cycle_16847572a0831d4cd4c0c0fb513151f3.Service5EmptyOutput; return &ret }) meta.SetGlobalFactoryCreateForFunctionBytes(0x7cf362ba, func() meta.Object { var ret tlService5Insert.Service5Insert; return &ret }, func() meta.Function { var ret tlService5Insert.Service5Insert; return &ret }, func() meta.Function { var ret tlService5LongInsert.Service5LongInsert; return &ret }) + meta.SetGlobalFactoryCreateForFunctionBytes(0x7cf362bc, func() meta.Object { var ret tlService5InsertList.Service5InsertList; return &ret }, func() meta.Function { var ret tlService5InsertList.Service5InsertList; return &ret }, nil) meta.SetGlobalFactoryCreateForObjectBytes(0xff8f7db9, func() meta.Object { var ret cycle_98d4570147919cfd6f6ebfc47c3e10a0.Service5LongEmptyOutput return &ret diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall1/call1.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall1/call1.go index 4551b75e..b3ec9c8b 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall1/call1.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall1/call1.go @@ -63,10 +63,6 @@ func (item *Call1) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call1) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call1) ReadResult(w []byte, ret *tlAbTypeB.AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall2/call2.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall2/call2.go index 6d6c0669..bb687693 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall2/call2.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall2/call2.go @@ -63,10 +63,6 @@ func (item *Call2) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call2) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call2) ReadResult(w []byte, ret *tlCdTypeB.CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall3/call3.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall3/call3.go index b36e3660..c5521b71 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall3/call3.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall3/call3.go @@ -63,10 +63,6 @@ func (item *Call3) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call3) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call3) ReadResult(w []byte, ret *tlTypeB.TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall4/call4.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall4/call4.go index 0baf7c13..7d8bb079 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall4/call4.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall4/call4.go @@ -63,10 +63,6 @@ func (item *Call4) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call4) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call4) ReadResult(w []byte, ret *tlAbTypeB.AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall5/call5.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall5/call5.go index cdadad8c..c2fbca9a 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall5/call5.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall5/call5.go @@ -63,10 +63,6 @@ func (item *Call5) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call5) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call5) ReadResult(w []byte, ret *tlCdTypeB.CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall6/call6.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall6/call6.go index 22cf821d..f8ba82fe 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall6/call6.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall6/call6.go @@ -63,10 +63,6 @@ func (item *Call6) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call6) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call6) ReadResult(w []byte, ret *tlTypeB.TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall7/call7.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall7/call7.go index 059a825a..f2f0653a 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall7/call7.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall7/call7.go @@ -63,10 +63,6 @@ func (item *Call7) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call7) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call7) ReadResult(w []byte, ret *tlAbTypeB.AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall8/call8.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall8/call8.go index e8d9da38..5bc5fad2 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall8/call8.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall8/call8.go @@ -63,10 +63,6 @@ func (item *Call8) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call8) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call8) ReadResult(w []byte, ret *tlCdTypeB.CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall9/call9.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall9/call9.go index 2fe9696a..e8aa7fae 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall9/call9.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlCall9/call9.go @@ -63,10 +63,6 @@ func (item *Call9) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call9) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call9) ReadResult(w []byte, ret *tlTypeB.TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1/ab.call1.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1/ab.call1.go index 2f9b2f1e..c7ada15a 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1/ab.call1.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1/ab.call1.go @@ -63,10 +63,6 @@ func (item *AbCall1) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall1) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall1) ReadResult(w []byte, ret *tlAbTypeB.AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2/ab.call2.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2/ab.call2.go index 72328666..ac4a65c6 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2/ab.call2.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2/ab.call2.go @@ -63,10 +63,6 @@ func (item *AbCall2) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall2) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall2) ReadResult(w []byte, ret *tlCdTypeB.CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3/ab.call3.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3/ab.call3.go index ace4e027..e6d31d3e 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3/ab.call3.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3/ab.call3.go @@ -63,10 +63,6 @@ func (item *AbCall3) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall3) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall3) ReadResult(w []byte, ret *tlTypeB.TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4/ab.call4.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4/ab.call4.go index 3eca1318..8ac8aa48 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4/ab.call4.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4/ab.call4.go @@ -63,10 +63,6 @@ func (item *AbCall4) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall4) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall4) ReadResult(w []byte, ret *tlAbTypeB.AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall5/ab.call5.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall5/ab.call5.go index 41906de6..c30fc33d 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall5/ab.call5.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall5/ab.call5.go @@ -63,10 +63,6 @@ func (item *AbCall5) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall5) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall5) ReadResult(w []byte, ret *tlCdTypeB.CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall6/ab.call6.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall6/ab.call6.go index 2c80c437..3cd8333c 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall6/ab.call6.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall6/ab.call6.go @@ -63,10 +63,6 @@ func (item *AbCall6) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall6) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall6) ReadResult(w []byte, ret *tlTypeB.TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall7/ab.call7.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall7/ab.call7.go index 0443623e..6ba5d2b9 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall7/ab.call7.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall7/ab.call7.go @@ -63,10 +63,6 @@ func (item *AbCall7) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall7) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall7) ReadResult(w []byte, ret *tlAbTypeB.AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall8/ab.call8.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall8/ab.call8.go index a202b0ef..273a91a4 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall8/ab.call8.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall8/ab.call8.go @@ -63,10 +63,6 @@ func (item *AbCall8) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall8) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall8) ReadResult(w []byte, ret *tlCdTypeB.CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall9/ab.call9.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall9/ab.call9.go index ad669503..3de9cf0a 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall9/ab.call9.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall9/ab.call9.go @@ -63,10 +63,6 @@ func (item *AbCall9) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall9) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall9) ReadResult(w []byte, ret *tlTypeB.TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5Insert/service5.insert.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5Insert/service5.insert.go index 1b4381ab..a0edbdea 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5Insert/service5.insert.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5Insert/service5.insert.go @@ -80,10 +80,6 @@ func (item *Service5Insert) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Service5Insert) ContainsUnionTypesInResult() bool { - return true -} - func (item *Service5Insert) ReadResult(w []byte, ret *cycle_16847572a0831d4cd4c0c0fb513151f3.Service5Output) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5Long/tlService5LongInsert/service5Long.insert.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5Long/tlService5LongInsert/service5Long.insert.go index 0389dbf8..d8a42aef 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5Long/tlService5LongInsert/service5Long.insert.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5Long/tlService5LongInsert/service5Long.insert.go @@ -80,10 +80,6 @@ func (item *Service5LongInsert) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Service5LongInsert) ContainsUnionTypesInResult() bool { - return true -} - func (item *Service5LongInsert) ReadResult(w []byte, ret *cycle_98d4570147919cfd6f6ebfc47c3e10a0.Service5LongOutput) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go index d1736b81..a149b206 100644 --- a/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlusefulService/tlUsefulServiceGetUserEntity/usefulService.getUserEntity.go @@ -97,10 +97,6 @@ func (item *UsefulServiceGetUserEntity) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *UsefulServiceGetUserEntity) ContainsUnionTypesInResult() bool { - return false -} - func (item *UsefulServiceGetUserEntity) ReadResult(w []byte, ret *tlUsefulServiceGetUserEntityResultBoxedMaybe.UsefulServiceGetUserEntityResultBoxedMaybe) (_ []byte, err error) { return ret.ReadBoxed(w, item.FieldsMask) } diff --git a/internal/tlcodegen/test/gen/goldmaster/meta/meta.go b/internal/tlcodegen/test/gen/goldmaster/meta/meta.go index ce068287..05aa2618 100644 --- a/internal/tlcodegen/test/gen/goldmaster/meta/meta.go +++ b/internal/tlcodegen/test/gen/goldmaster/meta/meta.go @@ -149,7 +149,7 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } -func (item TLItem) HasResultTypeContainUnionTypes() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } @@ -388,6 +388,7 @@ func init() { fillObject("replace9#95d598c5", "#95d598c5", &TLItem{tag: 0x95d598c5, annotations: 0x0, tlName: "replace9", resultTypeContainsUnionTypes: false}) fillObject("service5.emptyOutput#ff8f7db8", "#ff8f7db8", &TLItem{tag: 0xff8f7db8, annotations: 0x0, tlName: "service5.emptyOutput", resultTypeContainsUnionTypes: false}) fillFunction("service5.insert#7cf362ba", "#7cf362ba", &TLItem{tag: 0x7cf362ba, annotations: 0x2, tlName: "service5.insert", resultTypeContainsUnionTypes: true}) + fillFunction("service5.insertList#7cf362bc", "#7cf362bc", &TLItem{tag: 0x7cf362bc, annotations: 0x2, tlName: "service5.insertList", resultTypeContainsUnionTypes: true}) fillObject("service5Long.emptyOutput#ff8f7db9", "#ff8f7db9", &TLItem{tag: 0xff8f7db9, annotations: 0x0, tlName: "service5Long.emptyOutput", resultTypeContainsUnionTypes: false}) fillFunction("service5Long.insert#7cf362bb", "#7cf362bb", &TLItem{tag: 0x7cf362bb, annotations: 0x2, tlName: "service5Long.insert", resultTypeContainsUnionTypes: true}) fillObject("service5Long.stringOutput#dc170ff5", "#dc170ff5", &TLItem{tag: 0xdc170ff5, annotations: 0x0, tlName: "service5Long.stringOutput", resultTypeContainsUnionTypes: false}) diff --git a/internal/tlcodegen/test/gen/goldmaster/tl/tl.go b/internal/tlcodegen/test/gen/goldmaster/tl/tl.go index ec8c5a33..f5550a5d 100644 --- a/internal/tlcodegen/test/gen/goldmaster/tl/tl.go +++ b/internal/tlcodegen/test/gen/goldmaster/tl/tl.go @@ -48,6 +48,7 @@ import ( "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlInt64" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlIntBoxedMaybe" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlIntMaybe" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlListService5Output" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlLong" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlMaybeTest1" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlMaybeWrapperInt3" @@ -170,6 +171,7 @@ type ( Int64 = tlInt64.Int64 IntBoxedMaybe = tlIntBoxedMaybe.IntBoxedMaybe IntMaybe = tlIntMaybe.IntMaybe + ListService5Output = tlListService5Output.ListService5Output Long = tlLong.Long MaybeTest1 = tlMaybeTest1.MaybeTest1 MaybeWrapperInt3 = tlMaybeWrapperInt3.MaybeWrapperInt3 diff --git a/internal/tlcodegen/test/gen/goldmaster/tljson.html b/internal/tlcodegen/test/gen/goldmaster/tljson.html index 4947b156..c4bebf71 100644 --- a/internal/tlcodegen/test/gen/goldmaster/tljson.html +++ b/internal/tlcodegen/test/gen/goldmaster/tljson.html @@ -111,6 +111,11 @@

Functions

service5.insertservice5.Output +
  • + + service5.insertList + → List<service5.Output> +
  • service5Long.insert @@ -2399,6 +2404,47 @@

    Maybe<int>

    +

    list<service5.Output>

    + //---- test recursive struct without union as result
    + +

    +
    +
    JSON
    +
    + { + + + + + + + + + + + + + + + + + + + +
      "flag": <uint32>, +
      "head": service5.Output,// flag bit #0 + +
      "tail": list<service5.Output>// flag bit #0 + +
    + } +
    +
    TL
    +
    + list#02d80cdd {X:Type} flag:# head:flag.0?X tail:flag.0?(list X) = List X; +
    +
    +

    maybeTest1

    @@ -4092,6 +4138,39 @@

    service5.insert

    +

    service5.insertList

    + +

    + Returns List<service5.Output> +
    +
    JSON
    +
    + { + + + + + + + + + + + + + +
      "flags": <uint32>, +
      "persistent": true// flags bit #0 + +
    + } +
    +
    TL
    +
    + readwrite service5.insertList#7cf362bc flags:# persistent:flags.0?%True = (List service5.Output); +
    +
    +

    service5Long.insert

    diff --git a/internal/tlcodegen/test/gen/goldmaster/tlservice5/tlservice5.go b/internal/tlcodegen/test/gen/goldmaster/tlservice5/tlservice5.go index 75b7f2e4..63e266f2 100644 --- a/internal/tlcodegen/test/gen/goldmaster/tlservice5/tlservice5.go +++ b/internal/tlcodegen/test/gen/goldmaster/tlservice5/tlservice5.go @@ -10,11 +10,13 @@ package tlservice5 import ( "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/cycle_16847572a0831d4cd4c0c0fb513151f3" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5Insert" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5InsertList" ) type ( EmptyOutput = cycle_16847572a0831d4cd4c0c0fb513151f3.Service5EmptyOutput Insert = tlService5Insert.Service5Insert + InsertList = tlService5InsertList.Service5InsertList Output = cycle_16847572a0831d4cd4c0c0fb513151f3.Service5Output StringOutput = cycle_16847572a0831d4cd4c0c0fb513151f3.Service5StringOutput ) diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call1.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call1.go index 304a10ae..59a5325f 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call1.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call1.go @@ -59,10 +59,6 @@ func (item *AbCall1) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall1) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall1) ReadResult(w []byte, ret *AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call2.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call2.go index 6311ddd9..3a948fbd 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call2.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call2.go @@ -59,10 +59,6 @@ func (item *AbCall2) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall2) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall2) ReadResult(w []byte, ret *CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call3.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call3.go index a8aab157..7d1e02a0 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call3.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call3.go @@ -59,10 +59,6 @@ func (item *AbCall3) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall3) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall3) ReadResult(w []byte, ret *TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call4.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call4.go index af5bae88..8eb0582a 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call4.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call4.go @@ -59,10 +59,6 @@ func (item *AbCall4) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall4) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall4) ReadResult(w []byte, ret *AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call5.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call5.go index 2547d276..a8be54d3 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call5.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call5.go @@ -59,10 +59,6 @@ func (item *AbCall5) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall5) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall5) ReadResult(w []byte, ret *CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call6.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call6.go index 32e5c712..9851206c 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call6.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call6.go @@ -59,10 +59,6 @@ func (item *AbCall6) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall6) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall6) ReadResult(w []byte, ret *TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call7.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call7.go index dd72345f..863b1b63 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call7.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call7.go @@ -59,10 +59,6 @@ func (item *AbCall7) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall7) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall7) ReadResult(w []byte, ret *AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call8.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call8.go index 61a7e7e0..ab3525e0 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call8.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call8.go @@ -59,10 +59,6 @@ func (item *AbCall8) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall8) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall8) ReadResult(w []byte, ret *CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call9.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call9.go index 02bb2e88..7fcaf0ed 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call9.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call9.go @@ -59,10 +59,6 @@ func (item *AbCall9) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *AbCall9) ContainsUnionTypesInResult() bool { - return false -} - func (item *AbCall9) ReadResult(w []byte, ret *TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call1.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call1.go index a8d32bec..18982fde 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call1.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call1.go @@ -59,10 +59,6 @@ func (item *Call1) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call1) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call1) ReadResult(w []byte, ret *AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call2.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call2.go index 245d63d2..0b0bbbac 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call2.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call2.go @@ -59,10 +59,6 @@ func (item *Call2) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call2) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call2) ReadResult(w []byte, ret *CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call3.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call3.go index 09a058f8..ab623e84 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call3.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call3.go @@ -59,10 +59,6 @@ func (item *Call3) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call3) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call3) ReadResult(w []byte, ret *TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call4.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call4.go index 8da6f156..81b5fdd5 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call4.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call4.go @@ -59,10 +59,6 @@ func (item *Call4) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call4) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call4) ReadResult(w []byte, ret *AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call5.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call5.go index 94c46554..759bd1f3 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call5.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call5.go @@ -59,10 +59,6 @@ func (item *Call5) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call5) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call5) ReadResult(w []byte, ret *CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call6.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call6.go index 0e7c0e34..7447b6c4 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call6.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call6.go @@ -59,10 +59,6 @@ func (item *Call6) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call6) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call6) ReadResult(w []byte, ret *TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call7.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call7.go index bdbb0b34..4da80c44 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call7.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call7.go @@ -59,10 +59,6 @@ func (item *Call7) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call7) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call7) ReadResult(w []byte, ret *AbTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call8.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call8.go index 3e230ea5..eadc7fd0 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call8.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call8.go @@ -59,10 +59,6 @@ func (item *Call8) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call8) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call8) ReadResult(w []byte, ret *CdTypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call9.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call9.go index 91984d7b..06f107aa 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call9.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/call9.go @@ -59,10 +59,6 @@ func (item *Call9) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Call9) ContainsUnionTypesInResult() bool { - return false -} - func (item *Call9) ReadResult(w []byte, ret *TypeB) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5.insert.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5.insert.go index 785e5a95..e042f5a3 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5.insert.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5.insert.go @@ -77,10 +77,6 @@ func (item *Service5Insert) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Service5Insert) ContainsUnionTypesInResult() bool { - return true -} - func (item *Service5Insert) ReadResult(w []byte, ret *Service5Output) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5Long.insert.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5Long.insert.go index 74a5aafb..10b4af47 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5Long.insert.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5Long.insert.go @@ -77,10 +77,6 @@ func (item *Service5LongInsert) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *Service5LongInsert) ContainsUnionTypesInResult() bool { - return true -} - func (item *Service5LongInsert) ReadResult(w []byte, ret *Service5LongOutput) (_ []byte, err error) { return ret.ReadBoxed(w) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/usefulService.getUserEntity.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/usefulService.getUserEntity.go index d2a5149f..2161037c 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/usefulService.getUserEntity.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/usefulService.getUserEntity.go @@ -94,10 +94,6 @@ func (item *UsefulServiceGetUserEntity) WriteBoxed(w []byte) []byte { return item.Write(w) } -func (item *UsefulServiceGetUserEntity) ContainsUnionTypesInResult() bool { - return false -} - func (item *UsefulServiceGetUserEntity) ReadResult(w []byte, ret *UsefulServiceGetUserEntityResultBoxedMaybe) (_ []byte, err error) { return ret.ReadBoxed(w, item.FieldsMask) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go index d1a0d028..52d2cdab 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go @@ -149,7 +149,7 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } -func (item TLItem) HasResultTypeContainUnionTypes() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } @@ -387,9 +387,9 @@ func init() { fillObject("replace8#d626c117", "#d626c117", &TLItem{tag: 0xd626c117, annotations: 0x0, tlName: "replace8", resultTypeContainsUnionTypes: false}) fillObject("replace9#95d598c5", "#95d598c5", &TLItem{tag: 0x95d598c5, annotations: 0x0, tlName: "replace9", resultTypeContainsUnionTypes: false}) fillObject("service5.emptyOutput#ff8f7db8", "#ff8f7db8", &TLItem{tag: 0xff8f7db8, annotations: 0x0, tlName: "service5.emptyOutput", resultTypeContainsUnionTypes: false}) - fillFunction("service5.insert#7cf362ba", "#7cf362ba", &TLItem{tag: 0x7cf362ba, annotations: 0x2, tlName: "service5.insert", resultTypeContainsUnionTypes: true}) + fillFunction("service5.insert#7cf362ba", "#7cf362ba", &TLItem{tag: 0x7cf362ba, annotations: 0x2, tlName: "service5.insert", resultTypeContainsUnionTypes: false}) fillObject("service5Long.emptyOutput#ff8f7db9", "#ff8f7db9", &TLItem{tag: 0xff8f7db9, annotations: 0x0, tlName: "service5Long.emptyOutput", resultTypeContainsUnionTypes: false}) - fillFunction("service5Long.insert#7cf362bb", "#7cf362bb", &TLItem{tag: 0x7cf362bb, annotations: 0x2, tlName: "service5Long.insert", resultTypeContainsUnionTypes: true}) + fillFunction("service5Long.insert#7cf362bb", "#7cf362bb", &TLItem{tag: 0x7cf362bb, annotations: 0x2, tlName: "service5Long.insert", resultTypeContainsUnionTypes: false}) fillObject("service5Long.stringOutput#dc170ff5", "#dc170ff5", &TLItem{tag: 0xdc170ff5, annotations: 0x0, tlName: "service5Long.stringOutput", resultTypeContainsUnionTypes: false}) fillObject("service5.stringOutput#dc170ff4", "#dc170ff4", &TLItem{tag: 0xdc170ff4, annotations: 0x0, tlName: "service5.stringOutput", resultTypeContainsUnionTypes: false}) fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string", resultTypeContainsUnionTypes: false}) From 1700bea66a1f8620dddc4200cd559402a118e938 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Tue, 29 Oct 2024 11:06:19 +0300 Subject: [PATCH 28/38] forgot to push new files --- .../internal/tl/tlListService5Output/list.go | 264 ++++++++++++++++++ .../service5.insertList.go | 228 +++++++++++++++ 2 files changed, 492 insertions(+) create mode 100644 internal/tlcodegen/test/gen/goldmaster/internal/tl/tlListService5Output/list.go create mode 100644 internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5InsertList/service5.insertList.go diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlListService5Output/list.go b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlListService5Output/list.go new file mode 100644 index 00000000..4d3f1360 --- /dev/null +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlListService5Output/list.go @@ -0,0 +1,264 @@ +// Copyright 2022 V Kontakte LLC +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +package tlListService5Output + +import ( + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/cycle_16847572a0831d4cd4c0c0fb513151f3" + "github.com/vkcom/tl/pkg/basictl" +) + +var _ = basictl.NatWrite +var _ = internal.ErrorInvalidEnumTag + +type ListService5Output struct { + Flag uint32 + Head cycle_16847572a0831d4cd4c0c0fb513151f3.Service5Output // Conditional: item.Flag.0 + Tail *ListService5Output // Conditional: item.Flag.0 +} + +func (ListService5Output) TLName() string { return "list" } +func (ListService5Output) TLTag() uint32 { return 0x02d80cdd } + +func (item *ListService5Output) SetHead(v cycle_16847572a0831d4cd4c0c0fb513151f3.Service5Output) { + item.Head = v + item.Flag |= 1 << 0 +} +func (item *ListService5Output) ClearHead() { + item.Head.Reset() + item.Flag &^= 1 << 0 +} +func (item ListService5Output) IsSetHead() bool { return item.Flag&(1<<0) != 0 } + +func (item *ListService5Output) SetTail(v ListService5Output) { + if item.Tail == nil { + var value ListService5Output + item.Tail = &value + } + *item.Tail = v + item.Flag |= 1 << 0 +} +func (item *ListService5Output) ClearTail() { + if item.Tail != nil { + item.Tail.Reset() + } + item.Flag &^= 1 << 0 +} +func (item ListService5Output) IsSetTail() bool { return item.Flag&(1<<0) != 0 } + +func (item *ListService5Output) Reset() { + item.Flag = 0 + item.Head.Reset() + if item.Tail != nil { + item.Tail.Reset() + } +} + +func (item *ListService5Output) FillRandom(rg *basictl.RandGenerator) { + var maskFlag uint32 + maskFlag = basictl.RandomUint(rg) + item.Flag = 0 + if maskFlag&(1<<0) != 0 { + item.Flag |= (1 << 0) + } + if item.Flag&(1<<0) != 0 { + item.Head.FillRandom(rg) + } else { + item.Head.Reset() + } + if item.Flag&(1<<0) != 0 { + rg.IncreaseDepth() + if item.Tail == nil { + var value ListService5Output + item.Tail = &value + } + item.Tail.FillRandom(rg) + rg.DecreaseDepth() + } else { + if item.Tail != nil { + item.Tail.Reset() + } + } +} + +func (item *ListService5Output) Read(w []byte) (_ []byte, err error) { + if w, err = basictl.NatRead(w, &item.Flag); err != nil { + return w, err + } + if item.Flag&(1<<0) != 0 { + if w, err = item.Head.ReadBoxed(w); err != nil { + return w, err + } + } else { + item.Head.Reset() + } + if item.Flag&(1<<0) != 0 { + if item.Tail == nil { + var value ListService5Output + item.Tail = &value + } + if w, err = item.Tail.Read(w); err != nil { + return w, err + } + } else { + if item.Tail != nil { + item.Tail.Reset() + } + } + return w, nil +} + +// This method is general version of Write, use it instead! +func (item *ListService5Output) WriteGeneral(w []byte) (_ []byte, err error) { + return item.Write(w), nil +} + +func (item *ListService5Output) Write(w []byte) []byte { + w = basictl.NatWrite(w, item.Flag) + if item.Flag&(1<<0) != 0 { + w = item.Head.WriteBoxed(w) + } + if item.Flag&(1<<0) != 0 { + w = item.Tail.Write(w) + } + return w +} + +func (item *ListService5Output) ReadBoxed(w []byte) (_ []byte, err error) { + if w, err = basictl.NatReadExactTag(w, 0x02d80cdd); err != nil { + return w, err + } + return item.Read(w) +} + +// This method is general version of WriteBoxed, use it instead! +func (item *ListService5Output) WriteBoxedGeneral(w []byte) (_ []byte, err error) { + return item.WriteBoxed(w), nil +} + +func (item *ListService5Output) WriteBoxed(w []byte) []byte { + w = basictl.NatWrite(w, 0x02d80cdd) + return item.Write(w) +} + +func (item ListService5Output) String() string { + return string(item.WriteJSON(nil)) +} + +func (item *ListService5Output) ReadJSON(legacyTypeNames bool, in *basictl.JsonLexer) error { + var propFlagPresented bool + var propHeadPresented bool + var propTailPresented bool + + if in != nil { + in.Delim('{') + if !in.Ok() { + return in.Error() + } + for !in.IsDelim('}') { + key := in.UnsafeFieldName(true) + in.WantColon() + switch key { + case "flag": + if propFlagPresented { + return internal.ErrorInvalidJSONWithDuplicatingKeys("list", "flag") + } + if err := internal.Json2ReadUint32(in, &item.Flag); err != nil { + return err + } + propFlagPresented = true + case "head": + if propHeadPresented { + return internal.ErrorInvalidJSONWithDuplicatingKeys("list", "head") + } + if err := item.Head.ReadJSON(legacyTypeNames, in); err != nil { + return err + } + propHeadPresented = true + case "tail": + if propTailPresented { + return internal.ErrorInvalidJSONWithDuplicatingKeys("list", "tail") + } + if item.Tail == nil { + var value ListService5Output + item.Tail = &value + } + if err := item.Tail.ReadJSON(legacyTypeNames, in); err != nil { + return err + } + propTailPresented = true + default: + return internal.ErrorInvalidJSONExcessElement("list", key) + } + in.WantComma() + } + in.Delim('}') + if !in.Ok() { + return in.Error() + } + } + if !propFlagPresented { + item.Flag = 0 + } + if !propHeadPresented { + item.Head.Reset() + } + if !propTailPresented { + if item.Tail != nil { + item.Tail.Reset() + } + } + if propHeadPresented { + item.Flag |= 1 << 0 + } + if propTailPresented { + item.Flag |= 1 << 0 + } + return nil +} + +// This method is general version of WriteJSON, use it instead! +func (item *ListService5Output) WriteJSONGeneral(w []byte) (_ []byte, err error) { + return item.WriteJSONOpt(true, false, w), nil +} + +func (item *ListService5Output) WriteJSON(w []byte) []byte { + return item.WriteJSONOpt(true, false, w) +} +func (item *ListService5Output) WriteJSONOpt(newTypeNames bool, short bool, w []byte) []byte { + w = append(w, '{') + backupIndexFlag := len(w) + w = basictl.JSONAddCommaIfNeeded(w) + w = append(w, `"flag":`...) + w = basictl.JSONWriteUint32(w, item.Flag) + if (item.Flag != 0) == false { + w = w[:backupIndexFlag] + } + if item.Flag&(1<<0) != 0 { + w = basictl.JSONAddCommaIfNeeded(w) + w = append(w, `"head":`...) + w = item.Head.WriteJSONOpt(newTypeNames, short, w) + } + if item.Flag&(1<<0) != 0 { + w = basictl.JSONAddCommaIfNeeded(w) + w = append(w, `"tail":`...) + w = item.Tail.WriteJSONOpt(newTypeNames, short, w) + } + return append(w, '}') +} + +func (item *ListService5Output) MarshalJSON() ([]byte, error) { + return item.WriteJSON(nil), nil +} + +func (item *ListService5Output) UnmarshalJSON(b []byte) error { + if err := item.ReadJSON(true, &basictl.JsonLexer{Data: b}); err != nil { + return internal.ErrorInvalidJSON("list", err.Error()) + } + return nil +} diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5InsertList/service5.insertList.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5InsertList/service5.insertList.go new file mode 100644 index 00000000..da041a69 --- /dev/null +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlservice5/tlService5InsertList/service5.insertList.go @@ -0,0 +1,228 @@ +// Copyright 2022 V Kontakte LLC +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +package tlService5InsertList + +import ( + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlListService5Output" + "github.com/vkcom/tl/pkg/basictl" +) + +var _ = basictl.NatWrite +var _ = internal.ErrorInvalidEnumTag + +type Service5InsertList struct { + Flags uint32 + // Persistent (TrueType) // Conditional: item.Flags.0 +} + +func (Service5InsertList) TLName() string { return "service5.insertList" } +func (Service5InsertList) TLTag() uint32 { return 0x7cf362bc } + +func (item *Service5InsertList) SetPersistent(v bool) { + if v { + item.Flags |= 1 << 0 + } else { + item.Flags &^= 1 << 0 + } +} +func (item Service5InsertList) IsSetPersistent() bool { return item.Flags&(1<<0) != 0 } + +func (item *Service5InsertList) Reset() { + item.Flags = 0 +} + +func (item *Service5InsertList) FillRandom(rg *basictl.RandGenerator) { + var maskFlags uint32 + maskFlags = basictl.RandomUint(rg) + item.Flags = 0 + if maskFlags&(1<<0) != 0 { + item.Flags |= (1 << 0) + } +} + +func (item *Service5InsertList) Read(w []byte) (_ []byte, err error) { + if w, err = basictl.NatRead(w, &item.Flags); err != nil { + return w, err + } + return w, nil +} + +// This method is general version of Write, use it instead! +func (item *Service5InsertList) WriteGeneral(w []byte) (_ []byte, err error) { + return item.Write(w), nil +} + +func (item *Service5InsertList) Write(w []byte) []byte { + w = basictl.NatWrite(w, item.Flags) + return w +} + +func (item *Service5InsertList) ReadBoxed(w []byte) (_ []byte, err error) { + if w, err = basictl.NatReadExactTag(w, 0x7cf362bc); err != nil { + return w, err + } + return item.Read(w) +} + +// This method is general version of WriteBoxed, use it instead! +func (item *Service5InsertList) WriteBoxedGeneral(w []byte) (_ []byte, err error) { + return item.WriteBoxed(w), nil +} + +func (item *Service5InsertList) WriteBoxed(w []byte) []byte { + w = basictl.NatWrite(w, 0x7cf362bc) + return item.Write(w) +} + +func (item *Service5InsertList) ReadResult(w []byte, ret *tlListService5Output.ListService5Output) (_ []byte, err error) { + return ret.ReadBoxed(w) +} + +func (item *Service5InsertList) WriteResult(w []byte, ret tlListService5Output.ListService5Output) (_ []byte, err error) { + w = ret.WriteBoxed(w) + return w, nil +} + +func (item *Service5InsertList) ReadResultJSON(legacyTypeNames bool, in *basictl.JsonLexer, ret *tlListService5Output.ListService5Output) error { + if err := ret.ReadJSON(legacyTypeNames, in); err != nil { + return err + } + return nil +} + +func (item *Service5InsertList) WriteResultJSON(w []byte, ret tlListService5Output.ListService5Output) (_ []byte, err error) { + return item.writeResultJSON(true, false, w, ret) +} + +func (item *Service5InsertList) writeResultJSON(newTypeNames bool, short bool, w []byte, ret tlListService5Output.ListService5Output) (_ []byte, err error) { + w = ret.WriteJSONOpt(newTypeNames, short, w) + return w, nil +} + +func (item *Service5InsertList) ReadResultWriteResultJSON(r []byte, w []byte) (_ []byte, _ []byte, err error) { + var ret tlListService5Output.ListService5Output + if r, err = item.ReadResult(r, &ret); err != nil { + return r, w, err + } + w, err = item.WriteResultJSON(w, ret) + return r, w, err +} + +func (item *Service5InsertList) ReadResultWriteResultJSONOpt(newTypeNames bool, short bool, r []byte, w []byte) (_ []byte, _ []byte, err error) { + var ret tlListService5Output.ListService5Output + if r, err = item.ReadResult(r, &ret); err != nil { + return r, w, err + } + w, err = item.writeResultJSON(newTypeNames, short, w, ret) + return r, w, err +} + +func (item *Service5InsertList) ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) { + var ret tlListService5Output.ListService5Output + err := item.ReadResultJSON(true, &basictl.JsonLexer{Data: r}, &ret) + if err != nil { + return r, w, err + } + w, err = item.WriteResult(w, ret) + return r, w, err +} + +func (item Service5InsertList) String() string { + return string(item.WriteJSON(nil)) +} + +func (item *Service5InsertList) ReadJSON(legacyTypeNames bool, in *basictl.JsonLexer) error { + var propFlagsPresented bool + var trueTypePersistentPresented bool + var trueTypePersistentValue bool + + if in != nil { + in.Delim('{') + if !in.Ok() { + return in.Error() + } + for !in.IsDelim('}') { + key := in.UnsafeFieldName(true) + in.WantColon() + switch key { + case "flags": + if propFlagsPresented { + return internal.ErrorInvalidJSONWithDuplicatingKeys("service5.insertList", "flags") + } + if err := internal.Json2ReadUint32(in, &item.Flags); err != nil { + return err + } + propFlagsPresented = true + case "persistent": + if trueTypePersistentPresented { + return internal.ErrorInvalidJSONWithDuplicatingKeys("service5.insertList", "persistent") + } + if err := internal.Json2ReadBool(in, &trueTypePersistentValue); err != nil { + return err + } + trueTypePersistentPresented = true + default: + return internal.ErrorInvalidJSONExcessElement("service5.insertList", key) + } + in.WantComma() + } + in.Delim('}') + if !in.Ok() { + return in.Error() + } + } + if !propFlagsPresented { + item.Flags = 0 + } + if trueTypePersistentPresented { + if trueTypePersistentValue { + item.Flags |= 1 << 0 + } + } + // tries to set bit to zero if it is 1 + if trueTypePersistentPresented && !trueTypePersistentValue && (item.Flags&(1<<0) != 0) { + return internal.ErrorInvalidJSON("service5.insertList", "fieldmask bit flags.0 is indefinite because of the contradictions in values") + } + return nil +} + +// This method is general version of WriteJSON, use it instead! +func (item *Service5InsertList) WriteJSONGeneral(w []byte) (_ []byte, err error) { + return item.WriteJSONOpt(true, false, w), nil +} + +func (item *Service5InsertList) WriteJSON(w []byte) []byte { + return item.WriteJSONOpt(true, false, w) +} +func (item *Service5InsertList) WriteJSONOpt(newTypeNames bool, short bool, w []byte) []byte { + w = append(w, '{') + backupIndexFlags := len(w) + w = basictl.JSONAddCommaIfNeeded(w) + w = append(w, `"flags":`...) + w = basictl.JSONWriteUint32(w, item.Flags) + if (item.Flags != 0) == false { + w = w[:backupIndexFlags] + } + if item.Flags&(1<<0) != 0 { + w = basictl.JSONAddCommaIfNeeded(w) + w = append(w, `"persistent":true`...) + } + return append(w, '}') +} + +func (item *Service5InsertList) MarshalJSON() ([]byte, error) { + return item.WriteJSON(nil), nil +} + +func (item *Service5InsertList) UnmarshalJSON(b []byte) error { + if err := item.ReadJSON(true, &basictl.JsonLexer{Data: b}); err != nil { + return internal.ErrorInvalidJSON("service5.insertList", err.Error()) + } + return nil +} From 0871cf73357849b5d0d340395d8ab4aaf083ac2c Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Tue, 29 Oct 2024 11:31:07 +0300 Subject: [PATCH 29/38] add test for invariant --- .../goldmaster_invariants_test.go | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 internal/tlcodegen/test/codegen_test/goldmaster_invariants_test.go diff --git a/internal/tlcodegen/test/codegen_test/goldmaster_invariants_test.go b/internal/tlcodegen/test/codegen_test/goldmaster_invariants_test.go new file mode 100644 index 00000000..81cf56d4 --- /dev/null +++ b/internal/tlcodegen/test/codegen_test/goldmaster_invariants_test.go @@ -0,0 +1,24 @@ +package codegen + +import ( + "github.com/stretchr/testify/assert" + "testing" +) +import "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/meta" + +func TestFunctionHasUnion(t *testing.T) { + { + fun := meta.FactoryItemByTLName("service5.insertList") + if assert.NotNil(t, fun) { + assert.True(t, fun.IsFunction()) + assert.True(t, fun.HasUnionTypesInResult()) + } + } + { + fun := meta.FactoryItemByTLName("usefulService.getUserEntity") + if assert.NotNil(t, fun) { + assert.True(t, fun.IsFunction()) + assert.True(t, !fun.HasUnionTypesInResult()) + } + } +} From 8d6e24ec0aec9dcd9e0fa4fb887235248762250f Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Tue, 29 Oct 2024 13:54:58 +0300 Subject: [PATCH 30/38] add enum test for invariant --- .../goldmaster_invariants_test.go | 10 ++++++++++ .../gen/goldmaster/constants/constants.go | 1 + .../test/gen/goldmaster/factory/factory.go | 2 ++ .../goldmaster/factory_bytes/factory_bytes.go | 2 ++ .../test/gen/goldmaster/meta/meta.go | 1 + .../test/gen/goldmaster/tlab/tlab.go | 2 ++ .../tlcodegen/test/gen/goldmaster/tljson.html | 20 +++++++++++++++++++ internal/tlcodegen/test/tls/goldmaster.tl | 1 + .../test/tls/goldmaster_canonical.tl | 1 + 9 files changed, 40 insertions(+) diff --git a/internal/tlcodegen/test/codegen_test/goldmaster_invariants_test.go b/internal/tlcodegen/test/codegen_test/goldmaster_invariants_test.go index 81cf56d4..3e630ef0 100644 --- a/internal/tlcodegen/test/codegen_test/goldmaster_invariants_test.go +++ b/internal/tlcodegen/test/codegen_test/goldmaster_invariants_test.go @@ -8,6 +8,7 @@ import "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/meta" func TestFunctionHasUnion(t *testing.T) { { + // test type which contains union in its recursive definition fun := meta.FactoryItemByTLName("service5.insertList") if assert.NotNil(t, fun) { assert.True(t, fun.IsFunction()) @@ -15,10 +16,19 @@ func TestFunctionHasUnion(t *testing.T) { } } { + // test type which doesn't contain union in its recursive definition fun := meta.FactoryItemByTLName("usefulService.getUserEntity") if assert.NotNil(t, fun) { assert.True(t, fun.IsFunction()) assert.True(t, !fun.HasUnionTypesInResult()) } } + { + // test type which contains enum in its recursive definition + fun := meta.FactoryItemByTLName("ab.call10") + if assert.NotNil(t, fun) { + assert.True(t, fun.IsFunction()) + assert.True(t, fun.HasUnionTypesInResult()) + } + } } diff --git a/internal/tlcodegen/test/gen/goldmaster/constants/constants.go b/internal/tlcodegen/test/gen/goldmaster/constants/constants.go index 7bc0e677..86b0ca1b 100644 --- a/internal/tlcodegen/test/gen/goldmaster/constants/constants.go +++ b/internal/tlcodegen/test/gen/goldmaster/constants/constants.go @@ -21,6 +21,7 @@ const ( Aaa = 0x05b0e500 // aaa AbAlias = 0x944aaa97 // ab.alias AbCall1 = 0x20c5fb2d // ab.call1 + AbCall10 = 0x8db2a4f8 // ab.call10 AbCall2 = 0x77d5f057 // ab.call2 AbCall3 = 0x0a083445 // ab.call3 AbCall4 = 0xc1220a1e // ab.call4 diff --git a/internal/tlcodegen/test/gen/goldmaster/factory/factory.go b/internal/tlcodegen/test/gen/goldmaster/factory/factory.go index 04a11d8f..f5cef616 100644 --- a/internal/tlcodegen/test/gen/goldmaster/factory/factory.go +++ b/internal/tlcodegen/test/gen/goldmaster/factory/factory.go @@ -67,6 +67,7 @@ import ( "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlUseTrue" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tla/tlATop2" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall10" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4" @@ -126,6 +127,7 @@ func init() { meta.SetGlobalFactoryCreateForObject(0xa7662843, func() meta.Object { var ret cycle_463e8ce0a74f5ec3e904ecdc85b1b857.AUNionA; return &ret }) meta.SetGlobalFactoryCreateForObject(0x944aaa97, func() meta.Object { var ret cycle_b62dd5050d0a18c7485fd980c087f32c.AbAlias; return &ret }) meta.SetGlobalFactoryCreateForFunction(0x20c5fb2d, func() meta.Object { var ret tlAbCall1.AbCall1; return &ret }, func() meta.Function { var ret tlAbCall1.AbCall1; return &ret }, nil) + meta.SetGlobalFactoryCreateForFunction(0x8db2a4f8, func() meta.Object { var ret tlAbCall10.AbCall10; return &ret }, func() meta.Function { var ret tlAbCall10.AbCall10; return &ret }, nil) meta.SetGlobalFactoryCreateForFunction(0x77d5f057, func() meta.Object { var ret tlAbCall2.AbCall2; return &ret }, func() meta.Function { var ret tlAbCall2.AbCall2; return &ret }, nil) meta.SetGlobalFactoryCreateForFunction(0x0a083445, func() meta.Object { var ret tlAbCall3.AbCall3; return &ret }, func() meta.Function { var ret tlAbCall3.AbCall3; return &ret }, nil) meta.SetGlobalFactoryCreateForFunction(0xc1220a1e, func() meta.Object { var ret tlAbCall4.AbCall4; return &ret }, func() meta.Function { var ret tlAbCall4.AbCall4; return &ret }, nil) diff --git a/internal/tlcodegen/test/gen/goldmaster/factory_bytes/factory_bytes.go b/internal/tlcodegen/test/gen/goldmaster/factory_bytes/factory_bytes.go index 1af8918b..4e158857 100644 --- a/internal/tlcodegen/test/gen/goldmaster/factory_bytes/factory_bytes.go +++ b/internal/tlcodegen/test/gen/goldmaster/factory_bytes/factory_bytes.go @@ -67,6 +67,7 @@ import ( "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlUseTrue" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tla/tlATop2" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall10" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4" @@ -126,6 +127,7 @@ func init() { meta.SetGlobalFactoryCreateForObjectBytes(0xa7662843, func() meta.Object { var ret cycle_463e8ce0a74f5ec3e904ecdc85b1b857.AUNionA; return &ret }) meta.SetGlobalFactoryCreateForObjectBytes(0x944aaa97, func() meta.Object { var ret cycle_b62dd5050d0a18c7485fd980c087f32c.AbAlias; return &ret }) meta.SetGlobalFactoryCreateForFunctionBytes(0x20c5fb2d, func() meta.Object { var ret tlAbCall1.AbCall1; return &ret }, func() meta.Function { var ret tlAbCall1.AbCall1; return &ret }, nil) + meta.SetGlobalFactoryCreateForFunctionBytes(0x8db2a4f8, func() meta.Object { var ret tlAbCall10.AbCall10; return &ret }, func() meta.Function { var ret tlAbCall10.AbCall10; return &ret }, nil) meta.SetGlobalFactoryCreateForFunctionBytes(0x77d5f057, func() meta.Object { var ret tlAbCall2.AbCall2; return &ret }, func() meta.Function { var ret tlAbCall2.AbCall2; return &ret }, nil) meta.SetGlobalFactoryCreateForFunctionBytes(0x0a083445, func() meta.Object { var ret tlAbCall3.AbCall3; return &ret }, func() meta.Function { var ret tlAbCall3.AbCall3; return &ret }, nil) meta.SetGlobalFactoryCreateForFunctionBytes(0xc1220a1e, func() meta.Object { var ret tlAbCall4.AbCall4; return &ret }, func() meta.Function { var ret tlAbCall4.AbCall4; return &ret }, nil) diff --git a/internal/tlcodegen/test/gen/goldmaster/meta/meta.go b/internal/tlcodegen/test/gen/goldmaster/meta/meta.go index 05aa2618..dcae79d4 100644 --- a/internal/tlcodegen/test/gen/goldmaster/meta/meta.go +++ b/internal/tlcodegen/test/gen/goldmaster/meta/meta.go @@ -311,6 +311,7 @@ func init() { fillObject("a.uNionA#a7662843", "#a7662843", &TLItem{tag: 0xa7662843, annotations: 0x0, tlName: "a.uNionA", resultTypeContainsUnionTypes: false}) fillObject("ab.alias#944aaa97", "#944aaa97", &TLItem{tag: 0x944aaa97, annotations: 0x0, tlName: "ab.alias", resultTypeContainsUnionTypes: false}) fillFunction("ab.call1#20c5fb2d", "#20c5fb2d", &TLItem{tag: 0x20c5fb2d, annotations: 0x1, tlName: "ab.call1", resultTypeContainsUnionTypes: false}) + fillFunction("ab.call10#8db2a4f8", "#8db2a4f8", &TLItem{tag: 0x8db2a4f8, annotations: 0x1, tlName: "ab.call10", resultTypeContainsUnionTypes: true}) fillFunction("ab.call2#77d5f057", "#77d5f057", &TLItem{tag: 0x77d5f057, annotations: 0x1, tlName: "ab.call2", resultTypeContainsUnionTypes: false}) fillFunction("ab.call3#0a083445", "#0a083445", &TLItem{tag: 0x0a083445, annotations: 0x1, tlName: "ab.call3", resultTypeContainsUnionTypes: false}) fillFunction("ab.call4#c1220a1e", "#c1220a1e", &TLItem{tag: 0xc1220a1e, annotations: 0x1, tlName: "ab.call4", resultTypeContainsUnionTypes: false}) diff --git a/internal/tlcodegen/test/gen/goldmaster/tlab/tlab.go b/internal/tlcodegen/test/gen/goldmaster/tlab/tlab.go index 4b80f46a..434599e5 100644 --- a/internal/tlcodegen/test/gen/goldmaster/tlab/tlab.go +++ b/internal/tlcodegen/test/gen/goldmaster/tlab/tlab.go @@ -13,6 +13,7 @@ import ( "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlAbMyTypeBoxedMaybe" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlAbMyTypeMaybe" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall10" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4" @@ -36,6 +37,7 @@ import ( type ( Alias = cycle_b62dd5050d0a18c7485fd980c087f32c.AbAlias Call1 = tlAbCall1.AbCall1 + Call10 = tlAbCall10.AbCall10 Call2 = tlAbCall2.AbCall2 Call3 = tlAbCall3.AbCall3 Call4 = tlAbCall4.AbCall4 diff --git a/internal/tlcodegen/test/gen/goldmaster/tljson.html b/internal/tlcodegen/test/gen/goldmaster/tljson.html index c4bebf71..d80fde58 100644 --- a/internal/tlcodegen/test/gen/goldmaster/tljson.html +++ b/internal/tlcodegen/test/gen/goldmaster/tljson.html @@ -21,6 +21,11 @@

    Functions

    ab.call1ab.TypeB
  • +
  • + + ab.call10 + → a.Color +
  • ab.call2 @@ -416,6 +421,21 @@

    ab.call1

    +

    ab.call10

    + +

    + Returns a.Color +
    +
    JSON
    +
    + {} +
    +
    TL
    +
    + read ab.call10#8db2a4f8 = a.Color; +
    +
    +

    ab.call2

    diff --git a/internal/tlcodegen/test/tls/goldmaster.tl b/internal/tlcodegen/test/tls/goldmaster.tl index 503e55d9..3b47ada4 100644 --- a/internal/tlcodegen/test/tls/goldmaster.tl +++ b/internal/tlcodegen/test/tls/goldmaster.tl @@ -263,5 +263,6 @@ service5Long.stringOutput#dc170ff5 http_code:long response:string = service5Long @read ab.call7 x:typeA => ab.TypeB; @read ab.call8 x:typeA => cd.TypeB; @read ab.call9 x:typeA => TypeB; +@read ab.call10 => a.Color; // @write logs2.addIndex type_id:int field:%String => Bool; // Test that %String is canonically resolved into primitive string diff --git a/internal/tlcodegen/test/tls/goldmaster_canonical.tl b/internal/tlcodegen/test/tls/goldmaster_canonical.tl index 498b6b98..374d679b 100644 --- a/internal/tlcodegen/test/tls/goldmaster_canonical.tl +++ b/internal/tlcodegen/test/tls/goldmaster_canonical.tl @@ -124,6 +124,7 @@ service5Long.stringOutput#dc170ff5 http_code:long response:string = service5Long @read ab.call7#46ec10bf x:typeA = ab.TypeB // ./internal/tlcodegen/test/tls/goldmaster.tl @read ab.call8#1b8652d9 x:typeA = cd.TypeB // ./internal/tlcodegen/test/tls/goldmaster.tl @read ab.call9#75de906c x:typeA = TypeB // ./internal/tlcodegen/test/tls/goldmaster.tl +@read ab.call10#8db2a4f8 = a.Color // ./internal/tlcodegen/test/tls/goldmaster.tl @read call1#a7302fbc x:ab.typeA = ab.TypeB // ./internal/tlcodegen/test/tls/goldmaster2.tl @read call2#f02024c6 x:ab.typeA = cd.TypeB // ./internal/tlcodegen/test/tls/goldmaster2.tl @read call3#6ace6718 x:ab.typeA = TypeB // ./internal/tlcodegen/test/tls/goldmaster2.tl From a0c87b176fe0569091c3da7c5e234933adef7ae2 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Tue, 29 Oct 2024 13:56:20 +0300 Subject: [PATCH 31/38] forgot again --- .../internal/tlab/tlAbCall10/ab.call10.go | 153 ++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall10/ab.call10.go diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall10/ab.call10.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall10/ab.call10.go new file mode 100644 index 00000000..a3159316 --- /dev/null +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall10/ab.call10.go @@ -0,0 +1,153 @@ +// Copyright 2022 V Kontakte LLC +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +package tlAbCall10 + +import ( + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tla/tlAColor" + "github.com/vkcom/tl/pkg/basictl" +) + +var _ = basictl.NatWrite +var _ = internal.ErrorInvalidEnumTag + +type AbCall10 struct { +} + +func (AbCall10) TLName() string { return "ab.call10" } +func (AbCall10) TLTag() uint32 { return 0x8db2a4f8 } + +func (item *AbCall10) Reset() {} + +func (item *AbCall10) FillRandom(rg *basictl.RandGenerator) {} + +func (item *AbCall10) Read(w []byte) (_ []byte, err error) { return w, nil } + +// This method is general version of Write, use it instead! +func (item *AbCall10) WriteGeneral(w []byte) (_ []byte, err error) { + return item.Write(w), nil +} + +func (item *AbCall10) Write(w []byte) []byte { + return w +} + +func (item *AbCall10) ReadBoxed(w []byte) (_ []byte, err error) { + if w, err = basictl.NatReadExactTag(w, 0x8db2a4f8); err != nil { + return w, err + } + return item.Read(w) +} + +// This method is general version of WriteBoxed, use it instead! +func (item *AbCall10) WriteBoxedGeneral(w []byte) (_ []byte, err error) { + return item.WriteBoxed(w), nil +} + +func (item *AbCall10) WriteBoxed(w []byte) []byte { + w = basictl.NatWrite(w, 0x8db2a4f8) + return item.Write(w) +} + +func (item *AbCall10) ReadResult(w []byte, ret *tlAColor.AColor) (_ []byte, err error) { + return ret.ReadBoxed(w) +} + +func (item *AbCall10) WriteResult(w []byte, ret tlAColor.AColor) (_ []byte, err error) { + w = ret.WriteBoxed(w) + return w, nil +} + +func (item *AbCall10) ReadResultJSON(legacyTypeNames bool, in *basictl.JsonLexer, ret *tlAColor.AColor) error { + if err := ret.ReadJSON(legacyTypeNames, in); err != nil { + return err + } + return nil +} + +func (item *AbCall10) WriteResultJSON(w []byte, ret tlAColor.AColor) (_ []byte, err error) { + return item.writeResultJSON(true, false, w, ret) +} + +func (item *AbCall10) writeResultJSON(newTypeNames bool, short bool, w []byte, ret tlAColor.AColor) (_ []byte, err error) { + w = ret.WriteJSONOpt(newTypeNames, short, w) + return w, nil +} + +func (item *AbCall10) ReadResultWriteResultJSON(r []byte, w []byte) (_ []byte, _ []byte, err error) { + var ret tlAColor.AColor + if r, err = item.ReadResult(r, &ret); err != nil { + return r, w, err + } + w, err = item.WriteResultJSON(w, ret) + return r, w, err +} + +func (item *AbCall10) ReadResultWriteResultJSONOpt(newTypeNames bool, short bool, r []byte, w []byte) (_ []byte, _ []byte, err error) { + var ret tlAColor.AColor + if r, err = item.ReadResult(r, &ret); err != nil { + return r, w, err + } + w, err = item.writeResultJSON(newTypeNames, short, w, ret) + return r, w, err +} + +func (item *AbCall10) ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) { + var ret tlAColor.AColor + err := item.ReadResultJSON(true, &basictl.JsonLexer{Data: r}, &ret) + if err != nil { + return r, w, err + } + w, err = item.WriteResult(w, ret) + return r, w, err +} + +func (item AbCall10) String() string { + return string(item.WriteJSON(nil)) +} + +func (item *AbCall10) ReadJSON(legacyTypeNames bool, in *basictl.JsonLexer) error { + if in != nil { + in.Delim('{') + if !in.Ok() { + return in.Error() + } + for !in.IsDelim('}') { + return internal.ErrorInvalidJSON("ab.call10", "this object can't have properties") + } + in.Delim('}') + if !in.Ok() { + return in.Error() + } + } + return nil +} + +// This method is general version of WriteJSON, use it instead! +func (item *AbCall10) WriteJSONGeneral(w []byte) (_ []byte, err error) { + return item.WriteJSONOpt(true, false, w), nil +} + +func (item *AbCall10) WriteJSON(w []byte) []byte { + return item.WriteJSONOpt(true, false, w) +} +func (item *AbCall10) WriteJSONOpt(newTypeNames bool, short bool, w []byte) []byte { + w = append(w, '{') + return append(w, '}') +} + +func (item *AbCall10) MarshalJSON() ([]byte, error) { + return item.WriteJSON(nil), nil +} + +func (item *AbCall10) UnmarshalJSON(b []byte) error { + if err := item.ReadJSON(true, &basictl.JsonLexer{Data: b}); err != nil { + return internal.ErrorInvalidJSON("ab.call10", err.Error()) + } + return nil +} From 19593eb4d44027b02c3a27c30212074acbdc5917 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Tue, 29 Oct 2024 15:49:15 +0300 Subject: [PATCH 32/38] add HasUnionTypesInArguments --- internal/tlcodegen/qt_meta.qtpl | 14 +++++++++++--- internal/tlcodegen/qt_meta.qtpl.go | 6 ++++++ internal/tlcodegen/type_rw.go | 8 ++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/internal/tlcodegen/qt_meta.qtpl b/internal/tlcodegen/qt_meta.qtpl index bf221fc0..94b0c29d 100644 --- a/internal/tlcodegen/qt_meta.qtpl +++ b/internal/tlcodegen/qt_meta.qtpl @@ -149,6 +149,7 @@ type TLItem struct { tlName string resultTypeContainsUnionTypes bool + argumentsTypesContainUnionTypes bool createFunction func() Function createFunctionLong func() Function @@ -166,6 +167,7 @@ func (item TLItem) IsFunction() bool { return item.createFunction != nil func (item TLItem) CreateFunction() Function { return item.createFunction() } func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInArguments() bool { return item.argumentsTypesContainUnionTypes } // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } @@ -340,16 +342,22 @@ func init() { {%- if wr.tlTag == 0 || !wr.IsTopLevel() -%} {%- continue -%} {%- endif -%} {%- stripspace -%} {%- if fun, ok := wr.trw.(*TypeRWStruct); ok && len(wr.NatParams) == 0 -%} - {%- code resultTypeContainsUnionTypes := false -%} + {%- code + resultTypeContainsUnionTypes := false + argumentsTypesContainUnionTypes := false + -%} {%- if fun.ResultType != nil -%} - {%- code resultTypeContainsUnionTypes = fun.wr.DoesReturnTypeContainUnionTypes() -%} + {%- code + resultTypeContainsUnionTypes = fun.wr.DoesReturnTypeContainUnionTypes() + argumentsTypesContainUnionTypes = fun.wr.DoArgumentsContainUnionTypes() + -%} fillFunction( {%- else -%} fillObject( {%- endif -%} "{%= wr.tlName.String() %}#{%s= fmt.Sprintf("%08x", wr.tlTag) %}", {%q= fmt.Sprintf("#%08x", wr.tlTag) %}, - &TLItem{tag: {%s= fmt.Sprintf("0x%08x", wr.tlTag) %}, annotations: {%s= fmt.Sprintf("0x%x", wr.AnnotationsMask()) %}, tlName: "{%= wr.tlName.String() %}", resultTypeContainsUnionTypes: {%v= resultTypeContainsUnionTypes %}}) + &TLItem{tag: {%s= fmt.Sprintf("0x%08x", wr.tlTag) %}, annotations: {%s= fmt.Sprintf("0x%x", wr.AnnotationsMask()) %}, tlName: "{%= wr.tlName.String() %}", resultTypeContainsUnionTypes: {%v= resultTypeContainsUnionTypes %}, argumentsTypesContainUnionTypes: {%v= argumentsTypesContainUnionTypes %}}) {%- endif -%} {%- endstripspace -%} diff --git a/internal/tlcodegen/qt_meta.qtpl.go b/internal/tlcodegen/qt_meta.qtpl.go index 324caf3c..727753d9 100644 --- a/internal/tlcodegen/qt_meta.qtpl.go +++ b/internal/tlcodegen/qt_meta.qtpl.go @@ -188,6 +188,7 @@ type TLItem struct { tlName string resultTypeContainsUnionTypes bool + argumentsTypesContainUnionTypes bool createFunction func() Function createFunctionLong func() Function @@ -205,6 +206,7 @@ func (item TLItem) IsFunction() bool { return item.createFunction != nil func (item TLItem) CreateFunction() Function { return item.createFunction() } func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInArguments() bool { return item.argumentsTypesContainUnionTypes } // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } @@ -391,9 +393,11 @@ func init() { } if fun, ok := wr.trw.(*TypeRWStruct); ok && len(wr.NatParams) == 0 { resultTypeContainsUnionTypes := false + argumentsTypesContainUnionTypes := false if fun.ResultType != nil { resultTypeContainsUnionTypes = fun.wr.DoesReturnTypeContainUnionTypes() + argumentsTypesContainUnionTypes = fun.wr.DoArgumentsContainUnionTypes() qw422016.N().S(`fillFunction(`) } else { @@ -413,6 +417,8 @@ func init() { wr.tlName.StreamString(qw422016) qw422016.N().S(`", resultTypeContainsUnionTypes:`) qw422016.N().V(resultTypeContainsUnionTypes) + qw422016.N().S(`, argumentsTypesContainUnionTypes:`) + qw422016.N().V(argumentsTypesContainUnionTypes) qw422016.N().S(`})`) } qw422016.N().S(` diff --git a/internal/tlcodegen/type_rw.go b/internal/tlcodegen/type_rw.go index 9249e22e..4373c7b0 100644 --- a/internal/tlcodegen/type_rw.go +++ b/internal/tlcodegen/type_rw.go @@ -165,6 +165,14 @@ func (w *TypeRWWrapper) AnnotationsMask() uint32 { return mask } +func (w *TypeRWWrapper) DoArgumentsContainUnionTypes() bool { + if w, ok := w.trw.(*TypeRWStruct); ok && w.ResultType != nil { + return w.wr.containsUnion(map[*TypeRWWrapper]bool{}) + } else { + return false + } +} + func (w *TypeRWWrapper) DoesReturnTypeContainUnionTypes() bool { if w, ok := w.trw.(*TypeRWStruct); ok && w.ResultType != nil { return w.ResultType.containsUnion(map[*TypeRWWrapper]bool{}) From c0815c7d56ab10f669c0eeb2122b4a646b263421 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Tue, 29 Oct 2024 15:49:37 +0300 Subject: [PATCH 33/38] add new function to test --- internal/tlcodegen/test/tls/goldmaster.tl | 1 + internal/tlcodegen/test/tls/goldmaster_canonical.tl | 1 + 2 files changed, 2 insertions(+) diff --git a/internal/tlcodegen/test/tls/goldmaster.tl b/internal/tlcodegen/test/tls/goldmaster.tl index 3b47ada4..8537e907 100644 --- a/internal/tlcodegen/test/tls/goldmaster.tl +++ b/internal/tlcodegen/test/tls/goldmaster.tl @@ -264,5 +264,6 @@ service5Long.stringOutput#dc170ff5 http_code:long response:string = service5Long @read ab.call8 x:typeA => cd.TypeB; @read ab.call9 x:typeA => TypeB; @read ab.call10 => a.Color; +@read ab.call11 x:a.Color => a.Color; // @write logs2.addIndex type_id:int field:%String => Bool; // Test that %String is canonically resolved into primitive string diff --git a/internal/tlcodegen/test/tls/goldmaster_canonical.tl b/internal/tlcodegen/test/tls/goldmaster_canonical.tl index 374d679b..1bd5d173 100644 --- a/internal/tlcodegen/test/tls/goldmaster_canonical.tl +++ b/internal/tlcodegen/test/tls/goldmaster_canonical.tl @@ -125,6 +125,7 @@ service5Long.stringOutput#dc170ff5 http_code:long response:string = service5Long @read ab.call8#1b8652d9 x:typeA = cd.TypeB // ./internal/tlcodegen/test/tls/goldmaster.tl @read ab.call9#75de906c x:typeA = TypeB // ./internal/tlcodegen/test/tls/goldmaster.tl @read ab.call10#8db2a4f8 = a.Color // ./internal/tlcodegen/test/tls/goldmaster.tl +@read ab.call11#ecb2a36c x:a.Color = a.Color // ./internal/tlcodegen/test/tls/goldmaster.tl @read call1#a7302fbc x:ab.typeA = ab.TypeB // ./internal/tlcodegen/test/tls/goldmaster2.tl @read call2#f02024c6 x:ab.typeA = cd.TypeB // ./internal/tlcodegen/test/tls/goldmaster2.tl @read call3#6ace6718 x:ab.typeA = TypeB // ./internal/tlcodegen/test/tls/goldmaster2.tl From 18ba810ae1d7634fb04bac77a4ea48511014621d Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Tue, 29 Oct 2024 15:50:16 +0300 Subject: [PATCH 34/38] update goldmaster --- .../goldmaster_invariants_test.go | 19 ++ .../tlcodegen/test/gen/cases/meta/meta.go | 102 +++---- .../tlcodegen/test/gen/goldmaster.tlo.json | 223 ++++++++++++++- .../gen/goldmaster/constants/constants.go | 1 + .../test/gen/goldmaster/factory/factory.go | 2 + .../goldmaster/factory_bytes/factory_bytes.go | 2 + .../internal/tlab/tlAbCall11/ab.call11.go | 183 ++++++++++++ .../test/gen/goldmaster/meta/meta.go | 217 ++++++++------- .../test/gen/goldmaster/tlab/tlab.go | 2 + .../tlcodegen/test/gen/goldmaster/tljson.html | 30 ++ .../goldmaster_nosplit/constants/constants.go | 4 + .../gen/goldmaster_nosplit/factory/factory.go | 3 + .../factory_bytes/factory_bytes.go | 3 + .../goldmaster_nosplit/internal/ab.call10.go | 150 ++++++++++ .../goldmaster_nosplit/internal/ab.call11.go | 180 ++++++++++++ .../gen/goldmaster_nosplit/internal/list.go | 261 ++++++++++++++++++ .../internal/service5.insertList.go | 225 +++++++++++++++ .../test/gen/goldmaster_nosplit/meta/meta.go | 215 ++++++++------- .../test/gen/goldmaster_nosplit/tl/tl.go | 1 + .../test/gen/goldmaster_nosplit/tlab/tlab.go | 2 + .../test/gen/goldmaster_nosplit/tljson.html | 129 +++++++++ .../tlservice5/tlservice5.go | 1 + 22 files changed, 1690 insertions(+), 265 deletions(-) create mode 100644 internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall11/ab.call11.go create mode 100644 internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call10.go create mode 100644 internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call11.go create mode 100644 internal/tlcodegen/test/gen/goldmaster_nosplit/internal/list.go create mode 100644 internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5.insertList.go diff --git a/internal/tlcodegen/test/codegen_test/goldmaster_invariants_test.go b/internal/tlcodegen/test/codegen_test/goldmaster_invariants_test.go index 3e630ef0..7cef8063 100644 --- a/internal/tlcodegen/test/codegen_test/goldmaster_invariants_test.go +++ b/internal/tlcodegen/test/codegen_test/goldmaster_invariants_test.go @@ -32,3 +32,22 @@ func TestFunctionHasUnion(t *testing.T) { } } } + +func TestFunctionHasUnionInArguments(t *testing.T) { + { + // test type which contains union in its recursive definition + fun := meta.FactoryItemByTLName("service5.insertList") + if assert.NotNil(t, fun) { + assert.True(t, fun.IsFunction()) + assert.True(t, !fun.HasUnionTypesInArguments()) + } + } + { + // test type which doesn't contain union in its recursive definition + fun := meta.FactoryItemByTLName("ab.call11") + if assert.NotNil(t, fun) { + assert.True(t, fun.IsFunction()) + assert.True(t, fun.HasUnionTypesInArguments()) + } + } +} diff --git a/internal/tlcodegen/test/gen/cases/meta/meta.go b/internal/tlcodegen/test/gen/cases/meta/meta.go index d017ce5a..f132b926 100644 --- a/internal/tlcodegen/test/gen/cases/meta/meta.go +++ b/internal/tlcodegen/test/gen/cases/meta/meta.go @@ -131,7 +131,8 @@ type TLItem struct { annotations uint32 tlName string - resultTypeContainsUnionTypes bool + resultTypeContainsUnionTypes bool + argumentsTypesContainUnionTypes bool createFunction func() Function createFunctionLong func() Function @@ -147,7 +148,8 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } -func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInArguments() bool { return item.argumentsTypesContainUnionTypes } // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } @@ -299,52 +301,52 @@ func fillFunction(n1 string, n2 string, item *TLItem) { } func init() { - fillObject("benchmarks.vruhash#d31bd0fd", "#d31bd0fd", &TLItem{tag: 0xd31bd0fd, annotations: 0x0, tlName: "benchmarks.vruhash", resultTypeContainsUnionTypes: false}) - fillObject("benchmarks.vruposition#32792c04", "#32792c04", &TLItem{tag: 0x32792c04, annotations: 0x0, tlName: "benchmarks.vruposition", resultTypeContainsUnionTypes: false}) - fillObject("benchmarks.vrutoyTopLevelContainer#fb442ca5", "#fb442ca5", &TLItem{tag: 0xfb442ca5, annotations: 0x0, tlName: "benchmarks.vrutoyTopLevelContainer", resultTypeContainsUnionTypes: false}) - fillObject("benchmarks.vrutoyTopLevelContainerWithDependency#c176008e", "#c176008e", &TLItem{tag: 0xc176008e, annotations: 0x0, tlName: "benchmarks.vrutoyTopLevelContainerWithDependency", resultTypeContainsUnionTypes: false}) - fillObject("benchmarks.vrutoytopLevelUnionBig#ef556bee", "#ef556bee", &TLItem{tag: 0xef556bee, annotations: 0x0, tlName: "benchmarks.vrutoytopLevelUnionBig", resultTypeContainsUnionTypes: false}) - fillObject("benchmarks.vrutoytopLevelUnionEmpty#ce27c770", "#ce27c770", &TLItem{tag: 0xce27c770, annotations: 0x0, tlName: "benchmarks.vrutoytopLevelUnionEmpty", resultTypeContainsUnionTypes: false}) - fillObject("cases_bytes.testArray#3762fb81", "#3762fb81", &TLItem{tag: 0x3762fb81, annotations: 0x0, tlName: "cases_bytes.testArray", resultTypeContainsUnionTypes: false}) - fillObject("cases_bytes.testDictAny#5a5fce57", "#5a5fce57", &TLItem{tag: 0x5a5fce57, annotations: 0x0, tlName: "cases_bytes.testDictAny", resultTypeContainsUnionTypes: false}) - fillObject("cases_bytes.testDictInt#453ace07", "#453ace07", &TLItem{tag: 0x453ace07, annotations: 0x0, tlName: "cases_bytes.testDictInt", resultTypeContainsUnionTypes: false}) - fillObject("cases_bytes.testDictString#6c04d6ce", "#6c04d6ce", &TLItem{tag: 0x6c04d6ce, annotations: 0x0, tlName: "cases_bytes.testDictString", resultTypeContainsUnionTypes: false}) - fillObject("cases_bytes.testDictStringString#ad69c772", "#ad69c772", &TLItem{tag: 0xad69c772, annotations: 0x0, tlName: "cases_bytes.testDictStringString", resultTypeContainsUnionTypes: false}) - fillObject("cases_bytes.testEnum1#58aad3f5", "#58aad3f5", &TLItem{tag: 0x58aad3f5, annotations: 0x0, tlName: "cases_bytes.testEnum1", resultTypeContainsUnionTypes: false}) - fillObject("cases_bytes.testEnum2#00b47add", "#00b47add", &TLItem{tag: 0x00b47add, annotations: 0x0, tlName: "cases_bytes.testEnum2", resultTypeContainsUnionTypes: false}) - fillObject("cases_bytes.testEnum3#81911ffa", "#81911ffa", &TLItem{tag: 0x81911ffa, annotations: 0x0, tlName: "cases_bytes.testEnum3", resultTypeContainsUnionTypes: false}) - fillObject("cases_bytes.testEnumContainer#32b92037", "#32b92037", &TLItem{tag: 0x32b92037, annotations: 0x0, tlName: "cases_bytes.testEnumContainer", resultTypeContainsUnionTypes: false}) - fillObject("cases_bytes.testTuple#2dd3bacf", "#2dd3bacf", &TLItem{tag: 0x2dd3bacf, annotations: 0x0, tlName: "cases_bytes.testTuple", resultTypeContainsUnionTypes: false}) - fillObject("cases_bytes.testVector#3647c8ae", "#3647c8ae", &TLItem{tag: 0x3647c8ae, annotations: 0x0, tlName: "cases_bytes.testVector", resultTypeContainsUnionTypes: false}) - fillObject("cases.myCycle1#d3ca919d", "#d3ca919d", &TLItem{tag: 0xd3ca919d, annotations: 0x0, tlName: "cases.myCycle1", resultTypeContainsUnionTypes: false}) - fillObject("cases.myCycle2#5444c9a2", "#5444c9a2", &TLItem{tag: 0x5444c9a2, annotations: 0x0, tlName: "cases.myCycle2", resultTypeContainsUnionTypes: false}) - fillObject("cases.myCycle3#7624f86b", "#7624f86b", &TLItem{tag: 0x7624f86b, annotations: 0x0, tlName: "cases.myCycle3", resultTypeContainsUnionTypes: false}) - fillObject("cases.replace7#6ccce4be", "#6ccce4be", &TLItem{tag: 0x6ccce4be, annotations: 0x0, tlName: "cases.replace7", resultTypeContainsUnionTypes: false}) - fillObject("cases.replace7plus#197858f5", "#197858f5", &TLItem{tag: 0x197858f5, annotations: 0x0, tlName: "cases.replace7plus", resultTypeContainsUnionTypes: false}) - fillObject("cases.replace7plusplus#abc39b68", "#abc39b68", &TLItem{tag: 0xabc39b68, annotations: 0x0, tlName: "cases.replace7plusplus", resultTypeContainsUnionTypes: false}) - fillObject("cases.testAllPossibleFieldConfigsContainer#e3fae936", "#e3fae936", &TLItem{tag: 0xe3fae936, annotations: 0x0, tlName: "cases.testAllPossibleFieldConfigsContainer", resultTypeContainsUnionTypes: false}) - fillObject("cases.testArray#a888030d", "#a888030d", &TLItem{tag: 0xa888030d, annotations: 0x0, tlName: "cases.testArray", resultTypeContainsUnionTypes: false}) - fillObject("cases.testBeforeReadBitValidation#9b2396db", "#9b2396db", &TLItem{tag: 0x9b2396db, annotations: 0x0, tlName: "cases.testBeforeReadBitValidation", resultTypeContainsUnionTypes: false}) - fillObject("cases.testDictAny#e29b8ae6", "#e29b8ae6", &TLItem{tag: 0xe29b8ae6, annotations: 0x0, tlName: "cases.testDictAny", resultTypeContainsUnionTypes: false}) - fillObject("cases.testDictInt#d3877643", "#d3877643", &TLItem{tag: 0xd3877643, annotations: 0x0, tlName: "cases.testDictInt", resultTypeContainsUnionTypes: false}) - fillObject("cases.testDictString#c463c79b", "#c463c79b", &TLItem{tag: 0xc463c79b, annotations: 0x0, tlName: "cases.testDictString", resultTypeContainsUnionTypes: false}) - fillObject("cases.testEnum1#6c6c55ac", "#6c6c55ac", &TLItem{tag: 0x6c6c55ac, annotations: 0x0, tlName: "cases.testEnum1", resultTypeContainsUnionTypes: false}) - fillObject("cases.testEnum2#86ea88ce", "#86ea88ce", &TLItem{tag: 0x86ea88ce, annotations: 0x0, tlName: "cases.testEnum2", resultTypeContainsUnionTypes: false}) - fillObject("cases.testEnum3#69b83e2f", "#69b83e2f", &TLItem{tag: 0x69b83e2f, annotations: 0x0, tlName: "cases.testEnum3", resultTypeContainsUnionTypes: false}) - fillObject("cases.testEnumContainer#cb684231", "#cb684231", &TLItem{tag: 0xcb684231, annotations: 0x0, tlName: "cases.testEnumContainer", resultTypeContainsUnionTypes: false}) - fillObject("cases.testLocalFieldmask#f68fd3f9", "#f68fd3f9", &TLItem{tag: 0xf68fd3f9, annotations: 0x0, tlName: "cases.testLocalFieldmask", resultTypeContainsUnionTypes: false}) - fillObject("cases.testMaybe#d6602613", "#d6602613", &TLItem{tag: 0xd6602613, annotations: 0x0, tlName: "cases.testMaybe", resultTypeContainsUnionTypes: false}) - fillObject("cases.testOutFieldMaskContainer#1850ffe4", "#1850ffe4", &TLItem{tag: 0x1850ffe4, annotations: 0x0, tlName: "cases.testOutFieldMaskContainer", resultTypeContainsUnionTypes: false}) - fillObject("cases.testRecursiveFieldMask#c58cf85e", "#c58cf85e", &TLItem{tag: 0xc58cf85e, annotations: 0x0, tlName: "cases.testRecursiveFieldMask", resultTypeContainsUnionTypes: false}) - fillObject("cases.testTuple#4b9caf8f", "#4b9caf8f", &TLItem{tag: 0x4b9caf8f, annotations: 0x0, tlName: "cases.testTuple", resultTypeContainsUnionTypes: false}) - fillObject("cases.testUnion1#4b4f09b1", "#4b4f09b1", &TLItem{tag: 0x4b4f09b1, annotations: 0x0, tlName: "cases.testUnion1", resultTypeContainsUnionTypes: false}) - fillObject("cases.testUnion2#464f96c4", "#464f96c4", &TLItem{tag: 0x464f96c4, annotations: 0x0, tlName: "cases.testUnion2", resultTypeContainsUnionTypes: false}) - fillObject("cases.testUnionContainer#4497a381", "#4497a381", &TLItem{tag: 0x4497a381, annotations: 0x0, tlName: "cases.testUnionContainer", resultTypeContainsUnionTypes: false}) - fillObject("cases.testVector#4975695c", "#4975695c", &TLItem{tag: 0x4975695c, annotations: 0x0, tlName: "cases.testVector", resultTypeContainsUnionTypes: false}) - fillObject("int#a8509bda", "#a8509bda", &TLItem{tag: 0xa8509bda, annotations: 0x0, tlName: "int", resultTypeContainsUnionTypes: false}) - fillObject("int32#7934e71f", "#7934e71f", &TLItem{tag: 0x7934e71f, annotations: 0x0, tlName: "int32", resultTypeContainsUnionTypes: false}) - fillObject("int64#f5609de0", "#f5609de0", &TLItem{tag: 0xf5609de0, annotations: 0x0, tlName: "int64", resultTypeContainsUnionTypes: false}) - fillObject("long#22076cba", "#22076cba", &TLItem{tag: 0x22076cba, annotations: 0x0, tlName: "long", resultTypeContainsUnionTypes: false}) - fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string", resultTypeContainsUnionTypes: false}) - fillObject("true#3fedd339", "#3fedd339", &TLItem{tag: 0x3fedd339, annotations: 0x0, tlName: "true", resultTypeContainsUnionTypes: false}) + fillObject("benchmarks.vruhash#d31bd0fd", "#d31bd0fd", &TLItem{tag: 0xd31bd0fd, annotations: 0x0, tlName: "benchmarks.vruhash", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("benchmarks.vruposition#32792c04", "#32792c04", &TLItem{tag: 0x32792c04, annotations: 0x0, tlName: "benchmarks.vruposition", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("benchmarks.vrutoyTopLevelContainer#fb442ca5", "#fb442ca5", &TLItem{tag: 0xfb442ca5, annotations: 0x0, tlName: "benchmarks.vrutoyTopLevelContainer", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("benchmarks.vrutoyTopLevelContainerWithDependency#c176008e", "#c176008e", &TLItem{tag: 0xc176008e, annotations: 0x0, tlName: "benchmarks.vrutoyTopLevelContainerWithDependency", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("benchmarks.vrutoytopLevelUnionBig#ef556bee", "#ef556bee", &TLItem{tag: 0xef556bee, annotations: 0x0, tlName: "benchmarks.vrutoytopLevelUnionBig", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("benchmarks.vrutoytopLevelUnionEmpty#ce27c770", "#ce27c770", &TLItem{tag: 0xce27c770, annotations: 0x0, tlName: "benchmarks.vrutoytopLevelUnionEmpty", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases_bytes.testArray#3762fb81", "#3762fb81", &TLItem{tag: 0x3762fb81, annotations: 0x0, tlName: "cases_bytes.testArray", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases_bytes.testDictAny#5a5fce57", "#5a5fce57", &TLItem{tag: 0x5a5fce57, annotations: 0x0, tlName: "cases_bytes.testDictAny", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases_bytes.testDictInt#453ace07", "#453ace07", &TLItem{tag: 0x453ace07, annotations: 0x0, tlName: "cases_bytes.testDictInt", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases_bytes.testDictString#6c04d6ce", "#6c04d6ce", &TLItem{tag: 0x6c04d6ce, annotations: 0x0, tlName: "cases_bytes.testDictString", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases_bytes.testDictStringString#ad69c772", "#ad69c772", &TLItem{tag: 0xad69c772, annotations: 0x0, tlName: "cases_bytes.testDictStringString", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases_bytes.testEnum1#58aad3f5", "#58aad3f5", &TLItem{tag: 0x58aad3f5, annotations: 0x0, tlName: "cases_bytes.testEnum1", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases_bytes.testEnum2#00b47add", "#00b47add", &TLItem{tag: 0x00b47add, annotations: 0x0, tlName: "cases_bytes.testEnum2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases_bytes.testEnum3#81911ffa", "#81911ffa", &TLItem{tag: 0x81911ffa, annotations: 0x0, tlName: "cases_bytes.testEnum3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases_bytes.testEnumContainer#32b92037", "#32b92037", &TLItem{tag: 0x32b92037, annotations: 0x0, tlName: "cases_bytes.testEnumContainer", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases_bytes.testTuple#2dd3bacf", "#2dd3bacf", &TLItem{tag: 0x2dd3bacf, annotations: 0x0, tlName: "cases_bytes.testTuple", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases_bytes.testVector#3647c8ae", "#3647c8ae", &TLItem{tag: 0x3647c8ae, annotations: 0x0, tlName: "cases_bytes.testVector", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.myCycle1#d3ca919d", "#d3ca919d", &TLItem{tag: 0xd3ca919d, annotations: 0x0, tlName: "cases.myCycle1", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.myCycle2#5444c9a2", "#5444c9a2", &TLItem{tag: 0x5444c9a2, annotations: 0x0, tlName: "cases.myCycle2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.myCycle3#7624f86b", "#7624f86b", &TLItem{tag: 0x7624f86b, annotations: 0x0, tlName: "cases.myCycle3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.replace7#6ccce4be", "#6ccce4be", &TLItem{tag: 0x6ccce4be, annotations: 0x0, tlName: "cases.replace7", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.replace7plus#197858f5", "#197858f5", &TLItem{tag: 0x197858f5, annotations: 0x0, tlName: "cases.replace7plus", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.replace7plusplus#abc39b68", "#abc39b68", &TLItem{tag: 0xabc39b68, annotations: 0x0, tlName: "cases.replace7plusplus", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testAllPossibleFieldConfigsContainer#e3fae936", "#e3fae936", &TLItem{tag: 0xe3fae936, annotations: 0x0, tlName: "cases.testAllPossibleFieldConfigsContainer", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testArray#a888030d", "#a888030d", &TLItem{tag: 0xa888030d, annotations: 0x0, tlName: "cases.testArray", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testBeforeReadBitValidation#9b2396db", "#9b2396db", &TLItem{tag: 0x9b2396db, annotations: 0x0, tlName: "cases.testBeforeReadBitValidation", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testDictAny#e29b8ae6", "#e29b8ae6", &TLItem{tag: 0xe29b8ae6, annotations: 0x0, tlName: "cases.testDictAny", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testDictInt#d3877643", "#d3877643", &TLItem{tag: 0xd3877643, annotations: 0x0, tlName: "cases.testDictInt", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testDictString#c463c79b", "#c463c79b", &TLItem{tag: 0xc463c79b, annotations: 0x0, tlName: "cases.testDictString", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testEnum1#6c6c55ac", "#6c6c55ac", &TLItem{tag: 0x6c6c55ac, annotations: 0x0, tlName: "cases.testEnum1", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testEnum2#86ea88ce", "#86ea88ce", &TLItem{tag: 0x86ea88ce, annotations: 0x0, tlName: "cases.testEnum2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testEnum3#69b83e2f", "#69b83e2f", &TLItem{tag: 0x69b83e2f, annotations: 0x0, tlName: "cases.testEnum3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testEnumContainer#cb684231", "#cb684231", &TLItem{tag: 0xcb684231, annotations: 0x0, tlName: "cases.testEnumContainer", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testLocalFieldmask#f68fd3f9", "#f68fd3f9", &TLItem{tag: 0xf68fd3f9, annotations: 0x0, tlName: "cases.testLocalFieldmask", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testMaybe#d6602613", "#d6602613", &TLItem{tag: 0xd6602613, annotations: 0x0, tlName: "cases.testMaybe", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testOutFieldMaskContainer#1850ffe4", "#1850ffe4", &TLItem{tag: 0x1850ffe4, annotations: 0x0, tlName: "cases.testOutFieldMaskContainer", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testRecursiveFieldMask#c58cf85e", "#c58cf85e", &TLItem{tag: 0xc58cf85e, annotations: 0x0, tlName: "cases.testRecursiveFieldMask", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testTuple#4b9caf8f", "#4b9caf8f", &TLItem{tag: 0x4b9caf8f, annotations: 0x0, tlName: "cases.testTuple", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testUnion1#4b4f09b1", "#4b4f09b1", &TLItem{tag: 0x4b4f09b1, annotations: 0x0, tlName: "cases.testUnion1", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testUnion2#464f96c4", "#464f96c4", &TLItem{tag: 0x464f96c4, annotations: 0x0, tlName: "cases.testUnion2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testUnionContainer#4497a381", "#4497a381", &TLItem{tag: 0x4497a381, annotations: 0x0, tlName: "cases.testUnionContainer", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cases.testVector#4975695c", "#4975695c", &TLItem{tag: 0x4975695c, annotations: 0x0, tlName: "cases.testVector", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("int#a8509bda", "#a8509bda", &TLItem{tag: 0xa8509bda, annotations: 0x0, tlName: "int", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("int32#7934e71f", "#7934e71f", &TLItem{tag: 0x7934e71f, annotations: 0x0, tlName: "int32", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("int64#f5609de0", "#f5609de0", &TLItem{tag: 0xf5609de0, annotations: 0x0, tlName: "int64", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("long#22076cba", "#22076cba", &TLItem{tag: 0x22076cba, annotations: 0x0, tlName: "long", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("true#3fedd339", "#3fedd339", &TLItem{tag: 0x3fedd339, annotations: 0x0, tlName: "true", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) } diff --git a/internal/tlcodegen/test/gen/goldmaster.tlo.json b/internal/tlcodegen/test/gen/goldmaster.tlo.json index 445984bd..bbd01575 100644 --- a/internal/tlcodegen/test/gen/goldmaster.tlo.json +++ b/internal/tlcodegen/test/gen/goldmaster.tlo.json @@ -1,7 +1,7 @@ { "version": 301822800, "date": 301822800, - "types_num": 99, + "types_num": 100, "types": [ { "name": 1885708031, @@ -108,6 +108,12 @@ "id": "Int64", "constructors_num": 1 }, + { + "name": 47713501, + "id": "List", + "constructors_num": 1, + "arity": 1 + }, { "name": 570911930, "id": "Long", @@ -555,7 +561,7 @@ "params_type": 1 } ], - "constructor_num": 114, + "constructor_num": 115, "constructors": [ { "type": "tls.combinator_v4", @@ -1909,6 +1915,99 @@ } } }, + { + "type": "tls.combinator_v4", + "value": { + "name": 47713501, + "id": "list", + "type_name": 47713501, + "left": { + "type": "tls.combinatorLeft", + "value": { + "args_num": 4, + "args": [ + { + "id": "X", + "flags": 131075, + "var_num": 0, + "type": { + "type": "tls.typeExpr", + "value": { + "name": 753727511 + } + } + }, + { + "id": "flag", + "flags": 2, + "var_num": 1, + "type": { + "type": "tls.typeExpr", + "value": { + "name": 1885708031 + } + } + }, + { + "id": "head", + "flags": 4, + "exist_var_num": 1, + "exist_var_bit": 0, + "type": { + "type": "tls.typeVar", + "value": {} + } + }, + { + "id": "tail", + "flags": 4, + "exist_var_num": 1, + "exist_var_bit": 0, + "type": { + "type": "tls.typeExpr", + "value": { + "name": 47713501, + "flags": 1, + "children_num": 1, + "children": [ + { + "type": "tls.exprType", + "value": { + "expr": { + "type": "tls.typeVar", + "value": {} + } + } + } + ] + } + } + } + ] + } + }, + "right": { + "value": { + "type": "tls.typeExpr", + "value": { + "name": 47713501, + "children_num": 1, + "children": [ + { + "type": "tls.exprType", + "value": { + "expr": { + "type": "tls.typeVar", + "value": {} + } + } + } + ] + } + } + } + } + }, { "type": "tls.combinator_v4", "value": { @@ -9289,7 +9388,7 @@ } } ], - "functions_num": 21, + "functions_num": 24, "functions": [ { "type": "tls.combinator_v4", @@ -9326,6 +9425,61 @@ "flags": 1 } }, + { + "type": "tls.combinator_v4", + "value": { + "name": -1917672200, + "id": "ab.call10", + "type_name": -516647077, + "left": { + "type": "tls.combinatorLeft", + "value": {} + }, + "right": { + "value": { + "type": "tls.typeExpr", + "value": { + "name": -516647077 + } + } + }, + "flags": 1 + } + }, + { + "type": "tls.combinator_v4", + "value": { + "name": -323837076, + "id": "ab.call11", + "type_name": -516647077, + "left": { + "type": "tls.combinatorLeft", + "value": { + "args_num": 1, + "args": [ + { + "id": "x", + "type": { + "type": "tls.typeExpr", + "value": { + "name": -516647077 + } + } + } + ] + } + }, + "right": { + "value": { + "type": "tls.typeExpr", + "value": { + "name": -516647077 + } + } + }, + "flags": 1 + } + }, { "type": "tls.combinator_v4", "value": { @@ -9970,6 +10124,69 @@ "flags": 3 } }, + { + "type": "tls.combinator_v4", + "value": { + "name": 2096325308, + "id": "service5.insertList", + "type_name": 47713501, + "left": { + "type": "tls.combinatorLeft", + "value": { + "args_num": 2, + "args": [ + { + "id": "flags", + "flags": 2, + "var_num": 0, + "type": { + "type": "tls.typeExpr", + "value": { + "name": 1885708031 + } + } + }, + { + "id": "persistent", + "flags": 4, + "exist_var_num": 0, + "exist_var_bit": 0, + "type": { + "type": "tls.typeExpr", + "value": { + "name": 1072550713, + "flags": 1 + } + } + } + ] + } + }, + "right": { + "value": { + "type": "tls.typeExpr", + "value": { + "name": 47713501, + "children_num": 1, + "children": [ + { + "type": "tls.exprType", + "value": { + "expr": { + "type": "tls.typeExpr", + "value": { + "name": 597193292 + } + } + } + } + ] + } + } + }, + "flags": 3 + } + }, { "type": "tls.combinator_v4", "value": { diff --git a/internal/tlcodegen/test/gen/goldmaster/constants/constants.go b/internal/tlcodegen/test/gen/goldmaster/constants/constants.go index 86b0ca1b..c60bb096 100644 --- a/internal/tlcodegen/test/gen/goldmaster/constants/constants.go +++ b/internal/tlcodegen/test/gen/goldmaster/constants/constants.go @@ -22,6 +22,7 @@ const ( AbAlias = 0x944aaa97 // ab.alias AbCall1 = 0x20c5fb2d // ab.call1 AbCall10 = 0x8db2a4f8 // ab.call10 + AbCall11 = 0xecb2a36c // ab.call11 AbCall2 = 0x77d5f057 // ab.call2 AbCall3 = 0x0a083445 // ab.call3 AbCall4 = 0xc1220a1e // ab.call4 diff --git a/internal/tlcodegen/test/gen/goldmaster/factory/factory.go b/internal/tlcodegen/test/gen/goldmaster/factory/factory.go index f5cef616..b7e76e64 100644 --- a/internal/tlcodegen/test/gen/goldmaster/factory/factory.go +++ b/internal/tlcodegen/test/gen/goldmaster/factory/factory.go @@ -68,6 +68,7 @@ import ( "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tla/tlATop2" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall10" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall11" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4" @@ -128,6 +129,7 @@ func init() { meta.SetGlobalFactoryCreateForObject(0x944aaa97, func() meta.Object { var ret cycle_b62dd5050d0a18c7485fd980c087f32c.AbAlias; return &ret }) meta.SetGlobalFactoryCreateForFunction(0x20c5fb2d, func() meta.Object { var ret tlAbCall1.AbCall1; return &ret }, func() meta.Function { var ret tlAbCall1.AbCall1; return &ret }, nil) meta.SetGlobalFactoryCreateForFunction(0x8db2a4f8, func() meta.Object { var ret tlAbCall10.AbCall10; return &ret }, func() meta.Function { var ret tlAbCall10.AbCall10; return &ret }, nil) + meta.SetGlobalFactoryCreateForFunction(0xecb2a36c, func() meta.Object { var ret tlAbCall11.AbCall11; return &ret }, func() meta.Function { var ret tlAbCall11.AbCall11; return &ret }, nil) meta.SetGlobalFactoryCreateForFunction(0x77d5f057, func() meta.Object { var ret tlAbCall2.AbCall2; return &ret }, func() meta.Function { var ret tlAbCall2.AbCall2; return &ret }, nil) meta.SetGlobalFactoryCreateForFunction(0x0a083445, func() meta.Object { var ret tlAbCall3.AbCall3; return &ret }, func() meta.Function { var ret tlAbCall3.AbCall3; return &ret }, nil) meta.SetGlobalFactoryCreateForFunction(0xc1220a1e, func() meta.Object { var ret tlAbCall4.AbCall4; return &ret }, func() meta.Function { var ret tlAbCall4.AbCall4; return &ret }, nil) diff --git a/internal/tlcodegen/test/gen/goldmaster/factory_bytes/factory_bytes.go b/internal/tlcodegen/test/gen/goldmaster/factory_bytes/factory_bytes.go index 4e158857..49a70b17 100644 --- a/internal/tlcodegen/test/gen/goldmaster/factory_bytes/factory_bytes.go +++ b/internal/tlcodegen/test/gen/goldmaster/factory_bytes/factory_bytes.go @@ -68,6 +68,7 @@ import ( "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tla/tlATop2" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall10" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall11" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4" @@ -128,6 +129,7 @@ func init() { meta.SetGlobalFactoryCreateForObjectBytes(0x944aaa97, func() meta.Object { var ret cycle_b62dd5050d0a18c7485fd980c087f32c.AbAlias; return &ret }) meta.SetGlobalFactoryCreateForFunctionBytes(0x20c5fb2d, func() meta.Object { var ret tlAbCall1.AbCall1; return &ret }, func() meta.Function { var ret tlAbCall1.AbCall1; return &ret }, nil) meta.SetGlobalFactoryCreateForFunctionBytes(0x8db2a4f8, func() meta.Object { var ret tlAbCall10.AbCall10; return &ret }, func() meta.Function { var ret tlAbCall10.AbCall10; return &ret }, nil) + meta.SetGlobalFactoryCreateForFunctionBytes(0xecb2a36c, func() meta.Object { var ret tlAbCall11.AbCall11; return &ret }, func() meta.Function { var ret tlAbCall11.AbCall11; return &ret }, nil) meta.SetGlobalFactoryCreateForFunctionBytes(0x77d5f057, func() meta.Object { var ret tlAbCall2.AbCall2; return &ret }, func() meta.Function { var ret tlAbCall2.AbCall2; return &ret }, nil) meta.SetGlobalFactoryCreateForFunctionBytes(0x0a083445, func() meta.Object { var ret tlAbCall3.AbCall3; return &ret }, func() meta.Function { var ret tlAbCall3.AbCall3; return &ret }, nil) meta.SetGlobalFactoryCreateForFunctionBytes(0xc1220a1e, func() meta.Object { var ret tlAbCall4.AbCall4; return &ret }, func() meta.Function { var ret tlAbCall4.AbCall4; return &ret }, nil) diff --git a/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall11/ab.call11.go b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall11/ab.call11.go new file mode 100644 index 00000000..9b23be97 --- /dev/null +++ b/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall11/ab.call11.go @@ -0,0 +1,183 @@ +// Copyright 2022 V Kontakte LLC +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +package tlAbCall11 + +import ( + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tla/tlAColor" + "github.com/vkcom/tl/pkg/basictl" +) + +var _ = basictl.NatWrite +var _ = internal.ErrorInvalidEnumTag + +type AbCall11 struct { + X tlAColor.AColor +} + +func (AbCall11) TLName() string { return "ab.call11" } +func (AbCall11) TLTag() uint32 { return 0xecb2a36c } + +func (item *AbCall11) Reset() { + item.X.Reset() +} + +func (item *AbCall11) FillRandom(rg *basictl.RandGenerator) { + item.X.FillRandom(rg) +} + +func (item *AbCall11) Read(w []byte) (_ []byte, err error) { + return item.X.ReadBoxed(w) +} + +// This method is general version of Write, use it instead! +func (item *AbCall11) WriteGeneral(w []byte) (_ []byte, err error) { + return item.Write(w), nil +} + +func (item *AbCall11) Write(w []byte) []byte { + w = item.X.WriteBoxed(w) + return w +} + +func (item *AbCall11) ReadBoxed(w []byte) (_ []byte, err error) { + if w, err = basictl.NatReadExactTag(w, 0xecb2a36c); err != nil { + return w, err + } + return item.Read(w) +} + +// This method is general version of WriteBoxed, use it instead! +func (item *AbCall11) WriteBoxedGeneral(w []byte) (_ []byte, err error) { + return item.WriteBoxed(w), nil +} + +func (item *AbCall11) WriteBoxed(w []byte) []byte { + w = basictl.NatWrite(w, 0xecb2a36c) + return item.Write(w) +} + +func (item *AbCall11) ReadResult(w []byte, ret *tlAColor.AColor) (_ []byte, err error) { + return ret.ReadBoxed(w) +} + +func (item *AbCall11) WriteResult(w []byte, ret tlAColor.AColor) (_ []byte, err error) { + w = ret.WriteBoxed(w) + return w, nil +} + +func (item *AbCall11) ReadResultJSON(legacyTypeNames bool, in *basictl.JsonLexer, ret *tlAColor.AColor) error { + if err := ret.ReadJSON(legacyTypeNames, in); err != nil { + return err + } + return nil +} + +func (item *AbCall11) WriteResultJSON(w []byte, ret tlAColor.AColor) (_ []byte, err error) { + return item.writeResultJSON(true, false, w, ret) +} + +func (item *AbCall11) writeResultJSON(newTypeNames bool, short bool, w []byte, ret tlAColor.AColor) (_ []byte, err error) { + w = ret.WriteJSONOpt(newTypeNames, short, w) + return w, nil +} + +func (item *AbCall11) ReadResultWriteResultJSON(r []byte, w []byte) (_ []byte, _ []byte, err error) { + var ret tlAColor.AColor + if r, err = item.ReadResult(r, &ret); err != nil { + return r, w, err + } + w, err = item.WriteResultJSON(w, ret) + return r, w, err +} + +func (item *AbCall11) ReadResultWriteResultJSONOpt(newTypeNames bool, short bool, r []byte, w []byte) (_ []byte, _ []byte, err error) { + var ret tlAColor.AColor + if r, err = item.ReadResult(r, &ret); err != nil { + return r, w, err + } + w, err = item.writeResultJSON(newTypeNames, short, w, ret) + return r, w, err +} + +func (item *AbCall11) ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) { + var ret tlAColor.AColor + err := item.ReadResultJSON(true, &basictl.JsonLexer{Data: r}, &ret) + if err != nil { + return r, w, err + } + w, err = item.WriteResult(w, ret) + return r, w, err +} + +func (item AbCall11) String() string { + return string(item.WriteJSON(nil)) +} + +func (item *AbCall11) ReadJSON(legacyTypeNames bool, in *basictl.JsonLexer) error { + var propXPresented bool + + if in != nil { + in.Delim('{') + if !in.Ok() { + return in.Error() + } + for !in.IsDelim('}') { + key := in.UnsafeFieldName(true) + in.WantColon() + switch key { + case "x": + if propXPresented { + return internal.ErrorInvalidJSONWithDuplicatingKeys("ab.call11", "x") + } + if err := item.X.ReadJSON(legacyTypeNames, in); err != nil { + return err + } + propXPresented = true + default: + return internal.ErrorInvalidJSONExcessElement("ab.call11", key) + } + in.WantComma() + } + in.Delim('}') + if !in.Ok() { + return in.Error() + } + } + if !propXPresented { + item.X.Reset() + } + return nil +} + +// This method is general version of WriteJSON, use it instead! +func (item *AbCall11) WriteJSONGeneral(w []byte) (_ []byte, err error) { + return item.WriteJSONOpt(true, false, w), nil +} + +func (item *AbCall11) WriteJSON(w []byte) []byte { + return item.WriteJSONOpt(true, false, w) +} +func (item *AbCall11) WriteJSONOpt(newTypeNames bool, short bool, w []byte) []byte { + w = append(w, '{') + w = basictl.JSONAddCommaIfNeeded(w) + w = append(w, `"x":`...) + w = item.X.WriteJSONOpt(newTypeNames, short, w) + return append(w, '}') +} + +func (item *AbCall11) MarshalJSON() ([]byte, error) { + return item.WriteJSON(nil), nil +} + +func (item *AbCall11) UnmarshalJSON(b []byte) error { + if err := item.ReadJSON(true, &basictl.JsonLexer{Data: b}); err != nil { + return internal.ErrorInvalidJSON("ab.call11", err.Error()) + } + return nil +} diff --git a/internal/tlcodegen/test/gen/goldmaster/meta/meta.go b/internal/tlcodegen/test/gen/goldmaster/meta/meta.go index dcae79d4..7375dbdb 100644 --- a/internal/tlcodegen/test/gen/goldmaster/meta/meta.go +++ b/internal/tlcodegen/test/gen/goldmaster/meta/meta.go @@ -133,7 +133,8 @@ type TLItem struct { annotations uint32 tlName string - resultTypeContainsUnionTypes bool + resultTypeContainsUnionTypes bool + argumentsTypesContainUnionTypes bool createFunction func() Function createFunctionLong func() Function @@ -149,7 +150,8 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } -func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInArguments() bool { return item.argumentsTypesContainUnionTypes } // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } @@ -303,109 +305,110 @@ func fillFunction(n1 string, n2 string, item *TLItem) { } func init() { - fillObject("a.blue#623360f3", "#623360f3", &TLItem{tag: 0x623360f3, annotations: 0x0, tlName: "a.blue", resultTypeContainsUnionTypes: false}) - fillObject("a.color#f35d7a69", "#f35d7a69", &TLItem{tag: 0xf35d7a69, annotations: 0x0, tlName: "a.color", resultTypeContainsUnionTypes: false}) - fillObject("a.green#6127e7b8", "#6127e7b8", &TLItem{tag: 0x6127e7b8, annotations: 0x0, tlName: "a.green", resultTypeContainsUnionTypes: false}) - fillObject("a.red#b83a723d", "#b83a723d", &TLItem{tag: 0xb83a723d, annotations: 0x0, tlName: "a.red", resultTypeContainsUnionTypes: false}) - fillObject("a.top2#7082d18f", "#7082d18f", &TLItem{tag: 0x7082d18f, annotations: 0x0, tlName: "a.top2", resultTypeContainsUnionTypes: false}) - fillObject("a.uNionA#a7662843", "#a7662843", &TLItem{tag: 0xa7662843, annotations: 0x0, tlName: "a.uNionA", resultTypeContainsUnionTypes: false}) - fillObject("ab.alias#944aaa97", "#944aaa97", &TLItem{tag: 0x944aaa97, annotations: 0x0, tlName: "ab.alias", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call1#20c5fb2d", "#20c5fb2d", &TLItem{tag: 0x20c5fb2d, annotations: 0x1, tlName: "ab.call1", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call10#8db2a4f8", "#8db2a4f8", &TLItem{tag: 0x8db2a4f8, annotations: 0x1, tlName: "ab.call10", resultTypeContainsUnionTypes: true}) - fillFunction("ab.call2#77d5f057", "#77d5f057", &TLItem{tag: 0x77d5f057, annotations: 0x1, tlName: "ab.call2", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call3#0a083445", "#0a083445", &TLItem{tag: 0x0a083445, annotations: 0x1, tlName: "ab.call3", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call4#c1220a1e", "#c1220a1e", &TLItem{tag: 0xc1220a1e, annotations: 0x1, tlName: "ab.call4", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call5#7ba4d28d", "#7ba4d28d", &TLItem{tag: 0x7ba4d28d, annotations: 0x1, tlName: "ab.call5", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call6#84d815cb", "#84d815cb", &TLItem{tag: 0x84d815cb, annotations: 0x1, tlName: "ab.call6", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call7#46ec10bf", "#46ec10bf", &TLItem{tag: 0x46ec10bf, annotations: 0x1, tlName: "ab.call7", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call8#1b8652d9", "#1b8652d9", &TLItem{tag: 0x1b8652d9, annotations: 0x1, tlName: "ab.call8", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call9#75de906c", "#75de906c", &TLItem{tag: 0x75de906c, annotations: 0x1, tlName: "ab.call9", resultTypeContainsUnionTypes: false}) - fillObject("ab.code#7651b1ac", "#7651b1ac", &TLItem{tag: 0x7651b1ac, annotations: 0x0, tlName: "ab.code", resultTypeContainsUnionTypes: false}) - fillObject("ab.counterChangeRequestPeriodsMany#14a35d80", "#14a35d80", &TLItem{tag: 0x14a35d80, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsMany", resultTypeContainsUnionTypes: false}) - fillObject("ab.counterChangeRequestPeriodsOne#d9c36de5", "#d9c36de5", &TLItem{tag: 0xd9c36de5, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsOne", resultTypeContainsUnionTypes: false}) - fillObject("ab.empty#1ec6a63e", "#1ec6a63e", &TLItem{tag: 0x1ec6a63e, annotations: 0x0, tlName: "ab.empty", resultTypeContainsUnionTypes: false}) - fillObject("ab.myType#e0e96c86", "#e0e96c86", &TLItem{tag: 0xe0e96c86, annotations: 0x0, tlName: "ab.myType", resultTypeContainsUnionTypes: false}) - fillObject("ab.testMaybe#4dac492a", "#4dac492a", &TLItem{tag: 0x4dac492a, annotations: 0x0, tlName: "ab.testMaybe", resultTypeContainsUnionTypes: false}) - fillObject("ab.topLevel1#e67bce28", "#e67bce28", &TLItem{tag: 0xe67bce28, annotations: 0x0, tlName: "ab.topLevel1", resultTypeContainsUnionTypes: false}) - fillObject("ab.topLevel2#cef933fb", "#cef933fb", &TLItem{tag: 0xcef933fb, annotations: 0x0, tlName: "ab.topLevel2", resultTypeContainsUnionTypes: false}) - fillObject("ab.typeA#a99fef6a", "#a99fef6a", &TLItem{tag: 0xa99fef6a, annotations: 0x0, tlName: "ab.typeA", resultTypeContainsUnionTypes: false}) - fillObject("ab.typeB#ff2e6d58", "#ff2e6d58", &TLItem{tag: 0xff2e6d58, annotations: 0x0, tlName: "ab.typeB", resultTypeContainsUnionTypes: false}) - fillObject("ab.typeC#69920d6e", "#69920d6e", &TLItem{tag: 0x69920d6e, annotations: 0x0, tlName: "ab.typeC", resultTypeContainsUnionTypes: false}) - fillObject("ab.typeD#76615bf1", "#76615bf1", &TLItem{tag: 0x76615bf1, annotations: 0x0, tlName: "ab.typeD", resultTypeContainsUnionTypes: false}) - fillObject("ab.useCycle#71687381", "#71687381", &TLItem{tag: 0x71687381, annotations: 0x0, tlName: "ab.useCycle", resultTypeContainsUnionTypes: false}) - fillObject("ab.useDictString#3325d884", "#3325d884", &TLItem{tag: 0x3325d884, annotations: 0x0, tlName: "ab.useDictString", resultTypeContainsUnionTypes: false}) - fillObject("au.nionA#df61f632", "#df61f632", &TLItem{tag: 0xdf61f632, annotations: 0x0, tlName: "au.nionA", resultTypeContainsUnionTypes: false}) - fillObject("b.red#a9471844", "#a9471844", &TLItem{tag: 0xa9471844, annotations: 0x0, tlName: "b.red", resultTypeContainsUnionTypes: false}) - fillFunction("call1#a7302fbc", "#a7302fbc", &TLItem{tag: 0xa7302fbc, annotations: 0x1, tlName: "call1", resultTypeContainsUnionTypes: false}) - fillFunction("call2#f02024c6", "#f02024c6", &TLItem{tag: 0xf02024c6, annotations: 0x1, tlName: "call2", resultTypeContainsUnionTypes: false}) - fillFunction("call3#6ace6718", "#6ace6718", &TLItem{tag: 0x6ace6718, annotations: 0x1, tlName: "call3", resultTypeContainsUnionTypes: false}) - fillFunction("call4#46d7de8f", "#46d7de8f", &TLItem{tag: 0x46d7de8f, annotations: 0x1, tlName: "call4", resultTypeContainsUnionTypes: false}) - fillFunction("call5#fc51061c", "#fc51061c", &TLItem{tag: 0xfc51061c, annotations: 0x1, tlName: "call5", resultTypeContainsUnionTypes: false}) - fillFunction("call6#e41e4696", "#e41e4696", &TLItem{tag: 0xe41e4696, annotations: 0x1, tlName: "call6", resultTypeContainsUnionTypes: false}) - fillFunction("call7#262a43e2", "#262a43e2", &TLItem{tag: 0x262a43e2, annotations: 0x1, tlName: "call7", resultTypeContainsUnionTypes: false}) - fillFunction("call8#7b400184", "#7b400184", &TLItem{tag: 0x7b400184, annotations: 0x1, tlName: "call8", resultTypeContainsUnionTypes: false}) - fillFunction("call9#67a0d62d", "#67a0d62d", &TLItem{tag: 0x67a0d62d, annotations: 0x1, tlName: "call9", resultTypeContainsUnionTypes: false}) - fillObject("cd.myType#eab6a6b4", "#eab6a6b4", &TLItem{tag: 0xeab6a6b4, annotations: 0x0, tlName: "cd.myType", resultTypeContainsUnionTypes: false}) - fillObject("cd.response#8c202f64", "#8c202f64", &TLItem{tag: 0x8c202f64, annotations: 0x0, tlName: "cd.response", resultTypeContainsUnionTypes: false}) - fillObject("cd.topLevel3#5cd1ca89", "#5cd1ca89", &TLItem{tag: 0x5cd1ca89, annotations: 0x0, tlName: "cd.topLevel3", resultTypeContainsUnionTypes: false}) - fillObject("cd.typeA#a831a920", "#a831a920", &TLItem{tag: 0xa831a920, annotations: 0x0, tlName: "cd.typeA", resultTypeContainsUnionTypes: false}) - fillObject("cd.typeB#377b4996", "#377b4996", &TLItem{tag: 0x377b4996, annotations: 0x0, tlName: "cd.typeB", resultTypeContainsUnionTypes: false}) - fillObject("cd.typeC#db0f93d4", "#db0f93d4", &TLItem{tag: 0xdb0f93d4, annotations: 0x0, tlName: "cd.typeC", resultTypeContainsUnionTypes: false}) - fillObject("cd.typeD#b5528285", "#b5528285", &TLItem{tag: 0xb5528285, annotations: 0x0, tlName: "cd.typeD", resultTypeContainsUnionTypes: false}) - fillObject("cd.useCycle#6ed67ca0", "#6ed67ca0", &TLItem{tag: 0x6ed67ca0, annotations: 0x0, tlName: "cd.useCycle", resultTypeContainsUnionTypes: false}) - fillObject("cyc1.myCycle#136ecc9e", "#136ecc9e", &TLItem{tag: 0x136ecc9e, annotations: 0x0, tlName: "cyc1.myCycle", resultTypeContainsUnionTypes: false}) - fillObject("cyc2.myCycle#fba5eecb", "#fba5eecb", &TLItem{tag: 0xfba5eecb, annotations: 0x0, tlName: "cyc2.myCycle", resultTypeContainsUnionTypes: false}) - fillObject("cyc3.myCycle#47866860", "#47866860", &TLItem{tag: 0x47866860, annotations: 0x0, tlName: "cyc3.myCycle", resultTypeContainsUnionTypes: false}) - fillObject("cycleTuple#c867fae3", "#c867fae3", &TLItem{tag: 0xc867fae3, annotations: 0x0, tlName: "cycleTuple", resultTypeContainsUnionTypes: false}) - fillObject("halfStr#647ddaf5", "#647ddaf5", &TLItem{tag: 0x647ddaf5, annotations: 0x0, tlName: "halfStr", resultTypeContainsUnionTypes: false}) - fillObject("hren#12ab5219", "#12ab5219", &TLItem{tag: 0x12ab5219, annotations: 0x0, tlName: "hren", resultTypeContainsUnionTypes: false}) - fillObject("int#a8509bda", "#a8509bda", &TLItem{tag: 0xa8509bda, annotations: 0x0, tlName: "int", resultTypeContainsUnionTypes: false}) - fillObject("int32#7934e71f", "#7934e71f", &TLItem{tag: 0x7934e71f, annotations: 0x0, tlName: "int32", resultTypeContainsUnionTypes: false}) - fillObject("int64#f5609de0", "#f5609de0", &TLItem{tag: 0xf5609de0, annotations: 0x0, tlName: "int64", resultTypeContainsUnionTypes: false}) - fillObject("long#22076cba", "#22076cba", &TLItem{tag: 0x22076cba, annotations: 0x0, tlName: "long", resultTypeContainsUnionTypes: false}) - fillObject("maybeTest1#c457763c", "#c457763c", &TLItem{tag: 0xc457763c, annotations: 0x0, tlName: "maybeTest1", resultTypeContainsUnionTypes: false}) - fillObject("multiPoint#0e1ae81e", "#0e1ae81e", &TLItem{tag: 0x0e1ae81e, annotations: 0x0, tlName: "multiPoint", resultTypeContainsUnionTypes: false}) - fillObject("myInt32#ba59e151", "#ba59e151", &TLItem{tag: 0xba59e151, annotations: 0x0, tlName: "myInt32", resultTypeContainsUnionTypes: false}) - fillObject("myInt64#1d95db9d", "#1d95db9d", &TLItem{tag: 0x1d95db9d, annotations: 0x0, tlName: "myInt64", resultTypeContainsUnionTypes: false}) - fillObject("myNat#c60c1b41", "#c60c1b41", &TLItem{tag: 0xc60c1b41, annotations: 0x0, tlName: "myNat", resultTypeContainsUnionTypes: false}) - fillObject("myPlus#79e0c6df", "#79e0c6df", &TLItem{tag: 0x79e0c6df, annotations: 0x0, tlName: "myPlus", resultTypeContainsUnionTypes: false}) - fillObject("myPlus3#692c291b", "#692c291b", &TLItem{tag: 0x692c291b, annotations: 0x0, tlName: "myPlus3", resultTypeContainsUnionTypes: false}) - fillObject("myZero#8d868379", "#8d868379", &TLItem{tag: 0x8d868379, annotations: 0x0, tlName: "myZero", resultTypeContainsUnionTypes: false}) - fillObject("myZero3#103a40cf", "#103a40cf", &TLItem{tag: 0x103a40cf, annotations: 0x0, tlName: "myZero3", resultTypeContainsUnionTypes: false}) - fillObject("nativeWrappers#344ddf50", "#344ddf50", &TLItem{tag: 0x344ddf50, annotations: 0x0, tlName: "nativeWrappers", resultTypeContainsUnionTypes: false}) - fillObject("noStr#3a728324", "#3a728324", &TLItem{tag: 0x3a728324, annotations: 0x0, tlName: "noStr", resultTypeContainsUnionTypes: false}) - fillObject("replace#323db63e", "#323db63e", &TLItem{tag: 0x323db63e, annotations: 0x0, tlName: "replace", resultTypeContainsUnionTypes: false}) - fillObject("replace10#fc81f008", "#fc81f008", &TLItem{tag: 0xfc81f008, annotations: 0x0, tlName: "replace10", resultTypeContainsUnionTypes: false}) - fillObject("replace12#ec121094", "#ec121094", &TLItem{tag: 0xec121094, annotations: 0x0, tlName: "replace12", resultTypeContainsUnionTypes: false}) - fillObject("replace15#2280e430", "#2280e430", &TLItem{tag: 0x2280e430, annotations: 0x0, tlName: "replace15", resultTypeContainsUnionTypes: false}) - fillObject("replace17#f46f9b9b", "#f46f9b9b", &TLItem{tag: 0xf46f9b9b, annotations: 0x0, tlName: "replace17", resultTypeContainsUnionTypes: false}) - fillObject("replace18#704dd712", "#704dd712", &TLItem{tag: 0x704dd712, annotations: 0x0, tlName: "replace18", resultTypeContainsUnionTypes: false}) - fillObject("replace2#e2d4ebee", "#e2d4ebee", &TLItem{tag: 0xe2d4ebee, annotations: 0x0, tlName: "replace2", resultTypeContainsUnionTypes: false}) - fillObject("replace3#51e324e4", "#51e324e4", &TLItem{tag: 0x51e324e4, annotations: 0x0, tlName: "replace3", resultTypeContainsUnionTypes: false}) - fillObject("replace5#8b5bc78a", "#8b5bc78a", &TLItem{tag: 0x8b5bc78a, annotations: 0x0, tlName: "replace5", resultTypeContainsUnionTypes: false}) - fillObject("replace6#abd49d06", "#abd49d06", &TLItem{tag: 0xabd49d06, annotations: 0x0, tlName: "replace6", resultTypeContainsUnionTypes: false}) - fillObject("replace7#f4c66d9f", "#f4c66d9f", &TLItem{tag: 0xf4c66d9f, annotations: 0x0, tlName: "replace7", resultTypeContainsUnionTypes: false}) - fillObject("replace8#d626c117", "#d626c117", &TLItem{tag: 0xd626c117, annotations: 0x0, tlName: "replace8", resultTypeContainsUnionTypes: false}) - fillObject("replace9#95d598c5", "#95d598c5", &TLItem{tag: 0x95d598c5, annotations: 0x0, tlName: "replace9", resultTypeContainsUnionTypes: false}) - fillObject("service5.emptyOutput#ff8f7db8", "#ff8f7db8", &TLItem{tag: 0xff8f7db8, annotations: 0x0, tlName: "service5.emptyOutput", resultTypeContainsUnionTypes: false}) - fillFunction("service5.insert#7cf362ba", "#7cf362ba", &TLItem{tag: 0x7cf362ba, annotations: 0x2, tlName: "service5.insert", resultTypeContainsUnionTypes: true}) - fillFunction("service5.insertList#7cf362bc", "#7cf362bc", &TLItem{tag: 0x7cf362bc, annotations: 0x2, tlName: "service5.insertList", resultTypeContainsUnionTypes: true}) - fillObject("service5Long.emptyOutput#ff8f7db9", "#ff8f7db9", &TLItem{tag: 0xff8f7db9, annotations: 0x0, tlName: "service5Long.emptyOutput", resultTypeContainsUnionTypes: false}) - fillFunction("service5Long.insert#7cf362bb", "#7cf362bb", &TLItem{tag: 0x7cf362bb, annotations: 0x2, tlName: "service5Long.insert", resultTypeContainsUnionTypes: true}) - fillObject("service5Long.stringOutput#dc170ff5", "#dc170ff5", &TLItem{tag: 0xdc170ff5, annotations: 0x0, tlName: "service5Long.stringOutput", resultTypeContainsUnionTypes: false}) - fillObject("service5.stringOutput#dc170ff4", "#dc170ff4", &TLItem{tag: 0xdc170ff4, annotations: 0x0, tlName: "service5.stringOutput", resultTypeContainsUnionTypes: false}) - fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string", resultTypeContainsUnionTypes: false}) - fillObject("testMaybe#88920e90", "#88920e90", &TLItem{tag: 0x88920e90, annotations: 0x0, tlName: "testMaybe", resultTypeContainsUnionTypes: false}) - fillObject("testMaybe2#0aa03cf2", "#0aa03cf2", &TLItem{tag: 0x0aa03cf2, annotations: 0x0, tlName: "testMaybe2", resultTypeContainsUnionTypes: false}) - fillObject("true#3fedd339", "#3fedd339", &TLItem{tag: 0x3fedd339, annotations: 0x0, tlName: "true", resultTypeContainsUnionTypes: false}) - fillObject("typeA#157673c1", "#157673c1", &TLItem{tag: 0x157673c1, annotations: 0x0, tlName: "typeA", resultTypeContainsUnionTypes: false}) - fillObject("typeB#9d024802", "#9d024802", &TLItem{tag: 0x9d024802, annotations: 0x0, tlName: "typeB", resultTypeContainsUnionTypes: false}) - fillObject("typeC#6b8ef43f", "#6b8ef43f", &TLItem{tag: 0x6b8ef43f, annotations: 0x0, tlName: "typeC", resultTypeContainsUnionTypes: false}) - fillObject("typeD#b1f4369e", "#b1f4369e", &TLItem{tag: 0xb1f4369e, annotations: 0x0, tlName: "typeD", resultTypeContainsUnionTypes: false}) - fillObject("unionArgsUse#742161d2", "#742161d2", &TLItem{tag: 0x742161d2, annotations: 0x0, tlName: "unionArgsUse", resultTypeContainsUnionTypes: false}) - fillObject("useDictUgly#fb9ce817", "#fb9ce817", &TLItem{tag: 0xfb9ce817, annotations: 0x0, tlName: "useDictUgly", resultTypeContainsUnionTypes: false}) - fillObject("useResponse#0a63ec5f", "#0a63ec5f", &TLItem{tag: 0x0a63ec5f, annotations: 0x0, tlName: "useResponse", resultTypeContainsUnionTypes: false}) - fillObject("useStr#9aa3dee5", "#9aa3dee5", &TLItem{tag: 0x9aa3dee5, annotations: 0x0, tlName: "useStr", resultTypeContainsUnionTypes: false}) - fillObject("useTrue#dfdd4180", "#dfdd4180", &TLItem{tag: 0xdfdd4180, annotations: 0x0, tlName: "useTrue", resultTypeContainsUnionTypes: false}) - fillFunction("usefulService.getUserEntity#3c857e52", "#3c857e52", &TLItem{tag: 0x3c857e52, annotations: 0x2, tlName: "usefulService.getUserEntity", resultTypeContainsUnionTypes: false}) + fillObject("a.blue#623360f3", "#623360f3", &TLItem{tag: 0x623360f3, annotations: 0x0, tlName: "a.blue", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("a.color#f35d7a69", "#f35d7a69", &TLItem{tag: 0xf35d7a69, annotations: 0x0, tlName: "a.color", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("a.green#6127e7b8", "#6127e7b8", &TLItem{tag: 0x6127e7b8, annotations: 0x0, tlName: "a.green", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("a.red#b83a723d", "#b83a723d", &TLItem{tag: 0xb83a723d, annotations: 0x0, tlName: "a.red", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("a.top2#7082d18f", "#7082d18f", &TLItem{tag: 0x7082d18f, annotations: 0x0, tlName: "a.top2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("a.uNionA#a7662843", "#a7662843", &TLItem{tag: 0xa7662843, annotations: 0x0, tlName: "a.uNionA", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.alias#944aaa97", "#944aaa97", &TLItem{tag: 0x944aaa97, annotations: 0x0, tlName: "ab.alias", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call1#20c5fb2d", "#20c5fb2d", &TLItem{tag: 0x20c5fb2d, annotations: 0x1, tlName: "ab.call1", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call10#8db2a4f8", "#8db2a4f8", &TLItem{tag: 0x8db2a4f8, annotations: 0x1, tlName: "ab.call10", resultTypeContainsUnionTypes: true, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call11#ecb2a36c", "#ecb2a36c", &TLItem{tag: 0xecb2a36c, annotations: 0x1, tlName: "ab.call11", resultTypeContainsUnionTypes: true, argumentsTypesContainUnionTypes: true}) + fillFunction("ab.call2#77d5f057", "#77d5f057", &TLItem{tag: 0x77d5f057, annotations: 0x1, tlName: "ab.call2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call3#0a083445", "#0a083445", &TLItem{tag: 0x0a083445, annotations: 0x1, tlName: "ab.call3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call4#c1220a1e", "#c1220a1e", &TLItem{tag: 0xc1220a1e, annotations: 0x1, tlName: "ab.call4", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call5#7ba4d28d", "#7ba4d28d", &TLItem{tag: 0x7ba4d28d, annotations: 0x1, tlName: "ab.call5", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call6#84d815cb", "#84d815cb", &TLItem{tag: 0x84d815cb, annotations: 0x1, tlName: "ab.call6", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call7#46ec10bf", "#46ec10bf", &TLItem{tag: 0x46ec10bf, annotations: 0x1, tlName: "ab.call7", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call8#1b8652d9", "#1b8652d9", &TLItem{tag: 0x1b8652d9, annotations: 0x1, tlName: "ab.call8", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call9#75de906c", "#75de906c", &TLItem{tag: 0x75de906c, annotations: 0x1, tlName: "ab.call9", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.code#7651b1ac", "#7651b1ac", &TLItem{tag: 0x7651b1ac, annotations: 0x0, tlName: "ab.code", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.counterChangeRequestPeriodsMany#14a35d80", "#14a35d80", &TLItem{tag: 0x14a35d80, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsMany", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.counterChangeRequestPeriodsOne#d9c36de5", "#d9c36de5", &TLItem{tag: 0xd9c36de5, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsOne", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.empty#1ec6a63e", "#1ec6a63e", &TLItem{tag: 0x1ec6a63e, annotations: 0x0, tlName: "ab.empty", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.myType#e0e96c86", "#e0e96c86", &TLItem{tag: 0xe0e96c86, annotations: 0x0, tlName: "ab.myType", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.testMaybe#4dac492a", "#4dac492a", &TLItem{tag: 0x4dac492a, annotations: 0x0, tlName: "ab.testMaybe", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.topLevel1#e67bce28", "#e67bce28", &TLItem{tag: 0xe67bce28, annotations: 0x0, tlName: "ab.topLevel1", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.topLevel2#cef933fb", "#cef933fb", &TLItem{tag: 0xcef933fb, annotations: 0x0, tlName: "ab.topLevel2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.typeA#a99fef6a", "#a99fef6a", &TLItem{tag: 0xa99fef6a, annotations: 0x0, tlName: "ab.typeA", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.typeB#ff2e6d58", "#ff2e6d58", &TLItem{tag: 0xff2e6d58, annotations: 0x0, tlName: "ab.typeB", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.typeC#69920d6e", "#69920d6e", &TLItem{tag: 0x69920d6e, annotations: 0x0, tlName: "ab.typeC", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.typeD#76615bf1", "#76615bf1", &TLItem{tag: 0x76615bf1, annotations: 0x0, tlName: "ab.typeD", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.useCycle#71687381", "#71687381", &TLItem{tag: 0x71687381, annotations: 0x0, tlName: "ab.useCycle", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.useDictString#3325d884", "#3325d884", &TLItem{tag: 0x3325d884, annotations: 0x0, tlName: "ab.useDictString", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("au.nionA#df61f632", "#df61f632", &TLItem{tag: 0xdf61f632, annotations: 0x0, tlName: "au.nionA", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("b.red#a9471844", "#a9471844", &TLItem{tag: 0xa9471844, annotations: 0x0, tlName: "b.red", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call1#a7302fbc", "#a7302fbc", &TLItem{tag: 0xa7302fbc, annotations: 0x1, tlName: "call1", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call2#f02024c6", "#f02024c6", &TLItem{tag: 0xf02024c6, annotations: 0x1, tlName: "call2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call3#6ace6718", "#6ace6718", &TLItem{tag: 0x6ace6718, annotations: 0x1, tlName: "call3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call4#46d7de8f", "#46d7de8f", &TLItem{tag: 0x46d7de8f, annotations: 0x1, tlName: "call4", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call5#fc51061c", "#fc51061c", &TLItem{tag: 0xfc51061c, annotations: 0x1, tlName: "call5", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call6#e41e4696", "#e41e4696", &TLItem{tag: 0xe41e4696, annotations: 0x1, tlName: "call6", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call7#262a43e2", "#262a43e2", &TLItem{tag: 0x262a43e2, annotations: 0x1, tlName: "call7", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call8#7b400184", "#7b400184", &TLItem{tag: 0x7b400184, annotations: 0x1, tlName: "call8", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call9#67a0d62d", "#67a0d62d", &TLItem{tag: 0x67a0d62d, annotations: 0x1, tlName: "call9", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.myType#eab6a6b4", "#eab6a6b4", &TLItem{tag: 0xeab6a6b4, annotations: 0x0, tlName: "cd.myType", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.response#8c202f64", "#8c202f64", &TLItem{tag: 0x8c202f64, annotations: 0x0, tlName: "cd.response", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.topLevel3#5cd1ca89", "#5cd1ca89", &TLItem{tag: 0x5cd1ca89, annotations: 0x0, tlName: "cd.topLevel3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.typeA#a831a920", "#a831a920", &TLItem{tag: 0xa831a920, annotations: 0x0, tlName: "cd.typeA", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.typeB#377b4996", "#377b4996", &TLItem{tag: 0x377b4996, annotations: 0x0, tlName: "cd.typeB", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.typeC#db0f93d4", "#db0f93d4", &TLItem{tag: 0xdb0f93d4, annotations: 0x0, tlName: "cd.typeC", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.typeD#b5528285", "#b5528285", &TLItem{tag: 0xb5528285, annotations: 0x0, tlName: "cd.typeD", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.useCycle#6ed67ca0", "#6ed67ca0", &TLItem{tag: 0x6ed67ca0, annotations: 0x0, tlName: "cd.useCycle", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cyc1.myCycle#136ecc9e", "#136ecc9e", &TLItem{tag: 0x136ecc9e, annotations: 0x0, tlName: "cyc1.myCycle", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cyc2.myCycle#fba5eecb", "#fba5eecb", &TLItem{tag: 0xfba5eecb, annotations: 0x0, tlName: "cyc2.myCycle", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cyc3.myCycle#47866860", "#47866860", &TLItem{tag: 0x47866860, annotations: 0x0, tlName: "cyc3.myCycle", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cycleTuple#c867fae3", "#c867fae3", &TLItem{tag: 0xc867fae3, annotations: 0x0, tlName: "cycleTuple", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("halfStr#647ddaf5", "#647ddaf5", &TLItem{tag: 0x647ddaf5, annotations: 0x0, tlName: "halfStr", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("hren#12ab5219", "#12ab5219", &TLItem{tag: 0x12ab5219, annotations: 0x0, tlName: "hren", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("int#a8509bda", "#a8509bda", &TLItem{tag: 0xa8509bda, annotations: 0x0, tlName: "int", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("int32#7934e71f", "#7934e71f", &TLItem{tag: 0x7934e71f, annotations: 0x0, tlName: "int32", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("int64#f5609de0", "#f5609de0", &TLItem{tag: 0xf5609de0, annotations: 0x0, tlName: "int64", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("long#22076cba", "#22076cba", &TLItem{tag: 0x22076cba, annotations: 0x0, tlName: "long", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("maybeTest1#c457763c", "#c457763c", &TLItem{tag: 0xc457763c, annotations: 0x0, tlName: "maybeTest1", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("multiPoint#0e1ae81e", "#0e1ae81e", &TLItem{tag: 0x0e1ae81e, annotations: 0x0, tlName: "multiPoint", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myInt32#ba59e151", "#ba59e151", &TLItem{tag: 0xba59e151, annotations: 0x0, tlName: "myInt32", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myInt64#1d95db9d", "#1d95db9d", &TLItem{tag: 0x1d95db9d, annotations: 0x0, tlName: "myInt64", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myNat#c60c1b41", "#c60c1b41", &TLItem{tag: 0xc60c1b41, annotations: 0x0, tlName: "myNat", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myPlus#79e0c6df", "#79e0c6df", &TLItem{tag: 0x79e0c6df, annotations: 0x0, tlName: "myPlus", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myPlus3#692c291b", "#692c291b", &TLItem{tag: 0x692c291b, annotations: 0x0, tlName: "myPlus3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myZero#8d868379", "#8d868379", &TLItem{tag: 0x8d868379, annotations: 0x0, tlName: "myZero", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myZero3#103a40cf", "#103a40cf", &TLItem{tag: 0x103a40cf, annotations: 0x0, tlName: "myZero3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("nativeWrappers#344ddf50", "#344ddf50", &TLItem{tag: 0x344ddf50, annotations: 0x0, tlName: "nativeWrappers", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("noStr#3a728324", "#3a728324", &TLItem{tag: 0x3a728324, annotations: 0x0, tlName: "noStr", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace#323db63e", "#323db63e", &TLItem{tag: 0x323db63e, annotations: 0x0, tlName: "replace", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace10#fc81f008", "#fc81f008", &TLItem{tag: 0xfc81f008, annotations: 0x0, tlName: "replace10", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace12#ec121094", "#ec121094", &TLItem{tag: 0xec121094, annotations: 0x0, tlName: "replace12", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace15#2280e430", "#2280e430", &TLItem{tag: 0x2280e430, annotations: 0x0, tlName: "replace15", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace17#f46f9b9b", "#f46f9b9b", &TLItem{tag: 0xf46f9b9b, annotations: 0x0, tlName: "replace17", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace18#704dd712", "#704dd712", &TLItem{tag: 0x704dd712, annotations: 0x0, tlName: "replace18", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace2#e2d4ebee", "#e2d4ebee", &TLItem{tag: 0xe2d4ebee, annotations: 0x0, tlName: "replace2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace3#51e324e4", "#51e324e4", &TLItem{tag: 0x51e324e4, annotations: 0x0, tlName: "replace3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace5#8b5bc78a", "#8b5bc78a", &TLItem{tag: 0x8b5bc78a, annotations: 0x0, tlName: "replace5", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace6#abd49d06", "#abd49d06", &TLItem{tag: 0xabd49d06, annotations: 0x0, tlName: "replace6", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace7#f4c66d9f", "#f4c66d9f", &TLItem{tag: 0xf4c66d9f, annotations: 0x0, tlName: "replace7", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace8#d626c117", "#d626c117", &TLItem{tag: 0xd626c117, annotations: 0x0, tlName: "replace8", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace9#95d598c5", "#95d598c5", &TLItem{tag: 0x95d598c5, annotations: 0x0, tlName: "replace9", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("service5.emptyOutput#ff8f7db8", "#ff8f7db8", &TLItem{tag: 0xff8f7db8, annotations: 0x0, tlName: "service5.emptyOutput", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("service5.insert#7cf362ba", "#7cf362ba", &TLItem{tag: 0x7cf362ba, annotations: 0x2, tlName: "service5.insert", resultTypeContainsUnionTypes: true, argumentsTypesContainUnionTypes: false}) + fillFunction("service5.insertList#7cf362bc", "#7cf362bc", &TLItem{tag: 0x7cf362bc, annotations: 0x2, tlName: "service5.insertList", resultTypeContainsUnionTypes: true, argumentsTypesContainUnionTypes: false}) + fillObject("service5Long.emptyOutput#ff8f7db9", "#ff8f7db9", &TLItem{tag: 0xff8f7db9, annotations: 0x0, tlName: "service5Long.emptyOutput", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("service5Long.insert#7cf362bb", "#7cf362bb", &TLItem{tag: 0x7cf362bb, annotations: 0x2, tlName: "service5Long.insert", resultTypeContainsUnionTypes: true, argumentsTypesContainUnionTypes: false}) + fillObject("service5Long.stringOutput#dc170ff5", "#dc170ff5", &TLItem{tag: 0xdc170ff5, annotations: 0x0, tlName: "service5Long.stringOutput", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("service5.stringOutput#dc170ff4", "#dc170ff4", &TLItem{tag: 0xdc170ff4, annotations: 0x0, tlName: "service5.stringOutput", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("testMaybe#88920e90", "#88920e90", &TLItem{tag: 0x88920e90, annotations: 0x0, tlName: "testMaybe", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("testMaybe2#0aa03cf2", "#0aa03cf2", &TLItem{tag: 0x0aa03cf2, annotations: 0x0, tlName: "testMaybe2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("true#3fedd339", "#3fedd339", &TLItem{tag: 0x3fedd339, annotations: 0x0, tlName: "true", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("typeA#157673c1", "#157673c1", &TLItem{tag: 0x157673c1, annotations: 0x0, tlName: "typeA", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("typeB#9d024802", "#9d024802", &TLItem{tag: 0x9d024802, annotations: 0x0, tlName: "typeB", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("typeC#6b8ef43f", "#6b8ef43f", &TLItem{tag: 0x6b8ef43f, annotations: 0x0, tlName: "typeC", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("typeD#b1f4369e", "#b1f4369e", &TLItem{tag: 0xb1f4369e, annotations: 0x0, tlName: "typeD", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("unionArgsUse#742161d2", "#742161d2", &TLItem{tag: 0x742161d2, annotations: 0x0, tlName: "unionArgsUse", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("useDictUgly#fb9ce817", "#fb9ce817", &TLItem{tag: 0xfb9ce817, annotations: 0x0, tlName: "useDictUgly", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("useResponse#0a63ec5f", "#0a63ec5f", &TLItem{tag: 0x0a63ec5f, annotations: 0x0, tlName: "useResponse", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("useStr#9aa3dee5", "#9aa3dee5", &TLItem{tag: 0x9aa3dee5, annotations: 0x0, tlName: "useStr", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("useTrue#dfdd4180", "#dfdd4180", &TLItem{tag: 0xdfdd4180, annotations: 0x0, tlName: "useTrue", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("usefulService.getUserEntity#3c857e52", "#3c857e52", &TLItem{tag: 0x3c857e52, annotations: 0x2, tlName: "usefulService.getUserEntity", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) } diff --git a/internal/tlcodegen/test/gen/goldmaster/tlab/tlab.go b/internal/tlcodegen/test/gen/goldmaster/tlab/tlab.go index 434599e5..5baea982 100644 --- a/internal/tlcodegen/test/gen/goldmaster/tlab/tlab.go +++ b/internal/tlcodegen/test/gen/goldmaster/tlab/tlab.go @@ -14,6 +14,7 @@ import ( "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tl/tlAbMyTypeMaybe" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall1" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall10" + "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall11" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall2" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall3" "github.com/vkcom/tl/internal/tlcodegen/test/gen/goldmaster/internal/tlab/tlAbCall4" @@ -38,6 +39,7 @@ type ( Alias = cycle_b62dd5050d0a18c7485fd980c087f32c.AbAlias Call1 = tlAbCall1.AbCall1 Call10 = tlAbCall10.AbCall10 + Call11 = tlAbCall11.AbCall11 Call2 = tlAbCall2.AbCall2 Call3 = tlAbCall3.AbCall3 Call4 = tlAbCall4.AbCall4 diff --git a/internal/tlcodegen/test/gen/goldmaster/tljson.html b/internal/tlcodegen/test/gen/goldmaster/tljson.html index d80fde58..d0ffeacc 100644 --- a/internal/tlcodegen/test/gen/goldmaster/tljson.html +++ b/internal/tlcodegen/test/gen/goldmaster/tljson.html @@ -26,6 +26,11 @@

    Functions

    ab.call10a.Color
  • +
  • + + ab.call11 + → a.Color +
  • ab.call2 @@ -436,6 +441,31 @@

    ab.call10

    +

    ab.call11

    + +

    + Returns a.Color +
    +
    JSON
    +
    + { + + + + + + + +
      "x": a.Color +
    + } +
    +
    TL
    +
    + read ab.call11#ecb2a36c x:a.Color = a.Color; +
    +
    +

    ab.call2

    diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/constants/constants.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/constants/constants.go index c75b695a..c60bb096 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/constants/constants.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/constants/constants.go @@ -21,6 +21,8 @@ const ( Aaa = 0x05b0e500 // aaa AbAlias = 0x944aaa97 // ab.alias AbCall1 = 0x20c5fb2d // ab.call1 + AbCall10 = 0x8db2a4f8 // ab.call10 + AbCall11 = 0xecb2a36c // ab.call11 AbCall2 = 0x77d5f057 // ab.call2 AbCall3 = 0x0a083445 // ab.call3 AbCall4 = 0xc1220a1e // ab.call4 @@ -82,6 +84,7 @@ const ( Int = 0xa8509bda // int Int32 = 0x7934e71f // int32 Int64 = 0xf5609de0 // int64 + List = 0x02d80cdd // list Long = 0x22076cba // long MaybeTest1 = 0xc457763c // maybeTest1 MaybeWrapper = 0x723390c4 // maybeWrapper @@ -118,6 +121,7 @@ const ( ResultTrue = 0x3f9c8ef8 // resultTrue Service5EmptyOutput = 0xff8f7db8 // service5.emptyOutput Service5Insert = 0x7cf362ba // service5.insert + Service5InsertList = 0x7cf362bc // service5.insertList Service5StringOutput = 0xdc170ff4 // service5.stringOutput Service5LongEmptyOutput = 0xff8f7db9 // service5Long.emptyOutput Service5LongInsert = 0x7cf362bb // service5Long.insert diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/factory/factory.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/factory/factory.go index 622a2dca..66b8fc86 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/factory/factory.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/factory/factory.go @@ -39,6 +39,8 @@ func init() { meta.SetGlobalFactoryCreateForObject(0xa7662843, func() meta.Object { var ret internal.AUNionA; return &ret }) meta.SetGlobalFactoryCreateForObject(0x944aaa97, func() meta.Object { var ret internal.AbAlias; return &ret }) meta.SetGlobalFactoryCreateForFunction(0x20c5fb2d, func() meta.Object { var ret internal.AbCall1; return &ret }, func() meta.Function { var ret internal.AbCall1; return &ret }, nil) + meta.SetGlobalFactoryCreateForFunction(0x8db2a4f8, func() meta.Object { var ret internal.AbCall10; return &ret }, func() meta.Function { var ret internal.AbCall10; return &ret }, nil) + meta.SetGlobalFactoryCreateForFunction(0xecb2a36c, func() meta.Object { var ret internal.AbCall11; return &ret }, func() meta.Function { var ret internal.AbCall11; return &ret }, nil) meta.SetGlobalFactoryCreateForFunction(0x77d5f057, func() meta.Object { var ret internal.AbCall2; return &ret }, func() meta.Function { var ret internal.AbCall2; return &ret }, nil) meta.SetGlobalFactoryCreateForFunction(0x0a083445, func() meta.Object { var ret internal.AbCall3; return &ret }, func() meta.Function { var ret internal.AbCall3; return &ret }, nil) meta.SetGlobalFactoryCreateForFunction(0xc1220a1e, func() meta.Object { var ret internal.AbCall4; return &ret }, func() meta.Function { var ret internal.AbCall4; return &ret }, nil) @@ -116,6 +118,7 @@ func init() { meta.SetGlobalFactoryCreateForObject(0x95d598c5, func() meta.Object { var ret internal.Replace9; return &ret }) meta.SetGlobalFactoryCreateForObject(0xff8f7db8, func() meta.Object { var ret internal.Service5EmptyOutput; return &ret }) meta.SetGlobalFactoryCreateForFunction(0x7cf362ba, func() meta.Object { var ret internal.Service5Insert; return &ret }, func() meta.Function { var ret internal.Service5Insert; return &ret }, func() meta.Function { var ret internal.Service5LongInsert; return &ret }) + meta.SetGlobalFactoryCreateForFunction(0x7cf362bc, func() meta.Object { var ret internal.Service5InsertList; return &ret }, func() meta.Function { var ret internal.Service5InsertList; return &ret }, nil) meta.SetGlobalFactoryCreateForObject(0xff8f7db9, func() meta.Object { var ret internal.Service5LongEmptyOutput; return &ret }) meta.SetGlobalFactoryCreateForFunction(0x7cf362bb, func() meta.Object { var ret internal.Service5LongInsert; return &ret }, func() meta.Function { var ret internal.Service5LongInsert; return &ret }, nil) meta.SetGlobalFactoryCreateForObject(0xdc170ff5, func() meta.Object { var ret internal.Service5LongStringOutput; return &ret }) diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/factory_bytes/factory_bytes.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/factory_bytes/factory_bytes.go index d90875ac..7e5c4f1b 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/factory_bytes/factory_bytes.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/factory_bytes/factory_bytes.go @@ -39,6 +39,8 @@ func init() { meta.SetGlobalFactoryCreateForObjectBytes(0xa7662843, func() meta.Object { var ret internal.AUNionA; return &ret }) meta.SetGlobalFactoryCreateForObjectBytes(0x944aaa97, func() meta.Object { var ret internal.AbAlias; return &ret }) meta.SetGlobalFactoryCreateForFunctionBytes(0x20c5fb2d, func() meta.Object { var ret internal.AbCall1; return &ret }, func() meta.Function { var ret internal.AbCall1; return &ret }, nil) + meta.SetGlobalFactoryCreateForFunctionBytes(0x8db2a4f8, func() meta.Object { var ret internal.AbCall10; return &ret }, func() meta.Function { var ret internal.AbCall10; return &ret }, nil) + meta.SetGlobalFactoryCreateForFunctionBytes(0xecb2a36c, func() meta.Object { var ret internal.AbCall11; return &ret }, func() meta.Function { var ret internal.AbCall11; return &ret }, nil) meta.SetGlobalFactoryCreateForFunctionBytes(0x77d5f057, func() meta.Object { var ret internal.AbCall2; return &ret }, func() meta.Function { var ret internal.AbCall2; return &ret }, nil) meta.SetGlobalFactoryCreateForFunctionBytes(0x0a083445, func() meta.Object { var ret internal.AbCall3; return &ret }, func() meta.Function { var ret internal.AbCall3; return &ret }, nil) meta.SetGlobalFactoryCreateForFunctionBytes(0xc1220a1e, func() meta.Object { var ret internal.AbCall4; return &ret }, func() meta.Function { var ret internal.AbCall4; return &ret }, nil) @@ -116,6 +118,7 @@ func init() { meta.SetGlobalFactoryCreateForObjectBytes(0x95d598c5, func() meta.Object { var ret internal.Replace9; return &ret }) meta.SetGlobalFactoryCreateForObjectBytes(0xff8f7db8, func() meta.Object { var ret internal.Service5EmptyOutput; return &ret }) meta.SetGlobalFactoryCreateForFunctionBytes(0x7cf362ba, func() meta.Object { var ret internal.Service5Insert; return &ret }, func() meta.Function { var ret internal.Service5Insert; return &ret }, func() meta.Function { var ret internal.Service5LongInsert; return &ret }) + meta.SetGlobalFactoryCreateForFunctionBytes(0x7cf362bc, func() meta.Object { var ret internal.Service5InsertList; return &ret }, func() meta.Function { var ret internal.Service5InsertList; return &ret }, nil) meta.SetGlobalFactoryCreateForObjectBytes(0xff8f7db9, func() meta.Object { var ret internal.Service5LongEmptyOutput; return &ret }) meta.SetGlobalFactoryCreateForFunctionBytes(0x7cf362bb, func() meta.Object { var ret internal.Service5LongInsert; return &ret }, func() meta.Function { var ret internal.Service5LongInsert; return &ret }, nil) meta.SetGlobalFactoryCreateForObjectBytes(0xdc170ff5, func() meta.Object { var ret internal.Service5LongStringOutput; return &ret }) diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call10.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call10.go new file mode 100644 index 00000000..0a63f6ed --- /dev/null +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call10.go @@ -0,0 +1,150 @@ +// Copyright 2022 V Kontakte LLC +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +package internal + +import ( + "github.com/vkcom/tl/pkg/basictl" +) + +var _ = basictl.NatWrite + +type AbCall10 struct { +} + +func (AbCall10) TLName() string { return "ab.call10" } +func (AbCall10) TLTag() uint32 { return 0x8db2a4f8 } + +func (item *AbCall10) Reset() {} + +func (item *AbCall10) FillRandom(rg *basictl.RandGenerator) {} + +func (item *AbCall10) Read(w []byte) (_ []byte, err error) { return w, nil } + +// This method is general version of Write, use it instead! +func (item *AbCall10) WriteGeneral(w []byte) (_ []byte, err error) { + return item.Write(w), nil +} + +func (item *AbCall10) Write(w []byte) []byte { + return w +} + +func (item *AbCall10) ReadBoxed(w []byte) (_ []byte, err error) { + if w, err = basictl.NatReadExactTag(w, 0x8db2a4f8); err != nil { + return w, err + } + return item.Read(w) +} + +// This method is general version of WriteBoxed, use it instead! +func (item *AbCall10) WriteBoxedGeneral(w []byte) (_ []byte, err error) { + return item.WriteBoxed(w), nil +} + +func (item *AbCall10) WriteBoxed(w []byte) []byte { + w = basictl.NatWrite(w, 0x8db2a4f8) + return item.Write(w) +} + +func (item *AbCall10) ReadResult(w []byte, ret *AColor) (_ []byte, err error) { + return ret.ReadBoxed(w) +} + +func (item *AbCall10) WriteResult(w []byte, ret AColor) (_ []byte, err error) { + w = ret.WriteBoxed(w) + return w, nil +} + +func (item *AbCall10) ReadResultJSON(legacyTypeNames bool, in *basictl.JsonLexer, ret *AColor) error { + if err := ret.ReadJSON(legacyTypeNames, in); err != nil { + return err + } + return nil +} + +func (item *AbCall10) WriteResultJSON(w []byte, ret AColor) (_ []byte, err error) { + return item.writeResultJSON(true, false, w, ret) +} + +func (item *AbCall10) writeResultJSON(newTypeNames bool, short bool, w []byte, ret AColor) (_ []byte, err error) { + w = ret.WriteJSONOpt(newTypeNames, short, w) + return w, nil +} + +func (item *AbCall10) ReadResultWriteResultJSON(r []byte, w []byte) (_ []byte, _ []byte, err error) { + var ret AColor + if r, err = item.ReadResult(r, &ret); err != nil { + return r, w, err + } + w, err = item.WriteResultJSON(w, ret) + return r, w, err +} + +func (item *AbCall10) ReadResultWriteResultJSONOpt(newTypeNames bool, short bool, r []byte, w []byte) (_ []byte, _ []byte, err error) { + var ret AColor + if r, err = item.ReadResult(r, &ret); err != nil { + return r, w, err + } + w, err = item.writeResultJSON(newTypeNames, short, w, ret) + return r, w, err +} + +func (item *AbCall10) ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) { + var ret AColor + err := item.ReadResultJSON(true, &basictl.JsonLexer{Data: r}, &ret) + if err != nil { + return r, w, err + } + w, err = item.WriteResult(w, ret) + return r, w, err +} + +func (item AbCall10) String() string { + return string(item.WriteJSON(nil)) +} + +func (item *AbCall10) ReadJSON(legacyTypeNames bool, in *basictl.JsonLexer) error { + if in != nil { + in.Delim('{') + if !in.Ok() { + return in.Error() + } + for !in.IsDelim('}') { + return ErrorInvalidJSON("ab.call10", "this object can't have properties") + } + in.Delim('}') + if !in.Ok() { + return in.Error() + } + } + return nil +} + +// This method is general version of WriteJSON, use it instead! +func (item *AbCall10) WriteJSONGeneral(w []byte) (_ []byte, err error) { + return item.WriteJSONOpt(true, false, w), nil +} + +func (item *AbCall10) WriteJSON(w []byte) []byte { + return item.WriteJSONOpt(true, false, w) +} +func (item *AbCall10) WriteJSONOpt(newTypeNames bool, short bool, w []byte) []byte { + w = append(w, '{') + return append(w, '}') +} + +func (item *AbCall10) MarshalJSON() ([]byte, error) { + return item.WriteJSON(nil), nil +} + +func (item *AbCall10) UnmarshalJSON(b []byte) error { + if err := item.ReadJSON(true, &basictl.JsonLexer{Data: b}); err != nil { + return ErrorInvalidJSON("ab.call10", err.Error()) + } + return nil +} diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call11.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call11.go new file mode 100644 index 00000000..2f83dcba --- /dev/null +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/ab.call11.go @@ -0,0 +1,180 @@ +// Copyright 2022 V Kontakte LLC +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +package internal + +import ( + "github.com/vkcom/tl/pkg/basictl" +) + +var _ = basictl.NatWrite + +type AbCall11 struct { + X AColor +} + +func (AbCall11) TLName() string { return "ab.call11" } +func (AbCall11) TLTag() uint32 { return 0xecb2a36c } + +func (item *AbCall11) Reset() { + item.X.Reset() +} + +func (item *AbCall11) FillRandom(rg *basictl.RandGenerator) { + item.X.FillRandom(rg) +} + +func (item *AbCall11) Read(w []byte) (_ []byte, err error) { + return item.X.ReadBoxed(w) +} + +// This method is general version of Write, use it instead! +func (item *AbCall11) WriteGeneral(w []byte) (_ []byte, err error) { + return item.Write(w), nil +} + +func (item *AbCall11) Write(w []byte) []byte { + w = item.X.WriteBoxed(w) + return w +} + +func (item *AbCall11) ReadBoxed(w []byte) (_ []byte, err error) { + if w, err = basictl.NatReadExactTag(w, 0xecb2a36c); err != nil { + return w, err + } + return item.Read(w) +} + +// This method is general version of WriteBoxed, use it instead! +func (item *AbCall11) WriteBoxedGeneral(w []byte) (_ []byte, err error) { + return item.WriteBoxed(w), nil +} + +func (item *AbCall11) WriteBoxed(w []byte) []byte { + w = basictl.NatWrite(w, 0xecb2a36c) + return item.Write(w) +} + +func (item *AbCall11) ReadResult(w []byte, ret *AColor) (_ []byte, err error) { + return ret.ReadBoxed(w) +} + +func (item *AbCall11) WriteResult(w []byte, ret AColor) (_ []byte, err error) { + w = ret.WriteBoxed(w) + return w, nil +} + +func (item *AbCall11) ReadResultJSON(legacyTypeNames bool, in *basictl.JsonLexer, ret *AColor) error { + if err := ret.ReadJSON(legacyTypeNames, in); err != nil { + return err + } + return nil +} + +func (item *AbCall11) WriteResultJSON(w []byte, ret AColor) (_ []byte, err error) { + return item.writeResultJSON(true, false, w, ret) +} + +func (item *AbCall11) writeResultJSON(newTypeNames bool, short bool, w []byte, ret AColor) (_ []byte, err error) { + w = ret.WriteJSONOpt(newTypeNames, short, w) + return w, nil +} + +func (item *AbCall11) ReadResultWriteResultJSON(r []byte, w []byte) (_ []byte, _ []byte, err error) { + var ret AColor + if r, err = item.ReadResult(r, &ret); err != nil { + return r, w, err + } + w, err = item.WriteResultJSON(w, ret) + return r, w, err +} + +func (item *AbCall11) ReadResultWriteResultJSONOpt(newTypeNames bool, short bool, r []byte, w []byte) (_ []byte, _ []byte, err error) { + var ret AColor + if r, err = item.ReadResult(r, &ret); err != nil { + return r, w, err + } + w, err = item.writeResultJSON(newTypeNames, short, w, ret) + return r, w, err +} + +func (item *AbCall11) ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) { + var ret AColor + err := item.ReadResultJSON(true, &basictl.JsonLexer{Data: r}, &ret) + if err != nil { + return r, w, err + } + w, err = item.WriteResult(w, ret) + return r, w, err +} + +func (item AbCall11) String() string { + return string(item.WriteJSON(nil)) +} + +func (item *AbCall11) ReadJSON(legacyTypeNames bool, in *basictl.JsonLexer) error { + var propXPresented bool + + if in != nil { + in.Delim('{') + if !in.Ok() { + return in.Error() + } + for !in.IsDelim('}') { + key := in.UnsafeFieldName(true) + in.WantColon() + switch key { + case "x": + if propXPresented { + return ErrorInvalidJSONWithDuplicatingKeys("ab.call11", "x") + } + if err := item.X.ReadJSON(legacyTypeNames, in); err != nil { + return err + } + propXPresented = true + default: + return ErrorInvalidJSONExcessElement("ab.call11", key) + } + in.WantComma() + } + in.Delim('}') + if !in.Ok() { + return in.Error() + } + } + if !propXPresented { + item.X.Reset() + } + return nil +} + +// This method is general version of WriteJSON, use it instead! +func (item *AbCall11) WriteJSONGeneral(w []byte) (_ []byte, err error) { + return item.WriteJSONOpt(true, false, w), nil +} + +func (item *AbCall11) WriteJSON(w []byte) []byte { + return item.WriteJSONOpt(true, false, w) +} +func (item *AbCall11) WriteJSONOpt(newTypeNames bool, short bool, w []byte) []byte { + w = append(w, '{') + w = basictl.JSONAddCommaIfNeeded(w) + w = append(w, `"x":`...) + w = item.X.WriteJSONOpt(newTypeNames, short, w) + return append(w, '}') +} + +func (item *AbCall11) MarshalJSON() ([]byte, error) { + return item.WriteJSON(nil), nil +} + +func (item *AbCall11) UnmarshalJSON(b []byte) error { + if err := item.ReadJSON(true, &basictl.JsonLexer{Data: b}); err != nil { + return ErrorInvalidJSON("ab.call11", err.Error()) + } + return nil +} diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/list.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/list.go new file mode 100644 index 00000000..470f36e5 --- /dev/null +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/list.go @@ -0,0 +1,261 @@ +// Copyright 2022 V Kontakte LLC +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +package internal + +import ( + "github.com/vkcom/tl/pkg/basictl" +) + +var _ = basictl.NatWrite + +type ListService5Output struct { + Flag uint32 + Head Service5Output // Conditional: item.Flag.0 + Tail *ListService5Output // Conditional: item.Flag.0 +} + +func (ListService5Output) TLName() string { return "list" } +func (ListService5Output) TLTag() uint32 { return 0x02d80cdd } + +func (item *ListService5Output) SetHead(v Service5Output) { + item.Head = v + item.Flag |= 1 << 0 +} +func (item *ListService5Output) ClearHead() { + item.Head.Reset() + item.Flag &^= 1 << 0 +} +func (item ListService5Output) IsSetHead() bool { return item.Flag&(1<<0) != 0 } + +func (item *ListService5Output) SetTail(v ListService5Output) { + if item.Tail == nil { + var value ListService5Output + item.Tail = &value + } + *item.Tail = v + item.Flag |= 1 << 0 +} +func (item *ListService5Output) ClearTail() { + if item.Tail != nil { + item.Tail.Reset() + } + item.Flag &^= 1 << 0 +} +func (item ListService5Output) IsSetTail() bool { return item.Flag&(1<<0) != 0 } + +func (item *ListService5Output) Reset() { + item.Flag = 0 + item.Head.Reset() + if item.Tail != nil { + item.Tail.Reset() + } +} + +func (item *ListService5Output) FillRandom(rg *basictl.RandGenerator) { + var maskFlag uint32 + maskFlag = basictl.RandomUint(rg) + item.Flag = 0 + if maskFlag&(1<<0) != 0 { + item.Flag |= (1 << 0) + } + if item.Flag&(1<<0) != 0 { + item.Head.FillRandom(rg) + } else { + item.Head.Reset() + } + if item.Flag&(1<<0) != 0 { + rg.IncreaseDepth() + if item.Tail == nil { + var value ListService5Output + item.Tail = &value + } + item.Tail.FillRandom(rg) + rg.DecreaseDepth() + } else { + if item.Tail != nil { + item.Tail.Reset() + } + } +} + +func (item *ListService5Output) Read(w []byte) (_ []byte, err error) { + if w, err = basictl.NatRead(w, &item.Flag); err != nil { + return w, err + } + if item.Flag&(1<<0) != 0 { + if w, err = item.Head.ReadBoxed(w); err != nil { + return w, err + } + } else { + item.Head.Reset() + } + if item.Flag&(1<<0) != 0 { + if item.Tail == nil { + var value ListService5Output + item.Tail = &value + } + if w, err = item.Tail.Read(w); err != nil { + return w, err + } + } else { + if item.Tail != nil { + item.Tail.Reset() + } + } + return w, nil +} + +// This method is general version of Write, use it instead! +func (item *ListService5Output) WriteGeneral(w []byte) (_ []byte, err error) { + return item.Write(w), nil +} + +func (item *ListService5Output) Write(w []byte) []byte { + w = basictl.NatWrite(w, item.Flag) + if item.Flag&(1<<0) != 0 { + w = item.Head.WriteBoxed(w) + } + if item.Flag&(1<<0) != 0 { + w = item.Tail.Write(w) + } + return w +} + +func (item *ListService5Output) ReadBoxed(w []byte) (_ []byte, err error) { + if w, err = basictl.NatReadExactTag(w, 0x02d80cdd); err != nil { + return w, err + } + return item.Read(w) +} + +// This method is general version of WriteBoxed, use it instead! +func (item *ListService5Output) WriteBoxedGeneral(w []byte) (_ []byte, err error) { + return item.WriteBoxed(w), nil +} + +func (item *ListService5Output) WriteBoxed(w []byte) []byte { + w = basictl.NatWrite(w, 0x02d80cdd) + return item.Write(w) +} + +func (item ListService5Output) String() string { + return string(item.WriteJSON(nil)) +} + +func (item *ListService5Output) ReadJSON(legacyTypeNames bool, in *basictl.JsonLexer) error { + var propFlagPresented bool + var propHeadPresented bool + var propTailPresented bool + + if in != nil { + in.Delim('{') + if !in.Ok() { + return in.Error() + } + for !in.IsDelim('}') { + key := in.UnsafeFieldName(true) + in.WantColon() + switch key { + case "flag": + if propFlagPresented { + return ErrorInvalidJSONWithDuplicatingKeys("list", "flag") + } + if err := Json2ReadUint32(in, &item.Flag); err != nil { + return err + } + propFlagPresented = true + case "head": + if propHeadPresented { + return ErrorInvalidJSONWithDuplicatingKeys("list", "head") + } + if err := item.Head.ReadJSON(legacyTypeNames, in); err != nil { + return err + } + propHeadPresented = true + case "tail": + if propTailPresented { + return ErrorInvalidJSONWithDuplicatingKeys("list", "tail") + } + if item.Tail == nil { + var value ListService5Output + item.Tail = &value + } + if err := item.Tail.ReadJSON(legacyTypeNames, in); err != nil { + return err + } + propTailPresented = true + default: + return ErrorInvalidJSONExcessElement("list", key) + } + in.WantComma() + } + in.Delim('}') + if !in.Ok() { + return in.Error() + } + } + if !propFlagPresented { + item.Flag = 0 + } + if !propHeadPresented { + item.Head.Reset() + } + if !propTailPresented { + if item.Tail != nil { + item.Tail.Reset() + } + } + if propHeadPresented { + item.Flag |= 1 << 0 + } + if propTailPresented { + item.Flag |= 1 << 0 + } + return nil +} + +// This method is general version of WriteJSON, use it instead! +func (item *ListService5Output) WriteJSONGeneral(w []byte) (_ []byte, err error) { + return item.WriteJSONOpt(true, false, w), nil +} + +func (item *ListService5Output) WriteJSON(w []byte) []byte { + return item.WriteJSONOpt(true, false, w) +} +func (item *ListService5Output) WriteJSONOpt(newTypeNames bool, short bool, w []byte) []byte { + w = append(w, '{') + backupIndexFlag := len(w) + w = basictl.JSONAddCommaIfNeeded(w) + w = append(w, `"flag":`...) + w = basictl.JSONWriteUint32(w, item.Flag) + if (item.Flag != 0) == false { + w = w[:backupIndexFlag] + } + if item.Flag&(1<<0) != 0 { + w = basictl.JSONAddCommaIfNeeded(w) + w = append(w, `"head":`...) + w = item.Head.WriteJSONOpt(newTypeNames, short, w) + } + if item.Flag&(1<<0) != 0 { + w = basictl.JSONAddCommaIfNeeded(w) + w = append(w, `"tail":`...) + w = item.Tail.WriteJSONOpt(newTypeNames, short, w) + } + return append(w, '}') +} + +func (item *ListService5Output) MarshalJSON() ([]byte, error) { + return item.WriteJSON(nil), nil +} + +func (item *ListService5Output) UnmarshalJSON(b []byte) error { + if err := item.ReadJSON(true, &basictl.JsonLexer{Data: b}); err != nil { + return ErrorInvalidJSON("list", err.Error()) + } + return nil +} diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5.insertList.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5.insertList.go new file mode 100644 index 00000000..90a150ce --- /dev/null +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/internal/service5.insertList.go @@ -0,0 +1,225 @@ +// Copyright 2022 V Kontakte LLC +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at https://mozilla.org/MPL/2.0/. + +// Code generated by vktl/cmd/tlgen2; DO NOT EDIT. +package internal + +import ( + "github.com/vkcom/tl/pkg/basictl" +) + +var _ = basictl.NatWrite + +type Service5InsertList struct { + Flags uint32 + // Persistent (TrueType) // Conditional: item.Flags.0 +} + +func (Service5InsertList) TLName() string { return "service5.insertList" } +func (Service5InsertList) TLTag() uint32 { return 0x7cf362bc } + +func (item *Service5InsertList) SetPersistent(v bool) { + if v { + item.Flags |= 1 << 0 + } else { + item.Flags &^= 1 << 0 + } +} +func (item Service5InsertList) IsSetPersistent() bool { return item.Flags&(1<<0) != 0 } + +func (item *Service5InsertList) Reset() { + item.Flags = 0 +} + +func (item *Service5InsertList) FillRandom(rg *basictl.RandGenerator) { + var maskFlags uint32 + maskFlags = basictl.RandomUint(rg) + item.Flags = 0 + if maskFlags&(1<<0) != 0 { + item.Flags |= (1 << 0) + } +} + +func (item *Service5InsertList) Read(w []byte) (_ []byte, err error) { + if w, err = basictl.NatRead(w, &item.Flags); err != nil { + return w, err + } + return w, nil +} + +// This method is general version of Write, use it instead! +func (item *Service5InsertList) WriteGeneral(w []byte) (_ []byte, err error) { + return item.Write(w), nil +} + +func (item *Service5InsertList) Write(w []byte) []byte { + w = basictl.NatWrite(w, item.Flags) + return w +} + +func (item *Service5InsertList) ReadBoxed(w []byte) (_ []byte, err error) { + if w, err = basictl.NatReadExactTag(w, 0x7cf362bc); err != nil { + return w, err + } + return item.Read(w) +} + +// This method is general version of WriteBoxed, use it instead! +func (item *Service5InsertList) WriteBoxedGeneral(w []byte) (_ []byte, err error) { + return item.WriteBoxed(w), nil +} + +func (item *Service5InsertList) WriteBoxed(w []byte) []byte { + w = basictl.NatWrite(w, 0x7cf362bc) + return item.Write(w) +} + +func (item *Service5InsertList) ReadResult(w []byte, ret *ListService5Output) (_ []byte, err error) { + return ret.ReadBoxed(w) +} + +func (item *Service5InsertList) WriteResult(w []byte, ret ListService5Output) (_ []byte, err error) { + w = ret.WriteBoxed(w) + return w, nil +} + +func (item *Service5InsertList) ReadResultJSON(legacyTypeNames bool, in *basictl.JsonLexer, ret *ListService5Output) error { + if err := ret.ReadJSON(legacyTypeNames, in); err != nil { + return err + } + return nil +} + +func (item *Service5InsertList) WriteResultJSON(w []byte, ret ListService5Output) (_ []byte, err error) { + return item.writeResultJSON(true, false, w, ret) +} + +func (item *Service5InsertList) writeResultJSON(newTypeNames bool, short bool, w []byte, ret ListService5Output) (_ []byte, err error) { + w = ret.WriteJSONOpt(newTypeNames, short, w) + return w, nil +} + +func (item *Service5InsertList) ReadResultWriteResultJSON(r []byte, w []byte) (_ []byte, _ []byte, err error) { + var ret ListService5Output + if r, err = item.ReadResult(r, &ret); err != nil { + return r, w, err + } + w, err = item.WriteResultJSON(w, ret) + return r, w, err +} + +func (item *Service5InsertList) ReadResultWriteResultJSONOpt(newTypeNames bool, short bool, r []byte, w []byte) (_ []byte, _ []byte, err error) { + var ret ListService5Output + if r, err = item.ReadResult(r, &ret); err != nil { + return r, w, err + } + w, err = item.writeResultJSON(newTypeNames, short, w, ret) + return r, w, err +} + +func (item *Service5InsertList) ReadResultJSONWriteResult(r []byte, w []byte) ([]byte, []byte, error) { + var ret ListService5Output + err := item.ReadResultJSON(true, &basictl.JsonLexer{Data: r}, &ret) + if err != nil { + return r, w, err + } + w, err = item.WriteResult(w, ret) + return r, w, err +} + +func (item Service5InsertList) String() string { + return string(item.WriteJSON(nil)) +} + +func (item *Service5InsertList) ReadJSON(legacyTypeNames bool, in *basictl.JsonLexer) error { + var propFlagsPresented bool + var trueTypePersistentPresented bool + var trueTypePersistentValue bool + + if in != nil { + in.Delim('{') + if !in.Ok() { + return in.Error() + } + for !in.IsDelim('}') { + key := in.UnsafeFieldName(true) + in.WantColon() + switch key { + case "flags": + if propFlagsPresented { + return ErrorInvalidJSONWithDuplicatingKeys("service5.insertList", "flags") + } + if err := Json2ReadUint32(in, &item.Flags); err != nil { + return err + } + propFlagsPresented = true + case "persistent": + if trueTypePersistentPresented { + return ErrorInvalidJSONWithDuplicatingKeys("service5.insertList", "persistent") + } + if err := Json2ReadBool(in, &trueTypePersistentValue); err != nil { + return err + } + trueTypePersistentPresented = true + default: + return ErrorInvalidJSONExcessElement("service5.insertList", key) + } + in.WantComma() + } + in.Delim('}') + if !in.Ok() { + return in.Error() + } + } + if !propFlagsPresented { + item.Flags = 0 + } + if trueTypePersistentPresented { + if trueTypePersistentValue { + item.Flags |= 1 << 0 + } + } + // tries to set bit to zero if it is 1 + if trueTypePersistentPresented && !trueTypePersistentValue && (item.Flags&(1<<0) != 0) { + return ErrorInvalidJSON("service5.insertList", "fieldmask bit flags.0 is indefinite because of the contradictions in values") + } + return nil +} + +// This method is general version of WriteJSON, use it instead! +func (item *Service5InsertList) WriteJSONGeneral(w []byte) (_ []byte, err error) { + return item.WriteJSONOpt(true, false, w), nil +} + +func (item *Service5InsertList) WriteJSON(w []byte) []byte { + return item.WriteJSONOpt(true, false, w) +} +func (item *Service5InsertList) WriteJSONOpt(newTypeNames bool, short bool, w []byte) []byte { + w = append(w, '{') + backupIndexFlags := len(w) + w = basictl.JSONAddCommaIfNeeded(w) + w = append(w, `"flags":`...) + w = basictl.JSONWriteUint32(w, item.Flags) + if (item.Flags != 0) == false { + w = w[:backupIndexFlags] + } + if item.Flags&(1<<0) != 0 { + w = basictl.JSONAddCommaIfNeeded(w) + w = append(w, `"persistent":true`...) + } + return append(w, '}') +} + +func (item *Service5InsertList) MarshalJSON() ([]byte, error) { + return item.WriteJSON(nil), nil +} + +func (item *Service5InsertList) UnmarshalJSON(b []byte) error { + if err := item.ReadJSON(true, &basictl.JsonLexer{Data: b}); err != nil { + return ErrorInvalidJSON("service5.insertList", err.Error()) + } + return nil +} diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go index 52d2cdab..e36a79dd 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/meta/meta.go @@ -133,7 +133,8 @@ type TLItem struct { annotations uint32 tlName string - resultTypeContainsUnionTypes bool + resultTypeContainsUnionTypes bool + argumentsTypesContainUnionTypes bool createFunction func() Function createFunctionLong func() Function @@ -149,7 +150,8 @@ func (item TLItem) CreateObject() Object { return item.createObject() } func (item TLItem) IsFunction() bool { return item.createFunction != nil } func (item TLItem) CreateFunction() Function { return item.createFunction() } -func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInResult() bool { return item.resultTypeContainsUnionTypes } +func (item TLItem) HasUnionTypesInArguments() bool { return item.argumentsTypesContainUnionTypes } // For transcoding short-long version during Long ID transition func (item TLItem) HasFunctionLong() bool { return item.createFunctionLong != nil } @@ -303,107 +305,110 @@ func fillFunction(n1 string, n2 string, item *TLItem) { } func init() { - fillObject("a.blue#623360f3", "#623360f3", &TLItem{tag: 0x623360f3, annotations: 0x0, tlName: "a.blue", resultTypeContainsUnionTypes: false}) - fillObject("a.color#f35d7a69", "#f35d7a69", &TLItem{tag: 0xf35d7a69, annotations: 0x0, tlName: "a.color", resultTypeContainsUnionTypes: false}) - fillObject("a.green#6127e7b8", "#6127e7b8", &TLItem{tag: 0x6127e7b8, annotations: 0x0, tlName: "a.green", resultTypeContainsUnionTypes: false}) - fillObject("a.red#b83a723d", "#b83a723d", &TLItem{tag: 0xb83a723d, annotations: 0x0, tlName: "a.red", resultTypeContainsUnionTypes: false}) - fillObject("a.top2#7082d18f", "#7082d18f", &TLItem{tag: 0x7082d18f, annotations: 0x0, tlName: "a.top2", resultTypeContainsUnionTypes: false}) - fillObject("a.uNionA#a7662843", "#a7662843", &TLItem{tag: 0xa7662843, annotations: 0x0, tlName: "a.uNionA", resultTypeContainsUnionTypes: false}) - fillObject("ab.alias#944aaa97", "#944aaa97", &TLItem{tag: 0x944aaa97, annotations: 0x0, tlName: "ab.alias", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call1#20c5fb2d", "#20c5fb2d", &TLItem{tag: 0x20c5fb2d, annotations: 0x1, tlName: "ab.call1", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call2#77d5f057", "#77d5f057", &TLItem{tag: 0x77d5f057, annotations: 0x1, tlName: "ab.call2", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call3#0a083445", "#0a083445", &TLItem{tag: 0x0a083445, annotations: 0x1, tlName: "ab.call3", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call4#c1220a1e", "#c1220a1e", &TLItem{tag: 0xc1220a1e, annotations: 0x1, tlName: "ab.call4", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call5#7ba4d28d", "#7ba4d28d", &TLItem{tag: 0x7ba4d28d, annotations: 0x1, tlName: "ab.call5", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call6#84d815cb", "#84d815cb", &TLItem{tag: 0x84d815cb, annotations: 0x1, tlName: "ab.call6", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call7#46ec10bf", "#46ec10bf", &TLItem{tag: 0x46ec10bf, annotations: 0x1, tlName: "ab.call7", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call8#1b8652d9", "#1b8652d9", &TLItem{tag: 0x1b8652d9, annotations: 0x1, tlName: "ab.call8", resultTypeContainsUnionTypes: false}) - fillFunction("ab.call9#75de906c", "#75de906c", &TLItem{tag: 0x75de906c, annotations: 0x1, tlName: "ab.call9", resultTypeContainsUnionTypes: false}) - fillObject("ab.code#7651b1ac", "#7651b1ac", &TLItem{tag: 0x7651b1ac, annotations: 0x0, tlName: "ab.code", resultTypeContainsUnionTypes: false}) - fillObject("ab.counterChangeRequestPeriodsMany#14a35d80", "#14a35d80", &TLItem{tag: 0x14a35d80, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsMany", resultTypeContainsUnionTypes: false}) - fillObject("ab.counterChangeRequestPeriodsOne#d9c36de5", "#d9c36de5", &TLItem{tag: 0xd9c36de5, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsOne", resultTypeContainsUnionTypes: false}) - fillObject("ab.empty#1ec6a63e", "#1ec6a63e", &TLItem{tag: 0x1ec6a63e, annotations: 0x0, tlName: "ab.empty", resultTypeContainsUnionTypes: false}) - fillObject("ab.myType#e0e96c86", "#e0e96c86", &TLItem{tag: 0xe0e96c86, annotations: 0x0, tlName: "ab.myType", resultTypeContainsUnionTypes: false}) - fillObject("ab.testMaybe#4dac492a", "#4dac492a", &TLItem{tag: 0x4dac492a, annotations: 0x0, tlName: "ab.testMaybe", resultTypeContainsUnionTypes: false}) - fillObject("ab.topLevel1#e67bce28", "#e67bce28", &TLItem{tag: 0xe67bce28, annotations: 0x0, tlName: "ab.topLevel1", resultTypeContainsUnionTypes: false}) - fillObject("ab.topLevel2#cef933fb", "#cef933fb", &TLItem{tag: 0xcef933fb, annotations: 0x0, tlName: "ab.topLevel2", resultTypeContainsUnionTypes: false}) - fillObject("ab.typeA#a99fef6a", "#a99fef6a", &TLItem{tag: 0xa99fef6a, annotations: 0x0, tlName: "ab.typeA", resultTypeContainsUnionTypes: false}) - fillObject("ab.typeB#ff2e6d58", "#ff2e6d58", &TLItem{tag: 0xff2e6d58, annotations: 0x0, tlName: "ab.typeB", resultTypeContainsUnionTypes: false}) - fillObject("ab.typeC#69920d6e", "#69920d6e", &TLItem{tag: 0x69920d6e, annotations: 0x0, tlName: "ab.typeC", resultTypeContainsUnionTypes: false}) - fillObject("ab.typeD#76615bf1", "#76615bf1", &TLItem{tag: 0x76615bf1, annotations: 0x0, tlName: "ab.typeD", resultTypeContainsUnionTypes: false}) - fillObject("ab.useCycle#71687381", "#71687381", &TLItem{tag: 0x71687381, annotations: 0x0, tlName: "ab.useCycle", resultTypeContainsUnionTypes: false}) - fillObject("ab.useDictString#3325d884", "#3325d884", &TLItem{tag: 0x3325d884, annotations: 0x0, tlName: "ab.useDictString", resultTypeContainsUnionTypes: false}) - fillObject("au.nionA#df61f632", "#df61f632", &TLItem{tag: 0xdf61f632, annotations: 0x0, tlName: "au.nionA", resultTypeContainsUnionTypes: false}) - fillObject("b.red#a9471844", "#a9471844", &TLItem{tag: 0xa9471844, annotations: 0x0, tlName: "b.red", resultTypeContainsUnionTypes: false}) - fillFunction("call1#a7302fbc", "#a7302fbc", &TLItem{tag: 0xa7302fbc, annotations: 0x1, tlName: "call1", resultTypeContainsUnionTypes: false}) - fillFunction("call2#f02024c6", "#f02024c6", &TLItem{tag: 0xf02024c6, annotations: 0x1, tlName: "call2", resultTypeContainsUnionTypes: false}) - fillFunction("call3#6ace6718", "#6ace6718", &TLItem{tag: 0x6ace6718, annotations: 0x1, tlName: "call3", resultTypeContainsUnionTypes: false}) - fillFunction("call4#46d7de8f", "#46d7de8f", &TLItem{tag: 0x46d7de8f, annotations: 0x1, tlName: "call4", resultTypeContainsUnionTypes: false}) - fillFunction("call5#fc51061c", "#fc51061c", &TLItem{tag: 0xfc51061c, annotations: 0x1, tlName: "call5", resultTypeContainsUnionTypes: false}) - fillFunction("call6#e41e4696", "#e41e4696", &TLItem{tag: 0xe41e4696, annotations: 0x1, tlName: "call6", resultTypeContainsUnionTypes: false}) - fillFunction("call7#262a43e2", "#262a43e2", &TLItem{tag: 0x262a43e2, annotations: 0x1, tlName: "call7", resultTypeContainsUnionTypes: false}) - fillFunction("call8#7b400184", "#7b400184", &TLItem{tag: 0x7b400184, annotations: 0x1, tlName: "call8", resultTypeContainsUnionTypes: false}) - fillFunction("call9#67a0d62d", "#67a0d62d", &TLItem{tag: 0x67a0d62d, annotations: 0x1, tlName: "call9", resultTypeContainsUnionTypes: false}) - fillObject("cd.myType#eab6a6b4", "#eab6a6b4", &TLItem{tag: 0xeab6a6b4, annotations: 0x0, tlName: "cd.myType", resultTypeContainsUnionTypes: false}) - fillObject("cd.response#8c202f64", "#8c202f64", &TLItem{tag: 0x8c202f64, annotations: 0x0, tlName: "cd.response", resultTypeContainsUnionTypes: false}) - fillObject("cd.topLevel3#5cd1ca89", "#5cd1ca89", &TLItem{tag: 0x5cd1ca89, annotations: 0x0, tlName: "cd.topLevel3", resultTypeContainsUnionTypes: false}) - fillObject("cd.typeA#a831a920", "#a831a920", &TLItem{tag: 0xa831a920, annotations: 0x0, tlName: "cd.typeA", resultTypeContainsUnionTypes: false}) - fillObject("cd.typeB#377b4996", "#377b4996", &TLItem{tag: 0x377b4996, annotations: 0x0, tlName: "cd.typeB", resultTypeContainsUnionTypes: false}) - fillObject("cd.typeC#db0f93d4", "#db0f93d4", &TLItem{tag: 0xdb0f93d4, annotations: 0x0, tlName: "cd.typeC", resultTypeContainsUnionTypes: false}) - fillObject("cd.typeD#b5528285", "#b5528285", &TLItem{tag: 0xb5528285, annotations: 0x0, tlName: "cd.typeD", resultTypeContainsUnionTypes: false}) - fillObject("cd.useCycle#6ed67ca0", "#6ed67ca0", &TLItem{tag: 0x6ed67ca0, annotations: 0x0, tlName: "cd.useCycle", resultTypeContainsUnionTypes: false}) - fillObject("cyc1.myCycle#136ecc9e", "#136ecc9e", &TLItem{tag: 0x136ecc9e, annotations: 0x0, tlName: "cyc1.myCycle", resultTypeContainsUnionTypes: false}) - fillObject("cyc2.myCycle#fba5eecb", "#fba5eecb", &TLItem{tag: 0xfba5eecb, annotations: 0x0, tlName: "cyc2.myCycle", resultTypeContainsUnionTypes: false}) - fillObject("cyc3.myCycle#47866860", "#47866860", &TLItem{tag: 0x47866860, annotations: 0x0, tlName: "cyc3.myCycle", resultTypeContainsUnionTypes: false}) - fillObject("cycleTuple#c867fae3", "#c867fae3", &TLItem{tag: 0xc867fae3, annotations: 0x0, tlName: "cycleTuple", resultTypeContainsUnionTypes: false}) - fillObject("halfStr#647ddaf5", "#647ddaf5", &TLItem{tag: 0x647ddaf5, annotations: 0x0, tlName: "halfStr", resultTypeContainsUnionTypes: false}) - fillObject("hren#12ab5219", "#12ab5219", &TLItem{tag: 0x12ab5219, annotations: 0x0, tlName: "hren", resultTypeContainsUnionTypes: false}) - fillObject("int#a8509bda", "#a8509bda", &TLItem{tag: 0xa8509bda, annotations: 0x0, tlName: "int", resultTypeContainsUnionTypes: false}) - fillObject("int32#7934e71f", "#7934e71f", &TLItem{tag: 0x7934e71f, annotations: 0x0, tlName: "int32", resultTypeContainsUnionTypes: false}) - fillObject("int64#f5609de0", "#f5609de0", &TLItem{tag: 0xf5609de0, annotations: 0x0, tlName: "int64", resultTypeContainsUnionTypes: false}) - fillObject("long#22076cba", "#22076cba", &TLItem{tag: 0x22076cba, annotations: 0x0, tlName: "long", resultTypeContainsUnionTypes: false}) - fillObject("maybeTest1#c457763c", "#c457763c", &TLItem{tag: 0xc457763c, annotations: 0x0, tlName: "maybeTest1", resultTypeContainsUnionTypes: false}) - fillObject("multiPoint#0e1ae81e", "#0e1ae81e", &TLItem{tag: 0x0e1ae81e, annotations: 0x0, tlName: "multiPoint", resultTypeContainsUnionTypes: false}) - fillObject("myInt32#ba59e151", "#ba59e151", &TLItem{tag: 0xba59e151, annotations: 0x0, tlName: "myInt32", resultTypeContainsUnionTypes: false}) - fillObject("myInt64#1d95db9d", "#1d95db9d", &TLItem{tag: 0x1d95db9d, annotations: 0x0, tlName: "myInt64", resultTypeContainsUnionTypes: false}) - fillObject("myNat#c60c1b41", "#c60c1b41", &TLItem{tag: 0xc60c1b41, annotations: 0x0, tlName: "myNat", resultTypeContainsUnionTypes: false}) - fillObject("myPlus#79e0c6df", "#79e0c6df", &TLItem{tag: 0x79e0c6df, annotations: 0x0, tlName: "myPlus", resultTypeContainsUnionTypes: false}) - fillObject("myPlus3#692c291b", "#692c291b", &TLItem{tag: 0x692c291b, annotations: 0x0, tlName: "myPlus3", resultTypeContainsUnionTypes: false}) - fillObject("myZero#8d868379", "#8d868379", &TLItem{tag: 0x8d868379, annotations: 0x0, tlName: "myZero", resultTypeContainsUnionTypes: false}) - fillObject("myZero3#103a40cf", "#103a40cf", &TLItem{tag: 0x103a40cf, annotations: 0x0, tlName: "myZero3", resultTypeContainsUnionTypes: false}) - fillObject("nativeWrappers#344ddf50", "#344ddf50", &TLItem{tag: 0x344ddf50, annotations: 0x0, tlName: "nativeWrappers", resultTypeContainsUnionTypes: false}) - fillObject("noStr#3a728324", "#3a728324", &TLItem{tag: 0x3a728324, annotations: 0x0, tlName: "noStr", resultTypeContainsUnionTypes: false}) - fillObject("replace#323db63e", "#323db63e", &TLItem{tag: 0x323db63e, annotations: 0x0, tlName: "replace", resultTypeContainsUnionTypes: false}) - fillObject("replace10#fc81f008", "#fc81f008", &TLItem{tag: 0xfc81f008, annotations: 0x0, tlName: "replace10", resultTypeContainsUnionTypes: false}) - fillObject("replace12#ec121094", "#ec121094", &TLItem{tag: 0xec121094, annotations: 0x0, tlName: "replace12", resultTypeContainsUnionTypes: false}) - fillObject("replace15#2280e430", "#2280e430", &TLItem{tag: 0x2280e430, annotations: 0x0, tlName: "replace15", resultTypeContainsUnionTypes: false}) - fillObject("replace17#f46f9b9b", "#f46f9b9b", &TLItem{tag: 0xf46f9b9b, annotations: 0x0, tlName: "replace17", resultTypeContainsUnionTypes: false}) - fillObject("replace18#704dd712", "#704dd712", &TLItem{tag: 0x704dd712, annotations: 0x0, tlName: "replace18", resultTypeContainsUnionTypes: false}) - fillObject("replace2#e2d4ebee", "#e2d4ebee", &TLItem{tag: 0xe2d4ebee, annotations: 0x0, tlName: "replace2", resultTypeContainsUnionTypes: false}) - fillObject("replace3#51e324e4", "#51e324e4", &TLItem{tag: 0x51e324e4, annotations: 0x0, tlName: "replace3", resultTypeContainsUnionTypes: false}) - fillObject("replace5#8b5bc78a", "#8b5bc78a", &TLItem{tag: 0x8b5bc78a, annotations: 0x0, tlName: "replace5", resultTypeContainsUnionTypes: false}) - fillObject("replace6#abd49d06", "#abd49d06", &TLItem{tag: 0xabd49d06, annotations: 0x0, tlName: "replace6", resultTypeContainsUnionTypes: false}) - fillObject("replace7#f4c66d9f", "#f4c66d9f", &TLItem{tag: 0xf4c66d9f, annotations: 0x0, tlName: "replace7", resultTypeContainsUnionTypes: false}) - fillObject("replace8#d626c117", "#d626c117", &TLItem{tag: 0xd626c117, annotations: 0x0, tlName: "replace8", resultTypeContainsUnionTypes: false}) - fillObject("replace9#95d598c5", "#95d598c5", &TLItem{tag: 0x95d598c5, annotations: 0x0, tlName: "replace9", resultTypeContainsUnionTypes: false}) - fillObject("service5.emptyOutput#ff8f7db8", "#ff8f7db8", &TLItem{tag: 0xff8f7db8, annotations: 0x0, tlName: "service5.emptyOutput", resultTypeContainsUnionTypes: false}) - fillFunction("service5.insert#7cf362ba", "#7cf362ba", &TLItem{tag: 0x7cf362ba, annotations: 0x2, tlName: "service5.insert", resultTypeContainsUnionTypes: false}) - fillObject("service5Long.emptyOutput#ff8f7db9", "#ff8f7db9", &TLItem{tag: 0xff8f7db9, annotations: 0x0, tlName: "service5Long.emptyOutput", resultTypeContainsUnionTypes: false}) - fillFunction("service5Long.insert#7cf362bb", "#7cf362bb", &TLItem{tag: 0x7cf362bb, annotations: 0x2, tlName: "service5Long.insert", resultTypeContainsUnionTypes: false}) - fillObject("service5Long.stringOutput#dc170ff5", "#dc170ff5", &TLItem{tag: 0xdc170ff5, annotations: 0x0, tlName: "service5Long.stringOutput", resultTypeContainsUnionTypes: false}) - fillObject("service5.stringOutput#dc170ff4", "#dc170ff4", &TLItem{tag: 0xdc170ff4, annotations: 0x0, tlName: "service5.stringOutput", resultTypeContainsUnionTypes: false}) - fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string", resultTypeContainsUnionTypes: false}) - fillObject("testMaybe#88920e90", "#88920e90", &TLItem{tag: 0x88920e90, annotations: 0x0, tlName: "testMaybe", resultTypeContainsUnionTypes: false}) - fillObject("testMaybe2#0aa03cf2", "#0aa03cf2", &TLItem{tag: 0x0aa03cf2, annotations: 0x0, tlName: "testMaybe2", resultTypeContainsUnionTypes: false}) - fillObject("true#3fedd339", "#3fedd339", &TLItem{tag: 0x3fedd339, annotations: 0x0, tlName: "true", resultTypeContainsUnionTypes: false}) - fillObject("typeA#157673c1", "#157673c1", &TLItem{tag: 0x157673c1, annotations: 0x0, tlName: "typeA", resultTypeContainsUnionTypes: false}) - fillObject("typeB#9d024802", "#9d024802", &TLItem{tag: 0x9d024802, annotations: 0x0, tlName: "typeB", resultTypeContainsUnionTypes: false}) - fillObject("typeC#6b8ef43f", "#6b8ef43f", &TLItem{tag: 0x6b8ef43f, annotations: 0x0, tlName: "typeC", resultTypeContainsUnionTypes: false}) - fillObject("typeD#b1f4369e", "#b1f4369e", &TLItem{tag: 0xb1f4369e, annotations: 0x0, tlName: "typeD", resultTypeContainsUnionTypes: false}) - fillObject("unionArgsUse#742161d2", "#742161d2", &TLItem{tag: 0x742161d2, annotations: 0x0, tlName: "unionArgsUse", resultTypeContainsUnionTypes: false}) - fillObject("useDictUgly#fb9ce817", "#fb9ce817", &TLItem{tag: 0xfb9ce817, annotations: 0x0, tlName: "useDictUgly", resultTypeContainsUnionTypes: false}) - fillObject("useResponse#0a63ec5f", "#0a63ec5f", &TLItem{tag: 0x0a63ec5f, annotations: 0x0, tlName: "useResponse", resultTypeContainsUnionTypes: false}) - fillObject("useStr#9aa3dee5", "#9aa3dee5", &TLItem{tag: 0x9aa3dee5, annotations: 0x0, tlName: "useStr", resultTypeContainsUnionTypes: false}) - fillObject("useTrue#dfdd4180", "#dfdd4180", &TLItem{tag: 0xdfdd4180, annotations: 0x0, tlName: "useTrue", resultTypeContainsUnionTypes: false}) - fillFunction("usefulService.getUserEntity#3c857e52", "#3c857e52", &TLItem{tag: 0x3c857e52, annotations: 0x2, tlName: "usefulService.getUserEntity", resultTypeContainsUnionTypes: false}) + fillObject("a.blue#623360f3", "#623360f3", &TLItem{tag: 0x623360f3, annotations: 0x0, tlName: "a.blue", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("a.color#f35d7a69", "#f35d7a69", &TLItem{tag: 0xf35d7a69, annotations: 0x0, tlName: "a.color", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("a.green#6127e7b8", "#6127e7b8", &TLItem{tag: 0x6127e7b8, annotations: 0x0, tlName: "a.green", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("a.red#b83a723d", "#b83a723d", &TLItem{tag: 0xb83a723d, annotations: 0x0, tlName: "a.red", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("a.top2#7082d18f", "#7082d18f", &TLItem{tag: 0x7082d18f, annotations: 0x0, tlName: "a.top2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("a.uNionA#a7662843", "#a7662843", &TLItem{tag: 0xa7662843, annotations: 0x0, tlName: "a.uNionA", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.alias#944aaa97", "#944aaa97", &TLItem{tag: 0x944aaa97, annotations: 0x0, tlName: "ab.alias", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call1#20c5fb2d", "#20c5fb2d", &TLItem{tag: 0x20c5fb2d, annotations: 0x1, tlName: "ab.call1", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call10#8db2a4f8", "#8db2a4f8", &TLItem{tag: 0x8db2a4f8, annotations: 0x1, tlName: "ab.call10", resultTypeContainsUnionTypes: true, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call11#ecb2a36c", "#ecb2a36c", &TLItem{tag: 0xecb2a36c, annotations: 0x1, tlName: "ab.call11", resultTypeContainsUnionTypes: true, argumentsTypesContainUnionTypes: true}) + fillFunction("ab.call2#77d5f057", "#77d5f057", &TLItem{tag: 0x77d5f057, annotations: 0x1, tlName: "ab.call2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call3#0a083445", "#0a083445", &TLItem{tag: 0x0a083445, annotations: 0x1, tlName: "ab.call3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call4#c1220a1e", "#c1220a1e", &TLItem{tag: 0xc1220a1e, annotations: 0x1, tlName: "ab.call4", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call5#7ba4d28d", "#7ba4d28d", &TLItem{tag: 0x7ba4d28d, annotations: 0x1, tlName: "ab.call5", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call6#84d815cb", "#84d815cb", &TLItem{tag: 0x84d815cb, annotations: 0x1, tlName: "ab.call6", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call7#46ec10bf", "#46ec10bf", &TLItem{tag: 0x46ec10bf, annotations: 0x1, tlName: "ab.call7", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call8#1b8652d9", "#1b8652d9", &TLItem{tag: 0x1b8652d9, annotations: 0x1, tlName: "ab.call8", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("ab.call9#75de906c", "#75de906c", &TLItem{tag: 0x75de906c, annotations: 0x1, tlName: "ab.call9", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.code#7651b1ac", "#7651b1ac", &TLItem{tag: 0x7651b1ac, annotations: 0x0, tlName: "ab.code", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.counterChangeRequestPeriodsMany#14a35d80", "#14a35d80", &TLItem{tag: 0x14a35d80, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsMany", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.counterChangeRequestPeriodsOne#d9c36de5", "#d9c36de5", &TLItem{tag: 0xd9c36de5, annotations: 0x0, tlName: "ab.counterChangeRequestPeriodsOne", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.empty#1ec6a63e", "#1ec6a63e", &TLItem{tag: 0x1ec6a63e, annotations: 0x0, tlName: "ab.empty", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.myType#e0e96c86", "#e0e96c86", &TLItem{tag: 0xe0e96c86, annotations: 0x0, tlName: "ab.myType", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.testMaybe#4dac492a", "#4dac492a", &TLItem{tag: 0x4dac492a, annotations: 0x0, tlName: "ab.testMaybe", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.topLevel1#e67bce28", "#e67bce28", &TLItem{tag: 0xe67bce28, annotations: 0x0, tlName: "ab.topLevel1", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.topLevel2#cef933fb", "#cef933fb", &TLItem{tag: 0xcef933fb, annotations: 0x0, tlName: "ab.topLevel2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.typeA#a99fef6a", "#a99fef6a", &TLItem{tag: 0xa99fef6a, annotations: 0x0, tlName: "ab.typeA", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.typeB#ff2e6d58", "#ff2e6d58", &TLItem{tag: 0xff2e6d58, annotations: 0x0, tlName: "ab.typeB", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.typeC#69920d6e", "#69920d6e", &TLItem{tag: 0x69920d6e, annotations: 0x0, tlName: "ab.typeC", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.typeD#76615bf1", "#76615bf1", &TLItem{tag: 0x76615bf1, annotations: 0x0, tlName: "ab.typeD", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.useCycle#71687381", "#71687381", &TLItem{tag: 0x71687381, annotations: 0x0, tlName: "ab.useCycle", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("ab.useDictString#3325d884", "#3325d884", &TLItem{tag: 0x3325d884, annotations: 0x0, tlName: "ab.useDictString", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("au.nionA#df61f632", "#df61f632", &TLItem{tag: 0xdf61f632, annotations: 0x0, tlName: "au.nionA", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("b.red#a9471844", "#a9471844", &TLItem{tag: 0xa9471844, annotations: 0x0, tlName: "b.red", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call1#a7302fbc", "#a7302fbc", &TLItem{tag: 0xa7302fbc, annotations: 0x1, tlName: "call1", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call2#f02024c6", "#f02024c6", &TLItem{tag: 0xf02024c6, annotations: 0x1, tlName: "call2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call3#6ace6718", "#6ace6718", &TLItem{tag: 0x6ace6718, annotations: 0x1, tlName: "call3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call4#46d7de8f", "#46d7de8f", &TLItem{tag: 0x46d7de8f, annotations: 0x1, tlName: "call4", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call5#fc51061c", "#fc51061c", &TLItem{tag: 0xfc51061c, annotations: 0x1, tlName: "call5", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call6#e41e4696", "#e41e4696", &TLItem{tag: 0xe41e4696, annotations: 0x1, tlName: "call6", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call7#262a43e2", "#262a43e2", &TLItem{tag: 0x262a43e2, annotations: 0x1, tlName: "call7", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call8#7b400184", "#7b400184", &TLItem{tag: 0x7b400184, annotations: 0x1, tlName: "call8", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("call9#67a0d62d", "#67a0d62d", &TLItem{tag: 0x67a0d62d, annotations: 0x1, tlName: "call9", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.myType#eab6a6b4", "#eab6a6b4", &TLItem{tag: 0xeab6a6b4, annotations: 0x0, tlName: "cd.myType", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.response#8c202f64", "#8c202f64", &TLItem{tag: 0x8c202f64, annotations: 0x0, tlName: "cd.response", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.topLevel3#5cd1ca89", "#5cd1ca89", &TLItem{tag: 0x5cd1ca89, annotations: 0x0, tlName: "cd.topLevel3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.typeA#a831a920", "#a831a920", &TLItem{tag: 0xa831a920, annotations: 0x0, tlName: "cd.typeA", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.typeB#377b4996", "#377b4996", &TLItem{tag: 0x377b4996, annotations: 0x0, tlName: "cd.typeB", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.typeC#db0f93d4", "#db0f93d4", &TLItem{tag: 0xdb0f93d4, annotations: 0x0, tlName: "cd.typeC", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.typeD#b5528285", "#b5528285", &TLItem{tag: 0xb5528285, annotations: 0x0, tlName: "cd.typeD", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cd.useCycle#6ed67ca0", "#6ed67ca0", &TLItem{tag: 0x6ed67ca0, annotations: 0x0, tlName: "cd.useCycle", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cyc1.myCycle#136ecc9e", "#136ecc9e", &TLItem{tag: 0x136ecc9e, annotations: 0x0, tlName: "cyc1.myCycle", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cyc2.myCycle#fba5eecb", "#fba5eecb", &TLItem{tag: 0xfba5eecb, annotations: 0x0, tlName: "cyc2.myCycle", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cyc3.myCycle#47866860", "#47866860", &TLItem{tag: 0x47866860, annotations: 0x0, tlName: "cyc3.myCycle", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("cycleTuple#c867fae3", "#c867fae3", &TLItem{tag: 0xc867fae3, annotations: 0x0, tlName: "cycleTuple", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("halfStr#647ddaf5", "#647ddaf5", &TLItem{tag: 0x647ddaf5, annotations: 0x0, tlName: "halfStr", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("hren#12ab5219", "#12ab5219", &TLItem{tag: 0x12ab5219, annotations: 0x0, tlName: "hren", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("int#a8509bda", "#a8509bda", &TLItem{tag: 0xa8509bda, annotations: 0x0, tlName: "int", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("int32#7934e71f", "#7934e71f", &TLItem{tag: 0x7934e71f, annotations: 0x0, tlName: "int32", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("int64#f5609de0", "#f5609de0", &TLItem{tag: 0xf5609de0, annotations: 0x0, tlName: "int64", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("long#22076cba", "#22076cba", &TLItem{tag: 0x22076cba, annotations: 0x0, tlName: "long", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("maybeTest1#c457763c", "#c457763c", &TLItem{tag: 0xc457763c, annotations: 0x0, tlName: "maybeTest1", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("multiPoint#0e1ae81e", "#0e1ae81e", &TLItem{tag: 0x0e1ae81e, annotations: 0x0, tlName: "multiPoint", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myInt32#ba59e151", "#ba59e151", &TLItem{tag: 0xba59e151, annotations: 0x0, tlName: "myInt32", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myInt64#1d95db9d", "#1d95db9d", &TLItem{tag: 0x1d95db9d, annotations: 0x0, tlName: "myInt64", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myNat#c60c1b41", "#c60c1b41", &TLItem{tag: 0xc60c1b41, annotations: 0x0, tlName: "myNat", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myPlus#79e0c6df", "#79e0c6df", &TLItem{tag: 0x79e0c6df, annotations: 0x0, tlName: "myPlus", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myPlus3#692c291b", "#692c291b", &TLItem{tag: 0x692c291b, annotations: 0x0, tlName: "myPlus3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myZero#8d868379", "#8d868379", &TLItem{tag: 0x8d868379, annotations: 0x0, tlName: "myZero", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("myZero3#103a40cf", "#103a40cf", &TLItem{tag: 0x103a40cf, annotations: 0x0, tlName: "myZero3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("nativeWrappers#344ddf50", "#344ddf50", &TLItem{tag: 0x344ddf50, annotations: 0x0, tlName: "nativeWrappers", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("noStr#3a728324", "#3a728324", &TLItem{tag: 0x3a728324, annotations: 0x0, tlName: "noStr", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace#323db63e", "#323db63e", &TLItem{tag: 0x323db63e, annotations: 0x0, tlName: "replace", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace10#fc81f008", "#fc81f008", &TLItem{tag: 0xfc81f008, annotations: 0x0, tlName: "replace10", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace12#ec121094", "#ec121094", &TLItem{tag: 0xec121094, annotations: 0x0, tlName: "replace12", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace15#2280e430", "#2280e430", &TLItem{tag: 0x2280e430, annotations: 0x0, tlName: "replace15", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace17#f46f9b9b", "#f46f9b9b", &TLItem{tag: 0xf46f9b9b, annotations: 0x0, tlName: "replace17", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace18#704dd712", "#704dd712", &TLItem{tag: 0x704dd712, annotations: 0x0, tlName: "replace18", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace2#e2d4ebee", "#e2d4ebee", &TLItem{tag: 0xe2d4ebee, annotations: 0x0, tlName: "replace2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace3#51e324e4", "#51e324e4", &TLItem{tag: 0x51e324e4, annotations: 0x0, tlName: "replace3", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace5#8b5bc78a", "#8b5bc78a", &TLItem{tag: 0x8b5bc78a, annotations: 0x0, tlName: "replace5", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace6#abd49d06", "#abd49d06", &TLItem{tag: 0xabd49d06, annotations: 0x0, tlName: "replace6", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace7#f4c66d9f", "#f4c66d9f", &TLItem{tag: 0xf4c66d9f, annotations: 0x0, tlName: "replace7", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace8#d626c117", "#d626c117", &TLItem{tag: 0xd626c117, annotations: 0x0, tlName: "replace8", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("replace9#95d598c5", "#95d598c5", &TLItem{tag: 0x95d598c5, annotations: 0x0, tlName: "replace9", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("service5.emptyOutput#ff8f7db8", "#ff8f7db8", &TLItem{tag: 0xff8f7db8, annotations: 0x0, tlName: "service5.emptyOutput", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("service5.insert#7cf362ba", "#7cf362ba", &TLItem{tag: 0x7cf362ba, annotations: 0x2, tlName: "service5.insert", resultTypeContainsUnionTypes: true, argumentsTypesContainUnionTypes: false}) + fillFunction("service5.insertList#7cf362bc", "#7cf362bc", &TLItem{tag: 0x7cf362bc, annotations: 0x2, tlName: "service5.insertList", resultTypeContainsUnionTypes: true, argumentsTypesContainUnionTypes: false}) + fillObject("service5Long.emptyOutput#ff8f7db9", "#ff8f7db9", &TLItem{tag: 0xff8f7db9, annotations: 0x0, tlName: "service5Long.emptyOutput", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("service5Long.insert#7cf362bb", "#7cf362bb", &TLItem{tag: 0x7cf362bb, annotations: 0x2, tlName: "service5Long.insert", resultTypeContainsUnionTypes: true, argumentsTypesContainUnionTypes: false}) + fillObject("service5Long.stringOutput#dc170ff5", "#dc170ff5", &TLItem{tag: 0xdc170ff5, annotations: 0x0, tlName: "service5Long.stringOutput", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("service5.stringOutput#dc170ff4", "#dc170ff4", &TLItem{tag: 0xdc170ff4, annotations: 0x0, tlName: "service5.stringOutput", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("string#b5286e24", "#b5286e24", &TLItem{tag: 0xb5286e24, annotations: 0x0, tlName: "string", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("testMaybe#88920e90", "#88920e90", &TLItem{tag: 0x88920e90, annotations: 0x0, tlName: "testMaybe", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("testMaybe2#0aa03cf2", "#0aa03cf2", &TLItem{tag: 0x0aa03cf2, annotations: 0x0, tlName: "testMaybe2", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("true#3fedd339", "#3fedd339", &TLItem{tag: 0x3fedd339, annotations: 0x0, tlName: "true", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("typeA#157673c1", "#157673c1", &TLItem{tag: 0x157673c1, annotations: 0x0, tlName: "typeA", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("typeB#9d024802", "#9d024802", &TLItem{tag: 0x9d024802, annotations: 0x0, tlName: "typeB", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("typeC#6b8ef43f", "#6b8ef43f", &TLItem{tag: 0x6b8ef43f, annotations: 0x0, tlName: "typeC", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("typeD#b1f4369e", "#b1f4369e", &TLItem{tag: 0xb1f4369e, annotations: 0x0, tlName: "typeD", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("unionArgsUse#742161d2", "#742161d2", &TLItem{tag: 0x742161d2, annotations: 0x0, tlName: "unionArgsUse", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("useDictUgly#fb9ce817", "#fb9ce817", &TLItem{tag: 0xfb9ce817, annotations: 0x0, tlName: "useDictUgly", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("useResponse#0a63ec5f", "#0a63ec5f", &TLItem{tag: 0x0a63ec5f, annotations: 0x0, tlName: "useResponse", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("useStr#9aa3dee5", "#9aa3dee5", &TLItem{tag: 0x9aa3dee5, annotations: 0x0, tlName: "useStr", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillObject("useTrue#dfdd4180", "#dfdd4180", &TLItem{tag: 0xdfdd4180, annotations: 0x0, tlName: "useTrue", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) + fillFunction("usefulService.getUserEntity#3c857e52", "#3c857e52", &TLItem{tag: 0x3c857e52, annotations: 0x2, tlName: "usefulService.getUserEntity", resultTypeContainsUnionTypes: false, argumentsTypesContainUnionTypes: false}) } diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/tl/tl.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/tl/tl.go index 1afc6780..73907a4b 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/tl/tl.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/tl/tl.go @@ -50,6 +50,7 @@ type ( Int64 = internal.Int64 IntBoxedMaybe = internal.IntBoxedMaybe IntMaybe = internal.IntMaybe + ListService5Output = internal.ListService5Output Long = internal.Long MaybeTest1 = internal.MaybeTest1 MaybeWrapperInt3 = internal.MaybeWrapperInt3 diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/tlab/tlab.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/tlab/tlab.go index 930b4849..77463c2b 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/tlab/tlab.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/tlab/tlab.go @@ -14,6 +14,8 @@ import ( type ( Alias = internal.AbAlias Call1 = internal.AbCall1 + Call10 = internal.AbCall10 + Call11 = internal.AbCall11 Call2 = internal.AbCall2 Call3 = internal.AbCall3 Call4 = internal.AbCall4 diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/tljson.html b/internal/tlcodegen/test/gen/goldmaster_nosplit/tljson.html index 4947b156..d0ffeacc 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/tljson.html +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/tljson.html @@ -21,6 +21,16 @@

    Functions

    ab.call1ab.TypeB
  • +
  • + + ab.call10 + → a.Color +
  • +
  • + + ab.call11 + → a.Color +
  • ab.call2 @@ -111,6 +121,11 @@

    Functions

    service5.insertservice5.Output
  • +
  • + + service5.insertList + → List<service5.Output> +
  • service5Long.insert @@ -411,6 +426,46 @@

    ab.call1

    +

    ab.call10

    + +

    + Returns a.Color +
    +
    JSON
    +
    + {} +
    +
    TL
    +
    + read ab.call10#8db2a4f8 = a.Color; +
    +
    + +

    ab.call11

    + +

    + Returns a.Color +
    +
    JSON
    +
    + { + + + + + + + +
      "x": a.Color +
    + } +
    +
    TL
    +
    + read ab.call11#ecb2a36c x:a.Color = a.Color; +
    +
    +

    ab.call2

    @@ -2399,6 +2454,47 @@

    Maybe<int>

    +

    list<service5.Output>

    + //---- test recursive struct without union as result
    + +

    +
    +
    JSON
    +
    + { + + + + + + + + + + + + + + + + + + + +
      "flag": <uint32>, +
      "head": service5.Output,// flag bit #0 + +
      "tail": list<service5.Output>// flag bit #0 + +
    + } +
    +
    TL
    +
    + list#02d80cdd {X:Type} flag:# head:flag.0?X tail:flag.0?(list X) = List X; +
    +
    +

    maybeTest1

    @@ -4092,6 +4188,39 @@

    service5.insert

    +

    service5.insertList

    + +

    + Returns List<service5.Output> +
    +
    JSON
    +
    + { + + + + + + + + + + + + + +
      "flags": <uint32>, +
      "persistent": true// flags bit #0 + +
    + } +
    +
    TL
    +
    + readwrite service5.insertList#7cf362bc flags:# persistent:flags.0?%True = (List service5.Output); +
    +
    +

    service5Long.insert

    diff --git a/internal/tlcodegen/test/gen/goldmaster_nosplit/tlservice5/tlservice5.go b/internal/tlcodegen/test/gen/goldmaster_nosplit/tlservice5/tlservice5.go index 5ad34f48..53af6873 100644 --- a/internal/tlcodegen/test/gen/goldmaster_nosplit/tlservice5/tlservice5.go +++ b/internal/tlcodegen/test/gen/goldmaster_nosplit/tlservice5/tlservice5.go @@ -14,6 +14,7 @@ import ( type ( EmptyOutput = internal.Service5EmptyOutput Insert = internal.Service5Insert + InsertList = internal.Service5InsertList Output = internal.Service5Output StringOutput = internal.Service5StringOutput ) From ad6a25fdb4906b31bfa33fe1cd0f0f03c54ad829 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Wed, 13 Nov 2024 16:29:51 +0300 Subject: [PATCH 35/38] add formal model to tl on Arend --- internal/tlmodel/README.md | 38 ++++++++++ internal/tlmodel/arend.yaml | 4 + internal/tlmodel/src/Model.ard | 95 ++++++++++++++++++++++++ internal/tlmodel/src/Types.ard | 131 +++++++++++++++++++++++++++++++++ 4 files changed, 268 insertions(+) create mode 100644 internal/tlmodel/README.md create mode 100644 internal/tlmodel/arend.yaml create mode 100644 internal/tlmodel/src/Model.ard create mode 100644 internal/tlmodel/src/Types.ard diff --git a/internal/tlmodel/README.md b/internal/tlmodel/README.md new file mode 100644 index 00000000..588deaa8 --- /dev/null +++ b/internal/tlmodel/README.md @@ -0,0 +1,38 @@ +### TL Formal Model on Arend + +В `src/Model.ard` описаны примитивы для описания типов на языке TL. +* В данной модели нет _Boxed_ на момент написания этого файла (13.11.24) +* Для описания типа создайте объект типа `TLType` (разница между union-type и обычными типа лишь в количестве конструкторов) + +Пример для `pair {X: Type} {Y: Type} left:X property:Y = Pair;`: +```haskell +\func TLPair : TLType => \new TLType { + | typeHeader => tl-new-type 1 (^Type :: (^Type :: nil)) + | constructorsCount => 1 + | constructors => (\new TLConstructor { + | fields-count => 2 + | fields => + (\new TLFieldDefinition { + | fieldProp => idp + | fieldMask => nothing + | fieldType => field-generic (\new TLGenericRef { + | i => 0 + | isGeneric => idp + }) + }) eac-:: + (\new TLFieldDefinition { + | fieldProp => idp + | fieldMask => nothing + | fieldType => field-generic (\new TLGenericRef { + | i => 1 + | isGeneric => idp + }) + }) eac-:: + eac-nil + }) eac-:: eac-nil + | newType => is-new-type + | nonEmpty => contradiction +} +``` + +Другие примеры лежат в `src/Types.ard`. Также там есть пример не выводимой в тле конструкции (которая не компилиться в Arend) \ No newline at end of file diff --git a/internal/tlmodel/arend.yaml b/internal/tlmodel/arend.yaml new file mode 100644 index 00000000..79e0af66 --- /dev/null +++ b/internal/tlmodel/arend.yaml @@ -0,0 +1,4 @@ +langVersion: 1.10 +sourcesDir: src +binariesDir: bin +dependencies: [arend-lib] \ No newline at end of file diff --git a/internal/tlmodel/src/Model.ard b/internal/tlmodel/src/Model.ard new file mode 100644 index 00000000..8c6b000e --- /dev/null +++ b/internal/tlmodel/src/Model.ard @@ -0,0 +1,95 @@ +\import Arith.Nat +\import Data.Bool +\import Data.List +\import Data.Maybe +\import Data.Or +\import Logic +\import Order.StrictOrder +\import Paths.Meta + +\data TypeArgument + | ^Type + | # + \where { + \func isNat (td : TypeArgument) : Bool \elim td + | ^Type => false + | # => true + } + +\data TypeData + | tl-nat + | tl-builtin-array + | tl-new-type (typeNo : Nat) (args : List TypeArgument) + \where { + \func args (t : TypeData) : List TypeArgument \elim t + | tl-nat => nil + | tl-builtin-array => # :: ^Type :: nil + | tl-new-type typeNo args => args + } + +\record TLGenericRef + | deps : List TypeArgument + | i : Fin (length deps) + | isGeneric : deps !! i = ^Type + +\data TLNatRef (deps : List TypeArgument) (prevNats : List Bool) + | fromDep (i : Fin (length deps)) (isNat : deps !! i = #) + | fromPrevField (i : Fin (length prevNats)) (isNat : So (prevNats !! i)) + +\data TLTypeArguments (args : List TypeArgument) (prevNats : List Bool) (restArgs : List TypeArgument) \elim restArgs + | nil => end-args + | # :: restArgs => applyConst (n : Nat) (TLTypeArguments args prevNats restArgs) + | # :: restArgs => applyNatRef (ref : TLNatRef args prevNats) (TLTypeArguments args prevNats restArgs) + | ^Type :: restArgs => applyGeneric (gen : TLGenericRef args) (TLTypeArguments args prevNats restArgs) + | ^Type :: restArgs => applyType (t : TypeData) (tArgs : TLTypeArguments args prevNats (TypeData.args t)) (TLTypeArguments args prevNats restArgs) + +\record TLFieldMask (deps : List TypeArgument) (prevNats : List Bool) (v : TLNatRef deps prevNats) (bit : Fin 32) + +\record TLFieldDefinition + | args : List TypeArgument + | prevNats : List Bool + | fieldNo : Nat + | fieldProp : fieldNo = length prevNats + | fieldMask : Maybe (TLFieldMask args prevNats) + | fieldType : TLFieldType args prevNats + +\data TLFieldType (deps : List TypeArgument) (prevNats : List Bool) + | field-generic (TLGenericRef deps) + | field-application (t : TypeData) (tArgs : TLTypeArguments deps prevNats (TypeData.args t)) + +\record TLConstructor + | type-header : TypeData + | type-constructor-count : Nat + | constructor-id : Fin type-constructor-count + | fields-count : Nat + | fields : + EnumarateArrayWithAccum + fields-count + {List Bool} + (\lam fi nats => TLFieldDefinition (TypeData.args type-header) nats fi) + nil + (\lam _ acc cur => \case cur \with { + | (p,m, field-application tl-nat end-args) => true :: acc + | _ => false :: acc + }) + +\data IsNewType (t : TypeData) \elim t + | tl-new-type typeNo args => is-new-type + +\record TLType + | typeHeader : TypeData + | constructorsCount : Nat + | constructors : EnumarateArray constructorsCount (\lam fi => TLConstructor typeHeader constructorsCount fi) + | newType : IsNewType typeHeader + | nonEmpty : constructorsCount /= 0 + +\data EnumarateArrayWithAccum + (n : Nat) + {C : \Type} + (A : \Pi (fi : Fin n) -> C -> \Type) + (cur : C) + (next : \Pi (fi : Fin n) (acc : C) (cur : A fi acc) -> C) \elim n + | 0 => eac-nil + | (suc n) => \infixr 5 eac-:: (a : A 0 cur) (EnumarateArrayWithAccum n {C} (\lam f c => A (suc f) c) (next 0 cur a) (\lam f acc cur => next (suc f) acc cur)) + +\func EnumarateArray (n : Nat) (A : \Pi (fi : Fin n) -> \Type) => EnumarateArrayWithAccum n {Nat} (\lam fi _ => A fi) 0 (\lam _ _ _ => 0) \ No newline at end of file diff --git a/internal/tlmodel/src/Types.ard b/internal/tlmodel/src/Types.ard new file mode 100644 index 00000000..9a1ce25f --- /dev/null +++ b/internal/tlmodel/src/Types.ard @@ -0,0 +1,131 @@ +\import Data.List +\import Data.Maybe +\import Logic.Meta +\import Model + +\func TLInt : TLType => \new TLType { + | typeHeader => tl-new-type 0 nil + | constructorsCount => 1 + | constructors => (\new TLConstructor { + | fields-count => 0 + | fields => eac-nil + }) eac-:: eac-nil + | nonEmpty => contradiction + | newType => is-new-type +} + +\func TLPair : TLType => \new TLType { + | typeHeader => tl-new-type 1 (^Type :: (^Type :: nil)) + | constructorsCount => 1 + | constructors => (\new TLConstructor { + | fields-count => 2 + | fields => + (\new TLFieldDefinition { + | fieldProp => idp + | fieldMask => nothing + | fieldType => field-generic (\new TLGenericRef { + | i => 0 + | isGeneric => idp + }) + }) eac-:: + (\new TLFieldDefinition { + | fieldProp => idp + | fieldMask => nothing + | fieldType => field-generic (\new TLGenericRef { + | i => 1 + | isGeneric => idp + }) + }) eac-:: + eac-nil + }) eac-:: eac-nil + | newType => is-new-type + | nonEmpty => contradiction +} + +\func TLVector : TLType => \new TLType { + | typeHeader => tl-new-type 2 (^Type :: nil) + | constructorsCount => 1 + | constructors => (\new TLConstructor { + | fields-count => 2 + | fields => + (\new TLFieldDefinition { + | fieldProp => idp + | fieldMask => nothing + | fieldType => field-application tl-nat end-args + }) eac-:: + (\new TLFieldDefinition { + | fieldProp => idp + | fieldMask => nothing + | fieldType => field-application tl-builtin-array (applyNatRef (fromPrevField 0 ()) (applyGeneric (\new TLGenericRef { + | i => 0 + | isGeneric => idp + }) end-args)) + }) eac-:: + eac-nil + }) eac-:: eac-nil + | newType => is-new-type + | nonEmpty => contradiction +} +-- struct f1:# f2:f1.0?# f3:f2.31?# = Struct; +\func TlNikitaStruct : TLType => \new TLType { + | typeHeader => tl-new-type 4 nil + | constructorsCount => 1 + | constructors => + (\new TLConstructor { + | fields-count => 3 + | fields => + (\new TLFieldDefinition { + | fieldProp => idp + | fieldMask => nothing + | fieldType => field-application tl-nat end-args + }) eac-:: + (\new TLFieldDefinition { + | fieldProp => idp + | fieldMask => just (\new TLFieldMask { + | v => fromPrevField 0 () + | bit => 0 + }) + | fieldType => field-application tl-nat end-args + }) eac-:: + (\new TLFieldDefinition { + | fieldProp => idp + | fieldMask => just (\new TLFieldMask { + | v => fromPrevField 1 () + | bit => 31 + }) + | fieldType => field-application tl-nat end-args + }) eac-:: + eac-nil + }) + eac-:: eac-nil + | newType => is-new-type + | nonEmpty => contradiction +} + +-- struct f1:int f2:f1.0?# = Struct; +\func NonTLStruct : TLType => \new TLType { + | typeHeader => tl-new-type 1488 nil + | constructorsCount => 1 + | constructors => + (\new TLConstructor { + | fields-count => 2 + | fields => + (\new TLFieldDefinition { + | fieldProp => idp + | fieldMask => nothing + | fieldType => field-application TLInt.typeHeader end-args + }) eac-:: + (\new TLFieldDefinition { + | fieldProp => idp + | fieldMask => just (\new TLFieldMask { + | v => fromPrevField 0 {?} + | bit => 0 + }) + | fieldType => field-application tl-nat end-args + }) eac-:: + eac-nil + }) eac-:: + eac-nil + | newType => is-new-type + | nonEmpty => contradiction +} \ No newline at end of file From d30f9d962e84072f34d45889a95fd5e71fca7873 Mon Sep 17 00:00:00 2001 From: Fedor Vikhnin Date: Sat, 16 Nov 2024 12:16:21 +0300 Subject: [PATCH 36/38] small refactor --- internal/tlmodel/README.md | 2 +- internal/tlmodel/src/Types.ard | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/tlmodel/README.md b/internal/tlmodel/README.md index 588deaa8..8e644fe9 100644 --- a/internal/tlmodel/README.md +++ b/internal/tlmodel/README.md @@ -4,7 +4,7 @@ * В данной модели нет _Boxed_ на момент написания этого файла (13.11.24) * Для описания типа создайте объект типа `TLType` (разница между union-type и обычными типа лишь в количестве конструкторов) -Пример для `pair {X: Type} {Y: Type} left:X property:Y = Pair;`: +Пример для `pair {X: Type} {Y: Type} left:X right:Y = Pair;`: ```haskell \func TLPair : TLType => \new TLType { | typeHeader => tl-new-type 1 (^Type :: (^Type :: nil)) diff --git a/internal/tlmodel/src/Types.ard b/internal/tlmodel/src/Types.ard index 9a1ce25f..f62c751a 100644 --- a/internal/tlmodel/src/Types.ard +++ b/internal/tlmodel/src/Types.ard @@ -67,7 +67,7 @@ | nonEmpty => contradiction } -- struct f1:# f2:f1.0?# f3:f2.31?# = Struct; -\func TlNikitaStruct : TLType => \new TLType { +\func TLStructWithDependentFields : TLType => \new TLType { | typeHeader => tl-new-type 4 nil | constructorsCount => 1 | constructors => @@ -104,7 +104,7 @@ -- struct f1:int f2:f1.0?# = Struct; \func NonTLStruct : TLType => \new TLType { - | typeHeader => tl-new-type 1488 nil + | typeHeader => tl-new-type 5 nil | constructorsCount => 1 | constructors => (\new TLConstructor { From c0ed2789c12f52cbe0c8835ff88c02d8865a50e7 Mon Sep 17 00:00:00 2001 From: Grigory Buteyko Date: Sat, 21 Sep 2024 01:00:03 +0300 Subject: [PATCH 37/38] new linter --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a6fb4477..3ddcc2c5 100644 --- a/Makefile +++ b/Makefile @@ -160,4 +160,4 @@ cpp: .PHONY: check check: build @go test $(shell go list ./cmd/... ./internal/... ./pkg/... | grep -v /internal/tlcodegen/test/gen/) - @go run honnef.co/go/tools/cmd/staticcheck@v0.4.7 ./... # update version together with github actions \ No newline at end of file + @go run honnef.co/go/tools/cmd/staticcheck@v0.5.1 ./... # update version together with github actions \ No newline at end of file From f6126702a43288fdd932d9e28401ae4de3a8e332 Mon Sep 17 00:00:00 2001 From: Grigory Buteyko Date: Mon, 18 Nov 2024 22:34:55 +0300 Subject: [PATCH 38/38] documentation --- docs/go.md | 109 +++++++++++++++++++++++++++++++++++++++++++++++ docs/tldoc.ru.md | 5 +++ 2 files changed, 114 insertions(+) create mode 100644 docs/go.md diff --git a/docs/go.md b/docs/go.md new file mode 100644 index 00000000..be087273 --- /dev/null +++ b/docs/go.md @@ -0,0 +1,109 @@ +# Go генератор + +tlgen детерминистский и генерирует при повторном запуске один и тот же код, так что +сгенерированный код можно добавлять в систему контроля версий. + +По-умолчанию все комбинаторы генерируются в один internal пакет, плюс для каждого +namespace TL генерируется пакет с алиасами. Это сделано потому, что Go не поддерживает рекурсивные зависимости между пакетами, а TL поддерживает. + +Для очень больших TL-файлов, содержащих тысячи комбинаторов, можно передать флаг --split-internal, тогда каждый тип помещается в собственный internal пакет. +Затем пакеты для типов, рекурсивно использующих друг друга, обьединяются. +Это сделано для того, чтобы при изменении одного комбинатора TL не приходилось перекомпилировать код большинства комбинаторов. + +Также tlgen поддерживает опцию --typesWhiteList, если вам нужна только часть namespace или комбинаторов, то можно явно указать их имена. + +# шаблоны + +TL-шаблоны полностью инстанцируются (для каждой использованной комбинации аргументов). + +Так что pair pair превращаются в PairIntInt и PairLongLong. + + +# простые типы + +Отображаются в соответствующие типы Go + +Nat (#) в uint32, int в int32, long в int64, Bool в bool. + +String в string или []byte (В так называемые Bytes-версиях типов) + +# векторы и туплы + +Отображаются в массивы (если размер фиксирован), либо в слайсы. + +Отображение в массивы важно, так как позволяет 3*3*[int] отобразить в тип [3][3]int, который можно разместить на стеке и передать как знаение без аллокаций. + +Из-за этой оптимизации для следующих комбинаторов 3*[int] 4*[int] и n*[int] где n нефиксирован будет сгенрировано 3 разных Go типа. + +# структуры + +Отображаются в структуры Go. + +# маски полей + +Локальные маски полей хранятся в натуральном для TL виде uint32, если какое-то поле зависит от маски полей, то кроме поля будет сгенерированы методы +SetFieldX и IsSetFieldX который ставят и проверяют соответствующий бит маски. + +Маски полей-аргументы шаблона не хранятся в объектах, а передаются снаружи в методы Read, Write. + +Таким образом сгенерированные типы не содержат избыточных масок полей. + +# обьединения + +Генерируются в структуру Go, содержащую все варианты обьединения. +На первый взгляд это неоптимально с точки зрения памяти, но на самом деле позволяет идеально переиспользовать []byte и слайсы в +каждом варианте при повторном парсинге. Это часто перекрывает эффект от того, что сами структуры занимают немного больше. + +В качестве селектора варианта используется приватное поле номер конструктора. + +# перечисления + +Похожи на обьединения, но содержат функции MakeXXX + +# Bytes-версии и работы с минимумом аллокаций + +tlgen генерирует эффективный код на go, который поддерживает стиль +программирования с reuse, позволяющий значительно уменьшить число аллокаций и стоимость GC. + +Если комбинатор содержит TL string, то генерируется go string, так что при каждом чтении TL будет происходить аллокация каждой строки. +С помощь опции --generateByteVersions можно попросить tlgen сгенерировать в дополнение к основным также версии типов, где вместо строк используется []byte. + +При чтении соответствуюший []byte будет переиспользоваться, и если длина достаточно, то новой аллокации не будет. + +Таким образом, например, если сервер читает некий TL запрос, он может иметь sync.Pool структур, брать из пула структуру, десерилизоввать, отвечать на запрос, и затем класть структуру обратно в пул. +При работе сервера все строки и другие слайсы довольно быстро перестанут аллоцироваться, и таким образо деаллоцироваться. + +Нужно только понимать, что всеми слайсами в TL объекте владеет сам TL-объект, и при необходимости долговременного хранения нужно либо скопировать себе данные, либо сослаться на них, но тогда не класть структуру обратно в пул для reuse. + +# метаданные и фабрика + +Генерируется также пакет meta и factory. + +meta содержит метаданные для всех комбинаторов, доступные по magic или имени комбинатора. + +Если импортировать пакет factory, то для каждого комбинатора можно будет в runtime получить интерфейс, который позволит читать записывать и перекодировать TL-обьекты в другой формат на лету. + +# JSON-представление + +Все сгенерированные типы кроме методов ReadTL и WriteTL содержат также методы ReadJSON и WriteJSON. + +Также WriteJSON используется в реализации интерфейса String(), так что печать TL-обьекта на экран или в лог +выводит его в каноническом формате, который можно распарсить. + +Больше информации про каноническое представление JSON есть в документе TLPrimer.pdf + +Если передать флаг --generateSchemaDocumentation, то сгенерируется HTML с документацией и примерами JSON для каждого комбинатора. + +# RPC + +Если передать флаг --generateRPCCode, то для всех TL-функций будет сгенерирова код +для реализации сервера (Handler) и клиентов (Client) в каждом пакете соответствующем TL namespace. + +Этот код требует пакет RPC, который находится в opensource как часть проекта statashouse. +В дальнейшем есть планы пепеместить код RPC в проект tlgen. + +# random + +Если передать флаг --generateRandomCode, то у каждого сгенерированного типа появится возможность +создавать детерминистски случайный экземпляр, это важно для тестов. + diff --git a/docs/tldoc.ru.md b/docs/tldoc.ru.md index 9bb71f0c..4328089e 100644 --- a/docs/tldoc.ru.md +++ b/docs/tldoc.ru.md @@ -1,5 +1,10 @@ # TL (Type Language) +Формат md не поддерживает цвета, так что лучше всего читать +исходный документ в формате pdf. + +Этот же файл получен автоконвертером и без цветов на схемах гораздо менее понятен, чем оригинал. + ## Общие сведения TL это язык описания данных и формат хранения данных.