From b32adbe3c5e804e0ef86732a5789cc6e3204244c Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Fri, 21 Mar 2025 15:05:33 +0000 Subject: [PATCH] Migrate C++ roadmap --- astro.config.mjs | 8 + .../raw-pointers/100-new-delete-operators.md | 47 - .../raw-pointers/101-memory-leakage.md | 28 - .../raw-pointers/index.md | 1 - .../smart-pointers/100-weak-ptr.md | 52 - .../smart-pointers/101-shared-ptr.md | 50 - .../smart-pointers/102-uniqe-ptr.md | 66 - .../smart-pointers/index.md | 1 - .../overloading-functions.md | 45 - .../virtual-methods.md | 65 - .../virtual-tables.md | 51 - ...ccess-violations@y4-P4UNC--rE1vni8HdTn.md} | 0 ...md => algorithms@whyj6Z4RXFsVQYRfYYn7B.md} | 0 ...ndent-lookup-adl@YSWN7nS8vA9nMldSUrZRT.md} | 0 ...hmetic-operators@8aOSpZLWwZv_BEYiurhyR.md} | 0 ...c-type-deduction@CG01PTVgHtjfKvsJkJLGl.md} | 0 ...basic-operations@kl2JI_Wl47c5r8SYzxvCq.md} | 0 ...itwise-operators@zE4iPSq2KsrDSByQ0sGK_.md} | 0 .../content/boost@1d7h5P1Q0RVHryKPVogQy.md | 0 ...=> build-systems@jVXFCo6puMxJ_ifn_uwim.md} | 0 ...cpp0x.md => c-0x@PPg0V5EzGBeJsysg1215V.md} | 0 ...4.md => c-11--14@T6rCTv9Dxkm-tEA-l9XEv.md} | 0 ...cpp17.md => c-17@R2-qWGUxsTOeSHRuUzhd2.md} | 0 ...cpp20.md => c-20@o3no4a5_iMFzEAGs56-BJ.md} | 0 ...cpp.md => c-vs-c@2Ag0t3LPryTF8khHLRfy-.md} | 0 .../content/catch2@s13jQuaC6gw0Lab3Cbyy6.md | 0 ...make.md => cmake@ysnXvSHGBMMozBJyXpHl5.md} | 0 ...de-editors--ides@ew0AfyadpXPRO0ZY3Z19k.md} | 0 ... compiler-stages@DVckzBUMgk_lWThVkLyAT.md} | 0 ...ers-and-features@hSG6Aux39X0cXi6ADy2al.md} | 0 ....md => compilers@FTMHsUiE8isD_OVZr62Xc.md} | 0 ...onan.md => conan@ky_UqizToTZHC_b77qFi2.md} | 0 ...md => const_cast@5g22glc97siQOcTkHbwan.md} | 0 ...md => containers@1pydf-SR0QUfVNuBEyvzc.md} | 0 ...=> copy-and-swap@lxAzI42jQdaofzQ5MXebG.md} | 0 ...=> copy-on-write@O2Du5gHHxFxAI2u5uO8wu.md} | 0 ...-crtp.md => crtp@ttt-yeIi4BPWrgvW324W7.md} | 0 ...md => data-types@MwznA4qfpNlv6sqSNjPZi.md} | 0 ...md => date--time@yGvE6eHKlPMBB6rde0llR.md} | 0 ....md => debuggers@qmHs6_BzND_xpMmls5YUH.md} | 0 ...ebugging-symbols@sR_FxGZHoMCV9Iv7z2_SX.md} | 0 ...mond-inheritance@ofwdZm05AUqCIWmfgGHk8.md} | 0 ...mic-polymorphism@7h1VivjCPDwriL7FirtFv.md} | 0 ...> dynamic-typing@i0EAFEUB-F0wBJWOtrl1A.md} | 0 ... => dynamic_cast@4BdFcuQ5KNW94cu2jz-vE.md} | 0 ... => erase-remove@YvmjrZSAOmjhVPo05MJqN.md} | 0 ...ception-handling@B2SGBENzUMl0SAjG4j91V.md} | 0 ...md => exceptions@NJud5SXBAUZ6Sr78kZ7jx.md} | 0 ...md => exit-codes@oWygnpwHq2poXQMTTSCpl.md} | 0 .../cpp/content/fmt@1CqQgmHDeo1HlPdpUJS7H.md | 0 ...--do-while-loops@_IP_e1K9LhNHilYTDh7L5.md} | 0 ...ward-declaration@ZHjU60uzJTezADRhDTESG.md} | 0 .../cpp/content/frameworks/100-gtest.md | 75 - .../roadmaps/cpp/content/frameworks/101-qt.md | 37 - .../cpp/content/frameworks/102-catch2.md | 96 - .../content/frameworks/103-orbit-profiler.md | 69 - .../cpp/content/frameworks/104-pytorch-cpp.md | 71 - .../roadmaps/cpp/content/frameworks/index.md | 1 - ...e-specialization@6hTcmJwNnQstbWWzNCfTe.md} | 0 ...ction-overloading@sgfqb22sdN4VRJYkhAVaf.md | 0 ....md => functions@oYi3YOc1GC2Nfp71VOkJt.md} | 0 ...03-gdb.md => gdb@BmWsoL9c_Aag5nVlMsKm2.md} | 0 .../cpp/content/grpc@621J9W4xCofumNZGo4TZT.md | 0 .../gtest--gmock@MrAM-viRaF8DSxB6sVdD9.md | 0 ...aders--cpp-files@CK7yf8Bo7kfbV6x2tZTrh.md} | 0 ...dex.md => idioms@fb3bnfKXjSIjPAk4b95lg.md} | 0 src/data/roadmaps/cpp/content/index.md | 1 - ... => installing-c@0J_ltQEJh2g28OE2ZEYJj.md} | 0 ...tion-to-language@NvODRFR0DLINB0RlPSsvt.md} | 0 ...m.md => iostream@VeVxZ230xkesQsIDig8zQ.md} | 0 ....md => iterators@Ebu8gzbyyXEeJryeE0SpG.md} | 0 ...da.md => lambdas@xjiFBVe-VGqCqWfkPVGKf.md} | 0 ...anguage-concepts@-6fwJQOfsorgHkoQGp4T3.md} | 0 .../cpp/content/libraries/100-boost.md | 45 - .../cpp/content/libraries/101-open-cv.md | 57 - .../cpp/content/libraries/102-poco.md | 76 - .../cpp/content/libraries/103-protobuf.md | 79 - .../cpp/content/libraries/104-grpc.md | 129 - .../cpp/content/libraries/105-tensorflow.md | 5 - .../cpp/content/libraries/106-pybind11.md | 70 - .../cpp/content/libraries/107-spdlog.md | 59 - .../cpp/content/libraries/108-opencl.md | 59 - .../roadmaps/cpp/content/libraries/109-fmt.md | 69 - .../cpp/content/libraries/110-ranges-v3.md | 84 - .../roadmaps/cpp/content/libraries/index.md | 1 - ...ibrary-inclusion@5mNqH_AEiLxUmgurNW1Fq.md} | 0 ....md => licensing@sLVs95EOeHZldoKY0L_dH.md} | 0 ...etime-of-objects@9aA_-IfQ9WmbPgwic0mFN.md} | 0 ...ogical-operators@Y9gq8WkDA_XGe68JkY2UZ.md} | 0 ...ros.md => macros@zKdlfZTRHwjtmRUGW9z9-.md} | 0 ...e.md => makefile@t6rZLH7l8JQm99ax_fEJ9.md} | 0 .../memory-leakage@6w0WExQ4lGIGgok6Thq0s.md | 0 ... => memory-model@mSFwsTYvmg-GwG4_DEIEf.md} | 0 ...iple-inheritance@WjHpueZDK-d3oDNMVZi9w.md} | 0 ...> multithreading@OXQUPqxzs1-giAACwl3X1.md} | 0 ...=> name-mangling@Lt7ss59KZw9Jwqj234jm2.md} | 0 ...md => namespaces@iIdC7V8sojwyEqK1xMuHn.md} | 0 ...wdelete-operators@Gld0nRs0sM8kRe8XmYolu.md | 0 ...est.md => newest@sxbbKtg7kMNbkx7fXhjR9.md} | 0 ...inja.md => ninja@HkUCD5A_M9bJxJRElkK0x.md} | 0 ...le--non-moveable@xjUaIp8gGxkN-cp8emJ2M.md} | 0 ...uget.md => nuget@g0s0F4mLV16eNvMBflN2e.md} | 0 ...nted-programming@b3-QYKNcW3LYCNOza3Olf.md} | 0 .../content/opencl@GGZJaYpRENaqloJzt0VtY.md | 0 .../content/opencv@Eq3TKSFJ2F2mrTHAaU2J4.md | 0 ...ator-overloading@llCBeut_uc9IAe2oi4KZ9.md} | 0 .../orbit-profiler@O0lVEMTAV1pq9sYCKQvh_.md | 0 ...package-managers@h29eJG1hWHa7vMhSqtfV2.md} | 0 ...e-specialization@1NYJtbdcdOB4-vIrnq4yX.md} | 0 ...impl.md => pimpl@MEoWt8NKjPLVTeGgYf3cR.md} | 0 .../cpp/content/poco@nOkniNXfXwPPlOEJHJoGl.md | 0 ...s-and-references@DWw8NxkLpIpiOSUaZZ1oA.md} | 0 .../content/protobuf@jpMCIWQko7p3ndezYHL4D.md | 0 .../content/pybind11@tEkvlJPAkD5fji-MMODL7.md | 0 .../pytorch-c@88pr5aN7cctZfDVVo-2ns.md | 0 .../cpp/content/qt@gAZ9Dqgj1_UkaLzVgzx1t.md | 0 ...-raii.md => raii@OmHDlLxCnH8RDdu5vx9fl.md} | 0 .../ranges_v3@et-dXKPYuyVW6eV2K3CM8.md | 0 ...md => references@uUzRKa9wGzdUwwmAg3FWr.md} | 0 ...reinterpret_cast@ZMyFDJrpCauGrY5NZkOwg.md} | 0 ...-rtti.md => rtti@r0yD1gfn03wTpEBi6zNsu.md} | 0 ...-zero-five-three@7sdEzZCIoarzznwO4XcCv.md} | 0 ...ur-first-program@SEq0D2Zg5WTsIDtd1hW9f.md} | 0 ...ndex.md => scope@dKCYmxDNZubCVcR5rf8b-.md} | 0 ...your-environment@Zc_TTzmM36yWsu3GvOy9x.md} | 0 ...nae.md => sfinae@3C5UfejDX-1Z8ZF6C53xD.md} | 0 .../shared_ptr@b5jZIZD_U_CPg-_bdndjz.md | 0 ...pack.md => spack@3ehBc2sKVlPj7dn4RVZCH.md} | 0 .../content/spdlog@q64qFxoCrR38RPsN2lC8x.md | 0 ...ard-library--stl@DHdNBP7_ixjr6h-dIQ7g6.md} | 0 ...md => standardds@vvE1aUsWbF1OFcmMUHbJa.md} | 0 ...tic-polymorphism@obZIxRp0eMWdG7gplNIBc.md} | 0 ...=> static-typing@f1djN0GxoeVPr_0cl6vMq.md} | 0 ...d => static_cast@_XB2Imyf23-6AOeoNLhYQ.md} | 0 ...ures-and-classes@CMlWNQwpywNhO9B6Yj6Me.md} | 0 ...cturing-codebase@Zw2AOTK5uc9BoKEpY7W1C.md} | 0 ...e-specialization@sObOuccY0PDeGG-9GrFDF.md} | 0 ....md => templates@-6AOrbuOE7DJCmxlcgCay.md} | 0 .../tensorflow@j_eNHhs0J08Dt7HVbo4Q2.md | 0 ... => type-casting@PiMhw1oP9-NZEa6I9u4lX.md} | 0 ...d => type-traits@WptReUOwVth3C9-AVmMHF.md} | 0 ...ined-behavior-ub@IDOlquv6jlfecwQoBwkGZ.md} | 0 ...ebugger-messages@VtPb8-AJKzhTB0QbMtoU4.md} | 0 .../unique_ptr@k9c5seRkhgm_yHPpiz2X0.md | 0 ...riadic-templates@w4EIf58KP-Pq-yc0HlGxc.md} | 0 ...cpkg.md => vcpkg@PKG5pACLfRS2ogfzBX47_.md} | 0 .../virtual-methods@hNBErGNiegLsUJn_vgcOR.md | 0 .../virtual-tables@s99ImazcwCgAESxZd8ksa.md | 0 .../content/weak_ptr@vUwSS-uX36OWZouO0wOcy.md | 0 ....md => what-is-c@x_28LiDVshqWns_aIBsdx.md} | 0 ....md => why-use-c@tl6VCQ5IEGDVyFcgj7jDm.md} | 0 ...dbg.md => windbg@y8VCbGDUco9bzGRfIBD8R.md} | 0 ...g-with-libraries@4kkX5g_-plX9zVqr0ZoiR.md} | 0 src/data/roadmaps/cpp/cpp.json | 21567 ++++------------ src/data/roadmaps/cpp/cpp.md | 3 +- src/data/roadmaps/cpp/migration-mapping.json | 125 + src/lib/resource-progress.ts | 5 +- 157 files changed, 5639 insertions(+), 17558 deletions(-) delete mode 100644 src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/100-new-delete-operators.md delete mode 100644 src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/101-memory-leakage.md delete mode 100644 src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/index.md delete mode 100644 src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/100-weak-ptr.md delete mode 100644 src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/101-shared-ptr.md delete mode 100644 src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/102-uniqe-ptr.md delete mode 100644 src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/index.md delete mode 100644 src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/100-static-polymorphism/overloading-functions.md delete mode 100644 src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/101-dynamic-polymorphism/virtual-methods.md delete mode 100644 src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/101-dynamic-polymorphism/virtual-tables.md rename src/data/roadmaps/cpp/content/{108-exception-handling/100-exceptions/100-access-violations.md => access-violations@y4-P4UNC--rE1vni8HdTn.md} (100%) rename src/data/roadmaps/cpp/content/{110-stl/102-algorithms.md => algorithms@whyj6Z4RXFsVQYRfYYn7B.md} (100%) rename src/data/roadmaps/cpp/content/{109-language-concepts/103-adl.md => argument-dependent-lookup-adl@YSWN7nS8vA9nMldSUrZRT.md} (100%) rename src/data/roadmaps/cpp/content/{102-basic-operations/100-arithmetic-operators.md => arithmetic-operators@8aOSpZLWwZv_BEYiurhyR.md} (100%) rename src/data/roadmaps/cpp/content/{109-language-concepts/100-auto.md => auto-automatic-type-deduction@CG01PTVgHtjfKvsJkJLGl.md} (100%) rename src/data/roadmaps/cpp/content/{102-basic-operations/index.md => basic-operations@kl2JI_Wl47c5r8SYzxvCq.md} (100%) rename src/data/roadmaps/cpp/content/{102-basic-operations/103-bitwise.md => bitwise-operators@zE4iPSq2KsrDSByQ0sGK_.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/boost@1d7h5P1Q0RVHryKPVogQy.md rename src/data/roadmaps/cpp/content/{116-build-systems/index.md => build-systems@jVXFCo6puMxJ_ifn_uwim.md} (100%) rename src/data/roadmaps/cpp/content/{113-standards/104-cpp0x.md => c-0x@PPg0V5EzGBeJsysg1215V.md} (100%) rename src/data/roadmaps/cpp/content/{113-standards/100-cpp11-14.md => c-11--14@T6rCTv9Dxkm-tEA-l9XEv.md} (100%) rename src/data/roadmaps/cpp/content/{113-standards/101-cpp17.md => c-17@R2-qWGUxsTOeSHRuUzhd2.md} (100%) rename src/data/roadmaps/cpp/content/{113-standards/102-cpp20.md => c-20@o3no4a5_iMFzEAGs56-BJ.md} (100%) rename src/data/roadmaps/cpp/content/{100-introduction/102-c-vs-cpp.md => c-vs-c@2Ag0t3LPryTF8khHLRfy-.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/catch2@s13jQuaC6gw0Lab3Cbyy6.md rename src/data/roadmaps/cpp/content/{116-build-systems/100-cmake.md => cmake@ysnXvSHGBMMozBJyXpHl5.md} (100%) rename src/data/roadmaps/cpp/content/{101-setting-up/101-code-editors.md => code-editors--ides@ew0AfyadpXPRO0ZY3Z19k.md} (100%) rename src/data/roadmaps/cpp/content/{115-compilers/100-stages.md => compiler-stages@DVckzBUMgk_lWThVkLyAT.md} (100%) rename src/data/roadmaps/cpp/content/{115-compilers/101-features.md => compilers-and-features@hSG6Aux39X0cXi6ADy2al.md} (100%) rename src/data/roadmaps/cpp/content/{115-compilers/index.md => compilers@FTMHsUiE8isD_OVZr62Xc.md} (100%) rename src/data/roadmaps/cpp/content/{117-package-managers/102-conan.md => conan@ky_UqizToTZHC_b77qFi2.md} (100%) rename src/data/roadmaps/cpp/content/{109-language-concepts/101-type-casting/101-const-cast.md => const_cast@5g22glc97siQOcTkHbwan.md} (100%) rename src/data/roadmaps/cpp/content/{110-stl/105-ccontainers.md => containers@1pydf-SR0QUfVNuBEyvzc.md} (100%) rename src/data/roadmaps/cpp/content/{112-idioms/105-copy-swap.md => copy-and-swap@lxAzI42jQdaofzQ5MXebG.md} (100%) rename src/data/roadmaps/cpp/content/{112-idioms/106-copy-write.md => copy-on-write@O2Du5gHHxFxAI2u5uO8wu.md} (100%) rename src/data/roadmaps/cpp/content/{112-idioms/102-crtp.md => crtp@ttt-yeIi4BPWrgvW324W7.md} (100%) rename src/data/roadmaps/cpp/content/{104-data-types/index.md => data-types@MwznA4qfpNlv6sqSNjPZi.md} (100%) rename src/data/roadmaps/cpp/content/{110-stl/103-date-time.md => date--time@yGvE6eHKlPMBB6rde0llR.md} (100%) rename src/data/roadmaps/cpp/content/{114-debuggers/index.md => debuggers@qmHs6_BzND_xpMmls5YUH.md} (100%) rename src/data/roadmaps/cpp/content/{114-debuggers/101-debugger-symbols.md => debugging-symbols@sR_FxGZHoMCV9Iv7z2_SX.md} (100%) rename src/data/roadmaps/cpp/content/{107-structures-and-classes/102-multiple-inheritance/100-diamond-inheritance.md => diamond-inheritance@ofwdZm05AUqCIWmfgGHk8.md} (100%) rename src/data/roadmaps/cpp/content/{107-structures-and-classes/101-oop/101-dynamic-polymorphism/index.md => dynamic-polymorphism@7h1VivjCPDwriL7FirtFv.md} (100%) rename src/data/roadmaps/cpp/content/{104-data-types/101-dynamic-typing/index.md => dynamic-typing@i0EAFEUB-F0wBJWOtrl1A.md} (100%) rename src/data/roadmaps/cpp/content/{109-language-concepts/101-type-casting/102-dynamic-cast.md => dynamic_cast@4BdFcuQ5KNW94cu2jz-vE.md} (100%) rename src/data/roadmaps/cpp/content/{112-idioms/104-erase-remove.md => erase-remove@YvmjrZSAOmjhVPo05MJqN.md} (100%) rename src/data/roadmaps/cpp/content/{108-exception-handling/index.md => exception-handling@B2SGBENzUMl0SAjG4j91V.md} (100%) rename src/data/roadmaps/cpp/content/{108-exception-handling/100-exceptions/index.md => exceptions@NJud5SXBAUZ6Sr78kZ7jx.md} (100%) rename src/data/roadmaps/cpp/content/{108-exception-handling/101-exit-codes.md => exit-codes@oWygnpwHq2poXQMTTSCpl.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/fmt@1CqQgmHDeo1HlPdpUJS7H.md rename src/data/roadmaps/cpp/content/{102-basic-operations/102-loops.md => for--while--do-while-loops@_IP_e1K9LhNHilYTDh7L5.md} (100%) rename src/data/roadmaps/cpp/content/{106-structuring-codebase/101-code-splitting/100-forward-declaration.md => forward-declaration@ZHjU60uzJTezADRhDTESG.md} (100%) delete mode 100644 src/data/roadmaps/cpp/content/frameworks/100-gtest.md delete mode 100644 src/data/roadmaps/cpp/content/frameworks/101-qt.md delete mode 100644 src/data/roadmaps/cpp/content/frameworks/102-catch2.md delete mode 100644 src/data/roadmaps/cpp/content/frameworks/103-orbit-profiler.md delete mode 100644 src/data/roadmaps/cpp/content/frameworks/104-pytorch-cpp.md delete mode 100644 src/data/roadmaps/cpp/content/frameworks/index.md rename src/data/roadmaps/cpp/content/{111-templates/101-template-specialization/100-full.md => full-template-specialization@6hTcmJwNnQstbWWzNCfTe.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/function-overloading@sgfqb22sdN4VRJYkhAVaf.md rename src/data/roadmaps/cpp/content/{103-functions/index.md => functions@oYi3YOc1GC2Nfp71VOkJt.md} (100%) rename src/data/roadmaps/cpp/content/{114-debuggers/103-gdb.md => gdb@BmWsoL9c_Aag5nVlMsKm2.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/grpc@621J9W4xCofumNZGo4TZT.md create mode 100644 src/data/roadmaps/cpp/content/gtest--gmock@MrAM-viRaF8DSxB6sVdD9.md rename src/data/roadmaps/cpp/content/{106-structuring-codebase/101-code-splitting/index.md => headers--cpp-files@CK7yf8Bo7kfbV6x2tZTrh.md} (100%) rename src/data/roadmaps/cpp/content/{112-idioms/index.md => idioms@fb3bnfKXjSIjPAk4b95lg.md} (100%) delete mode 100644 src/data/roadmaps/cpp/content/index.md rename src/data/roadmaps/cpp/content/{101-setting-up/100-installing.md => installing-c@0J_ltQEJh2g28OE2ZEYJj.md} (100%) rename src/data/roadmaps/cpp/content/{100-introduction/index.md => introduction-to-language@NvODRFR0DLINB0RlPSsvt.md} (100%) rename src/data/roadmaps/cpp/content/{110-stl/101-iostream.md => iostream@VeVxZ230xkesQsIDig8zQ.md} (100%) rename src/data/roadmaps/cpp/content/{110-stl/100-iterators.md => iterators@Ebu8gzbyyXEeJryeE0SpG.md} (100%) rename src/data/roadmaps/cpp/content/{103-functions/100-lambda.md => lambdas@xjiFBVe-VGqCqWfkPVGKf.md} (100%) rename src/data/roadmaps/cpp/content/{109-language-concepts/index.md => language-concepts@-6fwJQOfsorgHkoQGp4T3.md} (100%) delete mode 100644 src/data/roadmaps/cpp/content/libraries/100-boost.md delete mode 100644 src/data/roadmaps/cpp/content/libraries/101-open-cv.md delete mode 100644 src/data/roadmaps/cpp/content/libraries/102-poco.md delete mode 100644 src/data/roadmaps/cpp/content/libraries/103-protobuf.md delete mode 100644 src/data/roadmaps/cpp/content/libraries/104-grpc.md delete mode 100644 src/data/roadmaps/cpp/content/libraries/105-tensorflow.md delete mode 100644 src/data/roadmaps/cpp/content/libraries/106-pybind11.md delete mode 100644 src/data/roadmaps/cpp/content/libraries/107-spdlog.md delete mode 100644 src/data/roadmaps/cpp/content/libraries/108-opencl.md delete mode 100644 src/data/roadmaps/cpp/content/libraries/109-fmt.md delete mode 100644 src/data/roadmaps/cpp/content/libraries/110-ranges-v3.md delete mode 100644 src/data/roadmaps/cpp/content/libraries/index.md rename src/data/roadmaps/cpp/content/{118-working-with-libs/100-inclusion.md => library-inclusion@5mNqH_AEiLxUmgurNW1Fq.md} (100%) rename src/data/roadmaps/cpp/content/{118-working-with-libs/101-licensing.md => licensing@sLVs95EOeHZldoKY0L_dH.md} (100%) rename src/data/roadmaps/cpp/content/{105-pointers-and-references/101-memory-model/100-object-lifetime.md => lifetime-of-objects@9aA_-IfQ9WmbPgwic0mFN.md} (100%) rename src/data/roadmaps/cpp/content/{102-basic-operations/101-logical-operators.md => logical-operators@Y9gq8WkDA_XGe68JkY2UZ.md} (100%) rename src/data/roadmaps/cpp/content/{109-language-concepts/105-macros.md => macros@zKdlfZTRHwjtmRUGW9z9-.md} (100%) rename src/data/roadmaps/cpp/content/{116-build-systems/101-makefile.md => makefile@t6rZLH7l8JQm99ax_fEJ9.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/memory-leakage@6w0WExQ4lGIGgok6Thq0s.md rename src/data/roadmaps/cpp/content/{105-pointers-and-references/101-memory-model/index.md => memory-model@mSFwsTYvmg-GwG4_DEIEf.md} (100%) rename src/data/roadmaps/cpp/content/{107-structures-and-classes/102-multiple-inheritance/index.md => multiple-inheritance@WjHpueZDK-d3oDNMVZi9w.md} (100%) rename src/data/roadmaps/cpp/content/{110-stl/104-multithreading.md => multithreading@OXQUPqxzs1-giAACwl3X1.md} (100%) rename src/data/roadmaps/cpp/content/{109-language-concepts/104-name-mangling.md => name-mangling@Lt7ss59KZw9Jwqj234jm2.md} (100%) rename src/data/roadmaps/cpp/content/{106-structuring-codebase/100-scope/100-namespaces.md => namespaces@iIdC7V8sojwyEqK1xMuHn.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/newdelete-operators@Gld0nRs0sM8kRe8XmYolu.md rename src/data/roadmaps/cpp/content/{113-standards/103-newest.md => newest@sxbbKtg7kMNbkx7fXhjR9.md} (100%) rename src/data/roadmaps/cpp/content/{116-build-systems/102-ninja.md => ninja@HkUCD5A_M9bJxJRElkK0x.md} (100%) rename src/data/roadmaps/cpp/content/{112-idioms/103-non-copyable.md => non-copyable--non-moveable@xjUaIp8gGxkN-cp8emJ2M.md} (100%) rename src/data/roadmaps/cpp/content/{117-package-managers/103-nuget.md => nuget@g0s0F4mLV16eNvMBflN2e.md} (100%) rename src/data/roadmaps/cpp/content/{107-structures-and-classes/101-oop/index.md => object-oriented-programming@b3-QYKNcW3LYCNOza3Olf.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/opencl@GGZJaYpRENaqloJzt0VtY.md create mode 100644 src/data/roadmaps/cpp/content/opencv@Eq3TKSFJ2F2mrTHAaU2J4.md rename src/data/roadmaps/cpp/content/{103-functions/101-operators.md => operator-overloading@llCBeut_uc9IAe2oi4KZ9.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/orbit-profiler@O0lVEMTAV1pq9sYCKQvh_.md rename src/data/roadmaps/cpp/content/{117-package-managers/index.md => package-managers@h29eJG1hWHa7vMhSqtfV2.md} (100%) rename src/data/roadmaps/cpp/content/{111-templates/101-template-specialization/101-partial.md => partial-template-specialization@1NYJtbdcdOB4-vIrnq4yX.md} (100%) rename src/data/roadmaps/cpp/content/{112-idioms/101-pimpl.md => pimpl@MEoWt8NKjPLVTeGgYf3cR.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/poco@nOkniNXfXwPPlOEJHJoGl.md rename src/data/roadmaps/cpp/content/{105-pointers-and-references/index.md => pointers-and-references@DWw8NxkLpIpiOSUaZZ1oA.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/protobuf@jpMCIWQko7p3ndezYHL4D.md create mode 100644 src/data/roadmaps/cpp/content/pybind11@tEkvlJPAkD5fji-MMODL7.md create mode 100644 src/data/roadmaps/cpp/content/pytorch-c@88pr5aN7cctZfDVVo-2ns.md create mode 100644 src/data/roadmaps/cpp/content/qt@gAZ9Dqgj1_UkaLzVgzx1t.md rename src/data/roadmaps/cpp/content/{112-idioms/100-raii.md => raii@OmHDlLxCnH8RDdu5vx9fl.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/ranges_v3@et-dXKPYuyVW6eV2K3CM8.md rename src/data/roadmaps/cpp/content/{105-pointers-and-references/100-references.md => references@uUzRKa9wGzdUwwmAg3FWr.md} (100%) rename src/data/roadmaps/cpp/content/{109-language-concepts/101-type-casting/103-reinterpret-cast.md => reinterpret_cast@ZMyFDJrpCauGrY5NZkOwg.md} (100%) rename src/data/roadmaps/cpp/content/{104-data-types/101-dynamic-typing/100-rtti.md => rtti@r0yD1gfn03wTpEBi6zNsu.md} (100%) rename src/data/roadmaps/cpp/content/{107-structures-and-classes/100-rule-of-zero-five-three.md => rule-of-zero-five-three@7sdEzZCIoarzznwO4XcCv.md} (100%) rename src/data/roadmaps/cpp/content/{101-setting-up/102-first-program.md => running-your-first-program@SEq0D2Zg5WTsIDtd1hW9f.md} (100%) rename src/data/roadmaps/cpp/content/{106-structuring-codebase/100-scope/index.md => scope@dKCYmxDNZubCVcR5rf8b-.md} (100%) rename src/data/roadmaps/cpp/content/{101-setting-up/index.md => setting-up-your-environment@Zc_TTzmM36yWsu3GvOy9x.md} (100%) rename src/data/roadmaps/cpp/content/{111-templates/103-finae.md => sfinae@3C5UfejDX-1Z8ZF6C53xD.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/shared_ptr@b5jZIZD_U_CPg-_bdndjz.md rename src/data/roadmaps/cpp/content/{117-package-managers/101-spack.md => spack@3ehBc2sKVlPj7dn4RVZCH.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/spdlog@q64qFxoCrR38RPsN2lC8x.md rename src/data/roadmaps/cpp/content/{110-stl/index.md => standard-library--stl@DHdNBP7_ixjr6h-dIQ7g6.md} (100%) rename src/data/roadmaps/cpp/content/{113-standards/index.md => standardds@vvE1aUsWbF1OFcmMUHbJa.md} (100%) rename src/data/roadmaps/cpp/content/{107-structures-and-classes/101-oop/100-static-polymorphism/index.md => static-polymorphism@obZIxRp0eMWdG7gplNIBc.md} (100%) rename src/data/roadmaps/cpp/content/{104-data-types/100-static-typing.md => static-typing@f1djN0GxoeVPr_0cl6vMq.md} (100%) rename src/data/roadmaps/cpp/content/{109-language-concepts/101-type-casting/100-static-cast.md => static_cast@_XB2Imyf23-6AOeoNLhYQ.md} (100%) rename src/data/roadmaps/cpp/content/{107-structures-and-classes/index.md => structures-and-classes@CMlWNQwpywNhO9B6Yj6Me.md} (100%) rename src/data/roadmaps/cpp/content/{106-structuring-codebase/index.md => structuring-codebase@Zw2AOTK5uc9BoKEpY7W1C.md} (100%) rename src/data/roadmaps/cpp/content/{111-templates/101-template-specialization/index.md => template-specialization@sObOuccY0PDeGG-9GrFDF.md} (100%) rename src/data/roadmaps/cpp/content/{111-templates/index.md => templates@-6AOrbuOE7DJCmxlcgCay.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/tensorflow@j_eNHhs0J08Dt7HVbo4Q2.md rename src/data/roadmaps/cpp/content/{109-language-concepts/101-type-casting/index.md => type-casting@PiMhw1oP9-NZEa6I9u4lX.md} (100%) rename src/data/roadmaps/cpp/content/{111-templates/102-type-traits.md => type-traits@WptReUOwVth3C9-AVmMHF.md} (100%) rename src/data/roadmaps/cpp/content/{109-language-concepts/102-undefined-behavior.md => undefined-behavior-ub@IDOlquv6jlfecwQoBwkGZ.md} (100%) rename src/data/roadmaps/cpp/content/{114-debuggers/100-debugger-messages.md => understanding-debugger-messages@VtPb8-AJKzhTB0QbMtoU4.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/unique_ptr@k9c5seRkhgm_yHPpiz2X0.md rename src/data/roadmaps/cpp/content/{111-templates/100-variadic-templates.md => variadic-templates@w4EIf58KP-Pq-yc0HlGxc.md} (100%) rename src/data/roadmaps/cpp/content/{117-package-managers/100-vcpkg.md => vcpkg@PKG5pACLfRS2ogfzBX47_.md} (100%) create mode 100644 src/data/roadmaps/cpp/content/virtual-methods@hNBErGNiegLsUJn_vgcOR.md create mode 100644 src/data/roadmaps/cpp/content/virtual-tables@s99ImazcwCgAESxZd8ksa.md create mode 100644 src/data/roadmaps/cpp/content/weak_ptr@vUwSS-uX36OWZouO0wOcy.md rename src/data/roadmaps/cpp/content/{100-introduction/100-what-is-cpp.md => what-is-c@x_28LiDVshqWns_aIBsdx.md} (100%) rename src/data/roadmaps/cpp/content/{100-introduction/101-why-cpp.md => why-use-c@tl6VCQ5IEGDVyFcgj7jDm.md} (100%) rename src/data/roadmaps/cpp/content/{114-debuggers/102-win-dbg.md => windbg@y8VCbGDUco9bzGRfIBD8R.md} (100%) rename src/data/roadmaps/cpp/content/{118-working-with-libs/index.md => working-with-libraries@4kkX5g_-plX9zVqr0ZoiR.md} (100%) create mode 100644 src/data/roadmaps/cpp/migration-mapping.json diff --git a/astro.config.mjs b/astro.config.mjs index 89e8133ef..1993cefe8 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -11,6 +11,14 @@ import react from '@astrojs/react'; // https://astro.build/config export default defineConfig({ site: 'https://roadmap.sh/', + vite: { + server: { + allowedHosts: [ + 'roadmap.sh', + 'port3k.kamranahmed.info', + ], + }, + }, markdown: { shikiConfig: { theme: 'dracula', diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/100-new-delete-operators.md b/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/100-new-delete-operators.md deleted file mode 100644 index d810f0f0c..000000000 --- a/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/100-new-delete-operators.md +++ /dev/null @@ -1,47 +0,0 @@ -# Raw Pointers and `new` and `delete` operators - -Raw pointers in C++ are low-level constructs that directly hold a memory address. They can be used for manually allocating memory, creating dynamic arrays, and passing values efficiently, among other things. - -## `new` Operator - -The `new` operator is used to allocate memory on the heap. The memory allocated using `new` remains available until you explicitly deallocate it using the corresponding `delete` operator. - -Here's an example of using the `new` operator: - -```cpp -int* ptr = new int; // Dynamically allocates an int on the heap -*ptr = 42; // Assigns the value 42 to the allocated int -``` - -## `delete` Operator - -The `delete` operator is used to deallocate memory that has been allocated using `new`. After memory is deallocated, it's available to be reallocated for other purposes. Failing to properly deallocate memory can lead to memory leaks. - -Here's an example of using the `delete` operator: - -```cpp -int* ptr = new int; // Dynamically allocates an int on the heap -*ptr = 42; // Assigns the value 42 to the allocated int - -delete ptr; // Deallocates the memory assigned to ptr -``` - -## `new[]` and `delete[]` Operators - -The `new[]` and `delete[]` operators are used for allocating and deallocating memory for an array of objects. The syntax for `new[]` and `delete[]` is very similar to that of `new` and `delete`. - -Here's an example of using the `new[]` and `delete[]` operators: - -```cpp -int n = 10; -int* arr = new int[n]; // Dynamically allocates an array of 10 integers on the heap - -// Set some values in the array -for (int i = 0; i < n; i++) { - arr[i] = i; -} - -delete[] arr; // Deallocates the memory assigned to the array -``` - -In summary, raw pointers, and `new` and `delete` operators allow manual memory management in C++, providing control over allocation and deallocation. Make sure to always deallocate memory allocated with `new` or `new[]`, to avoid memory leaks in your programs. diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/101-memory-leakage.md b/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/101-memory-leakage.md deleted file mode 100644 index c14976913..000000000 --- a/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/101-memory-leakage.md +++ /dev/null @@ -1,28 +0,0 @@ -# Memory Leakage - -Memory leakage occurs when a program allocates memory in the heap but does not release the memory back to the operating system when it is no longer needed. Over time, this leads to exhaustion of available memory, resulting in low system performance or crashes. - -In C++, when you use raw pointers, you need to manage the memory allocation and deallocation manually. In many cases, you will use the `new` keyword to allocate memory for an object in the heap and use `delete` keyword to deallocate that memory when it's no longer needed. Forgetting to do this can cause memory leaks. - -Here's an example: - -```cpp -void create_memory_leak() { - int* ptr = new int[100]; // Allocating memory in the heap for an array of integers - // Some code... - // Code to deallocate the memory is missing: delete[] ptr; -} // ptr goes out of scope, memory block allocated is not deallocated, causing a memory leak. -``` - -To avoid memory leaks, you should always ensure that memory is deallocated before a pointer goes out of scope or is reassigned. Some ways to achieve this include using the C++ smart pointers (`std::unique_ptr`, `std::shared_ptr`), RAII (Resource Acquisition Is Initialization) techniques, and containers from the C++ standard library that manage memory allocation internally (e.g., `std::vector`, `std::string`). - -For example, this code will not have a memory leak: - -```cpp -#include - -void no_memory_leak() { - std::shared_ptr ptr = std::make_shared(100); // Allocating memory in the heap for an array of integers using shared_ptr - // Some code... -} // shared_ptr goes out of scope and it will automatically deallocate the memory block assigned to it. -``` diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/index.md b/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/index.md deleted file mode 100644 index b51d70e7f..000000000 --- a/src/data/roadmaps/cpp/content/105-pointers-and-references/raw-pointers/index.md +++ /dev/null @@ -1 +0,0 @@ -# Raw pointers \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/100-weak-ptr.md b/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/100-weak-ptr.md deleted file mode 100644 index 2581f6698..000000000 --- a/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/100-weak-ptr.md +++ /dev/null @@ -1,52 +0,0 @@ -# Weak Pointer - -A `weak_ptr` is a type of smart pointer in C++ that adds a level of indirection and safety to a raw pointer. It is mainly used to break reference cycles in cases where two objects have shared pointers to each other, or when you need a non-owning reference to an object that is managed by a `shared_ptr`. - -A `weak_ptr` does not increase the *ownership* reference count of the object it points to, which is a key difference between `weak_ptr` and `shared_ptr`. The control block associated with the object maintains two counts: one for the number of `shared_ptr`s (ownership count) and another for the number of `weak_ptr`s (weak count). The existence of `weak_ptr`s does not prevent the object from being deleted; the object is destroyed once the last `shared_ptr` that owns it is destroyed or reset, even if `weak_ptr`s are still referencing the object. However, the control block itself is not deallocated until both the ownership count reaches zero and the weak count also reaches zero, allowing `weak_ptr`s to safely detect whether the object has already been deleted. - -To use a `weak_ptr`, you must convert it to a `shared_ptr` using the `lock()` function, which tries to create a new `shared_ptr` that shares ownership of the object. If successful, the object's reference count is increased and you can use the returned `shared_ptr` to safely access the object. - -Here's an example of using `weak_ptr`: - -```cpp -#include -#include - -class MyClass { -public: - void DoSomething() { - std::cout << "Doing something...\n"; - } -}; - -int main() { - std::weak_ptr weak; - - { - std::shared_ptr shared = std::make_shared(); - weak = shared; - - if (auto sharedFromWeak = weak.lock()) { - sharedFromWeak->DoSomething(); // Safely use the object - std::cout << "Shared uses count: " << sharedFromWeak.use_count() << '\n'; // 2 - } - } - - // shared goes out of scope and the MyClass object is destroyed - - if (auto sharedFromWeak = weak.lock()) { - // This block will not be executed because the object is destroyed - } - else { - std::cout << "Object has been destroyed\n"; - } - - return 0; -} -``` - -In this example, we create a `shared_ptr` named `shared` that manages a `MyClass` object. By assigning it to a `weak_ptr` named `weak`, we store a non-owning reference to the object. Inside the inner scope, we create a new `shared_ptr` named `sharedFromWeak` using `weak.lock()` to safely use the object. After the inner scope, the `MyClass` object is destroyed since `shared` goes out of scope, and any further attempt to create a `shared_ptr` from `weak` will fail as the object is already destroyed. - -Learn more from the following resources: - -- [@article@CPP Reference](https://en.cppreference.com/w/cpp/memory/weak_ptr) diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/101-shared-ptr.md b/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/101-shared-ptr.md deleted file mode 100644 index 7f9962a83..000000000 --- a/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/101-shared-ptr.md +++ /dev/null @@ -1,50 +0,0 @@ -# Shared Pointer - -A `shared_ptr` is a type of smart pointer in C++ that allows multiple pointers to share ownership of a dynamically allocated object. The object will be automatically deallocated only when the last `shared_ptr` that points to it is destroyed. - -When using a `shared_ptr`, the reference counter is automatically incremented every time a new pointer is created, and decremented when each pointer goes out of scope. Once the reference counter reaches zero, the system will clean up the memory. - -## Code Example - -Here's an example of how to use `shared_ptr`: - -```cpp -#include -#include - -class MyClass { -public: - MyClass() { std::cout << "Constructor is called." << std::endl; } - ~MyClass() { std::cout << "Destructor is called." << std::endl; } -}; - -int main() { - // create a shared pointer to manage the MyClass object - std::shared_ptr ptr1(new MyClass()); - - { - // create another shared pointer and initialize it with the previously created pointer - std::shared_ptr ptr2 = ptr1; - - std::cout << "Inside the inner scope." << std::endl; - // both pointers share the same object, and the reference counter has been increased to 2 - } - - std::cout << "Outside the inner scope." << std::endl; - // leaving the inner scope will destroy ptr2, and the reference counter is decremented to 1 - - // the main function returns, ptr1 goes out of scope, and the reference counter becomes 0 - // this causes the MyClass object to be deleted and the destructor is called -} -``` - -Output: - -``` -Constructor is called. -Inside the inner scope. -Outside the inner scope. -Destructor is called. -``` - -In this example, `ptr1` and `ptr2` share ownership of the same object. The object is only destroyed when both pointers go out of scope and the reference counter becomes zero. \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/102-uniqe-ptr.md b/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/102-uniqe-ptr.md deleted file mode 100644 index 709f19c26..000000000 --- a/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/102-uniqe-ptr.md +++ /dev/null @@ -1,66 +0,0 @@ -# Unique Pointer (`unique_ptr`) - -`std::unique_ptr` is a smart pointer provided by the C++ Standard Library. It is a template class that is used for managing single objects or arrays. - -`unique_ptr` works on the concept of *exclusive ownership* - meaning only one `unique_ptr` is allowed to own an object at a time. This ownership can be transferred or moved, but it cannot be shared or copied. - -This concept helps to prevent issues like dangling pointers, reduce memory leaks, and eliminates the need for manual memory management. When the `unique_ptr` goes out of scope, it automatically deletes the object it owns. - -Let's take a look at some basic examples of using `unique_ptr`: - -## Creating a unique_ptr - -```cpp -#include -#include - -int main() { - std::unique_ptr p1(new int(5)); // Initialize with pointer to a new integer - std::unique_ptr p2 = std::make_unique(10); // Preferred method (C++14 onwards) - - std::cout << *p1 << ", " << *p2 << std::endl; - return 0; -} -``` - -## Transferring Ownership - -```cpp -#include -#include - -int main() { - std::unique_ptr p1(new int(5)); - - std::unique_ptr p2 = std::move(p1); // Ownership is transferred from p1 to p2 - - if (p1) { - std::cout << "p1 owns the object" << std::endl; - } else if (p2) { - std::cout << "p2 owns the object" << std::endl; - } - - return 0; -} -``` - -## Using unique_ptr with Custom Deleters - -```cpp -#include -#include - -struct MyDeleter { - void operator()(int* ptr) { - std::cout << "Custom Deleter: Deleting pointer" << std::endl; - delete ptr; - } -}; - -int main() { - std::unique_ptr p1(new int(5), MyDeleter()); - return 0; // Custom Deleter will be called when p1 goes out of scope -} -``` - -Remember that since unique_ptr has exclusive ownership, you cannot use it when you need shared access to an object. For such cases, you can use `std::shared_ptr`. \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/index.md b/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/index.md deleted file mode 100644 index 13048aff1..000000000 --- a/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/index.md +++ /dev/null @@ -1 +0,0 @@ -# Smart pointers \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/100-static-polymorphism/overloading-functions.md b/src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/100-static-polymorphism/overloading-functions.md deleted file mode 100644 index 8fdbf507a..000000000 --- a/src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/100-static-polymorphism/overloading-functions.md +++ /dev/null @@ -1,45 +0,0 @@ -# Function Overloading - -Function overloading is a type of static polymorphism in C++ where multiple functions with the same name but different sets of parameters are defined in the same scope. This allows you to use the same function name for multiple tasks by providing different arguments while calling the function. The appropriate function to call is determined during compile-time based on the number and types of the arguments passed. - -To overload a function, simply define another function with the same name but a different set of parameters. The compiler will automatically choose the correct function to call based on the provided arguments. - -## Examples - -Here's an example illustrating function overloading: - -```cpp -#include - -void print(int num) { - std::cout << "Printing int: " << num << std::endl; -} - -void print(double num) { - std::cout << "Printing double: " << num << std::endl; -} - -void print(char const *str) { - std::cout << "Printing string: " << str << std::endl; -} - -int main() { - print(5); - print(3.14); - print("Hello, world!"); - - return 0; -} -``` - -In this example, three overloaded functions named `print` are defined. They each take a different type of argument: `int`, `double`, and `char const *`. When calling `print()` with different arguments like `5`, `3.14`, or `"Hello, world!"`, the appropriate function is chosen based on the type of the provided argument. - -The output of this program would be: - -``` -Printing int: 5 -Printing double: 3.14 -Printing string: Hello, world! -``` - -Keep in mind that the number of parameters and their types should be different for two functions to be overloaded. diff --git a/src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/101-dynamic-polymorphism/virtual-methods.md b/src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/101-dynamic-polymorphism/virtual-methods.md deleted file mode 100644 index 372952d81..000000000 --- a/src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/101-dynamic-polymorphism/virtual-methods.md +++ /dev/null @@ -1,65 +0,0 @@ -# Virtual Methods - -Virtual methods are a key aspect of dynamic polymorphism in C++. They allow subclass methods to override the methods of their base class, so the appropriate method is called depending on the actual type of an object at runtime. - -To declare a method as virtual, simply use the `virtual` keyword in the method's declaration in the base class. This tells the compiler that the method should be treated as a virtual method, allowing it to be overridden by derived classes. - -## Code Example - -Here's an example demonstrating virtual methods: - -```cpp -#include - -// Base class -class Shape { -public: - virtual double area() const { - return 0; - } -}; - -// Derived class -class Circle : public Shape { -public: - Circle(double r) : radius(r) {} - - // Override the base class method - double area() const override { - return 3.14 * radius * radius; - } - -private: - double radius; -}; - -// Derived class -class Rectangle : public Shape { -public: - Rectangle(double w, double h) : width(w), height(h) {} - - // Override the base class method - double area() const override { - return width * height; - } - -private: - double width; - double height; -}; - -int main() { - Circle c(5); - Rectangle r(4, 6); - - Shape* shape = &c; - std::cout << "Circle's area: " << shape->area() << std::endl; - - shape = &r; - std::cout << "Rectangle's area: " << shape->area() << std::endl; - - return 0; -} -``` - -In this example, we define a base class `Shape` that has a virtual method `area`. This method is then overridden by the derived classes `Circle` and `Rectangle`. By using a virtual method and a base class pointer to the derived objects, we can invoke the appropriate `area` method based on the actual object type at runtime. \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/101-dynamic-polymorphism/virtual-tables.md b/src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/101-dynamic-polymorphism/virtual-tables.md deleted file mode 100644 index b89591e63..000000000 --- a/src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/101-dynamic-polymorphism/virtual-tables.md +++ /dev/null @@ -1,51 +0,0 @@ -# Virtual Tables - -Virtual Tables (or Vtable) are a mechanism used by C++ compilers to support dynamic polymorphism. In dynamic polymorphism, the appropriate function is called at runtime, depending on the actual object type. - -When a class contains a virtual function, the compiler creates a virtual table for that class. This table contains function pointers to the virtual functions defined in the class. Each object of that class has a pointer to its virtual table (_vptr_, virtual pointer), which is automatically initialized by the compiler during object construction. - -## Example - -Let's consider the following example: - -```cpp -class Base { -public: - virtual void function1() { - std::cout << "Base::function1" << std::endl; - } - - virtual void function2() { - std::cout << "Base::function2" << std::endl; - } -}; - -class Derived : public Base { -public: - void function1() override { - std::cout << "Derived::function1" << std::endl; - } - - void function3() { - std::cout << "Derived::function3" << std::endl; - } -}; - -int main() { - Base* obj = new Derived(); // create a Derived object and assign a pointer of type Base* - obj->function1(); // calls Derived::function1, due to dynamic polymorphism - obj->function2(); // calls Base::function2 - - delete obj; - return 0; -} -``` - -In this example, when a `Derived` object is created, the compiler generates a Vtable for `Derived` class, containing pointers to its virtual functions: - -- `Derived::function1` (overridden from `Base`) -- `Base::function2` (inherits from Base) - -The `_vptr_` pointer in the `Derived` object points to this Vtable. When the `function1` is called on the `Base` pointer pointing to the `Derived` object, the function pointer in the Vtable is used to call the correct function (in this case, `Derived::function1`). Similarly, the call to `function2` calls `Base::function2`, since it's the function pointer stored in the Vtable for `Derived` class. - -Note that `function3` is not part of the Vtable, as it is not a virtual function. \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/108-exception-handling/100-exceptions/100-access-violations.md b/src/data/roadmaps/cpp/content/access-violations@y4-P4UNC--rE1vni8HdTn.md similarity index 100% rename from src/data/roadmaps/cpp/content/108-exception-handling/100-exceptions/100-access-violations.md rename to src/data/roadmaps/cpp/content/access-violations@y4-P4UNC--rE1vni8HdTn.md diff --git a/src/data/roadmaps/cpp/content/110-stl/102-algorithms.md b/src/data/roadmaps/cpp/content/algorithms@whyj6Z4RXFsVQYRfYYn7B.md similarity index 100% rename from src/data/roadmaps/cpp/content/110-stl/102-algorithms.md rename to src/data/roadmaps/cpp/content/algorithms@whyj6Z4RXFsVQYRfYYn7B.md diff --git a/src/data/roadmaps/cpp/content/109-language-concepts/103-adl.md b/src/data/roadmaps/cpp/content/argument-dependent-lookup-adl@YSWN7nS8vA9nMldSUrZRT.md similarity index 100% rename from src/data/roadmaps/cpp/content/109-language-concepts/103-adl.md rename to src/data/roadmaps/cpp/content/argument-dependent-lookup-adl@YSWN7nS8vA9nMldSUrZRT.md diff --git a/src/data/roadmaps/cpp/content/102-basic-operations/100-arithmetic-operators.md b/src/data/roadmaps/cpp/content/arithmetic-operators@8aOSpZLWwZv_BEYiurhyR.md similarity index 100% rename from src/data/roadmaps/cpp/content/102-basic-operations/100-arithmetic-operators.md rename to src/data/roadmaps/cpp/content/arithmetic-operators@8aOSpZLWwZv_BEYiurhyR.md diff --git a/src/data/roadmaps/cpp/content/109-language-concepts/100-auto.md b/src/data/roadmaps/cpp/content/auto-automatic-type-deduction@CG01PTVgHtjfKvsJkJLGl.md similarity index 100% rename from src/data/roadmaps/cpp/content/109-language-concepts/100-auto.md rename to src/data/roadmaps/cpp/content/auto-automatic-type-deduction@CG01PTVgHtjfKvsJkJLGl.md diff --git a/src/data/roadmaps/cpp/content/102-basic-operations/index.md b/src/data/roadmaps/cpp/content/basic-operations@kl2JI_Wl47c5r8SYzxvCq.md similarity index 100% rename from src/data/roadmaps/cpp/content/102-basic-operations/index.md rename to src/data/roadmaps/cpp/content/basic-operations@kl2JI_Wl47c5r8SYzxvCq.md diff --git a/src/data/roadmaps/cpp/content/102-basic-operations/103-bitwise.md b/src/data/roadmaps/cpp/content/bitwise-operators@zE4iPSq2KsrDSByQ0sGK_.md similarity index 100% rename from src/data/roadmaps/cpp/content/102-basic-operations/103-bitwise.md rename to src/data/roadmaps/cpp/content/bitwise-operators@zE4iPSq2KsrDSByQ0sGK_.md diff --git a/src/data/roadmaps/cpp/content/boost@1d7h5P1Q0RVHryKPVogQy.md b/src/data/roadmaps/cpp/content/boost@1d7h5P1Q0RVHryKPVogQy.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/116-build-systems/index.md b/src/data/roadmaps/cpp/content/build-systems@jVXFCo6puMxJ_ifn_uwim.md similarity index 100% rename from src/data/roadmaps/cpp/content/116-build-systems/index.md rename to src/data/roadmaps/cpp/content/build-systems@jVXFCo6puMxJ_ifn_uwim.md diff --git a/src/data/roadmaps/cpp/content/113-standards/104-cpp0x.md b/src/data/roadmaps/cpp/content/c-0x@PPg0V5EzGBeJsysg1215V.md similarity index 100% rename from src/data/roadmaps/cpp/content/113-standards/104-cpp0x.md rename to src/data/roadmaps/cpp/content/c-0x@PPg0V5EzGBeJsysg1215V.md diff --git a/src/data/roadmaps/cpp/content/113-standards/100-cpp11-14.md b/src/data/roadmaps/cpp/content/c-11--14@T6rCTv9Dxkm-tEA-l9XEv.md similarity index 100% rename from src/data/roadmaps/cpp/content/113-standards/100-cpp11-14.md rename to src/data/roadmaps/cpp/content/c-11--14@T6rCTv9Dxkm-tEA-l9XEv.md diff --git a/src/data/roadmaps/cpp/content/113-standards/101-cpp17.md b/src/data/roadmaps/cpp/content/c-17@R2-qWGUxsTOeSHRuUzhd2.md similarity index 100% rename from src/data/roadmaps/cpp/content/113-standards/101-cpp17.md rename to src/data/roadmaps/cpp/content/c-17@R2-qWGUxsTOeSHRuUzhd2.md diff --git a/src/data/roadmaps/cpp/content/113-standards/102-cpp20.md b/src/data/roadmaps/cpp/content/c-20@o3no4a5_iMFzEAGs56-BJ.md similarity index 100% rename from src/data/roadmaps/cpp/content/113-standards/102-cpp20.md rename to src/data/roadmaps/cpp/content/c-20@o3no4a5_iMFzEAGs56-BJ.md diff --git a/src/data/roadmaps/cpp/content/100-introduction/102-c-vs-cpp.md b/src/data/roadmaps/cpp/content/c-vs-c@2Ag0t3LPryTF8khHLRfy-.md similarity index 100% rename from src/data/roadmaps/cpp/content/100-introduction/102-c-vs-cpp.md rename to src/data/roadmaps/cpp/content/c-vs-c@2Ag0t3LPryTF8khHLRfy-.md diff --git a/src/data/roadmaps/cpp/content/catch2@s13jQuaC6gw0Lab3Cbyy6.md b/src/data/roadmaps/cpp/content/catch2@s13jQuaC6gw0Lab3Cbyy6.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/116-build-systems/100-cmake.md b/src/data/roadmaps/cpp/content/cmake@ysnXvSHGBMMozBJyXpHl5.md similarity index 100% rename from src/data/roadmaps/cpp/content/116-build-systems/100-cmake.md rename to src/data/roadmaps/cpp/content/cmake@ysnXvSHGBMMozBJyXpHl5.md diff --git a/src/data/roadmaps/cpp/content/101-setting-up/101-code-editors.md b/src/data/roadmaps/cpp/content/code-editors--ides@ew0AfyadpXPRO0ZY3Z19k.md similarity index 100% rename from src/data/roadmaps/cpp/content/101-setting-up/101-code-editors.md rename to src/data/roadmaps/cpp/content/code-editors--ides@ew0AfyadpXPRO0ZY3Z19k.md diff --git a/src/data/roadmaps/cpp/content/115-compilers/100-stages.md b/src/data/roadmaps/cpp/content/compiler-stages@DVckzBUMgk_lWThVkLyAT.md similarity index 100% rename from src/data/roadmaps/cpp/content/115-compilers/100-stages.md rename to src/data/roadmaps/cpp/content/compiler-stages@DVckzBUMgk_lWThVkLyAT.md diff --git a/src/data/roadmaps/cpp/content/115-compilers/101-features.md b/src/data/roadmaps/cpp/content/compilers-and-features@hSG6Aux39X0cXi6ADy2al.md similarity index 100% rename from src/data/roadmaps/cpp/content/115-compilers/101-features.md rename to src/data/roadmaps/cpp/content/compilers-and-features@hSG6Aux39X0cXi6ADy2al.md diff --git a/src/data/roadmaps/cpp/content/115-compilers/index.md b/src/data/roadmaps/cpp/content/compilers@FTMHsUiE8isD_OVZr62Xc.md similarity index 100% rename from src/data/roadmaps/cpp/content/115-compilers/index.md rename to src/data/roadmaps/cpp/content/compilers@FTMHsUiE8isD_OVZr62Xc.md diff --git a/src/data/roadmaps/cpp/content/117-package-managers/102-conan.md b/src/data/roadmaps/cpp/content/conan@ky_UqizToTZHC_b77qFi2.md similarity index 100% rename from src/data/roadmaps/cpp/content/117-package-managers/102-conan.md rename to src/data/roadmaps/cpp/content/conan@ky_UqizToTZHC_b77qFi2.md diff --git a/src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/101-const-cast.md b/src/data/roadmaps/cpp/content/const_cast@5g22glc97siQOcTkHbwan.md similarity index 100% rename from src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/101-const-cast.md rename to src/data/roadmaps/cpp/content/const_cast@5g22glc97siQOcTkHbwan.md diff --git a/src/data/roadmaps/cpp/content/110-stl/105-ccontainers.md b/src/data/roadmaps/cpp/content/containers@1pydf-SR0QUfVNuBEyvzc.md similarity index 100% rename from src/data/roadmaps/cpp/content/110-stl/105-ccontainers.md rename to src/data/roadmaps/cpp/content/containers@1pydf-SR0QUfVNuBEyvzc.md diff --git a/src/data/roadmaps/cpp/content/112-idioms/105-copy-swap.md b/src/data/roadmaps/cpp/content/copy-and-swap@lxAzI42jQdaofzQ5MXebG.md similarity index 100% rename from src/data/roadmaps/cpp/content/112-idioms/105-copy-swap.md rename to src/data/roadmaps/cpp/content/copy-and-swap@lxAzI42jQdaofzQ5MXebG.md diff --git a/src/data/roadmaps/cpp/content/112-idioms/106-copy-write.md b/src/data/roadmaps/cpp/content/copy-on-write@O2Du5gHHxFxAI2u5uO8wu.md similarity index 100% rename from src/data/roadmaps/cpp/content/112-idioms/106-copy-write.md rename to src/data/roadmaps/cpp/content/copy-on-write@O2Du5gHHxFxAI2u5uO8wu.md diff --git a/src/data/roadmaps/cpp/content/112-idioms/102-crtp.md b/src/data/roadmaps/cpp/content/crtp@ttt-yeIi4BPWrgvW324W7.md similarity index 100% rename from src/data/roadmaps/cpp/content/112-idioms/102-crtp.md rename to src/data/roadmaps/cpp/content/crtp@ttt-yeIi4BPWrgvW324W7.md diff --git a/src/data/roadmaps/cpp/content/104-data-types/index.md b/src/data/roadmaps/cpp/content/data-types@MwznA4qfpNlv6sqSNjPZi.md similarity index 100% rename from src/data/roadmaps/cpp/content/104-data-types/index.md rename to src/data/roadmaps/cpp/content/data-types@MwznA4qfpNlv6sqSNjPZi.md diff --git a/src/data/roadmaps/cpp/content/110-stl/103-date-time.md b/src/data/roadmaps/cpp/content/date--time@yGvE6eHKlPMBB6rde0llR.md similarity index 100% rename from src/data/roadmaps/cpp/content/110-stl/103-date-time.md rename to src/data/roadmaps/cpp/content/date--time@yGvE6eHKlPMBB6rde0llR.md diff --git a/src/data/roadmaps/cpp/content/114-debuggers/index.md b/src/data/roadmaps/cpp/content/debuggers@qmHs6_BzND_xpMmls5YUH.md similarity index 100% rename from src/data/roadmaps/cpp/content/114-debuggers/index.md rename to src/data/roadmaps/cpp/content/debuggers@qmHs6_BzND_xpMmls5YUH.md diff --git a/src/data/roadmaps/cpp/content/114-debuggers/101-debugger-symbols.md b/src/data/roadmaps/cpp/content/debugging-symbols@sR_FxGZHoMCV9Iv7z2_SX.md similarity index 100% rename from src/data/roadmaps/cpp/content/114-debuggers/101-debugger-symbols.md rename to src/data/roadmaps/cpp/content/debugging-symbols@sR_FxGZHoMCV9Iv7z2_SX.md diff --git a/src/data/roadmaps/cpp/content/107-structures-and-classes/102-multiple-inheritance/100-diamond-inheritance.md b/src/data/roadmaps/cpp/content/diamond-inheritance@ofwdZm05AUqCIWmfgGHk8.md similarity index 100% rename from src/data/roadmaps/cpp/content/107-structures-and-classes/102-multiple-inheritance/100-diamond-inheritance.md rename to src/data/roadmaps/cpp/content/diamond-inheritance@ofwdZm05AUqCIWmfgGHk8.md diff --git a/src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/101-dynamic-polymorphism/index.md b/src/data/roadmaps/cpp/content/dynamic-polymorphism@7h1VivjCPDwriL7FirtFv.md similarity index 100% rename from src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/101-dynamic-polymorphism/index.md rename to src/data/roadmaps/cpp/content/dynamic-polymorphism@7h1VivjCPDwriL7FirtFv.md diff --git a/src/data/roadmaps/cpp/content/104-data-types/101-dynamic-typing/index.md b/src/data/roadmaps/cpp/content/dynamic-typing@i0EAFEUB-F0wBJWOtrl1A.md similarity index 100% rename from src/data/roadmaps/cpp/content/104-data-types/101-dynamic-typing/index.md rename to src/data/roadmaps/cpp/content/dynamic-typing@i0EAFEUB-F0wBJWOtrl1A.md diff --git a/src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/102-dynamic-cast.md b/src/data/roadmaps/cpp/content/dynamic_cast@4BdFcuQ5KNW94cu2jz-vE.md similarity index 100% rename from src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/102-dynamic-cast.md rename to src/data/roadmaps/cpp/content/dynamic_cast@4BdFcuQ5KNW94cu2jz-vE.md diff --git a/src/data/roadmaps/cpp/content/112-idioms/104-erase-remove.md b/src/data/roadmaps/cpp/content/erase-remove@YvmjrZSAOmjhVPo05MJqN.md similarity index 100% rename from src/data/roadmaps/cpp/content/112-idioms/104-erase-remove.md rename to src/data/roadmaps/cpp/content/erase-remove@YvmjrZSAOmjhVPo05MJqN.md diff --git a/src/data/roadmaps/cpp/content/108-exception-handling/index.md b/src/data/roadmaps/cpp/content/exception-handling@B2SGBENzUMl0SAjG4j91V.md similarity index 100% rename from src/data/roadmaps/cpp/content/108-exception-handling/index.md rename to src/data/roadmaps/cpp/content/exception-handling@B2SGBENzUMl0SAjG4j91V.md diff --git a/src/data/roadmaps/cpp/content/108-exception-handling/100-exceptions/index.md b/src/data/roadmaps/cpp/content/exceptions@NJud5SXBAUZ6Sr78kZ7jx.md similarity index 100% rename from src/data/roadmaps/cpp/content/108-exception-handling/100-exceptions/index.md rename to src/data/roadmaps/cpp/content/exceptions@NJud5SXBAUZ6Sr78kZ7jx.md diff --git a/src/data/roadmaps/cpp/content/108-exception-handling/101-exit-codes.md b/src/data/roadmaps/cpp/content/exit-codes@oWygnpwHq2poXQMTTSCpl.md similarity index 100% rename from src/data/roadmaps/cpp/content/108-exception-handling/101-exit-codes.md rename to src/data/roadmaps/cpp/content/exit-codes@oWygnpwHq2poXQMTTSCpl.md diff --git a/src/data/roadmaps/cpp/content/fmt@1CqQgmHDeo1HlPdpUJS7H.md b/src/data/roadmaps/cpp/content/fmt@1CqQgmHDeo1HlPdpUJS7H.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/102-basic-operations/102-loops.md b/src/data/roadmaps/cpp/content/for--while--do-while-loops@_IP_e1K9LhNHilYTDh7L5.md similarity index 100% rename from src/data/roadmaps/cpp/content/102-basic-operations/102-loops.md rename to src/data/roadmaps/cpp/content/for--while--do-while-loops@_IP_e1K9LhNHilYTDh7L5.md diff --git a/src/data/roadmaps/cpp/content/106-structuring-codebase/101-code-splitting/100-forward-declaration.md b/src/data/roadmaps/cpp/content/forward-declaration@ZHjU60uzJTezADRhDTESG.md similarity index 100% rename from src/data/roadmaps/cpp/content/106-structuring-codebase/101-code-splitting/100-forward-declaration.md rename to src/data/roadmaps/cpp/content/forward-declaration@ZHjU60uzJTezADRhDTESG.md diff --git a/src/data/roadmaps/cpp/content/frameworks/100-gtest.md b/src/data/roadmaps/cpp/content/frameworks/100-gtest.md deleted file mode 100644 index ceb766e8f..000000000 --- a/src/data/roadmaps/cpp/content/frameworks/100-gtest.md +++ /dev/null @@ -1,75 +0,0 @@ -# Google Test (gtest) - -Google Test, also known as gtest or googletest, is a C++ testing framework developed by Google. It provides a user-friendly API for writing test cases and is designed for use in a range of applications, from simple unit tests to complex system-level tests. - -## Getting Started with Google Test - -To use Google Test in your project, follow these steps: - -- Download the source code from the [GoogleTest GitHub repository](https://github.com/google/googletest). -- Build and install Google Test on your system. Instructions for various platforms can be found in the [README](https://github.com/google/googletest/blob/main/googletest/README.md) file. -- Include the necessary headers and link against the Google Test library in your project. - -## Writing a Test with Google Test - -Here's an example of how to write a simple test using Google Test: - -- **Include the necessary headers** - ```cpp - #include "gtest/gtest.h" - ``` - -- **Write the functions you want to test** - - Suppose we have a simple function to test: - ```cpp - int add(int a, int b) { - return a + b; - } - ``` - -- **Write the test cases** - - To create a test case, use the `TEST()` macro, which takes two arguments: the test suite name and the test case name. - - ```cpp - // Test the 'add' function. - TEST(AdditionTest, PositiveNumbers) { - EXPECT_EQ(3, add(1, 2)); - EXPECT_EQ(5, add(2, 3)); - } - - TEST(AdditionTest, NegativeNumbers) { - EXPECT_EQ(-3, add(-1, -2)); - EXPECT_EQ(-5, add(-2, -3)); - } - ``` - -- **Write a `main()` function** - - In order to run the tests, include a `main()` function that initializes Google Test and runs the tests. - - ```cpp - int main(int argc, char **argv) { - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); - } - ``` - -- **Compile and run the tests** - - Compile your test program with the Google Test library and run the test executable. - -## More Features - -Google Test offers a wide range of features to make testing easier, such as: - -- **Test Fixtures**: Test fixtures allow you to reuse the same set of objects for multiple tests. You can define a test fixture by creating a class that inherits from `::testing::Test` and writing setup and teardown methods. - -- **Assertions**: Google Test provides a variety of assertion macros to help you verify your code's behavior. Some common ones include `EXPECT_EQ`, `EXPECT_TRUE`, `EXPECT_FALSE`, `ASSERT_EQ`, `ASSERT_TRUE`, and `ASSERT_FALSE`. - -- **Parameterized Tests**: Google Test supports parameterized tests, allowing you to run the same test with different inputs easily. - -- **Death Tests**: Google Test allows you to write tests that verify if your code terminates correctly or with the expected error message. - -For more information about Google Test and its features, refer to the [official documentation](https://github.com/google/googletest/blob/main/docs/primer.md). diff --git a/src/data/roadmaps/cpp/content/frameworks/101-qt.md b/src/data/roadmaps/cpp/content/frameworks/101-qt.md deleted file mode 100644 index bdf74781e..000000000 --- a/src/data/roadmaps/cpp/content/frameworks/101-qt.md +++ /dev/null @@ -1,37 +0,0 @@ -# Qt Framework - -Qt is an open-source, cross-platform framework for creating high-performance applications with interactive user interfaces. It is mainly used for developing GUI applications but can also be used for creating non-GUI applications like console tools and servers. - -Qt provides a wide range of C++ libraries and seamless integration with popular IDEs, making it easier for developers to create feature-rich applications. It offers a comprehensive development environment, including tools for designing, coding, debugging, and profiling applications. - -## Key Features - -- **Cross-platform**: Qt can create applications that run on different platforms (e.g., Windows, macOS, Linux, Android, iOS) without any platform-specific code. -- **Modular Libraries**: Qt consists of several modular libraries, including QtCore (core non-GUI functionality), QtGui (GUI-related classes), QtWidgets (GUI widgets), and QtNetwork (networking support). -- **Signals and Slots**: Qt provides a unique mechanism to handle events called "signals and slots", which allows safe and flexible inter-object communication. -- **OpenGL Integration**: Qt supports rendering 2D and 3D graphics using OpenGL, making it suitable for game development and other graphical applications. - -## Code Example - -Here's a simple example of a "Hello, World!" application using Qt: - -```cpp -#include -#include - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - - QLabel label("Hello, World!"); - label.show(); - - return app.exec(); -} -``` - -In this example, we include the necessary header files, create QApplication and QLabel objects, display the label with a "Hello, World!" message, and execute the application. - -To compile and run this example, you need to install the Qt library and configure your development environment to use it. - -For more information and tutorials about Qt, you can refer to the [official Qt documentation](https://doc.qt.io/qt-5/index.html). \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/frameworks/102-catch2.md b/src/data/roadmaps/cpp/content/frameworks/102-catch2.md deleted file mode 100644 index f94d5f1f6..000000000 --- a/src/data/roadmaps/cpp/content/frameworks/102-catch2.md +++ /dev/null @@ -1,96 +0,0 @@ -# Catch2 - -Catch2 is a modern, C++-native, test framework for unit tests, TDD, and BDD. It is a single-header library, meaning you only need to include one header file (`catch.hpp`) to start using it. Catch2 is fast, easy to use, and supports various test styles. - -## Features - -- **Single-header:** Just `#include "catch.hpp"` and start writing tests. -- **Test cases:** Declare test cases using the `TEST_CASE` macro. -- **Sections:** Divide test cases into sections using `SECTION` macro. -- **BDD:** Behavior-Driven Development style supported with `SCENARIO`, `GIVEN`, `WHEN`, `THEN`. -- **Matchers:** Use rich built-in matchers for more expressive assertions. -- **Test discovery:** Catch2 automatically discovers your test cases and sections. - -## Code examples - -## Basic test case - -```cpp -#define CATCH_CONFIG_MAIN // Tells Catch to provide a main() function -#include "catch.hpp" - -int add(int a, int b) { - return a + b; -} - -TEST_CASE("Addition") { - REQUIRE(add(2, 3) == 5); -} -``` - -## Sections - -```cpp -TEST_CASE("Sections example") { - int a = 1; - - SECTION("incrementing a") { - a++; - REQUIRE(a == 2); - } - - SECTION("decrementing a") { - a--; - REQUIRE(a == 0); - } -} -``` - -## BDD style - -```cpp -SCENARIO("vector can be sized and resized", "[vector]") { - std::vector v; - - GIVEN("A vector with some items") { - v.push_back(1); - v.push_back(2); - v.push_back(3); - - REQUIRE(v.size() == 3); - - WHEN("the size is increased") { - v.resize(5); - - THEN("the size and contents change") { - REQUIRE(v.size() == 5); - REQUIRE(v[3] == 0); - REQUIRE(v[4] == 0); - } - } - WHEN("the size is reduced") { - v.resize(2); - - THEN("the size changes but not the contents") { - REQUIRE(v.size() == 2); - REQUIRE(v[0] == 1); - REQUIRE(v[1] == 2); - } - } - } -} -``` - -## Matchers - -```cpp -TEST_CASE("Matchers example") { - std::string str = "Hello, world!"; - - CHECK_THAT(str, Catch::Matchers::StartsWith("Hello")); - CHECK_THAT(str, Catch::Matchers::EndsWith("world!")); - CHECK_THAT(str, Catch::Matchers::Contains("lo, wo")); -} -``` - -For more information, visit the [Catch2 GitHub repository](https://github.com/catchorg/Catch2). \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/frameworks/103-orbit-profiler.md b/src/data/roadmaps/cpp/content/frameworks/103-orbit-profiler.md deleted file mode 100644 index d498b54f0..000000000 --- a/src/data/roadmaps/cpp/content/frameworks/103-orbit-profiler.md +++ /dev/null @@ -1,69 +0,0 @@ -# Orbit Profiler - -Orbit Profiler is a performance profiler for C++ applications. It is designed to provide developers with real-time feedback on their application's performance and help them identify performance bottlenecks. It supports both Windows and Linux platforms, profiling both local and remote processes. - -**Major features of Orbit Profiler:** - -- Sampling-based profiling -- Instrumentation-based profiling -- Callstacks collection -- Frame-based measurements using scopes macros - -## Usage - -- **Include OrbitProfiler.h**: First, you need to include the `OrbitProfiler.h` header file in your project: - - ```cpp - #include "OrbitProfiler.h" - ``` - -- **Starting and Stopping the profiler**: Use `ORBET_START` and `ORBIT_STOP` to start and stop the profiler. - - ```cpp - ORBIT_START(); - // Your application code here - ORBIT_STOP(); - ``` - -- **Instrumenting scopes**: Use the `ORBET_SCOPE` macro to annotate the scope of the function you want to measure: - - ```cpp - void ExampleFunction() { - ORBIT_SCOPE("Example Function"); - // Function content here - } - ``` - -- **Visualizing the captured data**: Orbit Profiler provides a **Session View** that displays the captured data and allows you to navigate through the timeline, analyze data, and identify performance bottlenecks. - -## Example - -For demonstration purposes, consider the following example of a simple C++ application: - -```cpp -#include "OrbitProfiler.h" - -void FunctionA() { - ORBIT_SCOPE("Function A"); - // Function A code here -} - -void FunctionB() { - ORBIT_SCOPE("Function B"); - // Function B code here -} - -int main() { - ORBIT_START(); - - FunctionA(); - FunctionB(); - - ORBIT_STOP(); - return 0; -} -``` - -By using Orbit Profiler, we are able to pinpoint performance issues in FunctionA and FunctionB and optimize our application accordingly. - -For more information, refer to the [official Orbit Profiler GitHub repository](https://github.com/google/orbit). \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/frameworks/104-pytorch-cpp.md b/src/data/roadmaps/cpp/content/frameworks/104-pytorch-cpp.md deleted file mode 100644 index 88a71f34d..000000000 --- a/src/data/roadmaps/cpp/content/frameworks/104-pytorch-cpp.md +++ /dev/null @@ -1,71 +0,0 @@ -# PyTorch C++ - -PyTorch C++ is the C++ API (Application Programming Interface) for PyTorch. It is also known as LibTorch, which is a library that provides almost all the functionality of PyTorch accessible through C++ language. The main goal of providing a C++ API is to enable high-performance integration with other deep learning platforms and enable seamless operation in enterprise and production-level systems. - -## Installation - -To use the PyTorch C++ API, you need to install the LibTorch distribution. Follow the instructions on the [official PyTorch C++ API page](https://pytorch.org/cppdocs/installing.html) to install the library based on your platform and requirements. - -## Example: Tensors - -```cpp -#include -#include - -int main() { - // Create a 3x3 matrix with zeros. - torch::Tensor a = torch::zeros({3, 3}); - std::cout << a << std::endl; - - // Create a 2x2 matrix with ones and convert to float. - torch::Tensor b = torch::ones({2, 2}).to(torch::kFloat); - std::cout << b << std::endl; - - // Create a random tensor size 2x2 and specify its type. - torch::Tensor c = torch::randint(0, 10, {2, 2}, torch::kInt); - std::cout << c << std::endl; - - // Perform element-wise addition. - auto sum = b + c.to(torch::kFloat); - std::cout << sum << std::endl; -} -``` - -## Example: Creating a Custom Module - -```cpp -#include -#include - -// Define a custom module. -struct Net : torch::nn::Module { - Net() { - fc1 = register_module("fc1", torch::nn::Linear(784, 64)); - fc2 = register_module("fc2", torch::nn::Linear(64, 10)); - } - - torch::Tensor forward(torch::Tensor x) { - x = x.view({-1, 784}); - x = torch::relu(fc1->forward(x)); - x = torch::log_softmax(fc2->forward(x), 1); - return x; - } - - torch::nn::Linear fc1{nullptr}; - torch::nn::Linear fc2{nullptr}; -}; - -int main() { - // Create an instance of the custom module. - Net net; - - // Use the custom module. - torch::Tensor input = torch::randn({2, 1, 28, 28}); - torch::Tensor output = net.forward(input); - std::cout << output << std::endl; - - return 0; -} -``` - -In these examples, we demonstrated how to use various tensor operations and how to create a custom neural network module with PyTorch C++. For more detailed information and tutorials, visit the [official PyTorch C++ documentation](https://pytorch.org/cppdocs/). \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/frameworks/index.md b/src/data/roadmaps/cpp/content/frameworks/index.md deleted file mode 100644 index c3e3997cf..000000000 --- a/src/data/roadmaps/cpp/content/frameworks/index.md +++ /dev/null @@ -1 +0,0 @@ -# Frameworks \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/111-templates/101-template-specialization/100-full.md b/src/data/roadmaps/cpp/content/full-template-specialization@6hTcmJwNnQstbWWzNCfTe.md similarity index 100% rename from src/data/roadmaps/cpp/content/111-templates/101-template-specialization/100-full.md rename to src/data/roadmaps/cpp/content/full-template-specialization@6hTcmJwNnQstbWWzNCfTe.md diff --git a/src/data/roadmaps/cpp/content/function-overloading@sgfqb22sdN4VRJYkhAVaf.md b/src/data/roadmaps/cpp/content/function-overloading@sgfqb22sdN4VRJYkhAVaf.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/103-functions/index.md b/src/data/roadmaps/cpp/content/functions@oYi3YOc1GC2Nfp71VOkJt.md similarity index 100% rename from src/data/roadmaps/cpp/content/103-functions/index.md rename to src/data/roadmaps/cpp/content/functions@oYi3YOc1GC2Nfp71VOkJt.md diff --git a/src/data/roadmaps/cpp/content/114-debuggers/103-gdb.md b/src/data/roadmaps/cpp/content/gdb@BmWsoL9c_Aag5nVlMsKm2.md similarity index 100% rename from src/data/roadmaps/cpp/content/114-debuggers/103-gdb.md rename to src/data/roadmaps/cpp/content/gdb@BmWsoL9c_Aag5nVlMsKm2.md diff --git a/src/data/roadmaps/cpp/content/grpc@621J9W4xCofumNZGo4TZT.md b/src/data/roadmaps/cpp/content/grpc@621J9W4xCofumNZGo4TZT.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/gtest--gmock@MrAM-viRaF8DSxB6sVdD9.md b/src/data/roadmaps/cpp/content/gtest--gmock@MrAM-viRaF8DSxB6sVdD9.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/106-structuring-codebase/101-code-splitting/index.md b/src/data/roadmaps/cpp/content/headers--cpp-files@CK7yf8Bo7kfbV6x2tZTrh.md similarity index 100% rename from src/data/roadmaps/cpp/content/106-structuring-codebase/101-code-splitting/index.md rename to src/data/roadmaps/cpp/content/headers--cpp-files@CK7yf8Bo7kfbV6x2tZTrh.md diff --git a/src/data/roadmaps/cpp/content/112-idioms/index.md b/src/data/roadmaps/cpp/content/idioms@fb3bnfKXjSIjPAk4b95lg.md similarity index 100% rename from src/data/roadmaps/cpp/content/112-idioms/index.md rename to src/data/roadmaps/cpp/content/idioms@fb3bnfKXjSIjPAk4b95lg.md diff --git a/src/data/roadmaps/cpp/content/index.md b/src/data/roadmaps/cpp/content/index.md deleted file mode 100644 index 4e768b56d..000000000 --- a/src/data/roadmaps/cpp/content/index.md +++ /dev/null @@ -1 +0,0 @@ -# \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/101-setting-up/100-installing.md b/src/data/roadmaps/cpp/content/installing-c@0J_ltQEJh2g28OE2ZEYJj.md similarity index 100% rename from src/data/roadmaps/cpp/content/101-setting-up/100-installing.md rename to src/data/roadmaps/cpp/content/installing-c@0J_ltQEJh2g28OE2ZEYJj.md diff --git a/src/data/roadmaps/cpp/content/100-introduction/index.md b/src/data/roadmaps/cpp/content/introduction-to-language@NvODRFR0DLINB0RlPSsvt.md similarity index 100% rename from src/data/roadmaps/cpp/content/100-introduction/index.md rename to src/data/roadmaps/cpp/content/introduction-to-language@NvODRFR0DLINB0RlPSsvt.md diff --git a/src/data/roadmaps/cpp/content/110-stl/101-iostream.md b/src/data/roadmaps/cpp/content/iostream@VeVxZ230xkesQsIDig8zQ.md similarity index 100% rename from src/data/roadmaps/cpp/content/110-stl/101-iostream.md rename to src/data/roadmaps/cpp/content/iostream@VeVxZ230xkesQsIDig8zQ.md diff --git a/src/data/roadmaps/cpp/content/110-stl/100-iterators.md b/src/data/roadmaps/cpp/content/iterators@Ebu8gzbyyXEeJryeE0SpG.md similarity index 100% rename from src/data/roadmaps/cpp/content/110-stl/100-iterators.md rename to src/data/roadmaps/cpp/content/iterators@Ebu8gzbyyXEeJryeE0SpG.md diff --git a/src/data/roadmaps/cpp/content/103-functions/100-lambda.md b/src/data/roadmaps/cpp/content/lambdas@xjiFBVe-VGqCqWfkPVGKf.md similarity index 100% rename from src/data/roadmaps/cpp/content/103-functions/100-lambda.md rename to src/data/roadmaps/cpp/content/lambdas@xjiFBVe-VGqCqWfkPVGKf.md diff --git a/src/data/roadmaps/cpp/content/109-language-concepts/index.md b/src/data/roadmaps/cpp/content/language-concepts@-6fwJQOfsorgHkoQGp4T3.md similarity index 100% rename from src/data/roadmaps/cpp/content/109-language-concepts/index.md rename to src/data/roadmaps/cpp/content/language-concepts@-6fwJQOfsorgHkoQGp4T3.md diff --git a/src/data/roadmaps/cpp/content/libraries/100-boost.md b/src/data/roadmaps/cpp/content/libraries/100-boost.md deleted file mode 100644 index bd0d66fa4..000000000 --- a/src/data/roadmaps/cpp/content/libraries/100-boost.md +++ /dev/null @@ -1,45 +0,0 @@ -# Boost C++ Libraries - -Boost is a collection of high-quality and widely-used C++ libraries that are designed to help developers write efficient and portable code. They are modular and can be included in your projects as needed. Boost libraries provide various functionalities, including support for parallelism, multithreading, memory management, string manipulation, and advanced data structures. - -## Notable Components - -Here's a list of some popular Boost libraries: - -- **Boost.Asio**: Provides network and low-level I/O services. -- **Boost.Bimap**: A bidirectional map data structure. -- **Boost.Filesystem**: Offers portable file system operations. -- **Boost.Graph**: Implements various graph algorithms and data structures. -- **Boost.Multithreading**: Offers multithreading, synchronization, and thread management tools. - -## Usage - -- First, download and install the Boost libraries according to the [documentation](https://www.boost.org/doc/libs/1_76_0/more/getting_started/index.html). -- After installation, include necessary headers in your C++ code and start using Boost facilities. - -Here's an example using `boost::filesystem` (*NOTE: Boost.Filesystem is now part of the C++17 standard library*): - -```cpp -#include -#include - -int main() { - boost::filesystem::path path("directory_path"); - - if (boost::filesystem::exists(path)) { - std::cout << "Path: " << path << " exists!" << std::endl; - - if (boost::filesystem::is_directory(path)) { - std::cout << "Path: " << path << " is a directory." << std::endl; - } else if (boost::filesystem::is_regular_file(path)) { - std::cout << "Path: " << path << " is a regular file." << std::endl; - } - } else { - std::cout << "Path: " << path << " does not exist!" << std::endl; - } - - return 0; -} -``` - -For a more detailed guide, refer to the [official Boost documentation](https://www.boost.org/doc/libs/). \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/libraries/101-open-cv.md b/src/data/roadmaps/cpp/content/libraries/101-open-cv.md deleted file mode 100644 index e31bfa268..000000000 --- a/src/data/roadmaps/cpp/content/libraries/101-open-cv.md +++ /dev/null @@ -1,57 +0,0 @@ -# OpenCV - -**OpenCV (Open Source Computer Vision Library)** is an open-source computer vision and machine learning software library. It was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in commercial products. OpenCV contains over 2,500 optimized algorithms for real-time computer vision and is actively used by a large community of programmers, researchers, and industries worldwide. - -The library has interfaces for C++, Python, Java, and MATLAB/Octave, and is widely used in various computer vision fields, such as: - -- 2D and 3D image processing -- Facial recognition and face detection -- Object detection and recognition -- Machine learning - -Here's a simple example using OpenCV in C++ to read and display an image: - -**Prerequisite**: Install OpenCV for C++ on your system (e.g., by following the [official installation guide](https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html)). - -```cpp -#include -#include -#include - -int main(int argc, char** argv) { - if (argc != 2) { - std::cout << "Usage: display_image ImageToLoadAndDisplay" << std::endl; - return -1; - } - - cv::Mat image; - image = cv::imread(argv[1], cv::IMREAD_COLOR); - - if (!image.data) { - std::cout << "Could not open or find the image" << std::endl; - return -1; - } - - cv::namedWindow("Display window", cv::WINDOW_AUTOSIZE); - cv::imshow("Display window", image); - cv::waitKey(0); - - return 0; -} -``` - -This example reads an image from the given input path (`argv[1]`) and displays it in a window. The `cv::imread()` function is used to read the image, and the `cv::imshow()` function displays it in the created window. - -Remember to compile the code, linking the necessary libraries: - -``` -g++ -o display_image display_image.cpp `pkg-config --cflags --libs opencv4` -``` - -And run the executable with an image path as an argument: - -``` -./display_image path/to/image.jpg -``` - -For more advanced examples and detailed documentation on how to use OpenCV, please visit the [official OpenCV documentation](https://docs.opencv.org/master/). \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/libraries/102-poco.md b/src/data/roadmaps/cpp/content/libraries/102-poco.md deleted file mode 100644 index 2edfc1657..000000000 --- a/src/data/roadmaps/cpp/content/libraries/102-poco.md +++ /dev/null @@ -1,76 +0,0 @@ -# Poco - -Poco (also known as POCO C++ Libraries) is a collection of open-source class libraries, which simplifies the creation of network-centric, portable, and maintainable software in C++. - -## Overview - -Poco library provides functionality for various areas, such as: - -- Networking: HTTP, FTP, SMTP, POP3, and other internet protocols -- File handling: FileSystem, Path, File, and Directory classes -- XML processing: XML parsing and DOM manipulation -- Logging: Loggers, levels, channels, patterns, etc. -- Data manipulation: Stream, ByteBuffer, Buffer, etc. -- Multithreading and synchronization: Threads, Mutex, Event, and Condition - -## Code Example - -Here's an example demonstrating an HTTP client using the Poco library: - -```cpp -#include -#include -#include -#include -#include -#include -#include - -using namespace Poco::Net; -using namespace Poco; - -int main() -{ - try - { - // Prepare the request - URI uri("http://example.com"); - HTTPClientSession session(uri.getHost(), uri.getPort()); - - HTTPRequest request(HTTPRequest::HTTP_GET, uri.getPath(), HTTPMessage::HTTP_1_1); - request.setContentType("application/json"); - - session.sendRequest(request); - - // Process the response - HTTPResponse response; - std::istream& responseStream = session.receiveResponse(response); - if (response.getStatus() == HTTPResponse::HTTP_OK) - { - // Successful - std::string responseBody; - StreamCopier::copyToString(responseStream, responseBody); - - std::cout << "Response: " << responseBody << std::endl; - } - else - { - // Error - std::cout << "Error: " << response.getStatus() << " " << response.getReason() << std::endl; - } - } - catch(const Exception& e) - { - std::cerr << "Error: " << e.displayText() << std::endl; - return -1; - } - - return 0; -} -``` - -In the above example, Poco is used to send an HTTP GET request and process the response. It manages tasks like connecting to the server, handling exceptions, and managing HTTP headers. - -Learn more from the following resources: - -- [@article@Official Docs for Poco Library](https://docs.pocoproject.org/) \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/libraries/103-protobuf.md b/src/data/roadmaps/cpp/content/libraries/103-protobuf.md deleted file mode 100644 index db0027be9..000000000 --- a/src/data/roadmaps/cpp/content/libraries/103-protobuf.md +++ /dev/null @@ -1,79 +0,0 @@ -# Protocol Buffers (protobuf) - -Protocol Buffers, or protobuf, is a language and platform-neutral data serialization format developed by Google. It is used to efficiently serialize structured data for use in communications protocols, data storage, and more. It is extensible, as it allows you to define your own custom data structures called "messages" with various scalar and complex field types. - -Here is a brief summary of protobuf and how to use it in C++: - -- **Define your `.proto` file:** Create a `.proto` file that defines the structure of your messages. - - *Example:* - - ``` - syntax = "proto3"; - - message Person { - string name = 1; - int32 age = 2; - string email = 3; - } - ``` - -- **Compile the `.proto` file:** You need to compile your `.proto` file to generate C++ classes for serialization and deserialization. - - *Example:* - - ```sh - protoc --cpp_out=. person.proto - ``` - - This will generate two files: `person.pb.cc` and `person.pb.h` that contains the C++ class definitions. - -- **Include protobuf library and generated files into your C++ code:** You'll need to include the protobuf library and the generated files in your main C++ code. - - *Example:* - - ```cpp - #include - #include - #include "person.pb.h" - - int main () { - GOOGLE_PROTOBUF_VERIFY_VERSION; // Verify that protobuf library headers match library version - - // Serialize a Person message - Person person; - person.set_name("Sam"); - person.set_age(35); - person.set_email("sam@example.com"); - - // Save the data to a file - std::ofstream output("person.bin", ios::binary); - person.SerializeToOstream(&output); - output.close(); - - // Deserialize the message from the file - Person input_person; - std::ifstream input("person.bin", ios::binary); - input_person.ParseFromIstream(&input); - input.close(); - - // Print the deserialized message - std::cout << "Name: " << input_person.name() << std::endl; - std::cout << "Age: " << input_person.age() << std::endl; - std::cout << "Email: " << input_person.email() << std::endl; - - google::protobuf::ShutdownProtobufLibrary(); - - return 0; - } - ``` - -- **Compile and link your C++ code:** Finally, compile your C++ code and link it to the protobuf library. - - *Example:* - - ```sh - g++ -std=c++11 -o main main.cpp person.pb.cc -lprotobuf - ``` - -For more information and examples, you can refer to the [official protobuf C++ tutorial](https://developers.google.com/protocol-buffers/docs/cpptutorial). \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/libraries/104-grpc.md b/src/data/roadmaps/cpp/content/libraries/104-grpc.md deleted file mode 100644 index f31b5239c..000000000 --- a/src/data/roadmaps/cpp/content/libraries/104-grpc.md +++ /dev/null @@ -1,129 +0,0 @@ -# gRPC - -gRPC (gRPC Remote Procedure Calls) is an open-source Remote Procedure Call (RPC) framework that runs on various programming languages, including C++. gRPC is designed to be high-performance, efficient, and scalable, making it ideal for microservice architectures and other applications with high performance requirements. - -gRPC uses the Protocol Buffers (Protobuf) serialization format for message exchange and method definition. Protocol Buffers enable more efficient and smaller serialization compared to other formats like JSON or XML. - -## Protocol Buffers - -In gRPC, you start by defining service definitions and message structures in `.proto` files. You can define data structures and service interfaces using a compact, language-neutral, platform-neutral binary format. - -Here's an example of how that might look: - -```proto -syntax = "proto3"; - -package example; - -// The gRPC service definition -service Greeter { - rpc SayHello (HelloRequest) returns (HelloReply) {} -} - -// The Request message definition -message HelloRequest { - string name = 1; -} - -// The Reply message definition -message HelloReply { - string message = 1; -} -``` - -After defining the `.proto` file, you use the `protoc` compiler to generate the corresponding C++ code for your application. - -## gRPC C++ Server - -To create a gRPC server in C++, you first need to implement the service interface generated by the `protoc` compiler. Here's an example implementation for the `Greeter` service: - -```cpp -#include -#include "example.grpc.pb.h" - -using grpc::Server; -using grpc::ServerBuilder; -using grpc::ServerContext; -using grpc::Status; -using example::HelloRequest; -using example::HelloReply; -using example::Greeter; - -class GreeterServiceImpl final : public Greeter::Service { - Status SayHello(ServerContext* context, const HelloRequest* request, HelloReply* reply) override { - std::string prefix("Hello "); - reply->set_message(prefix + request->name()); - return Status::OK; - } -}; - -void RunServer() { - std::string server_address("0.0.0.0:50051"); - GreeterServiceImpl service; - - ServerBuilder builder; - builder.AddListeningPort(server_address, grpc::InsecureServerCredentials()); - builder.RegisterService(&service); - - std::unique_ptr server(builder.BuildAndStart()); - std::cout << "Server listening on " << server_address << std::endl; - server->Wait(); -} - -int main(int argc, char** argv) { - RunServer(); - return 0; -} -``` - -## gRPC C++ Client - -Similarly, to create a gRPC C++ client, you use the generated code from `protoc` compiler and connect to a server: - -```cpp -#include -#include "example.grpc.pb.h" - -using grpc::Channel; -using grpc::ClientContext; -using grpc::Status; -using example::HelloRequest; -using example::HelloReply; -using example::Greeter; - -class GreeterClient { - public: - GreeterClient(std::shared_ptr channel) : stub_(Greeter::NewStub(channel)) {} - - std::string SayHello(const std::string& user) { - HelloRequest request; - request.set_name(user); - - HelloReply reply; - ClientContext context; - - Status status = stub_->SayHello(&context, request, &reply); - - if (status.ok()) { - return reply.message(); - } else { - std::cout << "RPC failed" << std::endl; - return "RPC failed"; - } - } - - private: - std::unique_ptr stub_; -}; - -int main(int argc, char** argv) { - GreeterClient greeter(grpc::CreateChannel("localhost:50051", grpc::InsecureChannelCredentials())); - std::string user("world"); - std::string reply = greeter.SayHello(user); - std::cout << "Greeter received: " << reply << std::endl; - - return 0; -} -``` - -This is a basic example demonstrating the client-server communication using gRPC in C++. More advanced features like bi-directional streaming, error handling, and authentication can also be used in gRPC. For more information, you can refer to the [gRPC C++ documentation](https://grpc.io/docs/languages/cpp/). \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/libraries/105-tensorflow.md b/src/data/roadmaps/cpp/content/libraries/105-tensorflow.md deleted file mode 100644 index de769e31c..000000000 --- a/src/data/roadmaps/cpp/content/libraries/105-tensorflow.md +++ /dev/null @@ -1,5 +0,0 @@ -# TensorFlow - -TensorFlow is an open-source machine learning library developed by researchers and engineers from the Google Brain team. It is designed for building, training, and deploying deep learning models. TensorFlow provides a set of tools for ML, deep learning, and numerical computation using data flow graphs. TensorFlow can process computations on GPUs and TPUs, which speed up training time and ensures efficient model deployment. - -You can visit TensorFlow's official website (https://www.tensorflow.org/) and their GitHub repository (https://github.com/tensorflow/tensorflow) for more information, tutorials, and resources. diff --git a/src/data/roadmaps/cpp/content/libraries/106-pybind11.md b/src/data/roadmaps/cpp/content/libraries/106-pybind11.md deleted file mode 100644 index 5ed1d0be6..000000000 --- a/src/data/roadmaps/cpp/content/libraries/106-pybind11.md +++ /dev/null @@ -1,70 +0,0 @@ -# Pybind11 - -Pybind11 is a lightweight header-only library that seamlessly integrates C++ code with Python, allowing users to easily expose C++11 code to the Python ecosystem. This is achieved by providing `Python` bindings that can interact with functions and classes written in `C++`. It offers an API similar to the Boost.Python library but requires less code, thus leading to better performance. - -Pybind11 helps in creating library extensions, bringing high-performance C++ code into Python programs, and using Python's flexibility for rapid development while still benefiting from the efficiency of C++. - -### Code Examples - -Here are a few examples of Pybind11 for understanding the concept better: - -- Exposing a C++ function to Python: - -```cpp -#include - -int add(int a, int b) { - return a + b; -} - -PYBIND11_MODULE(example, m) { - m.def("add", &add, "A function that adds two numbers"); -} -``` - -Running the above example will create a Python module named `example`, containing a single function `add`. You can use this new function in Python as follows: - -```python -import example - -result = example.add(1, 2) -print(result) # Output: 3 -``` - -- Exposing a C++ class to Python: - -```cpp -#include - -namespace py = pybind11; - -class MyTestClass { -public: - MyTestClass(const std::string &name) : name_(name) { } - - const std::string &name() const { return name_; } - void setName(const std::string &name) { name_ = name; } - -private: - std::string name_; -}; - -PYBIND11_MODULE(example, m) { - py::class_(m, "MyTestClass") - .def(py::init()) - .def("name", &MyTestClass::name) - .def("setName", &MyTestClass::setName); -} -``` - -After compiling the code and importing it into Python, you can create `MyTestClass` instances and call their `name()` and `setName(string)` methods: - -```python -import example - -obj = example.MyTestClass("some_name") -print(obj.name()) # Output: some_name - -obj.setName("new_name") -print(obj.name()) # Output: new_name -``` \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/libraries/107-spdlog.md b/src/data/roadmaps/cpp/content/libraries/107-spdlog.md deleted file mode 100644 index c700ce21e..000000000 --- a/src/data/roadmaps/cpp/content/libraries/107-spdlog.md +++ /dev/null @@ -1,59 +0,0 @@ -# Spdlog - -`spdlog` is a fast, header-only, C++ logging library. It provides a simple and efficient way to add diagnostic logging to your C++ application. - -## Features: -- Header-only, no need to build or link a library -- Highly configurable, including support for custom log sinks (e.g. writing to a file or a database) -- Asynchronous and synchronous logging modes -- Preprocessor-based format string checks to catch bugs at compile-time -- Easy to extend with custom formatters, sinks, and levels - -## Usage example: - -Include the `spdlog` header, create a logger object, and use it to log messages: - -```cpp -#include "spdlog/spdlog.h" - -int main() { - // Create a logger with the name "example_logger" - auto logger = spdlog::stdout_color_mt("example_logger"); - - // Log messages with various severity levels - logger->info("Welcome to spdlog!"); - logger->warn("Warning message"); - logger->error("Error message"); - - return 0; -} -``` - -## Custom sink example: - -Here's an example of creating a logger with a custom sink that writes to a text file: - -```cpp -#include "spdlog/spdlog.h" -#include "spdlog/sinks/basic_file_sink.h" - -int main() { - // Create a file sink to write logs to "logs.txt" - auto file_sink = std::make_shared("logs.txt"); - - // Create a logger with the file sink and the name "example_logger" - auto logger = std::make_shared("example_logger", file_sink); - - // Register the logger - spdlog::register_logger(logger); - - // Log messages - logger->info("Welcome to spdlog!"); - logger->warn("Warning message"); - logger->error("Error message"); - - return 0; -} -``` - -For more examples and detailed documentation, visit the [spdlog GitHub repository](https://github.com/gabime/spdlog). \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/libraries/108-opencl.md b/src/data/roadmaps/cpp/content/libraries/108-opencl.md deleted file mode 100644 index 210b308ba..000000000 --- a/src/data/roadmaps/cpp/content/libraries/108-opencl.md +++ /dev/null @@ -1,59 +0,0 @@ -# OpenCL - -OpenCL (Open Computing Language) is a framework for writing programs that enables you to execute code on heterogeneous platforms consisting of CPUs, GPUs, and other processors. It is primarily used for parallel programming, and it can be employed to improve the performance of various applications, including gaming, image and video rendering, and scientific computing. - -## Overview - -OpenCL provides a standardized programming interface, allowing you to target different devices such as graphics cards from different vendors. You can program in C with OpenCL C or C++ with OpenCL C++ kernel language, which are based on the ISO C99 and C++14 respectively, with specific extensions, built-ins, and features to exploit device parallelism. - -## Key Concepts - -- Platform: A collection of devices and software features provided by a vendor. -- Device: A processing unit that can execute OpenCL code, e.g., a CPU or a GPU. -- Command queue: A sequence of instructions to be executed on a device. -- Kernel: A parallelized function that is executed on OpenCL devices. -- Buffer: A memory object that stores a specific amount of data (e.g., an array of integers or floats) that is accessible by both the host and devices. - -## Sample Code - -Here is a simple OpenCL code example that illustrates how to implement vector addition: - -```cpp -#include -#include -#include - -const char *kernelSource = "__kernel void vector_add(__global int *A, __global int *B, __global int *C, const int N) {" - " int i = get_global_id(0);" - " if (i < N) {" - " C[i] = A[i] + B[i];" - " }" - "}"; - -int main() { - // Initialize data vectors - std::vector A = {1, 2, 3}; - std::vector B = {4, 5, 6}; - std::vector C(A.size()); - - // Set up OpenCL environment, devices, and context - // ... omitted for brevity ... - - // Create memory buffers for A, B, and C - // ... omitted for brevity ... - - // Create kernel from source and set kernel arguments - // ... omitted for brevity ... - - // Execute kernel using command queue and read output buffer - // ... omitted for brevity ... - - // Output results - for (size_t i = 0; i < A.size(); ++i) { - std::cout << A[i] << " + " << B[i] << " = " << C[i] << std::endl; - } - return 0; -} -``` - -This code snippet demonstrates the basic structure of an OpenCL program in C++. There are additional details required in order to set up the environment, devices, and context, as well as creating the memory buffers, kernel, and command queue. You can find complete examples and more information in the [official OpenCL Programming Guide](https://www.khronos.org/files/opencl22-reference-guide.pdf). \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/libraries/109-fmt.md b/src/data/roadmaps/cpp/content/libraries/109-fmt.md deleted file mode 100644 index 2fab03e1f..000000000 --- a/src/data/roadmaps/cpp/content/libraries/109-fmt.md +++ /dev/null @@ -1,69 +0,0 @@ -# fmt - -`fmt` is a modern C++ formatting library that provides an easy and efficient way to format text and print it to various outputs. The library offers a high level of compatibility with C++ standards, making it suitable for various applications and platforms. `fmt` emphasizes simplicity, extensibility, and type safety. - -## Features - -- Supports positional and named arguments for better readability in complex formatting tasks -- Supports format string syntax similar to Python's `str.format()` -- Provides compile-time format string checks for type safety -- Extensive documentation and user-friendly API - -## Example Usage - -Here are some examples of how to use the `fmt` library: - -## Basic Usage - -```cpp -#include - -int main() { - fmt::print("Hello, world!\n"); - return 0; -} -``` - -## Formatting with Positional Arguments - -```cpp -#include - -int main() { - fmt::print("The answer is {}.\n", 42); - fmt::print("{1}, {0}!\n", "world", "Hello"); - return 0; -} -``` - -## Formatting with Named Arguments - -```cpp -#include - -int main() { - fmt::print("Hello, {name}!\n", fmt::arg("name", "world")); - return 0; -} -``` - -## Using Format String Syntax - -```cpp -#include - -int main() { - fmt::print("{:<30}", "left-aligned"); - fmt::print("{:>30}", "right-aligned"); - fmt::print("{:^30}", "center-aligned"); - fmt::print("{:*^30}", "center-aligned"); - - fmt::print("int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}", 42); - fmt::print("{:.2f}", 3.1415926); - fmt::print("{:010.2f}", 3.1415926); - - return 0; -} -``` - -For more information, you can refer to the official [fmt documentation](https://fmt.dev/latest/index.html). \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/libraries/110-ranges-v3.md b/src/data/roadmaps/cpp/content/libraries/110-ranges-v3.md deleted file mode 100644 index 817156c55..000000000 --- a/src/data/roadmaps/cpp/content/libraries/110-ranges-v3.md +++ /dev/null @@ -1,84 +0,0 @@ -# Ranges v3 - -Ranges v3 is a C++ library designed to work with ranges of values, rather than individual values. It provides a set of utilities and algorithms to manipulate and transform ranges of values in an efficient and expressive way. The library is inspired by the Range concept proposed for inclusion in the C++ standard library for C++20. - ---- - -## Overview - -Ranges v3 includes three main components: - -- **Range adaptors:** These are composable algorithms that transform a range into a new range. They help to create lazy views over the data without actually modifying it. - -- **Action adaptors:** These are algorithms that modify a range in-place. For example, sorting or filtering elements in a container directly. - -- **Trait concepts and utility functions:** Provide tools for working with range types, like determining if a type is a range, getting the iterator type for a range, etc. - ---- - -## Code examples - -Here are some code examples of using the Ranges v3 library: - -## Including the library - -First, you need to include the appropriate header files from the library. To use the entire Ranges v3 library, you can simply include the `range/v3/all.hpp` header file: - -```cpp -#include -``` - -## Using range adaptors - -You can use range adaptors to manipulate and transform ranges. For example, you can use the `view::filter` and `view::transform` adaptors to create a new range containing only even numbers and then square them: - -```cpp -#include -#include - -using namespace ranges; - -int main() { - std::vector numbers = {1, 2, 3, 4, 5, 6}; - - // Create a new range containing only even numbers, and then square them. - auto even_squares = numbers | view::filter([](int n) { return n % 2 == 0; }) - | view::transform([](int n) { return n * n; }); - - // Print the even_squares range. - for (auto n : even_squares) { - std::cout << n << ' '; - } - // Output: 4 16 36 - - return 0; -} -``` - -## Using action adaptors - -Action adaptors are used to modify ranges in-place. For example, you can use the `action::sort` and `action::unique` adaptors to sort and remove duplicate elements from a container: - -```cpp -#include -#include - -using namespace ranges; - -int main() { - std::vector numbers = {5, 3, 1, 4, 4, 2, 2}; - - // Sort the numbers and remove duplicates. - numbers |= action::sort | action::unique; - - // Print the modified numbers vector. - for (auto n : numbers) { - std::cout << n << ' '; - } - // Output: 1 2 3 4 5 - - return 0; -} -``` - -Ranges v3 provides a wide range of adaptors and actions to work with ranges in a more expressive and efficient way. You can explore more in the [official documentation](https://github.com/ericniebler/range-v3/blob/master/doc/index.md). \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/libraries/index.md b/src/data/roadmaps/cpp/content/libraries/index.md deleted file mode 100644 index eb26dd23a..000000000 --- a/src/data/roadmaps/cpp/content/libraries/index.md +++ /dev/null @@ -1 +0,0 @@ -# Libraries \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/118-working-with-libs/100-inclusion.md b/src/data/roadmaps/cpp/content/library-inclusion@5mNqH_AEiLxUmgurNW1Fq.md similarity index 100% rename from src/data/roadmaps/cpp/content/118-working-with-libs/100-inclusion.md rename to src/data/roadmaps/cpp/content/library-inclusion@5mNqH_AEiLxUmgurNW1Fq.md diff --git a/src/data/roadmaps/cpp/content/118-working-with-libs/101-licensing.md b/src/data/roadmaps/cpp/content/licensing@sLVs95EOeHZldoKY0L_dH.md similarity index 100% rename from src/data/roadmaps/cpp/content/118-working-with-libs/101-licensing.md rename to src/data/roadmaps/cpp/content/licensing@sLVs95EOeHZldoKY0L_dH.md diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/101-memory-model/100-object-lifetime.md b/src/data/roadmaps/cpp/content/lifetime-of-objects@9aA_-IfQ9WmbPgwic0mFN.md similarity index 100% rename from src/data/roadmaps/cpp/content/105-pointers-and-references/101-memory-model/100-object-lifetime.md rename to src/data/roadmaps/cpp/content/lifetime-of-objects@9aA_-IfQ9WmbPgwic0mFN.md diff --git a/src/data/roadmaps/cpp/content/102-basic-operations/101-logical-operators.md b/src/data/roadmaps/cpp/content/logical-operators@Y9gq8WkDA_XGe68JkY2UZ.md similarity index 100% rename from src/data/roadmaps/cpp/content/102-basic-operations/101-logical-operators.md rename to src/data/roadmaps/cpp/content/logical-operators@Y9gq8WkDA_XGe68JkY2UZ.md diff --git a/src/data/roadmaps/cpp/content/109-language-concepts/105-macros.md b/src/data/roadmaps/cpp/content/macros@zKdlfZTRHwjtmRUGW9z9-.md similarity index 100% rename from src/data/roadmaps/cpp/content/109-language-concepts/105-macros.md rename to src/data/roadmaps/cpp/content/macros@zKdlfZTRHwjtmRUGW9z9-.md diff --git a/src/data/roadmaps/cpp/content/116-build-systems/101-makefile.md b/src/data/roadmaps/cpp/content/makefile@t6rZLH7l8JQm99ax_fEJ9.md similarity index 100% rename from src/data/roadmaps/cpp/content/116-build-systems/101-makefile.md rename to src/data/roadmaps/cpp/content/makefile@t6rZLH7l8JQm99ax_fEJ9.md diff --git a/src/data/roadmaps/cpp/content/memory-leakage@6w0WExQ4lGIGgok6Thq0s.md b/src/data/roadmaps/cpp/content/memory-leakage@6w0WExQ4lGIGgok6Thq0s.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/101-memory-model/index.md b/src/data/roadmaps/cpp/content/memory-model@mSFwsTYvmg-GwG4_DEIEf.md similarity index 100% rename from src/data/roadmaps/cpp/content/105-pointers-and-references/101-memory-model/index.md rename to src/data/roadmaps/cpp/content/memory-model@mSFwsTYvmg-GwG4_DEIEf.md diff --git a/src/data/roadmaps/cpp/content/107-structures-and-classes/102-multiple-inheritance/index.md b/src/data/roadmaps/cpp/content/multiple-inheritance@WjHpueZDK-d3oDNMVZi9w.md similarity index 100% rename from src/data/roadmaps/cpp/content/107-structures-and-classes/102-multiple-inheritance/index.md rename to src/data/roadmaps/cpp/content/multiple-inheritance@WjHpueZDK-d3oDNMVZi9w.md diff --git a/src/data/roadmaps/cpp/content/110-stl/104-multithreading.md b/src/data/roadmaps/cpp/content/multithreading@OXQUPqxzs1-giAACwl3X1.md similarity index 100% rename from src/data/roadmaps/cpp/content/110-stl/104-multithreading.md rename to src/data/roadmaps/cpp/content/multithreading@OXQUPqxzs1-giAACwl3X1.md diff --git a/src/data/roadmaps/cpp/content/109-language-concepts/104-name-mangling.md b/src/data/roadmaps/cpp/content/name-mangling@Lt7ss59KZw9Jwqj234jm2.md similarity index 100% rename from src/data/roadmaps/cpp/content/109-language-concepts/104-name-mangling.md rename to src/data/roadmaps/cpp/content/name-mangling@Lt7ss59KZw9Jwqj234jm2.md diff --git a/src/data/roadmaps/cpp/content/106-structuring-codebase/100-scope/100-namespaces.md b/src/data/roadmaps/cpp/content/namespaces@iIdC7V8sojwyEqK1xMuHn.md similarity index 100% rename from src/data/roadmaps/cpp/content/106-structuring-codebase/100-scope/100-namespaces.md rename to src/data/roadmaps/cpp/content/namespaces@iIdC7V8sojwyEqK1xMuHn.md diff --git a/src/data/roadmaps/cpp/content/newdelete-operators@Gld0nRs0sM8kRe8XmYolu.md b/src/data/roadmaps/cpp/content/newdelete-operators@Gld0nRs0sM8kRe8XmYolu.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/113-standards/103-newest.md b/src/data/roadmaps/cpp/content/newest@sxbbKtg7kMNbkx7fXhjR9.md similarity index 100% rename from src/data/roadmaps/cpp/content/113-standards/103-newest.md rename to src/data/roadmaps/cpp/content/newest@sxbbKtg7kMNbkx7fXhjR9.md diff --git a/src/data/roadmaps/cpp/content/116-build-systems/102-ninja.md b/src/data/roadmaps/cpp/content/ninja@HkUCD5A_M9bJxJRElkK0x.md similarity index 100% rename from src/data/roadmaps/cpp/content/116-build-systems/102-ninja.md rename to src/data/roadmaps/cpp/content/ninja@HkUCD5A_M9bJxJRElkK0x.md diff --git a/src/data/roadmaps/cpp/content/112-idioms/103-non-copyable.md b/src/data/roadmaps/cpp/content/non-copyable--non-moveable@xjUaIp8gGxkN-cp8emJ2M.md similarity index 100% rename from src/data/roadmaps/cpp/content/112-idioms/103-non-copyable.md rename to src/data/roadmaps/cpp/content/non-copyable--non-moveable@xjUaIp8gGxkN-cp8emJ2M.md diff --git a/src/data/roadmaps/cpp/content/117-package-managers/103-nuget.md b/src/data/roadmaps/cpp/content/nuget@g0s0F4mLV16eNvMBflN2e.md similarity index 100% rename from src/data/roadmaps/cpp/content/117-package-managers/103-nuget.md rename to src/data/roadmaps/cpp/content/nuget@g0s0F4mLV16eNvMBflN2e.md diff --git a/src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/index.md b/src/data/roadmaps/cpp/content/object-oriented-programming@b3-QYKNcW3LYCNOza3Olf.md similarity index 100% rename from src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/index.md rename to src/data/roadmaps/cpp/content/object-oriented-programming@b3-QYKNcW3LYCNOza3Olf.md diff --git a/src/data/roadmaps/cpp/content/opencl@GGZJaYpRENaqloJzt0VtY.md b/src/data/roadmaps/cpp/content/opencl@GGZJaYpRENaqloJzt0VtY.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/opencv@Eq3TKSFJ2F2mrTHAaU2J4.md b/src/data/roadmaps/cpp/content/opencv@Eq3TKSFJ2F2mrTHAaU2J4.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/103-functions/101-operators.md b/src/data/roadmaps/cpp/content/operator-overloading@llCBeut_uc9IAe2oi4KZ9.md similarity index 100% rename from src/data/roadmaps/cpp/content/103-functions/101-operators.md rename to src/data/roadmaps/cpp/content/operator-overloading@llCBeut_uc9IAe2oi4KZ9.md diff --git a/src/data/roadmaps/cpp/content/orbit-profiler@O0lVEMTAV1pq9sYCKQvh_.md b/src/data/roadmaps/cpp/content/orbit-profiler@O0lVEMTAV1pq9sYCKQvh_.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/117-package-managers/index.md b/src/data/roadmaps/cpp/content/package-managers@h29eJG1hWHa7vMhSqtfV2.md similarity index 100% rename from src/data/roadmaps/cpp/content/117-package-managers/index.md rename to src/data/roadmaps/cpp/content/package-managers@h29eJG1hWHa7vMhSqtfV2.md diff --git a/src/data/roadmaps/cpp/content/111-templates/101-template-specialization/101-partial.md b/src/data/roadmaps/cpp/content/partial-template-specialization@1NYJtbdcdOB4-vIrnq4yX.md similarity index 100% rename from src/data/roadmaps/cpp/content/111-templates/101-template-specialization/101-partial.md rename to src/data/roadmaps/cpp/content/partial-template-specialization@1NYJtbdcdOB4-vIrnq4yX.md diff --git a/src/data/roadmaps/cpp/content/112-idioms/101-pimpl.md b/src/data/roadmaps/cpp/content/pimpl@MEoWt8NKjPLVTeGgYf3cR.md similarity index 100% rename from src/data/roadmaps/cpp/content/112-idioms/101-pimpl.md rename to src/data/roadmaps/cpp/content/pimpl@MEoWt8NKjPLVTeGgYf3cR.md diff --git a/src/data/roadmaps/cpp/content/poco@nOkniNXfXwPPlOEJHJoGl.md b/src/data/roadmaps/cpp/content/poco@nOkniNXfXwPPlOEJHJoGl.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/index.md b/src/data/roadmaps/cpp/content/pointers-and-references@DWw8NxkLpIpiOSUaZZ1oA.md similarity index 100% rename from src/data/roadmaps/cpp/content/105-pointers-and-references/index.md rename to src/data/roadmaps/cpp/content/pointers-and-references@DWw8NxkLpIpiOSUaZZ1oA.md diff --git a/src/data/roadmaps/cpp/content/protobuf@jpMCIWQko7p3ndezYHL4D.md b/src/data/roadmaps/cpp/content/protobuf@jpMCIWQko7p3ndezYHL4D.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/pybind11@tEkvlJPAkD5fji-MMODL7.md b/src/data/roadmaps/cpp/content/pybind11@tEkvlJPAkD5fji-MMODL7.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/pytorch-c@88pr5aN7cctZfDVVo-2ns.md b/src/data/roadmaps/cpp/content/pytorch-c@88pr5aN7cctZfDVVo-2ns.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/qt@gAZ9Dqgj1_UkaLzVgzx1t.md b/src/data/roadmaps/cpp/content/qt@gAZ9Dqgj1_UkaLzVgzx1t.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/112-idioms/100-raii.md b/src/data/roadmaps/cpp/content/raii@OmHDlLxCnH8RDdu5vx9fl.md similarity index 100% rename from src/data/roadmaps/cpp/content/112-idioms/100-raii.md rename to src/data/roadmaps/cpp/content/raii@OmHDlLxCnH8RDdu5vx9fl.md diff --git a/src/data/roadmaps/cpp/content/ranges_v3@et-dXKPYuyVW6eV2K3CM8.md b/src/data/roadmaps/cpp/content/ranges_v3@et-dXKPYuyVW6eV2K3CM8.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/100-references.md b/src/data/roadmaps/cpp/content/references@uUzRKa9wGzdUwwmAg3FWr.md similarity index 100% rename from src/data/roadmaps/cpp/content/105-pointers-and-references/100-references.md rename to src/data/roadmaps/cpp/content/references@uUzRKa9wGzdUwwmAg3FWr.md diff --git a/src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/103-reinterpret-cast.md b/src/data/roadmaps/cpp/content/reinterpret_cast@ZMyFDJrpCauGrY5NZkOwg.md similarity index 100% rename from src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/103-reinterpret-cast.md rename to src/data/roadmaps/cpp/content/reinterpret_cast@ZMyFDJrpCauGrY5NZkOwg.md diff --git a/src/data/roadmaps/cpp/content/104-data-types/101-dynamic-typing/100-rtti.md b/src/data/roadmaps/cpp/content/rtti@r0yD1gfn03wTpEBi6zNsu.md similarity index 100% rename from src/data/roadmaps/cpp/content/104-data-types/101-dynamic-typing/100-rtti.md rename to src/data/roadmaps/cpp/content/rtti@r0yD1gfn03wTpEBi6zNsu.md diff --git a/src/data/roadmaps/cpp/content/107-structures-and-classes/100-rule-of-zero-five-three.md b/src/data/roadmaps/cpp/content/rule-of-zero-five-three@7sdEzZCIoarzznwO4XcCv.md similarity index 100% rename from src/data/roadmaps/cpp/content/107-structures-and-classes/100-rule-of-zero-five-three.md rename to src/data/roadmaps/cpp/content/rule-of-zero-five-three@7sdEzZCIoarzznwO4XcCv.md diff --git a/src/data/roadmaps/cpp/content/101-setting-up/102-first-program.md b/src/data/roadmaps/cpp/content/running-your-first-program@SEq0D2Zg5WTsIDtd1hW9f.md similarity index 100% rename from src/data/roadmaps/cpp/content/101-setting-up/102-first-program.md rename to src/data/roadmaps/cpp/content/running-your-first-program@SEq0D2Zg5WTsIDtd1hW9f.md diff --git a/src/data/roadmaps/cpp/content/106-structuring-codebase/100-scope/index.md b/src/data/roadmaps/cpp/content/scope@dKCYmxDNZubCVcR5rf8b-.md similarity index 100% rename from src/data/roadmaps/cpp/content/106-structuring-codebase/100-scope/index.md rename to src/data/roadmaps/cpp/content/scope@dKCYmxDNZubCVcR5rf8b-.md diff --git a/src/data/roadmaps/cpp/content/101-setting-up/index.md b/src/data/roadmaps/cpp/content/setting-up-your-environment@Zc_TTzmM36yWsu3GvOy9x.md similarity index 100% rename from src/data/roadmaps/cpp/content/101-setting-up/index.md rename to src/data/roadmaps/cpp/content/setting-up-your-environment@Zc_TTzmM36yWsu3GvOy9x.md diff --git a/src/data/roadmaps/cpp/content/111-templates/103-finae.md b/src/data/roadmaps/cpp/content/sfinae@3C5UfejDX-1Z8ZF6C53xD.md similarity index 100% rename from src/data/roadmaps/cpp/content/111-templates/103-finae.md rename to src/data/roadmaps/cpp/content/sfinae@3C5UfejDX-1Z8ZF6C53xD.md diff --git a/src/data/roadmaps/cpp/content/shared_ptr@b5jZIZD_U_CPg-_bdndjz.md b/src/data/roadmaps/cpp/content/shared_ptr@b5jZIZD_U_CPg-_bdndjz.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/117-package-managers/101-spack.md b/src/data/roadmaps/cpp/content/spack@3ehBc2sKVlPj7dn4RVZCH.md similarity index 100% rename from src/data/roadmaps/cpp/content/117-package-managers/101-spack.md rename to src/data/roadmaps/cpp/content/spack@3ehBc2sKVlPj7dn4RVZCH.md diff --git a/src/data/roadmaps/cpp/content/spdlog@q64qFxoCrR38RPsN2lC8x.md b/src/data/roadmaps/cpp/content/spdlog@q64qFxoCrR38RPsN2lC8x.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/110-stl/index.md b/src/data/roadmaps/cpp/content/standard-library--stl@DHdNBP7_ixjr6h-dIQ7g6.md similarity index 100% rename from src/data/roadmaps/cpp/content/110-stl/index.md rename to src/data/roadmaps/cpp/content/standard-library--stl@DHdNBP7_ixjr6h-dIQ7g6.md diff --git a/src/data/roadmaps/cpp/content/113-standards/index.md b/src/data/roadmaps/cpp/content/standardds@vvE1aUsWbF1OFcmMUHbJa.md similarity index 100% rename from src/data/roadmaps/cpp/content/113-standards/index.md rename to src/data/roadmaps/cpp/content/standardds@vvE1aUsWbF1OFcmMUHbJa.md diff --git a/src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/100-static-polymorphism/index.md b/src/data/roadmaps/cpp/content/static-polymorphism@obZIxRp0eMWdG7gplNIBc.md similarity index 100% rename from src/data/roadmaps/cpp/content/107-structures-and-classes/101-oop/100-static-polymorphism/index.md rename to src/data/roadmaps/cpp/content/static-polymorphism@obZIxRp0eMWdG7gplNIBc.md diff --git a/src/data/roadmaps/cpp/content/104-data-types/100-static-typing.md b/src/data/roadmaps/cpp/content/static-typing@f1djN0GxoeVPr_0cl6vMq.md similarity index 100% rename from src/data/roadmaps/cpp/content/104-data-types/100-static-typing.md rename to src/data/roadmaps/cpp/content/static-typing@f1djN0GxoeVPr_0cl6vMq.md diff --git a/src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/100-static-cast.md b/src/data/roadmaps/cpp/content/static_cast@_XB2Imyf23-6AOeoNLhYQ.md similarity index 100% rename from src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/100-static-cast.md rename to src/data/roadmaps/cpp/content/static_cast@_XB2Imyf23-6AOeoNLhYQ.md diff --git a/src/data/roadmaps/cpp/content/107-structures-and-classes/index.md b/src/data/roadmaps/cpp/content/structures-and-classes@CMlWNQwpywNhO9B6Yj6Me.md similarity index 100% rename from src/data/roadmaps/cpp/content/107-structures-and-classes/index.md rename to src/data/roadmaps/cpp/content/structures-and-classes@CMlWNQwpywNhO9B6Yj6Me.md diff --git a/src/data/roadmaps/cpp/content/106-structuring-codebase/index.md b/src/data/roadmaps/cpp/content/structuring-codebase@Zw2AOTK5uc9BoKEpY7W1C.md similarity index 100% rename from src/data/roadmaps/cpp/content/106-structuring-codebase/index.md rename to src/data/roadmaps/cpp/content/structuring-codebase@Zw2AOTK5uc9BoKEpY7W1C.md diff --git a/src/data/roadmaps/cpp/content/111-templates/101-template-specialization/index.md b/src/data/roadmaps/cpp/content/template-specialization@sObOuccY0PDeGG-9GrFDF.md similarity index 100% rename from src/data/roadmaps/cpp/content/111-templates/101-template-specialization/index.md rename to src/data/roadmaps/cpp/content/template-specialization@sObOuccY0PDeGG-9GrFDF.md diff --git a/src/data/roadmaps/cpp/content/111-templates/index.md b/src/data/roadmaps/cpp/content/templates@-6AOrbuOE7DJCmxlcgCay.md similarity index 100% rename from src/data/roadmaps/cpp/content/111-templates/index.md rename to src/data/roadmaps/cpp/content/templates@-6AOrbuOE7DJCmxlcgCay.md diff --git a/src/data/roadmaps/cpp/content/tensorflow@j_eNHhs0J08Dt7HVbo4Q2.md b/src/data/roadmaps/cpp/content/tensorflow@j_eNHhs0J08Dt7HVbo4Q2.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/index.md b/src/data/roadmaps/cpp/content/type-casting@PiMhw1oP9-NZEa6I9u4lX.md similarity index 100% rename from src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/index.md rename to src/data/roadmaps/cpp/content/type-casting@PiMhw1oP9-NZEa6I9u4lX.md diff --git a/src/data/roadmaps/cpp/content/111-templates/102-type-traits.md b/src/data/roadmaps/cpp/content/type-traits@WptReUOwVth3C9-AVmMHF.md similarity index 100% rename from src/data/roadmaps/cpp/content/111-templates/102-type-traits.md rename to src/data/roadmaps/cpp/content/type-traits@WptReUOwVth3C9-AVmMHF.md diff --git a/src/data/roadmaps/cpp/content/109-language-concepts/102-undefined-behavior.md b/src/data/roadmaps/cpp/content/undefined-behavior-ub@IDOlquv6jlfecwQoBwkGZ.md similarity index 100% rename from src/data/roadmaps/cpp/content/109-language-concepts/102-undefined-behavior.md rename to src/data/roadmaps/cpp/content/undefined-behavior-ub@IDOlquv6jlfecwQoBwkGZ.md diff --git a/src/data/roadmaps/cpp/content/114-debuggers/100-debugger-messages.md b/src/data/roadmaps/cpp/content/understanding-debugger-messages@VtPb8-AJKzhTB0QbMtoU4.md similarity index 100% rename from src/data/roadmaps/cpp/content/114-debuggers/100-debugger-messages.md rename to src/data/roadmaps/cpp/content/understanding-debugger-messages@VtPb8-AJKzhTB0QbMtoU4.md diff --git a/src/data/roadmaps/cpp/content/unique_ptr@k9c5seRkhgm_yHPpiz2X0.md b/src/data/roadmaps/cpp/content/unique_ptr@k9c5seRkhgm_yHPpiz2X0.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/111-templates/100-variadic-templates.md b/src/data/roadmaps/cpp/content/variadic-templates@w4EIf58KP-Pq-yc0HlGxc.md similarity index 100% rename from src/data/roadmaps/cpp/content/111-templates/100-variadic-templates.md rename to src/data/roadmaps/cpp/content/variadic-templates@w4EIf58KP-Pq-yc0HlGxc.md diff --git a/src/data/roadmaps/cpp/content/117-package-managers/100-vcpkg.md b/src/data/roadmaps/cpp/content/vcpkg@PKG5pACLfRS2ogfzBX47_.md similarity index 100% rename from src/data/roadmaps/cpp/content/117-package-managers/100-vcpkg.md rename to src/data/roadmaps/cpp/content/vcpkg@PKG5pACLfRS2ogfzBX47_.md diff --git a/src/data/roadmaps/cpp/content/virtual-methods@hNBErGNiegLsUJn_vgcOR.md b/src/data/roadmaps/cpp/content/virtual-methods@hNBErGNiegLsUJn_vgcOR.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/virtual-tables@s99ImazcwCgAESxZd8ksa.md b/src/data/roadmaps/cpp/content/virtual-tables@s99ImazcwCgAESxZd8ksa.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/weak_ptr@vUwSS-uX36OWZouO0wOcy.md b/src/data/roadmaps/cpp/content/weak_ptr@vUwSS-uX36OWZouO0wOcy.md new file mode 100644 index 000000000..e69de29bb diff --git a/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md b/src/data/roadmaps/cpp/content/what-is-c@x_28LiDVshqWns_aIBsdx.md similarity index 100% rename from src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md rename to src/data/roadmaps/cpp/content/what-is-c@x_28LiDVshqWns_aIBsdx.md diff --git a/src/data/roadmaps/cpp/content/100-introduction/101-why-cpp.md b/src/data/roadmaps/cpp/content/why-use-c@tl6VCQ5IEGDVyFcgj7jDm.md similarity index 100% rename from src/data/roadmaps/cpp/content/100-introduction/101-why-cpp.md rename to src/data/roadmaps/cpp/content/why-use-c@tl6VCQ5IEGDVyFcgj7jDm.md diff --git a/src/data/roadmaps/cpp/content/114-debuggers/102-win-dbg.md b/src/data/roadmaps/cpp/content/windbg@y8VCbGDUco9bzGRfIBD8R.md similarity index 100% rename from src/data/roadmaps/cpp/content/114-debuggers/102-win-dbg.md rename to src/data/roadmaps/cpp/content/windbg@y8VCbGDUco9bzGRfIBD8R.md diff --git a/src/data/roadmaps/cpp/content/118-working-with-libs/index.md b/src/data/roadmaps/cpp/content/working-with-libraries@4kkX5g_-plX9zVqr0ZoiR.md similarity index 100% rename from src/data/roadmaps/cpp/content/118-working-with-libs/index.md rename to src/data/roadmaps/cpp/content/working-with-libraries@4kkX5g_-plX9zVqr0ZoiR.md diff --git a/src/data/roadmaps/cpp/cpp.json b/src/data/roadmaps/cpp/cpp.json index 3bb030b43..404e1ad89 100644 --- a/src/data/roadmaps/cpp/cpp.json +++ b/src/data/roadmaps/cpp/cpp.json @@ -1,16070 +1,5505 @@ { - "mockup": { - "controls": { - "control": [ - { - "ID": "4511", - "typeID": "Arrow", - "zOrder": "0", - "w": "1", - "h": "147", - "measuredW": "150", - "measuredH": "100", - "x": "1100", - "y": "3336", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.4784172661870499, - "y": -0.0014388489208635442 - }, - "p2": { - "x": 0, - "y": 146.67245707612938 - } - } - }, - { - "ID": "4512", - "typeID": "Arrow", - "zOrder": "1", - "w": "1053", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "475", - "y": "2981", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.14599859981393593, - "y": 1 - }, - "p1": { - "x": 0.5094183863981452, - "y": 0.00090101782394456 - }, - "p2": { - "x": 1052.4781385743524, - "y": 1 - } - } - }, - { - "ID": "4513", - "typeID": "Arrow", - "zOrder": "2", - "w": "1", - "h": "68", - "measuredW": "150", - "measuredH": "100", - "x": "1522", - "y": "2983", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.3738002047268765, - "y": 0.389598287314584 - }, - "p1": { - "x": 0.5094183863981457, - "y": 0.0009010178239445603 - }, - "p2": { - "x": -0.3738002047268765, - "y": 68.41890188219668 - } - } - }, - { - "ID": "4514", - "typeID": "Arrow", - "zOrder": "3", - "w": "1", - "h": "147", - "measuredW": "150", - "measuredH": "100", - "x": "1522", - "y": "2836", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.4784172661870499, - "y": -0.0014388489208635442 - }, - "p2": { - "x": 0, - "y": 146.67245707612938 - } - } - }, - { - "ID": "4515", - "typeID": "Arrow", - "zOrder": "4", - "w": "1", - "h": "101", - "measuredW": "150", - "measuredH": "100", - "x": "1558", - "y": "2729", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.3738002047268765, - "y": 0.389598287314584 - }, - "p1": { - "x": 0.5094183863981457, - "y": 0.0009010178239445605 - }, - "p2": { - "x": -0.3738002047268765, - "y": 101.56508807523778 - } - } - }, - { - "ID": "4516", - "typeID": "Arrow", - "zOrder": "5", - "w": "1", - "h": "101", - "measuredW": "150", - "measuredH": "100", - "x": "1459", - "y": "2729", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.3738002047268765, - "y": 0.389598287314584 - }, - "p1": { - "x": 0.5094183863981457, - "y": 0.0009010178239445605 - }, - "p2": { - "x": -0.3738002047268765, - "y": 101.56508807523778 - } - } - }, - { - "ID": "4517", - "typeID": "Arrow", - "zOrder": "6", - "w": "1", - "h": "116", - "measuredW": "150", - "measuredH": "100", - "x": "1159", - "y": "2729", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.3738002047268765, - "y": 0.389598287314584 - }, - "p1": { - "x": 0.5094183863981456, - "y": 0.0009010178239445603 - }, - "p2": { - "x": -0.3738002047268765, - "y": 116.6863074097705 - }, - "stroke": "dotted" - } - }, - { - "ID": "4518", - "typeID": "TextArea", - "zOrder": "7", - "w": "151", - "h": "209", - "measuredW": "200", - "measuredH": "140", - "x": "669", - "y": "2560", - "properties": { - "size": "12" - } - }, - { - "ID": "4519", - "typeID": "Arrow", - "zOrder": "8", - "w": "1", - "h": "190", - "measuredW": "150", - "measuredH": "100", - "x": "819", - "y": "2396", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.3738002047268765, - "y": 0 - }, - "p1": { - "x": 0.5094183863981455, - "y": 0.0009010178239445601 - }, - "p2": { - "x": -0.3738002047268765, - "y": 189.73287212529976 - }, - "stroke": "dotted" - } - }, - { - "ID": "4520", - "typeID": "Arrow", - "zOrder": "9", - "w": "653", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "477", - "y": "2497", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.29177514116184966, - "y": 1 - }, - "p1": { - "x": 0.5094183863981455, - "y": 0.0009010178239445598 - }, - "p2": { - "x": 652.9300411642978, - "y": 1 - } - } - }, - { - "ID": "4521", - "typeID": "Arrow", - "zOrder": "10", - "w": "135", - "h": "97", - "measuredW": "150", - "measuredH": "100", - "x": "1212", - "y": "2513", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.31135115406141267, - "y": 0.46279090838925185 - }, - "p1": { - "x": 0.4839784419402247, - "y": 0.14091131798138176 - }, - "p2": { - "x": 134.9965025128497, - "y": 97.37039981288308 - } - } - }, - { - "ID": "4522", - "typeID": "Arrow", - "zOrder": "11", - "w": "103", - "h": "46", - "measuredW": "150", - "measuredH": "100", - "x": "1240", - "y": "2512", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.23388253332245768, - "y": -0.17971093744972677 - }, - "p1": { - "x": 0.5905743740795274, - "y": 0.13549337260677535 - }, - "p2": { - "x": 103.71149882117197, - "y": 45.810340746038946 - } - } - }, - { - "ID": "4523", - "typeID": "Arrow", - "zOrder": "12", - "w": "118", - "h": "3", - "measuredW": "150", - "measuredH": "100", - "x": "1230", - "y": "2497", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.3788714582890407, - "y": 0.3952706041613965 - }, - "p1": { - "x": 0.5093283582089555, - "y": 0.0008582089552239446 - }, - "p2": { - "x": 118.63900435868845, - "y": 3.6802742958393537 - } - } - }, - { - "ID": "4524", - "typeID": "Arrow", - "zOrder": "13", - "w": "1", - "h": "177", - "measuredW": "150", - "measuredH": "100", - "x": "1159", - "y": "2313", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.0699588357022094, - "y": 177.46776506664492 - }, - "p1": { - "x": 0.5094183863981457, - "y": 0.0009010178239445597 - }, - "p2": { - "x": -0.0699588357022094, - "y": 0 - } - } - }, - { - "ID": "4525", - "typeID": "Arrow", - "zOrder": "14", - "w": "251", - "h": "204", - "measuredW": "150", - "measuredH": "100", - "x": "1166", - "y": "2107", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.49995145234674965, - "y": 203.613812947287 - }, - "p1": { - "x": 0.48407889648059815, - "y": -0.07206394224571401 - }, - "p2": { - "x": 250.8028309610022, - "y": -0.056415936734083516 - } - } - }, - { - "ID": "4526", - "typeID": "Arrow", - "zOrder": "15", - "w": "218", - "h": "138", - "measuredW": "150", - "measuredH": "100", - "x": "1200", - "y": "2163", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.007412689730244892, - "y": 137.75880187225403 - }, - "p1": { - "x": 0.468185744252046, - "y": -0.07469255130999888 - }, - "p2": { - "x": 218.44533280684095, - "y": -0.2113531782119935 - } - } - }, - { - "ID": "4527", - "typeID": "Arrow", - "zOrder": "16", - "w": "209", - "h": "89", - "measuredW": "150", - "measuredH": "100", - "x": "1210", - "y": "2214", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.15240161469705527, - "y": 88.40130371809255 - }, - "p1": { - "x": 0.50082595424561, - "y": -0.06635119086251119 - }, - "p2": { - "x": 208.44533280684095, - "y": -0.2937959572068394 - } - } - }, - { - "ID": "4528", - "typeID": "Arrow", - "zOrder": "17", - "w": "191", - "h": "43", - "measuredW": "150", - "measuredH": "100", - "x": "1226", - "y": "2263", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.2726168436918215, - "y": 42.68630740977051 - }, - "p1": { - "x": 0.5486967074016806, - "y": -0.05138415466209874 - }, - "p2": { - "x": 190.8028309610022, - "y": -0.01874058204020912 - } - } - }, - { - "ID": "4529", - "typeID": "Arrow", - "zOrder": "18", - "w": "181", - "h": "3", - "measuredW": "150", - "measuredH": "100", - "x": "1244", - "y": "2317", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.34013714791967686, - "y": 3.4688240223204048 - }, - "p1": { - "x": 0.5093283582089555, - "y": 0.000858208955223941 - }, - "p2": { - "x": 181.01534019019664, - "y": 0.18382033064290226 - } - } - }, - { - "ID": "4530", - "typeID": "Arrow", - "zOrder": "19", - "w": "332", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "827", - "y": "2177", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.28965722981035924, - "y": 0 - }, - "p1": { - "x": 0.5094183863981457, - "y": 0.0009010178239445598 - }, - "p2": { - "x": 331.9300411642978, - "y": 0 - } - } - }, - { - "ID": "4531", - "typeID": "Arrow", - "zOrder": "20", - "w": "105", - "h": "98", - "measuredW": "150", - "measuredH": "100", - "x": "647", - "y": "2057", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.09556796253320954, - "y": -0.35634210317903126 - }, - "p1": { - "x": 0.5082179448571936, - "y": -0.1619513449521908 - }, - "p2": { - "x": 104.58958339625508, - "y": 97.57613759259357 - } - } - }, - { - "ID": "4532", - "typeID": "Arrow", - "zOrder": "21", - "w": "123", - "h": "42", - "measuredW": "150", - "measuredH": "100", - "x": "637", - "y": "2117", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.09556796253320954, - "y": -0.35634210317903126 - }, - "p1": { - "x": 0.4632734799449753, - "y": -0.11318366133437698 - }, - "p2": { - "x": 122.80209262544952, - "y": 40.86114128427107 - } - } - }, - { - "ID": "4533", - "typeID": "Arrow", - "zOrder": "22", - "w": "99", - "h": "99", - "measuredW": "150", - "measuredH": "100", - "x": "648", - "y": "2179", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.11196710840556534, - "y": 98.76377603050969 - }, - "p1": { - "x": 0.4535196131112306, - "y": 0.16469639978506187 - }, - "p2": { - "x": 98.66207785873837, - "y": 0.2136652801764285 - } - } - }, - { - "ID": "4534", - "typeID": "Arrow", - "zOrder": "23", - "w": "90", - "h": "46", - "measuredW": "150", - "measuredH": "100", - "x": "643", - "y": "2179", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.18446157088885684, - "y": 46.203716963665556 - }, - "p1": { - "x": 0.4015719251962475, - "y": 0.16354484698292773 - }, - "p2": { - "x": 90.52206309202734, - "y": 0.2136652801764285 - } - } - }, - { - "ID": "4535", - "typeID": "Arrow", - "zOrder": "24", - "w": "133", - "h": "3", - "measuredW": "150", - "measuredH": "100", - "x": "617", - "y": "2170", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.09556796253320954, - "y": 2.6436578968209687 - }, - "p1": { - "x": 0.5093283582089554, - "y": 0.0008582089552239398 - }, - "p2": { - "x": 132.81818181818176, - "y": 0 - } - } - }, - { - "ID": "4536", - "typeID": "Arrow", - "zOrder": "25", - "w": "1", - "h": "108", - "measuredW": "150", - "measuredH": "100", - "x": "1161", - "y": "2050", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.3738002047268765, - "y": 0 - }, - "p1": { - "x": 0.5094183863981457, - "y": 0.0009010178239445601 - }, - "p2": { - "x": -0.3738002047268765, - "y": 107.89490143638523 - } - } - }, - { - "ID": "4537", - "typeID": "Arrow", - "zOrder": "26", - "w": "88", - "h": "47", - "measuredW": "150", - "measuredH": "100", - "x": "645", - "y": "1895", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.377247085476597, - "y": 0.2453785840434648 - }, - "p1": { - "x": 0.39353169469599014, - "y": -0.14954721862871956 - }, - "p2": { - "x": 88.75678897330613, - "y": 47.4067401960549 - } - } - }, - { - "ID": "4538", - "typeID": "Arrow", - "zOrder": "27", - "w": "132", - "h": "4", - "measuredW": "150", - "measuredH": "100", - "x": "613", - "y": "1951", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.20182257713042873, - "y": 0.4421559398138015 - }, - "p1": { - "x": 0.5093283582089555, - "y": 0.0008582089552239413 - }, - "p2": { - "x": 131.81818181818176, - "y": 4 - } - } - }, - { - "ID": "4539", - "typeID": "Arrow", - "zOrder": "28", - "w": "176", - "h": "140", - "measuredW": "150", - "measuredH": "100", - "x": "916", - "y": "1889", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.4065014011649737, - "y": 0.31208948961398164 - }, - "p1": { - "x": 0.5646685303960005, - "y": -0.1042652665453224 - }, - "p2": { - "x": 175.27003031855452, - "y": 140.4203934280083 - } - } - }, - { - "ID": "4540", - "typeID": "Arrow", - "zOrder": "29", - "w": "156", - "h": "96", - "measuredW": "150", - "measuredH": "100", - "x": "909", - "y": "1942", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.023491215479452876, - "y": -0.12785144354165823 - }, - "p1": { - "x": 0.46550407345571637, - "y": -0.07990517527983494 - }, - "p2": { - "x": 156.1158220740574, - "y": 95.67961708416533 - } - } - }, - { - "ID": "4541", - "typeID": "Arrow", - "zOrder": "30", - "w": "160", - "h": "48", - "measuredW": "150", - "measuredH": "100", - "x": "902", - "y": "1998", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.393939393939263, - "y": 0 - }, - "p1": { - "x": 0.4982118911346556, - "y": -0.04637376912783025 - }, - "p2": { - "x": 160.36274752200507, - "y": 47.93884074032235 - } - } - }, - { - "ID": "4542", - "typeID": "Arrow", - "zOrder": "31", - "w": "159", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "902", - "y": "2057", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.393939393939263, - "y": 0 - }, - "p1": { - "x": 0.5093283582089556, - "y": 0.0008582089552239403 - }, - "p2": { - "x": 158.98621024597878, - "y": 0.4449898444270275 - } - } - }, - { - "ID": "4543", - "typeID": "Arrow", - "zOrder": "32", - "w": "96", - "h": "41", - "measuredW": "150", - "measuredH": "100", - "x": "1345", - "y": "1905", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.33333333333325754, - "y": 41 - }, - "p1": { - "x": 0.43118692069457804, - "y": 0.1239510438908394 - }, - "p2": { - "x": 95.66666666666674, - "y": -0.33333333333325754 - } - } - }, - { - "ID": "4544", - "typeID": "Arrow", - "zOrder": "33", - "w": "107", - "h": "39", - "measuredW": "150", - "measuredH": "100", - "x": "1339", - "y": "1841", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.33333333333325754, - "y": 0.33333333333325754 - }, - "p1": { - "x": 0.5200174349604124, - "y": -0.10336215208054722 - }, - "p2": { - "x": 107, - "y": 39 - } - } - }, - { - "ID": "4545", - "typeID": "Arrow", - "zOrder": "34", - "w": "142", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1294", - "y": "1892", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.393939393939263, - "y": 0 - }, - "p1": { - "x": 0.5093283582089555, - "y": 0.0008582089552239402 - }, - "p2": { - "x": 142.81818181818176, - "y": 0 - }, - "stroke": "dotted" - } - }, - { - "ID": "4546", - "typeID": "Arrow", - "zOrder": "35", - "w": "343", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1276", - "y": "1746", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.36363636363637397, - "y": 0 - }, - "p1": { - "x": 0.5094183863981457, - "y": 0.0009010178239445597 - }, - "p2": { - "x": 343.05666933709745, - "y": 0 - } - } - }, - { - "ID": "4547", - "typeID": "Arrow", - "zOrder": "36", - "w": "182", - "h": "200", - "measuredW": "150", - "measuredH": "100", - "x": "902", - "y": "1524", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.393939393939263, - "y": 0 - }, - "p1": { - "x": 0.5676904598651433, - "y": -0.07934213880133886 - }, - "p2": { - "x": 182.66666666666674, - "y": 200 - } - } - }, - { - "ID": "4548", - "typeID": "Arrow", - "zOrder": "37", - "w": "169", - "h": "147", - "measuredW": "150", - "measuredH": "100", - "x": "902", - "y": "1581", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.393939393939263, - "y": 0 - }, - "p1": { - "x": 0.5295305168083262, - "y": -0.08532055409150152 - }, - "p2": { - "x": 169.33333333333326, - "y": 147 - } - } - }, - { - "ID": "4549", - "typeID": "Arrow", - "zOrder": "38", - "w": "145", - "h": "39", - "measuredW": "150", - "measuredH": "100", - "x": "893", - "y": "1688", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.393939393939263, - "y": 0 - }, - "p1": { - "x": 0.5016338931758112, - "y": -0.07799721657724405 - }, - "p2": { - "x": 145, - "y": 38.66666666666674 - } - } - }, - { - "ID": "4550", - "typeID": "Arrow", - "zOrder": "39", - "w": "145", - "h": "85", - "measuredW": "150", - "measuredH": "100", - "x": "902", - "y": "1635", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.33333333333325754 - }, - "p1": { - "x": 0.5593457052347596, - "y": -0.09606994031820805 - }, - "p2": { - "x": 145.33333333333326, - "y": 85 - } - } - }, - { - "ID": "4551", - "typeID": "Arrow", - "zOrder": "40", - "w": "142", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "895", - "y": "1739", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.393939393939263, - "y": 0 - }, - "p1": { - "x": 0.5093283582089555, - "y": 0.0008582089552239402 - }, - "p2": { - "x": 142.81818181818176, - "y": 0 - }, - "stroke": "dotted" - } - }, - { - "ID": "4552", - "typeID": "Arrow", - "zOrder": "41", - "w": "67", - "h": "45", - "measuredW": "150", - "measuredH": "100", - "x": "1395", - "y": "1522", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.33333333333325754, - "y": 0 - }, - "p1": { - "x": 0.48318584070796416, - "y": -0.14778761061947046 - }, - "p2": { - "x": 67, - "y": 44.66666666666674 - } - } - }, - { - "ID": "4553", - "typeID": "Arrow", - "zOrder": "42", - "w": "332", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1286", - "y": "1725", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.5094183863981456, - "y": 0.0009010178239445595 - }, - "p2": { - "x": 332, - "y": 0 - } - } - }, - { - "ID": "4554", - "typeID": "Arrow", - "zOrder": "43", - "w": "108", - "h": "74", - "measuredW": "150", - "measuredH": "100", - "x": "534", - "y": "1592", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.3636363636362603, - "y": 74.24242424242425 - }, - "p1": { - "x": 0.48447653429602944, - "y": 0.13140794223826668 - }, - "p2": { - "x": 107.93939393939377, - "y": 0 - } - } - }, - { - "ID": "4555", - "typeID": "Arrow", - "zOrder": "44", - "w": "103", - "h": "30", - "measuredW": "150", - "measuredH": "100", - "x": "536", - "y": "1587", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.12121212121223834, - "y": 30.75757575757575 - }, - "p1": { - "x": 0.3988125298095009, - "y": 0.09582877423336884 - }, - "p2": { - "x": 102.90909090909076, - "y": 0.4545454545452685 - } - } - }, - { - "ID": "4556", - "typeID": "Arrow", - "zOrder": "45", - "w": "91", - "h": "21", - "measuredW": "150", - "measuredH": "100", - "x": "536", - "y": "1554", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.12121212121223834, - "y": 0.12121212121201097 - }, - "p1": { - "x": 0.479452054794521, - "y": -0.054794520547945855 - }, - "p2": { - "x": 90.78787878787875, - "y": 21.333333333333258 - } - } - }, - { - "ID": "4557", - "typeID": "Arrow", - "zOrder": "46", - "w": "106", - "h": "58", - "measuredW": "150", - "measuredH": "100", - "x": "536", - "y": "1509", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.12121212121223834, - "y": -0.3333333333334849 - }, - "p1": { - "x": 0.5537436216802392, - "y": -0.10931033790023838 - }, - "p2": { - "x": 105.93939393939377, - "y": 57.24242424242425 - } - } - }, - { - "ID": "4558", - "typeID": "Arrow", - "zOrder": "47", - "w": "1", - "h": "71", - "measuredW": "150", - "measuredH": "100", - "x": "1311", - "y": "1449", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.09090909090900823, - "y": 0 - }, - "p1": { - "x": 0.5093283582089554, - "y": 0.0008582089552239402 - }, - "p2": { - "x": 0.09090909090900823, - "y": 70.74029870271806 - } - } - }, - { - "ID": "4559", - "typeID": "Arrow", - "zOrder": "48", - "w": "144", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1371", - "y": "1576", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.09090909090900823, - "y": 0 - }, - "p1": { - "x": 0.5093283582089554, - "y": 0.0008582089552239402 - }, - "p2": { - "x": 144.36363636363626, - "y": 0 - } - } - }, - { - "ID": "4560", - "typeID": "Arrow", - "zOrder": "49", - "w": "317", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1301", - "y": "1329", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.5094183863981456, - "y": 0.0009010178239445595 - }, - "p2": { - "x": 317, - "y": 0 - } - } - }, - { - "ID": "4561", - "typeID": "Arrow", - "zOrder": "50", - "w": "1", - "h": "79", - "measuredW": "150", - "measuredH": "100", - "x": "1072", - "y": "1404", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": -0.36165903546771005 - }, - "p1": { - "x": 0.4583333333333334, - "y": -0.0053333333333334815 - }, - "p2": { - "x": 0, - "y": 78.939393939394 - } - } - }, - { - "ID": "4562", - "typeID": "Arrow", - "zOrder": "51", - "w": "1", - "h": "182", - "measuredW": "150", - "measuredH": "100", - "x": "1138", - "y": "1225", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 1, - "y": 0.12121212121212466 - }, - "p1": { - "x": 0.45833333333333337, - "y": -0.005333333333333482 - }, - "p2": { - "x": 1, - "y": 181.939393939394 - } - } - }, - { - "ID": "4563", - "typeID": "Arrow", - "zOrder": "52", - "w": "142", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1012", - "y": "1320", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.393939393939263, - "y": 0 - }, - "p1": { - "x": 0.5093283582089555, - "y": 0.0008582089552239402 - }, - "p2": { - "x": 142.81818181818176, - "y": 0 - }, - "stroke": "dotted" - } - }, - { - "ID": "4564", - "typeID": "Arrow", - "zOrder": "53", - "w": "81", - "h": "29", - "measuredW": "150", - "measuredH": "100", - "x": "694", - "y": "1284", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.0833624645489408, - "y": -0.15886623034634795 - }, - "p1": { - "x": 0.48412676520757086, - "y": -0.1636924252691052 - }, - "p2": { - "x": 81, - "y": 26 - } - } - }, - { - "ID": "4565", - "typeID": "Arrow", - "zOrder": "54", - "w": "90", - "h": "32", - "measuredW": "150", - "measuredH": "100", - "x": "691", - "y": "1325", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.22138807875808197, - "y": 31.54564572240747 - }, - "p1": { - "x": 0.4836642440208913, - "y": 0.09966211979014447 - }, - "p2": { - "x": 90, - "y": 0 - } - } - }, - { - "ID": "4566", - "typeID": "Arrow", - "zOrder": "55", - "w": "317", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1299", - "y": "1122", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.5094183863981456, - "y": 0.0009010178239445595 - }, - "p2": { - "x": 317, - "y": 0 - } - } - }, - { - "ID": "4567", - "typeID": "Arrow", - "zOrder": "56", - "w": "1", - "h": "191", - "measuredW": "150", - "measuredH": "100", - "x": "1617", - "y": "1121", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 1, - "y": -0.0471924829330419 - }, - "p1": { - "x": 0.47172764625317937, - "y": -0.006652318528664226 - }, - "p2": { - "x": 1, - "y": 190.66666666666674 - } - } - }, - { - "ID": "4568", - "typeID": "Arrow", - "zOrder": "57", - "w": "812", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "690", - "y": "759", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.060606060606005485, - "y": 1 - }, - "p1": { - "x": 0.5093283582089554, - "y": 0.0008582089552239402 - }, - "p2": { - "x": 812.181818181818, - "y": 1 - } - } - }, - { - "ID": "4569", - "typeID": "Arrow", - "zOrder": "58", - "w": "144", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1372", - "y": "1046", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.09090909090900823, - "y": 0 - }, - "p1": { - "x": 0.5093283582089554, - "y": 0.0008582089552239402 - }, - "p2": { - "x": 144.36363636363626, - "y": 0 - } - } - }, - { - "ID": "4570", - "typeID": "Arrow", - "zOrder": "59", - "w": "1", - "h": "92", - "measuredW": "150", - "measuredH": "100", - "x": "1344", - "y": "1029", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0, - "y": 0.24242424242424931 - }, - "p1": { - "x": 0.4583333333333333, - "y": -0.005333333333333485 - }, - "p2": { - "x": 0, - "y": 92.66666666666652 - } - } - }, - { - "ID": "4571", - "typeID": "Arrow", - "zOrder": "60", - "w": "1", - "h": "195", - "measuredW": "150", - "measuredH": "100", - "x": "898", - "y": "928", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 1, - "y": 0.48484848484849863 - }, - "p1": { - "x": 0.47172764625317914, - "y": -0.006652318528664224 - }, - "p2": { - "x": 1, - "y": 195.18181818181824 - } - } - }, - { - "ID": "4572", - "typeID": "Arrow", - "zOrder": "61", - "w": "259", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "899", - "y": "1123", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.15721761739848716, - "y": 0 - }, - "p1": { - "x": 0.5093283582089556, - "y": 0.0008582089552239404 - }, - "p2": { - "x": 258.72727272727275, - "y": 0 - } - } - }, - { - "ID": "4573", - "typeID": "Arrow", - "zOrder": "62", - "w": "127", - "h": "38", - "measuredW": "150", - "measuredH": "100", - "x": "554", - "y": "883", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.01671894307094135, - "y": -0.33883642656917345 - }, - "p1": { - "x": 0.44088976580194206, - "y": -0.11520512326000698 - }, - "p2": { - "x": 127.21212121212113, - "y": 36.90909090909088 - } - } - }, - { - "ID": "4574", - "typeID": "Arrow", - "zOrder": "63", - "w": "1", - "h": "87", - "measuredW": "150", - "measuredH": "100", - "x": "476", - "y": "812", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.09090909090912191, - "y": -0.42424242424249314 - }, - "p1": { - "x": 0.5087719298245618, - "y": 0.00318979266347666 - }, - "p2": { - "x": -0.09090909090912191, - "y": 86.42424242424238 - } - } - }, - { - "ID": "4575", - "typeID": "Arrow", - "zOrder": "64", - "w": "141", - "h": "42", - "measuredW": "150", - "measuredH": "100", - "x": "547", - "y": "935", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.36614780684760717, - "y": 42.09927370780258 - }, - "p1": { - "x": 0.4579017707985299, - "y": 0.07066488473103895 - }, - "p2": { - "x": 141.78787878787875, - "y": 0.060606060606005485 - }, - "stroke": "dotted" - } - }, - { - "ID": "4576", - "typeID": "Arrow", - "zOrder": "65", - "w": "1", - "h": "80", - "measuredW": "150", - "measuredH": "100", - "x": "760", - "y": "849", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.09090909090900823, - "y": 0.27272727272725206 - }, - "p1": { - "x": 0.5087719298245617, - "y": 0.003189792663476659 - }, - "p2": { - "x": -0.09090909090912191, - "y": 80.42424242424238 - } - } - }, - { - "ID": "4577", - "typeID": "Arrow", - "zOrder": "66", - "w": "621", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "909", - "y": "928", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.15721761739848716, - "y": 1 - }, - "p1": { - "x": 0.5093283582089556, - "y": 0.00085820895522394 - }, - "p2": { - "x": 621.181818181818, - "y": 1 - } - } - }, - { - "ID": "4578", - "typeID": "Arrow", - "zOrder": "67", - "w": "1", - "h": "98", - "measuredW": "150", - "measuredH": "100", - "x": "476", - "y": "954", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.09090909090912191, - "y": -0.42424242424249314 - }, - "p1": { - "x": 0.5087719298245618, - "y": 0.00318979266347666 - }, - "p2": { - "x": -0.09090909090912191, - "y": 97.42424242424238 - } - } - }, - { - "ID": "4579", - "typeID": "Arrow", - "zOrder": "68", - "w": "1", - "h": "80", - "measuredW": "150", - "measuredH": "100", - "x": "1530", - "y": "530", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.5454545454545041, - "y": 80.24242424242425 - }, - "p1": { - "x": 0.49760487146592863, - "y": 0.003674908633655258 - }, - "p2": { - "x": 0.5454545454545041, - "y": -0.21212121212124657 - }, - "stroke": "dotted" - } - }, - { - "ID": "4580", - "typeID": "Arrow", - "zOrder": "69", - "w": "1", - "h": "93", - "measuredW": "150", - "measuredH": "100", - "x": "1530", - "y": "673", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.4545454545454959, - "y": 92.36363636363637 - }, - "p1": { - "x": 0.49821572147706117, - "y": -0.0021313722235241192 - }, - "p2": { - "x": -0.4545454545454959, - "y": -0.21212121212124657 - }, - "stroke": "dotted" - } - }, - { - "ID": "4581", - "typeID": "Arrow", - "zOrder": "70", - "w": "1", - "h": "155", - "measuredW": "150", - "measuredH": "100", - "x": "1530", - "y": "772", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 1, - "y": 0 - }, - "p1": { - "x": 0.4717276462531793, - "y": -0.006652318528664224 - }, - "p2": { - "x": 1, - "y": 154.96969696969688 - } - } - }, - { - "ID": "4582", - "typeID": "Arrow", - "zOrder": "71", - "w": "142", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1324", - "y": "994", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.393939393939263, - "y": 0 - }, - "p1": { - "x": 0.5093283582089555, - "y": 0.0008582089552239402 - }, - "p2": { - "x": 142.81818181818176, - "y": 0 - }, - "stroke": "dotted" - } - }, - { - "ID": "4583", - "typeID": "Arrow", - "zOrder": "72", - "w": "1", - "h": "122", - "measuredW": "150", - "measuredH": "100", - "x": "1259", - "y": "642", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 1, - "y": 0 - }, - "p1": { - "x": 0.47299999999999986, - "y": -0.011000000000000005 - }, - "p2": { - "x": 1, - "y": 122.42424242424238 - } - } - }, - { - "ID": "4584", - "typeID": "Arrow", - "zOrder": "73", - "w": "1", - "h": "122", - "measuredW": "150", - "measuredH": "100", - "x": "963", - "y": "639", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 1, - "y": 0 - }, - "p1": { - "x": 0.47299999999999986, - "y": -0.011000000000000005 - }, - "p2": { - "x": 1, - "y": 122.42424242424238 - } - } - }, - { - "ID": "4585", - "typeID": "Arrow", - "zOrder": "74", - "w": "1", - "h": "122", - "measuredW": "150", - "measuredH": "100", - "x": "485", - "y": "455", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 1, - "y": 0 - }, - "p1": { - "x": 0.47299999999999986, - "y": -0.011000000000000005 - }, - "p2": { - "x": 1, - "y": 122.42424242424238 - } - } - }, - { - "ID": "4586", - "typeID": "Arrow", - "zOrder": "75", - "w": "1", - "h": "137", - "measuredW": "150", - "measuredH": "100", - "x": "760", - "y": "933", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.09090909090912191, - "y": -0.21212121212124657 - }, - "p1": { - "x": 0.5087719298245617, - "y": 0.003189792663476659 - }, - "p2": { - "x": -0.09090909090912191, - "y": 136.42424242424238 - } - } - }, - { - "ID": "4587", - "typeID": "Arrow", - "zOrder": "76", - "w": "1", - "h": "174", - "measuredW": "150", - "measuredH": "100", - "x": "689", - "y": "586", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 1, - "y": 0 - }, - "p1": { - "x": 0.4796409522570575, - "y": -0.006374398334851107 - }, - "p2": { - "x": 1, - "y": 173.5454545454545 - } - } - }, - { - "ID": "4588", - "typeID": "Arrow", - "zOrder": "77", - "w": "217", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "691", - "y": "380", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.060606060606005485, - "y": 1 - }, - "p1": { - "x": 0.5087719298245612, - "y": 0.003189792663476693 - }, - "p2": { - "x": 217, - "y": 1 - } - } - }, - { - "ID": "4589", - "typeID": "Arrow", - "zOrder": "78", - "w": "131", - "h": "53", - "measuredW": "150", - "measuredH": "100", - "x": "1168", - "y": "392", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 131, - "y": 53 - }, - "p1": { - "x": 0.46820230345518277, - "y": -0.10065097646469705 - }, - "p2": { - "x": 0, - "y": 0 - } - } - }, - { - "ID": "4590", - "typeID": "Arrow", - "zOrder": "79", - "w": "122", - "h": "47", - "measuredW": "150", - "measuredH": "100", - "x": "1178", - "y": "324", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 122, - "y": 0 - }, - "p1": { - "x": 0.42135134205487473, - "y": 0.09461458201956036 - }, - "p2": { - "x": 0, - "y": 47 - } - } - }, - { - "ID": "4591", - "typeID": "Arrow", - "zOrder": "80", - "w": "129", - "h": "2", - "measuredW": "150", - "measuredH": "100", - "x": "1183", - "y": "382", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 129, - "y": -0.5 - }, - "p1": { - "x": 0.4487910725356478, - "y": 0.0035337879727238685 - }, - "p2": { - "x": 0, - "y": 1 - } - } - }, - { - "ID": "4592", - "typeID": "Label", - "zOrder": "81", - "measuredW": "66", - "measuredH": "40", - "x": "1002", - "y": "188", - "properties": { - "size": "32", - "text": "C++" - } - }, - { - "ID": "4593", - "typeID": "Arrow", - "zOrder": "82", - "w": "1", - "h": "113", - "measuredW": "150", - "measuredH": "100", - "x": "1035", - "y": "257", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 1, - "y": 0 - }, - "p1": { - "x": 0.4729999999999999, - "y": -0.011000000000000003 - }, - "p2": { - "x": 1, - "y": 113 - } - } - }, - { - "ID": "4594", - "typeID": "__group__", - "zOrder": "83", - "measuredW": "312", - "measuredH": "50", - "w": "312", - "h": "50", - "x": "884", - "y": "356", - "properties": { - "controlName": "100-introduction" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "302", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "223", - "measuredH": "25", - "x": "49", - "y": "12", - "properties": { - "size": "17", - "text": "Introduction to the Language" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4606", - "typeID": "__group__", - "zOrder": "86", - "measuredW": "220", - "measuredH": "47", - "w": "220", - "h": "47", - "x": "1292", - "y": "306", - "properties": { - "controlName": "100-introduction:what-is-cpp" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "210", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "105", - "measuredH": "25", - "x": "52", - "y": "11", - "properties": { - "size": "17", - "text": "What is C++?" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "196", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4607", - "typeID": "__group__", - "zOrder": "87", - "measuredW": "220", - "measuredH": "47", - "w": "220", - "h": "47", - "x": "1292", - "y": "359", - "properties": { - "controlName": "101-introduction:why-cpp" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "210", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "112", - "measuredH": "25", - "x": "49", - "y": "11", - "properties": { - "size": "17", - "text": "Why use C++?" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "196", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4608", - "typeID": "__group__", - "zOrder": "88", - "measuredW": "220", - "measuredH": "47", - "w": "220", - "h": "47", - "x": "1292", - "y": "413", - "properties": { - "controlName": "102-introduction:c-vs-cpp" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "210", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "73", - "measuredH": "25", - "x": "68", - "y": "11", - "properties": { - "size": "17", - "text": "C vs C++" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "196", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4609", - "typeID": "Arrow", - "zOrder": "89", - "w": "1", - "h": "102", - "measuredW": "150", - "measuredH": "100", - "x": "1034", - "y": "68", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 1, - "y": 0.21592451307655836 - }, - "p1": { - "x": 0.47299999999999986, - "y": -0.01100000000000001 - }, - "p2": { - "x": 1, - "y": 102 - } - } - }, - { - "ID": "4610", - "typeID": "Arrow", - "zOrder": "90", - "w": "1", - "h": "194", - "measuredW": "150", - "measuredH": "100", - "x": "689", - "y": "381", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 1, - "y": 0 - }, - "p1": { - "x": 0.4637713110681927, - "y": -0.004076038643122147 - }, - "p2": { - "x": 1, - "y": 193.69696969696963 - } - } - }, - { - "ID": "4611", - "typeID": "__group__", - "zOrder": "91", - "measuredW": "376", - "measuredH": "50", - "w": "376", - "h": "50", - "x": "342", - "y": "554", - "properties": { - "controlName": "101-setting-up" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "368", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "217", - "measuredH": "25", - "x": "87", - "y": "12", - "properties": { - "size": "17", - "text": "Setting up your Environment" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4612", - "typeID": "__group__", - "zOrder": "92", - "measuredW": "280", - "measuredH": "47", - "w": "280", - "h": "47", - "x": "343", - "y": "353", - "properties": { - "controlName": "100-setting-up:installing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "272", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "109", - "measuredH": "25", - "x": "89", - "y": "11", - "properties": { - "size": "17", - "text": "Installing C++" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4613", - "typeID": "__group__", - "zOrder": "93", - "measuredW": "280", - "measuredH": "47", - "w": "280", - "h": "47", - "x": "343", - "y": "404", - "properties": { - "controlName": "101-setting-up:code-editors" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "272", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "155", - "measuredH": "25", - "x": "66", - "y": "11", - "properties": { - "size": "17", - "text": "Code Editors / IDEs" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4614", - "typeID": "__group__", - "zOrder": "94", - "measuredW": "280", - "measuredH": "47", - "w": "280", - "h": "47", - "x": "343", - "y": "455", - "properties": { - "controlName": "102-setting-up:first-program" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "272", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "210", - "measuredH": "25", - "x": "39", - "y": "11", - "properties": { - "size": "17", - "text": "Running your First Program" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4615", - "typeID": "__group__", - "zOrder": "95", - "measuredW": "240", - "measuredH": "47", - "w": "240", - "h": "47", - "x": "839", - "y": "467", - "properties": { - "controlName": "100-basic-operations:arithmetic-operators" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "230", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "160", - "measuredH": "25", - "x": "45", - "y": "11", - "properties": { - "size": "17", - "text": "Arithmetic Operators" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4616", - "typeID": "__group__", - "zOrder": "96", - "measuredW": "239", - "measuredH": "47", - "w": "239", - "h": "47", - "x": "840", - "y": "519", - "properties": { - "controlName": "101-basic-operations:logical-operators" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "230", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "138", - "measuredH": "25", - "x": "55", - "y": "11", - "properties": { - "size": "17", - "text": "Logical Operators" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4617", - "typeID": "__group__", - "zOrder": "97", - "measuredW": "239", - "measuredH": "47", - "w": "239", - "h": "47", - "x": "840", - "y": "570", - "properties": { - "controlName": "102-basic-operations:loops" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "230", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "122", - "measuredH": "25", - "x": "63", - "y": "11", - "properties": { - "size": "17", - "text": "Loops: for/while" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4618", - "typeID": "__group__", - "zOrder": "98", - "measuredW": "239", - "measuredH": "47", - "w": "239", - "h": "47", - "x": "840", - "y": "621", - "properties": { - "controlName": "103-basic-operations:bitwise" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "230", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "137", - "measuredH": "25", - "x": "55", - "y": "11", - "properties": { - "size": "17", - "text": "Bitwise Operators" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4619", - "typeID": "__group__", - "zOrder": "99", - "measuredW": "180", - "measuredH": "50", - "w": "180", - "h": "50", - "x": "1165", - "y": "734", - "properties": { - "controlName": "103-functions" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "170", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "75", - "measuredH": "25", - "x": "57", - "y": "12", - "properties": { - "size": "17", - "text": "Functions" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "13", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4620", - "typeID": "__group__", - "zOrder": "100", - "measuredW": "180", - "measuredH": "47", - "w": "180", - "h": "47", - "x": "1165", - "y": "570", - "properties": { - "controlName": "101-functions:operators" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "170", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "78", - "measuredH": "25", - "x": "56", - "y": "11", - "properties": { - "size": "17", - "text": "Operators" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4621", - "typeID": "__group__", - "zOrder": "101", - "measuredW": "180", - "measuredH": "47", - "w": "180", - "h": "47", - "x": "1165", - "y": "621", - "properties": { - "controlName": "100-functions:lambda" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "170", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "63", - "measuredH": "25", - "x": "63", - "y": "11", - "properties": { - "size": "17", - "text": "Lambda" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4622", - "typeID": "__group__", - "zOrder": "102", - "measuredW": "223", - "measuredH": "50", - "w": "223", - "h": "50", - "x": "1424", - "y": "734", - "properties": { - "controlName": "104-data-types" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "213", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "86", - "measuredH": "25", - "x": "64", - "y": "12", - "properties": { - "size": "17", - "text": "Data Types" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "199", - "y": "14", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4623", - "typeID": "__group__", - "zOrder": "103", - "measuredW": "178", - "measuredH": "47", - "w": "178", - "h": "47", - "x": "1438", - "y": "657", - "properties": { - "controlName": "100-data-types:static-typing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "170", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "98", - "measuredH": "25", - "x": "44", - "y": "11", - "properties": { - "size": "17", - "text": "Static Typing" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4624", - "typeID": "__group__", - "zOrder": "104", - "measuredW": "179", - "measuredH": "47", - "w": "179", - "h": "47", - "x": "1437", - "y": "606", - "properties": { - "controlName": "101-data-types:dynamic-typing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "170", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "121", - "measuredH": "25", - "x": "33", - "y": "11", - "properties": { - "size": "17", - "text": "Dynamic Typing" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4625", - "typeID": "__group__", - "zOrder": "105", - "measuredW": "114", - "measuredH": "47", - "w": "114", - "h": "47", - "x": "1468", - "y": "519", - "properties": { - "controlName": "100-data-types:dynamic-typing:rtti" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "103", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "38", - "measuredH": "25", - "x": "44", - "y": "11", - "properties": { - "size": "17", - "text": "RTTI" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4626", - "typeID": "__group__", - "zOrder": "106", - "measuredW": "274", - "measuredH": "50", - "w": "274", - "h": "50", - "x": "668", - "y": "903", - "properties": { - "controlName": "105-pointers-and-references" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "263", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "191", - "measuredH": "25", - "x": "36", - "y": "12", - "properties": { - "size": "17", - "text": "Pointers and References" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "250", - "y": "13", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4627", - "typeID": "__group__", - "zOrder": "107", - "measuredW": "193", - "measuredH": "47", - "w": "193", - "h": "47", - "x": "659", - "y": "830", - "properties": { - "controlName": "100-pointers-and-references:references" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "183", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "90", - "measuredH": "25", - "x": "57", - "y": "11", - "properties": { - "size": "17", - "text": "References" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "10", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4628", - "typeID": "TextArea", - "zOrder": "108", - "w": "176", - "h": "216", - "measuredW": "200", - "measuredH": "140", - "x": "389", - "y": "699" - }, - { - "ID": "4629", - "typeID": "Label", - "zOrder": "109", - "measuredW": "114", - "measuredH": "25", - "x": "420", - "y": "876", - "properties": { - "size": "17", - "text": "Smart Pointers" - } - }, - { - "ID": "4630", - "typeID": "__group__", - "zOrder": "110", - "measuredW": "195", - "measuredH": "47", - "w": "195", - "h": "47", - "x": "657", - "y": "985", - "properties": { - "controlName": "101-pointers-and-references:memory-model" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "183", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "12", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "115", - "measuredH": "25", - "x": "46", - "y": "11", - "properties": { - "size": "17", - "text": "Memory Model" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4631", - "typeID": "TextArea", - "zOrder": "111", - "w": "173", - "h": "168", - "measuredW": "200", - "measuredH": "140", - "x": "391", - "y": "937" - }, - { - "ID": "4632", - "typeID": "Label", - "zOrder": "112", - "measuredW": "101", - "measuredH": "25", - "x": "426", - "y": "949", - "properties": { - "size": "17", - "text": "Raw Pointers" - } - }, - { - "ID": "4633", - "typeID": "__group__", - "zOrder": "113", - "measuredW": "232", - "measuredH": "47", - "w": "232", - "h": "47", - "x": "356", - "y": "819", - "properties": { - "controlName": "102-pointers-and-references:smart-pointers:uniqe-ptr" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "222", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "85", - "measuredH": "25", - "x": "78", - "y": "11", - "properties": { - "size": "17", - "text": "unique_ptr" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4634", - "typeID": "__group__", - "zOrder": "114", - "measuredW": "231", - "measuredH": "47", - "w": "231", - "h": "47", - "x": "357", - "y": "767", - "properties": { - "controlName": "101-pointers-and-references:smart-pointers:shared-ptr" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "222", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "85", - "measuredH": "25", - "x": "77", - "y": "11", - "properties": { - "size": "17", - "text": "shared_ptr" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4635", - "typeID": "__group__", - "zOrder": "115", - "measuredW": "231", - "measuredH": "47", - "w": "231", - "h": "47", - "x": "357", - "y": "716", - "properties": { - "controlName": "100-pointers-and-references:smart-pointers:weak-ptr" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "222", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "71", - "measuredH": "25", - "x": "84", - "y": "11", - "properties": { - "size": "17", - "text": "weak_ptr" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4636", - "typeID": "__group__", - "zOrder": "116", - "measuredW": "194", - "measuredH": "47", - "w": "194", - "h": "47", - "x": "658", - "y": "1066", - "properties": { - "controlName": "100-pointers-and-references:memory-model:object-lifetime" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "183", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "145", - "measuredH": "25", - "x": "31", - "y": "11", - "properties": { - "size": "17", - "text": "Lifetime of Objects" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4637", - "typeID": "__group__", - "zOrder": "117", - "measuredW": "231", - "measuredH": "47", - "w": "231", - "h": "47", - "x": "356", - "y": "989", - "properties": { - "controlName": "100-pointers-and-references:raw-pointers:new-delete-operators" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "220", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "172", - "measuredH": "25", - "x": "35", - "y": "11", - "properties": { - "size": "17", - "text": "New/delete Operators" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4638", - "typeID": "__group__", - "zOrder": "118", - "measuredW": "231", - "measuredH": "47", - "w": "231", - "h": "47", - "x": "356", - "y": "1040", - "properties": { - "controlName": "101-pointers-and-references:raw-pointers:memory-leakage" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "220", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "133", - "measuredH": "25", - "x": "54", - "y": "11", - "properties": { - "size": "17", - "text": "Memory Leakage" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4639", - "typeID": "__group__", - "zOrder": "119", - "measuredW": "242", - "measuredH": "50", - "w": "242", - "h": "50", - "x": "838", - "y": "734", - "properties": { - "controlName": "102-basic-operations" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "233", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "133", - "measuredH": "25", - "x": "59", - "y": "12", - "properties": { - "size": "17", - "text": "Basic Operations" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "14", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4640", - "typeID": "__group__", - "zOrder": "120", - "measuredW": "250", - "measuredH": "50", - "w": "250", - "h": "50", - "x": "1125", - "y": "1097", - "properties": { - "controlName": "106-structuring-codebase" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "240", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "168", - "measuredH": "25", - "x": "36", - "y": "12", - "properties": { - "size": "17", - "text": "Structuring Codebase" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "226", - "y": "13", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4641", - "typeID": "__group__", - "zOrder": "121", - "measuredW": "336", - "measuredH": "47", - "w": "336", - "h": "47", - "x": "1070", - "y": "970", - "properties": { - "controlName": "101-structuring-codebase:code-splitting" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "327", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "274", - "measuredH": "25", - "x": "27", - "y": "11", - "properties": { - "size": "17", - "text": "Code Splitting: Headers / CPP Files" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "312", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4642", - "typeID": "__group__", - "zOrder": "122", - "measuredW": "118", - "measuredH": "47", - "w": "118", - "h": "47", - "x": "1288", - "y": "1023", - "properties": { - "controlName": "100-structuring-codebase:scope" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "112", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "49", - "measuredH": "25", - "x": "31", - "y": "11", - "properties": { - "size": "17", - "text": "Scope" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "94", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4643", - "typeID": "__group__", - "zOrder": "123", - "measuredW": "226", - "measuredH": "47", - "w": "226", - "h": "47", - "x": "1433", - "y": "1023", - "properties": { - "controlName": "100-structuring-codebase:scope:namespaces" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "102", - "measuredH": "25", - "x": "58", - "y": "11", - "properties": { - "size": "17", - "text": "Namespaces" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "202", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4644", - "typeID": "__group__", - "zOrder": "124", - "measuredW": "227", - "measuredH": "47", - "w": "227", - "h": "47", - "x": "1433", - "y": "970", - "properties": { - "controlName": "100-structuring-codebase:code-splitting:forward-declaration" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "155", - "measuredH": "25", - "x": "21", - "y": "11", - "properties": { - "size": "17", - "text": "Forward Declaration" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "203", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4645", - "typeID": "Arrow", - "zOrder": "125", - "w": "317", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1301", - "y": "1311", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.5094183863981456, - "y": 0.0009010178239445595 - }, - "p2": { - "x": 317, - "y": 0 - } - } - }, - { - "ID": "4646", - "typeID": "__group__", - "zOrder": "126", - "measuredW": "261", - "measuredH": "50", - "w": "261", - "h": "50", - "x": "1104", - "y": "1295", - "properties": { - "controlName": "107-structures-and-classes" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "251", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "178", - "measuredH": "25", - "x": "47", - "y": "12", - "properties": { - "size": "17", - "text": "Structures and Classes" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "13", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4647", - "typeID": "__group__", - "zOrder": "127", - "measuredW": "308", - "measuredH": "47", - "w": "308", - "h": "47", - "x": "763", - "y": "1296", - "properties": { - "controlName": "101-structures-and-classes:oop" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "299", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "231", - "measuredH": "25", - "x": "36", - "y": "11", - "properties": { - "size": "17", - "text": "Object Oriented Programming" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "284", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4648", - "typeID": "__group__", - "zOrder": "128", - "measuredW": "238", - "measuredH": "77", - "w": "238", - "h": "77", - "x": "477", - "y": "1239", - "properties": { - "controlName": "100-structures-and-classes:oop:static-polymorphism" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "229", - "h": "77", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "155", - "measuredH": "25", - "x": "37", - "y": "37", - "properties": { - "size": "17", - "text": "Static Polymorphism" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "214", - "y": "46", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4649", - "typeID": "__group__", - "zOrder": "129", - "measuredW": "239", - "measuredH": "72", - "w": "239", - "h": "72", - "x": "477", - "y": "1329", - "properties": { - "controlName": "101-structures-and-classes:oop:dynamic-polymorphism" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "229", - "h": "72", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "178", - "measuredW": "178", - "measuredH": "25", - "x": "26", - "y": "11", - "properties": { - "size": "17", - "text": "Dynamic Polymorphism" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "215", - "y": "7", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4650", - "typeID": "__group__", - "zOrder": "130", - "measuredW": "326", - "measuredH": "47", - "w": "326", - "h": "47", - "x": "428", - "y": "1222", - "properties": { - "controlName": "100-structures-and-classes:oop:static-polymorphism:overloading-functions" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "316", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "193", - "measuredH": "25", - "x": "71", - "y": "11", - "properties": { - "size": "17", - "text": "Overloading of Functions" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "9", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4651", - "typeID": "__group__", - "zOrder": "131", - "measuredW": "174", - "measuredH": "47", - "w": "174", - "h": "47", - "x": "428", - "y": "1371", - "properties": { - "controlName": "100-structures-and-classes:oop:dynamic-polymorphism:virtual-methods" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "164", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "121", - "measuredW": "121", - "measuredH": "25", - "x": "34", - "y": "11", - "properties": { - "size": "17", - "text": "Virtual Methods" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4652", - "typeID": "__group__", - "zOrder": "132", - "measuredW": "149", - "measuredH": "47", - "w": "149", - "h": "47", - "x": "614", - "y": "1371", - "properties": { - "controlName": "100-structures-and-classes:oop:dynamic-polymorphism:virtual-tables" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "140", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "103", - "measuredH": "25", - "x": "15", - "y": "11", - "properties": { - "size": "17", - "text": "Virtual Tables" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "125", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4653", - "typeID": "__group__", - "zOrder": "133", - "measuredW": "269", - "measuredH": "47", - "w": "269", - "h": "47", - "x": "915", - "y": "1212", - "properties": { - "controlName": "100-structures-and-classes:rule-of-zero-five-three" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "259", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "186", - "measuredH": "25", - "x": "37", - "y": "11", - "properties": { - "size": "17", - "text": "Rule of Zero, Five, Three" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "245", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4654", - "typeID": "__group__", - "zOrder": "134", - "measuredW": "213", - "measuredH": "47", - "w": "213", - "h": "47", - "x": "972", - "y": "1382", - "properties": { - "controlName": "102-structures-and-classes:multiple-inheritance" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "202", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "154", - "measuredH": "25", - "x": "17", - "y": "11", - "properties": { - "size": "17", - "text": "Multiple Inheritance" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "189", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4655", - "typeID": "__group__", - "zOrder": "135", - "measuredW": "213", - "measuredH": "47", - "w": "213", - "h": "47", - "x": "972", - "y": "1455", - "properties": { - "controlName": "100-structures-and-classes:multiple-inheritance:diamond-inheritance" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "202", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "162", - "measuredH": "25", - "x": "20", - "y": "11", - "properties": { - "size": "17", - "text": "Diamond Inheritance" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "189", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4656", - "typeID": "Arrow", - "zOrder": "136", - "w": "1", - "h": "392", - "measuredW": "150", - "measuredH": "100", - "x": "1617", - "y": "1331", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 1, - "y": 0 - }, - "p1": { - "x": 0.47841726618705027, - "y": -0.001438848920863544 - }, - "p2": { - "x": 1, - "y": 392.3688638189676 - } - } - }, - { - "ID": "4657", - "typeID": "__group__", - "zOrder": "137", - "measuredW": "219", - "measuredH": "50", - "w": "219", - "h": "50", - "x": "1448", - "y": "1551", - "properties": { - "controlName": "108-exception-handling" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "208", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "149", - "measuredH": "25", - "x": "29", - "y": "12", - "properties": { - "size": "17", - "text": "Exception Handling" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "195", - "y": "14", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4658", - "typeID": "__group__", - "zOrder": "138", - "measuredW": "191", - "measuredH": "47", - "w": "191", - "h": "47", - "x": "1219", - "y": "1500", - "properties": { - "controlName": "100-exception-handling:exceptions" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "180", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "85", - "measuredH": "25", - "x": "47", - "y": "11", - "properties": { - "size": "17", - "text": "Exceptions" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "167", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4659", - "typeID": "__group__", - "zOrder": "139", - "measuredW": "191", - "measuredH": "47", - "w": "191", - "h": "47", - "x": "1219", - "y": "1438", - "properties": { - "controlName": "100-exception-handling:exceptions:access-violations" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "180", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "134", - "measuredH": "25", - "x": "23", - "y": "11", - "properties": { - "size": "17", - "text": "Access Violations" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "167", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4660", - "typeID": "__group__", - "zOrder": "140", - "measuredW": "191", - "measuredH": "47", - "w": "191", - "h": "47", - "x": "1219", - "y": "1553", - "properties": { - "controlName": "101-exception-handling:exit-codes" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "182", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "83", - "measuredH": "25", - "x": "49", - "y": "11", - "properties": { - "size": "17", - "text": "Exit Codes" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "167", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4661", - "typeID": "__group__", - "zOrder": "141", - "measuredW": "282", - "measuredH": "60", - "w": "282", - "h": "60", - "x": "1012", - "y": "1702", - "properties": { - "controlName": "109-language-concepts" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "282", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "10", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "156", - "measuredH": "25", - "x": "63", - "y": "22", - "properties": { - "size": "17", - "text": "Language Concepts" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "252", - "y": "0", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4662", - "typeID": "__group__", - "zOrder": "142", - "measuredW": "314", - "measuredH": "47", - "w": "314", - "h": "47", - "x": "612", - "y": "1500", - "properties": { - "controlName": "100-language-concepts:auto" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "303", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "252", - "measuredH": "25", - "x": "16", - "y": "11", - "properties": { - "size": "17", - "text": "auto (Automatic Type Deduction)" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "290", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4663", - "typeID": "__group__", - "zOrder": "143", - "measuredW": "315", - "measuredH": "47", - "w": "315", - "h": "47", - "x": "612", - "y": "1554", - "properties": { - "controlName": "101-language-concepts:type-casting" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "303", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "100", - "measuredH": "25", - "x": "102", - "y": "11", - "properties": { - "size": "17", - "text": "Type Casting" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "291", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4664", - "typeID": "__group__", - "zOrder": "144", - "measuredW": "164", - "measuredH": "47", - "w": "164", - "h": "47", - "x": "380", - "y": "1535", - "properties": { - "controlName": "101-language-concepts:type-casting:const-cast" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "153", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "85", - "measuredH": "25", - "x": "45", - "y": "11", - "properties": { - "size": "17", - "text": "const_cast" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4665", - "typeID": "__group__", - "zOrder": "145", - "measuredW": "164", - "measuredH": "47", - "w": "164", - "h": "47", - "x": "380", - "y": "1485", - "properties": { - "controlName": "100-language-concepts:type-casting:static-cast" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "153", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "85", - "measuredH": "25", - "x": "45", - "y": "11", - "properties": { - "size": "17", - "text": "static_cast" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4666", - "typeID": "__group__", - "zOrder": "146", - "measuredW": "164", - "measuredH": "47", - "w": "164", - "h": "47", - "x": "380", - "y": "1586", - "properties": { - "controlName": "102-language-concepts:type-casting:dynamic-cast" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "153", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "107", - "measuredH": "25", - "x": "34", - "y": "11", - "properties": { - "size": "17", - "text": "dynamic_cast" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4667", - "typeID": "__group__", - "zOrder": "147", - "measuredW": "164", - "measuredH": "47", - "w": "164", - "h": "47", - "x": "380", - "y": "1637", - "properties": { - "controlName": "103-language-concepts:type-casting:reinterpret-cast" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "153", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "125", - "measuredH": "25", - "x": "25", - "y": "11", - "properties": { - "size": "17", - "text": "reinterpret_cast" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4668", - "typeID": "__group__", - "zOrder": "148", - "measuredW": "315", - "measuredH": "47", - "w": "315", - "h": "47", - "x": "612", - "y": "1608", - "properties": { - "controlName": "102-language-concepts:undefined-behavior" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "303", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "194", - "measuredH": "25", - "x": "55", - "y": "11", - "properties": { - "size": "17", - "text": "Undefined Behavior (UB)" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "291", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4669", - "typeID": "__group__", - "zOrder": "149", - "measuredW": "314", - "measuredH": "47", - "w": "314", - "h": "47", - "x": "613", - "y": "1662", - "properties": { - "controlName": "103-language-concepts:adl" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "303", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "276", - "measuredH": "25", - "x": "12", - "y": "11", - "properties": { - "size": "17", - "text": "Argument Dependent Lookup (ADL)" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "290", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4670", - "typeID": "__group__", - "zOrder": "150", - "measuredW": "117", - "measuredH": "47", - "w": "117", - "h": "47", - "x": "810", - "y": "1716", - "properties": { - "controlName": "105-language-concepts:macros" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "105", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "58", - "measuredH": "25", - "x": "23", - "y": "12", - "properties": { - "size": "17", - "text": "Macros" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "93", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4671", - "typeID": "__group__", - "zOrder": "151", - "measuredW": "200", - "measuredH": "47", - "w": "200", - "h": "47", - "x": "602", - "y": "1716", - "properties": { - "controlName": "104-language-concepts:name-mangling" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "189", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "122", - "measuredH": "25", - "x": "45", - "y": "11", - "properties": { - "size": "17", - "text": "Name Mangling" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4672", - "typeID": "Arrow", - "zOrder": "152", - "w": "1", - "h": "299", - "measuredW": "150", - "measuredH": "100", - "x": "1618", - "y": "1748", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.47841726618704994, - "y": -0.001438848920863544 - }, - "p2": { - "x": 0, - "y": 299.33333333333326 - } - } - }, - { - "ID": "4673", - "typeID": "__group__", - "zOrder": "153", - "measuredW": "254", - "measuredH": "50", - "w": "254", - "h": "50", - "x": "1411", - "y": "1867", - "properties": { - "controlName": "110-stl" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "242", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "177", - "measuredH": "25", - "x": "33", - "y": "12", - "properties": { - "size": "17", - "text": "Standard Library + STL" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "230", - "y": "13", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4674", - "typeID": "__group__", - "zOrder": "154", - "measuredW": "156", - "measuredH": "47", - "w": "156", - "h": "47", - "x": "1195", - "y": "1819", - "properties": { - "controlName": "101-stl:iostream" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "150", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "6", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "67", - "measuredH": "25", - "x": "47", - "y": "11", - "properties": { - "size": "17", - "text": "iostream" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4675", - "typeID": "__group__", - "zOrder": "155", - "measuredW": "156", - "measuredH": "47", - "w": "156", - "h": "47", - "x": "1195", - "y": "1869", - "properties": { - "controlName": "103-stl:date-time" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "150", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "6", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "91", - "measuredH": "25", - "x": "35", - "y": "11", - "properties": { - "size": "17", - "text": "Date / Time" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4676", - "typeID": "__group__", - "zOrder": "156", - "measuredW": "157", - "measuredH": "47", - "w": "157", - "h": "47", - "x": "1194", - "y": "1920", - "properties": { - "controlName": "105-stl:ccontainers" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "150", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "7", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "85", - "measuredH": "25", - "x": "39", - "y": "11", - "properties": { - "size": "17", - "text": "Containers" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4677", - "typeID": "__group__", - "zOrder": "157", - "measuredW": "163", - "measuredH": "47", - "w": "163", - "h": "47", - "x": "1032", - "y": "1819", - "properties": { - "controlName": "100-stl:iterators" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "152", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "66", - "measuredW": "66", - "measuredH": "25", - "x": "54", - "y": "11", - "properties": { - "size": "17", - "text": "Iterators" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4678", - "typeID": "__group__", - "zOrder": "158", - "measuredW": "162", - "measuredH": "47", - "w": "162", - "h": "47", - "x": "1033", - "y": "1869", - "properties": { - "controlName": "102-stl:algorithms" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "152", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "81", - "measuredH": "25", - "x": "45", - "y": "11", - "properties": { - "size": "17", - "text": "Algorithms" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4679", - "typeID": "__group__", - "zOrder": "159", - "measuredW": "162", - "measuredH": "47", - "w": "162", - "h": "47", - "x": "1033", - "y": "1919", - "properties": { - "controlName": "104-stl:multithreading" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "152", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "10", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "111", - "measuredH": "25", - "x": "30", - "y": "11", - "properties": { - "size": "17", - "text": "Multithreading" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4680", - "typeID": "Arrow", - "zOrder": "160", - "w": "537", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1078", - "y": "2047", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.3738002047268765, - "y": 0 - }, - "p1": { - "x": 0.5094183863981457, - "y": 0.0009010178239445598 - }, - "p2": { - "x": 537.0566693370974, - "y": 0 - } - } - }, - { - "ID": "4681", - "typeID": "__group__", - "zOrder": "161", - "measuredW": "230", - "measuredH": "50", - "w": "230", - "h": "50", - "x": "1051", - "y": "2022", - "properties": { - "controlName": "111-templates" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "219", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "80", - "measuredH": "25", - "x": "58", - "y": "12", - "properties": { - "size": "17", - "text": "Templates" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "206", - "y": "13", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4682", - "typeID": "__group__", - "zOrder": "162", - "measuredW": "226", - "measuredH": "47", - "w": "226", - "h": "47", - "x": "700", - "y": "1869", - "properties": { - "controlName": "100-templates:variadic-templates" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "145", - "measuredH": "25", - "x": "45", - "y": "11", - "properties": { - "size": "17", - "text": "Variadic Templates" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4683", - "typeID": "__group__", - "zOrder": "163", - "measuredW": "226", - "measuredH": "47", - "w": "226", - "h": "47", - "x": "700", - "y": "1922", - "properties": { - "controlName": "101-templates:template-specialization" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "182", - "measuredH": "25", - "x": "27", - "y": "11", - "properties": { - "size": "17", - "text": "Template Specialization" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "10", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4684", - "typeID": "__group__", - "zOrder": "164", - "measuredW": "226", - "measuredH": "47", - "w": "226", - "h": "47", - "x": "700", - "y": "1975", - "properties": { - "controlName": "102-templates:type-traits" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "83", - "measuredH": "25", - "x": "76", - "y": "11", - "properties": { - "size": "17", - "text": "Type Traits" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4685", - "typeID": "__group__", - "zOrder": "165", - "measuredW": "226", - "measuredH": "47", - "w": "226", - "h": "47", - "x": "700", - "y": "2028", - "properties": { - "controlName": "103-templates:finae" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "61", - "measuredH": "25", - "x": "87", - "y": "11", - "properties": { - "size": "17", - "text": "SFINAE" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4686", - "typeID": "__group__", - "zOrder": "166", - "measuredW": "282", - "measuredH": "47", - "w": "282", - "h": "47", - "x": "368", - "y": "1875", - "properties": { - "controlName": "100-templates:template-specialization:full" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "273", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "213", - "measuredH": "25", - "x": "45", - "y": "11", - "properties": { - "size": "17", - "text": "Full Template Specialization" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "9", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4687", - "typeID": "__group__", - "zOrder": "167", - "measuredW": "282", - "measuredH": "47", - "w": "282", - "h": "47", - "x": "368", - "y": "1926", - "properties": { - "controlName": "101-templates:template-specialization:partial" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "273", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "235", - "measuredH": "25", - "x": "34", - "y": "11", - "properties": { - "size": "17", - "text": "Partial Template Specialization" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4688", - "typeID": "Arrow", - "zOrder": "168", - "w": "343", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "817", - "y": "2158", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.28965722981035924, - "y": 0 - }, - "p1": { - "x": 0.5094183863981457, - "y": 0.0009010178239445598 - }, - "p2": { - "x": 343.05666933709745, - "y": 0 - } - } - }, - { - "ID": "4689", - "typeID": "__group__", - "zOrder": "169", - "measuredW": "217", - "measuredH": "59", - "w": "217", - "h": "59", - "x": "709", - "y": "2134", - "properties": { - "controlName": "112-idioms" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "9", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "52", - "measuredH": "25", - "x": "83", - "y": "21", - "properties": { - "size": "17", - "text": "Idioms" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "184", - "y": "0", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4690", - "typeID": "__group__", - "zOrder": "170", - "measuredW": "83", - "measuredH": "47", - "w": "83", - "h": "47", - "x": "380", - "y": "2040", - "properties": { - "controlName": "100-idioms:raii" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "74", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "34", - "measuredH": "25", - "x": "28", - "y": "11", - "properties": { - "size": "17", - "text": "RAII" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "10", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4691", - "typeID": "__group__", - "zOrder": "171", - "measuredW": "90", - "measuredH": "47", - "w": "90", - "h": "47", - "x": "464", - "y": "2040", - "properties": { - "controlName": "101-idioms:pimpl" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "85", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "5", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "43", - "measuredH": "25", - "x": "32", - "y": "11", - "properties": { - "size": "17", - "text": "Pimpl" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "10", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4692", - "typeID": "__group__", - "zOrder": "172", - "measuredW": "274", - "measuredH": "47", - "w": "274", - "h": "47", - "x": "380", - "y": "2093", - "properties": { - "controlName": "103-idioms:non-copyable" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "266", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "232", - "measuredH": "25", - "x": "28", - "y": "11", - "properties": { - "size": "17", - "text": "Non-Copyable/Non-Moveable" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4693", - "typeID": "__group__", - "zOrder": "173", - "measuredW": "274", - "measuredH": "47", - "w": "274", - "h": "47", - "x": "380", - "y": "2144", - "properties": { - "controlName": "104-idioms:erase-remove" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "266", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "116", - "measuredH": "25", - "x": "83", - "y": "11", - "properties": { - "size": "17", - "text": "Erase-Remove" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4694", - "typeID": "__group__", - "zOrder": "174", - "measuredW": "274", - "measuredH": "47", - "w": "274", - "h": "47", - "x": "380", - "y": "2196", - "properties": { - "controlName": "105-idioms:copy-swap" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "266", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "117", - "measuredH": "25", - "x": "82", - "y": "11", - "properties": { - "size": "17", - "text": "Copy and Swap" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4695", - "typeID": "__group__", - "zOrder": "175", - "measuredW": "274", - "measuredH": "47", - "w": "274", - "h": "47", - "x": "380", - "y": "2247", - "properties": { - "controlName": "106-idioms:copy-write" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "266", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "8", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "107", - "measuredH": "25", - "x": "87", - "y": "11", - "properties": { - "size": "17", - "text": "Copy on Write" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4696", - "typeID": "__group__", - "zOrder": "176", - "measuredW": "100", - "measuredH": "47", - "w": "100", - "h": "47", - "x": "554", - "y": "2040", - "properties": { - "controlName": "102-idioms:crtp" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "94", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "6", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "46", - "measuredH": "25", - "x": "34", - "y": "11", - "properties": { - "size": "17", - "text": "CRTP" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4697", - "typeID": "Arrow", - "zOrder": "177", - "w": "1", - "h": "127", - "measuredW": "150", - "measuredH": "100", - "x": "1159", - "y": "2179", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.3738002047268765, - "y": 0 - }, - "p1": { - "x": 0.5094183863981456, - "y": 0.0009010178239445602 - }, - "p2": { - "x": -0.3738002047268765, - "y": 126.6863074097705 - } - } - }, - { - "ID": "4698", - "typeID": "__group__", - "zOrder": "178", - "measuredW": "228", - "measuredH": "50", - "w": "228", - "h": "50", - "x": "1042", - "y": "2290", - "properties": { - "controlName": "113-standards" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "219", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "78", - "measuredH": "25", - "x": "68", - "y": "12", - "properties": { - "size": "17", - "text": "Standards" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4699", - "typeID": "__group__", - "zOrder": "179", - "measuredW": "158", - "measuredH": "47", - "w": "158", - "h": "47", - "x": "1405", - "y": "2087", - "properties": { - "controlName": "100-standards:cpp11-14" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "150", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "73", - "measuredH": "25", - "x": "38", - "y": "11", - "properties": { - "size": "17", - "text": "C++11/14" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "134", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4700", - "typeID": "__group__", - "zOrder": "180", - "measuredW": "158", - "measuredH": "47", - "w": "158", - "h": "47", - "x": "1405", - "y": "2138", - "properties": { - "controlName": "101-standards:cpp17" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "150", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "50", - "measuredH": "25", - "x": "50", - "y": "11", - "properties": { - "size": "17", - "text": "C++17" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "134", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4701", - "typeID": "__group__", - "zOrder": "181", - "measuredW": "158", - "measuredH": "47", - "w": "158", - "h": "47", - "x": "1405", - "y": "2190", - "properties": { - "controlName": "102-standards:cpp20" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "150", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "55", - "measuredH": "25", - "x": "47", - "y": "11", - "properties": { - "size": "17", - "text": "C++20" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "134", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4702", - "typeID": "__group__", - "zOrder": "182", - "measuredW": "158", - "measuredH": "47", - "w": "158", - "h": "47", - "x": "1405", - "y": "2241", - "properties": { - "controlName": "103-standards:newest" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "150", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "58", - "measuredH": "25", - "x": "46", - "y": "11", - "properties": { - "size": "17", - "text": "Newest" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "134", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4703", - "typeID": "__group__", - "zOrder": "183", - "measuredW": "158", - "measuredH": "47", - "w": "158", - "h": "47", - "x": "1405", - "y": "2293", - "properties": { - "controlName": "104-standards:cpp0x" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "150", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "53", - "measuredH": "25", - "x": "46", - "y": "11", - "properties": { - "size": "17", - "text": "C++0x" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "134", - "y": "10", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4704", - "typeID": "TextArea", - "zOrder": "184", - "w": "242", - "h": "46", - "measuredW": "200", - "measuredH": "140", - "x": "1029", - "y": "2380", - "properties": { - "borderColor": "16777215" - } - }, - { - "ID": "4705", - "typeID": "Label", - "zOrder": "185", - "measuredW": "143", - "measuredH": "28", - "x": "1078", - "y": "2389", - "properties": { - "size": "20", - "text": "Language Tools" - } - }, - { - "ID": "4706", - "typeID": "__group__", - "zOrder": "186", - "measuredW": "217", - "measuredH": "59", - "w": "217", - "h": "59", - "x": "1051", - "y": "2465", - "properties": { - "controlName": "114-debuggers" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "9", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "86", - "measuredH": "25", - "x": "66", - "y": "21", - "properties": { - "size": "17", - "text": "Debuggers" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "185", - "y": "0", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4707", - "typeID": "__group__", - "zOrder": "187", - "measuredW": "314", - "measuredH": "55", - "w": "314", - "h": "55", - "x": "1333", - "y": "2469", - "properties": { - "controlName": "100-debuggers:debugger-messages" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "310", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "8", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "w": "280", - "measuredW": "280", - "measuredH": "25", - "x": "15", - "y": "19", - "properties": { - "size": "17", - "text": "Understanding Debugger Messages" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "290", - "y": "0", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4708", - "typeID": "__group__", - "zOrder": "188", - "measuredW": "316", - "measuredH": "49", - "w": "316", - "h": "49", - "x": "1333", - "y": "2528", - "properties": { - "controlName": "101-debuggers:debugger-symbols" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "310", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "2", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "153", - "measuredH": "25", - "x": "78", - "y": "13", - "properties": { - "size": "17", - "text": "Debugging Symbols" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "292", - "y": "0", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4709", - "typeID": "__group__", - "zOrder": "189", - "measuredW": "155", - "measuredH": "47", - "w": "155", - "h": "47", - "x": "1322", - "y": "2582", - "properties": { - "controlName": "102-debuggers:win-dbg" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "144", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "63", - "measuredH": "25", - "x": "51", - "y": "11", - "properties": { - "size": "17", - "text": "WinDBg" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4710", - "typeID": "__group__", - "zOrder": "190", - "measuredW": "168", - "measuredH": "47", - "w": "168", - "h": "47", - "x": "1482", - "y": "2582", - "properties": { - "controlName": "103-debuggers:gdb" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "161", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "37", - "measuredH": "25", - "x": "62", - "y": "11", - "properties": { - "size": "17", - "text": "GDB" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "144", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4711", - "typeID": "__group__", - "zOrder": "191", - "measuredW": "228", - "measuredH": "50", - "w": "228", - "h": "50", - "x": "700", - "y": "2473", - "properties": { - "controlName": "115-compilers" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "78", - "measuredH": "25", - "x": "81", - "y": "12", - "properties": { - "size": "17", - "text": "Compilers" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4712", - "typeID": "__group__", - "zOrder": "192", - "measuredW": "338", - "measuredH": "47", - "w": "338", - "h": "47", - "x": "645", - "y": "2386", - "properties": { - "controlName": "100-compilers:stages" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "327", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "223", - "measuredH": "25", - "x": "63", - "y": "11", - "properties": { - "size": "17", - "text": "Understand Compiler Stages" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "8", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4713", - "typeID": "__group__", - "zOrder": "193", - "measuredW": "359", - "measuredH": "47", - "w": "359", - "h": "47", - "x": "634", - "y": "2549", - "properties": { - "controlName": "101-compilers:features" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "348", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "294", - "measuredH": "25", - "x": "38", - "y": "11", - "properties": { - "size": "17", - "text": "Different Compilers and their Features" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4714", - "typeID": "Label", - "zOrder": "194", - "measuredW": "119", - "measuredH": "25", - "x": "684", - "y": "2608", - "properties": { - "size": "17", - "text": "Clang++/LLVM" - } - }, - { - "ID": "4715", - "typeID": "Label", - "zOrder": "195", - "measuredW": "74", - "measuredH": "25", - "x": "684", - "y": "2637", - "properties": { - "size": "17", - "text": "Intel C++" - } - }, - { - "ID": "4716", - "typeID": "Label", - "zOrder": "196", - "measuredW": "86", - "measuredH": "25", - "x": "684", - "y": "2666", - "properties": { - "size": "17", - "text": "MSVS C++" - } - }, - { - "ID": "4717", - "typeID": "Label", - "zOrder": "197", - "measuredW": "37", - "measuredH": "25", - "x": "684", - "y": "2695", - "properties": { - "size": "17", - "text": "GCC" - } - }, - { - "ID": "4718", - "typeID": "Label", - "zOrder": "198", - "measuredW": "57", - "measuredH": "25", - "x": "684", - "y": "2724", - "properties": { - "size": "17", - "text": "MinGW" - } - }, - { - "ID": "4719", - "typeID": "Arrow", - "zOrder": "199", - "w": "1", - "h": "331", - "measuredW": "150", - "measuredH": "100", - "x": "476", - "y": "2498", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.3738002047268765, - "y": 0 - }, - "p1": { - "x": 0.5094183863981455, - "y": 0.0009010178239445601 - }, - "p2": { - "x": -0.3738002047268765, - "y": 330.8231453094545 - } - } - }, - { - "ID": "4720", - "typeID": "Arrow", - "zOrder": "200", - "w": "1025", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "476", - "y": "2829", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.29177514116184966, - "y": 1 - }, - "p1": { - "x": 0.5094183863981455, - "y": 0.0009010178239445597 - }, - "p2": { - "x": 1025.4781385743524, - "y": 1 - } - } - }, - { - "ID": "4721", - "typeID": "__group__", - "zOrder": "201", - "measuredW": "227", - "measuredH": "50", - "w": "227", - "h": "50", - "x": "1051", - "y": "2805", - "properties": { - "controlName": "116-build-systems" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "107", - "measuredH": "25", - "x": "55", - "y": "12", - "properties": { - "size": "17", - "text": "Build Systems" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "203", - "y": "13", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4722", - "typeID": "__group__", - "zOrder": "202", - "measuredW": "171", - "measuredH": "47", - "w": "171", - "h": "47", - "x": "1079", - "y": "2616", - "properties": { - "controlName": "100-build-systems:cmake" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "161", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "60", - "measuredH": "25", - "x": "51", - "y": "11", - "properties": { - "size": "17", - "text": "CMAKE" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "147", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4723", - "typeID": "__group__", - "zOrder": "203", - "measuredW": "171", - "measuredH": "47", - "w": "171", - "h": "47", - "x": "1079", - "y": "2667", - "properties": { - "controlName": "101-build-systems:makefile" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "161", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "65", - "measuredH": "25", - "x": "48", - "y": "11", - "properties": { - "size": "17", - "text": "Makefile" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "147", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4724", - "typeID": "__group__", - "zOrder": "204", - "measuredW": "171", - "measuredH": "47", - "w": "171", - "h": "47", - "x": "1079", - "y": "2719", - "properties": { - "controlName": "102-build-systems:ninja" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "161", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "41", - "measuredH": "25", - "x": "60", - "y": "11", - "properties": { - "size": "17", - "text": "Ninja" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "147", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4725", - "typeID": "__group__", - "zOrder": "205", - "measuredW": "229", - "measuredH": "50", - "w": "229", - "h": "50", - "x": "1399", - "y": "2805", - "properties": { - "controlName": "117-package-managers" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "149", - "measuredH": "25", - "x": "34", - "y": "12", - "properties": { - "size": "17", - "text": "Package Managers" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "205", - "y": "13", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4726", - "typeID": "__group__", - "zOrder": "206", - "measuredW": "108", - "measuredH": "47", - "w": "108", - "h": "47", - "x": "1395", - "y": "2713", - "properties": { - "controlName": "102-package-managers:conan" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "96", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "12", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "51", - "measuredH": "25", - "x": "36", - "y": "11", - "properties": { - "size": "17", - "text": "Conan" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4727", - "typeID": "__group__", - "zOrder": "207", - "measuredW": "107", - "measuredH": "47", - "w": "107", - "h": "47", - "x": "1509", - "y": "2713", - "properties": { - "controlName": "103-package-managers:nuget" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "96", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "51", - "measuredH": "25", - "x": "20", - "y": "11", - "properties": { - "size": "17", - "text": "NuGet" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "83", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4728", - "typeID": "__group__", - "zOrder": "208", - "measuredW": "108", - "measuredH": "47", - "w": "108", - "h": "47", - "x": "1395", - "y": "2662", - "properties": { - "controlName": "100-package-managers:vcpkg" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "96", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "12", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "45", - "measuredH": "25", - "x": "36", - "y": "11", - "properties": { - "size": "17", - "text": "vcpkg" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4729", - "typeID": "__group__", - "zOrder": "209", - "measuredW": "106", - "measuredH": "47", - "w": "106", - "h": "47", - "x": "1509", - "y": "2662", - "properties": { - "controlName": "101-package-managers:spack" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "96", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "48", - "measuredH": "25", - "x": "21", - "y": "11", - "properties": { - "size": "17", - "text": "Spack" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "82", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4730", - "typeID": "__group__", - "zOrder": "210", - "measuredW": "229", - "measuredH": "50", - "w": "229", - "h": "50", - "x": "1399", - "y": "2957", - "properties": { - "controlName": "118-working-with-libs" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "50", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "169", - "measuredH": "25", - "x": "24", - "y": "12", - "properties": { - "size": "17", - "text": "Working with Libraries" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "205", - "y": "14", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4731", - "typeID": "__group__", - "zOrder": "211", - "measuredW": "228", - "measuredH": "47", - "w": "228", - "h": "47", - "x": "1399", - "y": "3041", - "properties": { - "controlName": "100-working-with-libs:inclusion" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "126", - "measuredH": "25", - "x": "46", - "y": "11", - "properties": { - "size": "17", - "text": "Library Inclusion" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "204", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4732", - "typeID": "__group__", - "zOrder": "212", - "measuredW": "228", - "measuredH": "47", - "w": "228", - "h": "47", - "x": "1399", - "y": "3092", - "properties": { - "controlName": "101-working-with-libs:licensing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "217", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "75", - "measuredH": "25", - "x": "71", - "y": "11", - "properties": { - "size": "17", - "text": "Licensing" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "204", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4733", - "typeID": "TextArea", - "zOrder": "213", - "w": "217", - "h": "363", - "measuredW": "200", - "measuredH": "140", - "x": "1051", - "y": "2910" - }, - { - "ID": "4734", - "typeID": "Label", - "zOrder": "214", - "measuredW": "72", - "measuredH": "26", - "x": "1066", - "y": "2924", - "properties": { - "size": "18", - "text": "Libraries" - } - }, - { - "ID": "4735", - "typeID": "__group__", - "zOrder": "215", - "measuredW": "99", - "measuredH": "47", - "w": "99", - "h": "47", - "x": "1054", - "y": "2960", - "properties": { - "controlName": "100-libraries:boost" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "88", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "45", - "measuredH": "25", - "x": "32", - "y": "11", - "properties": { - "size": "17", - "text": "Boost" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4736", - "typeID": "__group__", - "zOrder": "216", - "measuredW": "105", - "measuredH": "47", - "w": "105", - "h": "47", - "x": "1158", - "y": "2960", - "properties": { - "controlName": "101-libraries:open-cv" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "94", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "66", - "measuredH": "25", - "x": "12", - "y": "11", - "properties": { - "size": "17", - "text": "OpenCV" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "81", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4737", - "typeID": "__group__", - "zOrder": "217", - "measuredW": "99", - "measuredH": "47", - "w": "99", - "h": "47", - "x": "1054", - "y": "3011", - "properties": { - "controlName": "102-libraries:poco" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "88", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "49", - "measuredH": "25", - "x": "30", - "y": "11", - "properties": { - "size": "17", - "text": "POCO" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4738", - "typeID": "__group__", - "zOrder": "218", - "measuredW": "105", - "measuredH": "47", - "w": "105", - "h": "47", - "x": "1158", - "y": "3012", - "properties": { - "controlName": "103-libraries:protobuf" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "94", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "65", - "measuredH": "25", - "x": "12", - "y": "11", - "properties": { - "size": "17", - "text": "protobuf" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "81", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4739", - "typeID": "__group__", - "zOrder": "219", - "measuredW": "87", - "measuredH": "47", - "w": "87", - "h": "47", - "x": "1054", - "y": "3062", - "properties": { - "controlName": "104-libraries:grpc" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "76", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "45", - "measuredH": "25", - "x": "26", - "y": "11", - "properties": { - "size": "17", - "text": "gRPC" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4740", - "typeID": "__group__", - "zOrder": "220", - "measuredW": "103", - "measuredH": "47", - "w": "103", - "h": "47", - "x": "1160", - "y": "3164", - "properties": { - "controlName": "109-libraries:fmt" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "92", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "25", - "measuredH": "25", - "x": "40", - "y": "11", - "properties": { - "size": "17", - "text": "fmt" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "79", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4741", - "typeID": "__group__", - "zOrder": "221", - "measuredW": "110", - "measuredH": "47", - "w": "110", - "h": "47", - "x": "1054", - "y": "3113", - "properties": { - "controlName": "106-libraries:pybind11" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "99", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "64", - "measuredH": "25", - "x": "33", - "y": "11", - "properties": { - "size": "17", - "text": "pybind11" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4742", - "typeID": "__group__", - "zOrder": "222", - "measuredW": "94", - "measuredH": "47", - "w": "94", - "h": "47", - "x": "1169", - "y": "3113", - "properties": { - "controlName": "107-libraries:spdlog" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "83", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "52", - "measuredH": "25", - "x": "13", - "y": "11", - "properties": { - "size": "17", - "text": "spdlog" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "70", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4743", - "typeID": "__group__", - "zOrder": "223", - "measuredW": "198", - "measuredH": "47", - "w": "198", - "h": "47", - "x": "1054", - "y": "3216", - "properties": { - "controlName": "110-libraries:ranges-v3" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "187", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "83", - "measuredH": "25", - "x": "63", - "y": "11", - "properties": { - "size": "17", - "text": "ranges_v3" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4744", - "typeID": "__group__", - "zOrder": "224", - "measuredW": "118", - "measuredH": "47", - "w": "118", - "h": "47", - "x": "1145", - "y": "3062", - "properties": { - "controlName": "105-libraries:tensorflow" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "107", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "78", - "measuredH": "25", - "x": "12", - "y": "11", - "properties": { - "size": "17", - "text": "tensorflow" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "94", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4745", - "typeID": "__group__", - "zOrder": "225", - "measuredW": "102", - "measuredH": "47", - "w": "102", - "h": "47", - "x": "1054", - "y": "3164", - "properties": { - "controlName": "108-libraries:opencl" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "91", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "11", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "53", - "measuredH": "25", - "x": "31", - "y": "11", - "properties": { - "size": "17", - "text": "opencl" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "12", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4746", - "typeID": "TextArea", - "zOrder": "226", - "w": "217", - "h": "324", - "measuredW": "200", - "measuredH": "140", - "x": "710", - "y": "2910" - }, - { - "ID": "4747", - "typeID": "Label", - "zOrder": "227", - "measuredW": "100", - "measuredH": "26", - "x": "725", - "y": "2924", - "properties": { - "size": "18", - "text": "Frameworks" - } - }, - { - "ID": "4748", - "typeID": "__group__", - "zOrder": "228", - "measuredW": "196", - "measuredH": "47", - "w": "196", - "h": "47", - "x": "715", - "y": "2961", - "properties": { - "controlName": "100-frameworks:gtest" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "187", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "97", - "measuredH": "25", - "x": "54", - "y": "11", - "properties": { - "size": "17", - "text": "gtest/gmock" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4749", - "typeID": "__group__", - "zOrder": "229", - "measuredW": "196", - "measuredH": "47", - "w": "196", - "h": "47", - "x": "715", - "y": "3013", - "properties": { - "controlName": "101-frameworks:qt" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "187", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "19", - "measuredH": "25", - "x": "93", - "y": "11", - "properties": { - "size": "17", - "text": "Qt" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "10", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4750", - "typeID": "__group__", - "zOrder": "230", - "measuredW": "196", - "measuredH": "47", - "w": "196", - "h": "47", - "x": "715", - "y": "3065", - "properties": { - "controlName": "102-frameworks:catch2" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "187", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "56", - "measuredH": "25", - "x": "75", - "y": "11", - "properties": { - "size": "17", - "text": "Catch2" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "10", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4751", - "typeID": "__group__", - "zOrder": "231", - "measuredW": "196", - "measuredH": "47", - "w": "196", - "h": "47", - "x": "715", - "y": "3117", - "properties": { - "controlName": "103-frameworks:orbit-profiler" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "187", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "97", - "measuredH": "25", - "x": "54", - "y": "11", - "properties": { - "size": "17", - "text": "Orbit Profiler" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4752", - "typeID": "__group__", - "zOrder": "232", - "measuredW": "196", - "measuredH": "47", - "w": "196", - "h": "47", - "x": "715", - "y": "3169", - "properties": { - "controlName": "104-frameworks:pytorch-cpp" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "187", - "h": "47", - "measuredW": "200", - "measuredH": "140", - "x": "9", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "101", - "measuredH": "25", - "x": "52", - "y": "11", - "properties": { - "size": "17", - "text": "PyTorch C++" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "11", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4753", - "typeID": "Arrow", - "zOrder": "233", - "w": "1", - "h": "354", - "measuredW": "150", - "measuredH": "100", - "x": "475", - "y": "2982", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": -0.3738002047268765, - "y": 0 - }, - "p1": { - "x": 0.5094183863981455, - "y": 0.0009010178239445601 - }, - "p2": { - "x": -0.3738002047268765, - "y": 353.8988374933642 - } - } - }, - { - "ID": "4754", - "typeID": "Arrow", - "zOrder": "234", - "w": "624", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "475", - "y": "3336", - "properties": { - "color": "2848996", - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "p0": { - "x": 0.29177514116184966, - "y": 1 - }, - "p1": { - "x": 0.5094183863981455, - "y": 0.0009010178239445597 - }, - "p2": { - "x": 624.2630351748503, - "y": 1 - } - } - }, - { - "ID": "4755", - "typeID": "Arrow", - "zOrder": "235", - "w": "1", - "h": "81", - "measuredW": "150", - "measuredH": "100", - "x": "1099", - "y": "3533", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.49999999999999994, - "y": 0 - }, - "p2": { - "x": 0, - "y": 81.09090909090901 - } - } - }, - { - "ID": "4756", - "typeID": "TextArea", - "zOrder": "236", - "w": "420", - "h": "118", - "measuredW": "200", - "measuredH": "140", - "x": "890", - "y": "3447" - }, - { - "ID": "4757", - "typeID": "Label", - "zOrder": "237", - "measuredW": "366", - "measuredH": "25", - "x": "917", - "y": "3466", - "properties": { - "size": "17", - "text": "Continue Learning with following relevant tracks" - } - }, - { - "ID": "4758", - "typeID": "__group__", - "zOrder": "238", - "measuredW": "366", - "measuredH": "44", - "w": "366", - "h": "44", - "x": "917", - "y": "3499", - "properties": { - "controlName": "ext_link:roadmap.sh/backend" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "366", - "h": "44", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "147", - "measuredH": "25", - "x": "109", - "y": "9", - "properties": { - "size": "17", - "text": "Backend Roadmap" - } - } - ] - } - } - }, - { - "ID": "4764", - "typeID": "__group__", - "zOrder": "239", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "1239", - "y": "2900", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - }, - { - "ID": "4765", - "typeID": "__group__", - "zOrder": "240", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "893", - "y": "2900", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - }, - { - "ID": "4766", - "typeID": "Arrow", - "zOrder": "241", - "w": "194", - "h": "2", - "measuredW": "150", - "measuredH": "100", - "x": "1003", - "y": "3666", - "properties": { - "curvature": "-1", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "16777215", - "p0": { - "x": 0, - "y": 0.21592451307655836 - }, - "p1": { - "x": 0.473, - "y": -0.01100000000000001 - }, - "p2": { - "x": 193.57438070328567, - "y": 0.21592451307651572 - } - } - }, - { - "ID": "4767", - "typeID": "__group__", - "zOrder": "85", - "measuredW": "420", - "measuredH": "272", - "w": "420", - "h": "272", - "x": "343", - "y": "38", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "420", - "h": "168", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "__group__", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "23", - "y": "23", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "3700253" - } - } - ] - } - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "245", - "measuredH": "24", - "x": "59", - "y": "23", - "properties": { - "size": "16", - "text": "Beginner Topics / Start with these" - } - }, - { - "ID": "3", - "typeID": "Label", - "zOrder": "3", - "measuredW": "286", - "measuredH": "24", - "x": "60", - "y": "88", - "properties": { - "size": "16", - "text": "Advanced Topics / Pick them in the end" - } - }, - { - "ID": "4", - "typeID": "__group__", - "zOrder": "4", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "23", - "y": "88", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - }, - { - "ID": "5", - "typeID": "Label", - "zOrder": "5", - "measuredW": "266", - "measuredH": "24", - "x": "59", - "y": "56", - "properties": { - "size": "16", - "text": "Intermediate Topics / Pick them next" - } - }, - { - "ID": "6", - "typeID": "__group__", - "zOrder": "6", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "23", - "y": "55", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10027263" - } - } - ] - } - } - }, - { - "ID": "7", - "typeID": "Canvas", - "zOrder": "7", - "w": "420", - "h": "112", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "160" - }, - { - "ID": "8", - "typeID": "Label", - "zOrder": "8", - "measuredW": "318", - "measuredH": "28", - "x": "27", - "y": "182", - "properties": { - "size": "20", - "text": "References / Additional Resources" - } - }, - { - "ID": "9", - "typeID": "__group__", - "zOrder": "9", - "measuredW": "229", - "measuredH": "27", - "w": "229", - "h": "27", - "x": "29", - "y": "220", - "properties": { - "controlName": "ext_link:salmer.github.io/CppDeveloperRoadmap/" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Label", - "zOrder": "0", - "measuredW": "196", - "measuredH": "26", - "x": "33", - "y": "0", - "properties": { - "size": "18", - "text": "Salmer’s C++ Roadmap" - } - }, - { - "ID": "1", - "typeID": "__group__", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "0", - "y": "3", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "10066329", - "icon": { - "ID": "check-circle", - "size": "small" - } - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "10", - "typeID": "Label", - "zOrder": "10", - "measuredW": "199", - "measuredH": "24", - "x": "60", - "y": "120", - "properties": { - "size": "16", - "text": "Optional / Learn if you want" - } - }, - { - "ID": "11", - "typeID": "__group__", - "zOrder": "11", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "23", - "y": "120", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "4768", - "typeID": "__group__", - "zOrder": "84", - "measuredW": "350", - "measuredH": "141", - "w": "350", - "h": "141", - "x": "1297", - "y": "91", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "350", - "h": "141", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "314", - "measuredH": "25", - "x": "14", - "y": "17", - "properties": { - "size": "17", - "text": "Find the detailed version of this roadmap" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "319", - "measuredH": "25", - "x": "14", - "y": "45", - "properties": { - "size": "17", - "text": "along with resources and other roadmaps" - } - }, - { - "ID": "3", - "typeID": "__group__", - "zOrder": "3", - "measuredW": "320", - "measuredH": "45", - "w": "320", - "h": "45", - "x": "15", - "y": "81", - "properties": { - "controlName": "ext_link:roadmap.sh" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "320", - "h": "45", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "borderColor": "4273622", - "color": "4273622" - } - }, - { - "ID": "1", - "typeID": "__group__", - "zOrder": "1", - "measuredW": "181", - "measuredH": "29", - "w": "181", - "h": "29", - "x": "65", - "y": "8", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Label", - "zOrder": "0", - "measuredW": "105", - "measuredH": "28", - "x": "76", - "y": "0", - "properties": { - "color": "16777215", - "size": "20", - "text": "roadmap.sh" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "45", - "measuredH": "28", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "size": "20", - "text": "https" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "5", - "measuredH": "28", - "x": "48", - "y": "0", - "properties": { - "bold": "true", - "color": "16777215", - "size": "20", - "text": ":" - } - }, - { - "ID": "3", - "typeID": "Label", - "zOrder": "3", - "measuredW": "10", - "measuredH": "28", - "x": "55", - "y": "1", - "properties": { - "color": "16777215", - "size": "20", - "text": "/" - } - }, - { - "ID": "4", - "typeID": "Label", - "zOrder": "4", - "measuredW": "10", - "measuredH": "28", - "x": "63", - "y": "1", - "properties": { - "color": "16777215", - "size": "20", - "text": "/" - } - } - ] - } - } - } - ] - } - } - } - ] - } - } + "nodes": [ + { + "id": "b5EyLVAnEsPBiwy2dMr6F", + "type": "horizontal", + "position": { "x": 132.993752405053, "y": 2903.0129376580285 }, + "selected": true, + "data": { + "label": "horizontal node", + "style": { "stroke": "#2B78E4", "strokeWidth": 3.5 } + }, + "zIndex": 999, + "width": 127, + "height": 20, + "style": { "width": 127, "height": 20 }, + "positionAbsolute": { "x": 132.993752405053, "y": 2903.0129376580285 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "I1aDakZmYpe7pKczou0qC", + "type": "section", + "position": { "x": 258.0179751445827, "y": 2688.244194339027 }, + "selected": true, + "data": { + "label": "", + "style": { + "width": 150, + "height": 100, + "fontSize": 17, + "backgroundColor": "#ffffff", + "borderColor": "#000000" } - ] + }, + "zIndex": -999, + "width": 195, + "height": 278, + "style": { "width": 195, "height": 278 }, + "resizing": false, + "positionAbsolute": { "x": 258.0179751445827, "y": 2688.244194339027 }, + "dragging": false, + "selectable": true, + "focusable": true }, - "attributes": { - "name": "New Wireframe 1 copy", - "order": 1000010.2336643032, - "parentID": null, - "notes": "" + { + "id": "goX6oPqweGg7J9yXJjDsR", + "type": "horizontal", + "position": { "x": 441.5179751445827, "y": 2530.0128020469147 }, + "selected": true, + "data": { + "label": "horizontal node", + "style": { "stroke": "#2B78E4", "strokeWidth": 3.5 } + }, + "zIndex": 999, + "width": 91, + "height": 20, + "style": { "width": 91, "height": 20 }, + "positionAbsolute": { "x": 441.5179751445827, "y": 2530.0128020469147 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true }, - "branchID": "Master", - "resourceID": "D5E1AC09-3023-4145-A52A-4D904363A065", - "mockupH": "3630", - "mockupW": "1325", - "measuredW": "1667", - "measuredH": "3668", - "version": "1.0" - }, - "groupOffset": { - "x": 0, - "y": 0 - }, - "dependencies": [], - "projectID": "file:///Users/kamrify/Desktop/New%20Roadmaps/New%20Project%201.bmpr" -} \ No newline at end of file + { + "id": "iisl6B61awdQDJVGaBqtI", + "type": "section", + "position": { "x": 532.5179751445827, "y": 2381.244194339027 }, + "selected": true, + "data": { + "label": "", + "style": { + "width": 150, + "height": 100, + "fontSize": 17, + "backgroundColor": "#ffffff", + "borderColor": "#000000" + } + }, + "zIndex": -999, + "width": 239, + "height": 385, + "style": { "width": 239, "height": 385 }, + "positionAbsolute": { "x": 532.5179751445827, "y": 2381.244194339027 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "SNEm8ibYyywxb0prHdlMA", + "type": "vertical", + "position": { "x": 118.26444711909286, "y": 2545.23808936492 }, + "selected": true, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + }, + "oldId": "REVHzbbcSWfylibdGZG5A" + }, + "zIndex": 999, + "width": 20, + "height": 86, + "style": { "width": 20, "height": 86 }, + "positionAbsolute": { "x": 118.26444711909286, "y": 2545.23808936492 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "REVHzbbcSWfylibdGZG5A", + "type": "vertical", + "position": { "x": 12.144083619869434, "y": 2545.23808936492 }, + "selected": true, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + } + }, + "zIndex": 999, + "width": 20, + "height": 86, + "style": { "width": 20, "height": 86 }, + "positionAbsolute": { "x": 12.144083619869434, "y": 2545.23808936492 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "Tm2kjpCnwZhAw0vwqn_PK", + "type": "section", + "position": { "x": -31.733089516576577, "y": 2235.2284032315606 }, + "selected": true, + "data": { + "label": "", + "style": { + "width": 150, + "height": 100, + "fontSize": 17, + "backgroundColor": "#ffffff", + "borderColor": "#000000" + } + }, + "zIndex": -999, + "width": 185, + "height": 212, + "style": { "width": 185, "height": 212 }, + "positionAbsolute": { "x": -31.733089516576577, "y": 2235.2284032315606 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "_sUz-qKSggnUjAO281ROC", + "type": "vertical", + "position": { "x": -233.429978402122, "y": 1962.677896706502 }, + "selected": true, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + } + }, + "zIndex": 999, + "width": 20, + "height": 97, + "style": { "width": 20, "height": 97 }, + "positionAbsolute": { "x": -233.429978402122, "y": 1962.677896706502 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "wGg3UBe3OqaXWxPxYiBQz", + "type": "vertical", + "position": { "x": 594.833180361922, "y": 1673.789165472234 }, + "selected": true, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + } + }, + "zIndex": 999, + "width": 20, + "height": 103, + "style": { "width": 20, "height": 103 }, + "positionAbsolute": { "x": 594.833180361922, "y": 1673.789165472234 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "3SsQBuq6ie73yAMvRcqtR", + "type": "section", + "position": { "x": 466.39833855329164, "y": 1470.7730008603658 }, + "selected": true, + "data": { + "label": "", + "style": { + "width": 150, + "height": 100, + "fontSize": 17, + "backgroundColor": "#ffffff", + "borderColor": "#000000" + } + }, + "zIndex": -999, + "width": 302, + "height": 174, + "style": { "width": 302, "height": 174 }, + "positionAbsolute": { "x": 466.39833855329164, "y": 1470.7730008603658 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "ra0ZEvbILayGotRDlRwjF", + "type": "vertical", + "position": { "x": 309.993752405053, "y": 1671.789165472234 }, + "selected": true, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + } + }, + "zIndex": 999, + "width": 20, + "height": 107, + "style": { "width": 20, "height": 107 }, + "positionAbsolute": { "x": 309.993752405053, "y": 1671.789165472234 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "XUHjmFhEsTjGRLlmDgl_w", + "type": "vertical", + "position": { "x": 159.993752405053, "y": 1671.789165472234 }, + "selected": true, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + }, + "oldId": "ra0ZEvbILayGotRDlRwjF" + }, + "zIndex": 999, + "width": 20, + "height": 107, + "style": { "width": 20, "height": 107 }, + "positionAbsolute": { "x": 159.993752405053, "y": 1671.789165472234 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "mnUWOqBFgcuNsXUr18fJI", + "type": "section", + "position": { "x": -286.929978402122, "y": 1484.789165472234 }, + "selected": true, + "data": { + "label": "", + "style": { + "width": 150, + "height": 100, + "fontSize": 17, + "backgroundColor": "#ffffff" + } + }, + "zIndex": -999, + "width": 321, + "height": 128, + "style": { "width": 321, "height": 128 }, + "resizing": false, + "positionAbsolute": { "x": -286.929978402122, "y": 1484.789165472234 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "l5xm8tzFqMKwGdK3MYaXm", + "type": "vertical", + "position": { "x": 500.31370390738084, "y": 1150.9555450086277 }, + "selected": true, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + } + }, + "zIndex": 999, + "width": 20, + "height": 199, + "style": { "width": 20, "height": 199 }, + "positionAbsolute": { "x": 500.31370390738084, "y": 1150.9555450086277 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "fG1lGRwUDPc-aiETFyEE7", + "type": "vertical", + "position": { "x": 588.119142886761, "y": 1045.9498696738276 }, + "selected": true, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + } + }, + "zIndex": 999, + "width": 20, + "height": 196, + "style": { "width": 20, "height": 196 }, + "positionAbsolute": { "x": 588.119142886761, "y": 1045.9498696738276 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "ofwdZm05AUqCIWmfgGHk8", + "type": "subtopic", + "position": { "x": 539.0885117402935, "y": 1257.538589268166 }, + "selected": true, + "data": { + "label": "Diamond Inheritance", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 231, + "height": 49, + "style": { "width": 231, "height": 49 }, + "positionAbsolute": { "x": 539.0885117402935, "y": 1257.538589268166 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "ZHjU60uzJTezADRhDTESG", + "type": "subtopic", + "position": { "x": 66.99375240505299, "y": 877.9725710130274 }, + "selected": true, + "data": { + "label": "Forward Declaration", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 223, + "height": 49, + "style": { "width": 223, "height": 49 }, + "positionAbsolute": { "x": 66.99375240505299, "y": 877.9725710130274 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "J7Jwh6hrrEyni5eGmuCqc", + "type": "horizontal", + "position": { "x": -44.467176049532384, "y": 1130.9555450086277 }, + "selected": true, + "data": { + "label": "horizontal node", + "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 } + }, + "zIndex": 999, + "width": 223, + "height": 20, + "style": { "width": 223, "height": 20 }, + "positionAbsolute": { "x": -44.467176049532384, "y": 1130.9555450086277 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "Qk3hqX1Wj68FD8jXHS5NU", + "type": "section", + "position": { "x": -284.4671760495324, "y": 822.073069776383 }, + "width": 241, + "height": 234, + "style": { "width": 241, "height": 234 }, + "selected": true, + "data": { + "style": { "backgroundColor": "#ffffff", "borderColor": "#000000" } + }, + "positionAbsolute": { "x": -284.4671760495324, "y": 822.073069776383 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "zybofouGIVxcKvr47F3Yy", + "type": "section", + "position": { "x": -284.4671760495324, "y": 1051.9498696738276 }, + "width": 241, + "height": 175, + "style": { "width": 241, "height": 175 }, + "selected": true, + "data": { + "style": { "backgroundColor": "#ffffff", "borderColor": "#000000" } + }, + "dragging": false, + "positionAbsolute": { "x": -284.4671760495324, "y": 1051.9498696738276 }, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "c58fcsthBlVfzfr-MHdpF", + "type": "vertical", + "position": { "x": 256.89029212267985, "y": -124.59925177765109 }, + "selected": true, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + } + }, + "zIndex": 999, + "width": 20, + "height": 66, + "positionAbsolute": { "x": 256.89029212267985, "y": -124.59925177765109 }, + "dragging": false, + "style": { "width": 20, "height": 66 }, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "Ji35JsKgUQXN4DJGEgTAC", + "type": "title", + "position": { "x": 218.39029212267985, "y": -59.09925177765109 }, + "selected": true, + "data": { + "label": "C++", + "style": { + "fontSize": 28, + "justifyContent": "flex-start", + "textAlign": "center" + } + }, + "zIndex": 999, + "width": 97, + "height": 68, + "positionAbsolute": { "x": 218.39029212267985, "y": -59.09925177765109 }, + "dragging": false, + "selectable": true, + "focusable": true, + "style": {} + }, + { + "id": "kpF15oUmlUmk1qVGEBB7Y", + "type": "paragraph", + "position": { "x": 421.119142886761, "y": -125.95736970235458 }, + "selected": true, + "data": { + "label": "Find the detailed version of this roadmap along with other similar roadmaps", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "left", + "borderColor": "#000000", + "backgroundColor": "#FFFFFf" + }, + "oldId": "yHmHXymPNWwu8p1vvqD3o" + }, + "zIndex": 999, + "width": 354, + "height": 143, + "positionAbsolute": { "x": 421.119142886761, "y": -125.95736970235458 }, + "dragging": false, + "selectable": true, + "focusable": true, + "style": { "width": 354, "height": 143 }, + "resizing": false + }, + { + "id": "if9eTna5NRTMStVwpSwDP", + "type": "button", + "position": { "x": 433.619142886761, "y": -44.09925177765109 }, + "selected": true, + "data": { + "label": "roadmap.sh", + "href": "https://roadmap.sh", + "color": "#ffffff", + "backgroundColor": "#4136D6", + "style": { "fontSize": 17 }, + "oldId": "2zqZkyVgigifcRS1H7F_b" + }, + "zIndex": 999, + "width": 329, + "height": 49, + "dragging": false, + "style": { "width": 329, "height": 49 }, + "resizing": false, + "positionAbsolute": { "x": 433.619142886761, "y": -44.09925177765109 }, + "selectable": true, + "focusable": true + }, + { + "id": "g4hjyQF8-SpjPi8mYtIsk", + "type": "vertical", + "position": { "x": 256.89029212267985, "y": 15.028193715390685 }, + "selected": true, + "data": { + "label": "vertical node", + "style": { "stroke": "#2B78E4", "strokeWidth": 3.5 } + }, + "zIndex": 999, + "width": 20, + "height": 139, + "style": { "width": 20, "height": 139 }, + "positionAbsolute": { "x": 256.89029212267985, "y": 15.028193715390685 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "width": 411, + "height": 121, + "id": "0vLaVNJaJSHZ_bHli6Qzs", + "type": "paragraph", + "position": { "x": -278.006247594947, "y": 2846.2883869394877 }, + "selected": true, + "data": { + "label": "Keep learning with following relevant tracks", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "borderColor": "#000000", + "backgroundColor": "WHITe" + }, + "oldId": "m9eO0jLGuR_9w2JJbe_g2" + }, + "zIndex": 999, + "positionAbsolute": { "x": -278.006247594947, "y": 2846.2883869394877 }, + "dragging": false, + "style": { "width": 411, "height": 121 }, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "width": 20, + "height": 85, + "id": "xi0QAi4kXm3-IFKgopnOP", + "type": "vertical", + "position": { "x": -82.50624759494701, "y": 2967.2883869394877 }, + "selected": true, + "data": { + "label": "vertical node", + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2B78E4" + }, + "oldId": "RLtk1C3gofHnLJ17x3o5b" + }, + "zIndex": 999, + "positionAbsolute": { "x": -82.50624759494701, "y": 2967.2883869394877 }, + "dragging": false, + "focusable": true, + "style": { "width": 20, "height": 85 }, + "resizing": false, + "selectable": true + }, + { + "width": 377, + "height": 49, + "id": "-sFboM4eFUMVq1tlPl-fV", + "type": "button", + "position": { "x": -261.006247594947, "y": 2903.0129376580285 }, + "selected": true, + "data": { + "label": "Backend Roadmap", + "href": "https://roadmap.sh/backend", + "color": "#FFFFFf", + "backgroundColor": "#4136D6", + "style": { "fontSize": 17 }, + "borderColor": "#4136D6", + "oldId": "qXKNK_IsGS8-JgLK-Q9oU" + }, + "zIndex": 999, + "dragging": false, + "positionAbsolute": { "x": -261.006247594947, "y": 2903.0129376580285 }, + "style": { "width": 377, "height": 49 }, + "focusable": true, + "resizing": false, + "selectable": true + }, + { + "id": "NvODRFR0DLINB0RlPSsvt", + "type": "topic", + "position": { "x": 128.89029212267985, "y": 150.76582156925141 }, + "selected": true, + "data": { + "label": "Introduction to Language", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 276, + "height": 49, + "style": { "width": 276, "height": 49 }, + "positionAbsolute": { "x": 128.89029212267985, "y": 150.76582156925141 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "q2z_1wnPUnWM7MYIIUyBg", + "type": "legend", + "position": { "x": -285.20291471146976, "y": -130.55580566097228 }, + "selected": true, + "data": { + "label": "", + "legends": [ + { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here" + }, + { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4" + }, + { + "id": "zgW3oGPdbclWTlKJdidiB", + "label": "Advanced Topics / Pick Later", + "color": "#000000" + }, + { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999" + } + ] + }, + "zIndex": 999, + "width": 351, + "height": 156, + "positionAbsolute": { + "x": -285.20291471146976, + "y": -130.55580566097228 + }, + "dragging": false, + "style": { "width": 351 }, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "x_28LiDVshqWns_aIBsdx", + "type": "subtopic", + "position": { "x": 519.3983385532916, "y": 95.44419433902749 }, + "selected": true, + "data": { + "label": "What is C++?", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 251, + "height": 49, + "style": { "width": 251, "height": 49 }, + "positionAbsolute": { "x": 519.3983385532916, "y": 95.44419433902749 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "tl6VCQ5IEGDVyFcgj7jDm", + "type": "subtopic", + "position": { "x": 520.3137039073808, "y": 149.4441943390275 }, + "selected": true, + "data": { + "label": "Why use C++", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 251, + "height": 49, + "style": { "width": 251, "height": 49 }, + "positionAbsolute": { "x": 520.3137039073808, "y": 149.4441943390275 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "2Ag0t3LPryTF8khHLRfy-", + "type": "subtopic", + "position": { "x": 520.3137039073808, "y": 202.4441943390275 }, + "selected": true, + "data": { + "label": "C vs C++", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 251, + "height": 49, + "style": { "width": 251, "height": 49 }, + "positionAbsolute": { "x": 520.3137039073808, "y": 202.4441943390275 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "Zc_TTzmM36yWsu3GvOy9x", + "type": "topic", + "position": { "x": -281.68629609261916, "y": 282.9441943390275 }, + "selected": true, + "data": { + "label": "Setting up your Environment", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 282, + "height": 49, + "style": { "width": 282, "height": 49 }, + "positionAbsolute": { "x": -281.68629609261916, "y": 282.9441943390275 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "0J_ltQEJh2g28OE2ZEYJj", + "type": "subtopic", + "position": { "x": -281.68629609261916, "y": 364.4441943390275 }, + "selected": true, + "data": { + "label": "Installing C++", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 282, + "height": 49, + "style": { "width": 282, "height": 49 }, + "positionAbsolute": { "x": -281.68629609261916, "y": 364.4441943390275 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "ew0AfyadpXPRO0ZY3Z19k", + "type": "subtopic", + "position": { "x": -281.68629609261916, "y": 417.4441943390275 }, + "selected": true, + "data": { + "label": "Code Editors / IDEs", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 282, + "height": 49, + "style": { "width": 282, "height": 49 }, + "positionAbsolute": { "x": -281.68629609261916, "y": 417.4441943390275 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "SEq0D2Zg5WTsIDtd1hW9f", + "type": "subtopic", + "position": { "x": -281.68629609261916, "y": 470.4441943390275 }, + "selected": true, + "data": { + "label": "Running your First Program", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 282, + "height": 49, + "style": { "width": 282, "height": 49 }, + "positionAbsolute": { "x": -281.68629609261916, "y": 470.4441943390275 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "kl2JI_Wl47c5r8SYzxvCq", + "type": "topic", + "position": { "x": 127.76444711909286, "y": 282.9441943390275 }, + "selected": true, + "data": { + "label": "Basic Operations", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "MwznA4qfpNlv6sqSNjPZi", + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 205, + "height": 49, + "style": { "width": 205, "height": 49 }, + "positionAbsolute": { "x": 127.76444711909286, "y": 282.9441943390275 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "8aOSpZLWwZv_BEYiurhyR", + "type": "subtopic", + "position": { "x": 127.76444711909286, "y": 367.4441943390275 }, + "selected": true, + "data": { + "label": "Arithmetic Operators", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 205, + "height": 49, + "style": { "width": 205, "height": 49 }, + "positionAbsolute": { "x": 127.76444711909286, "y": 367.4441943390275 }, + "selectable": true, + "focusable": true, + "dragging": false + }, + { + "id": "Y9gq8WkDA_XGe68JkY2UZ", + "type": "subtopic", + "position": { "x": 127.76444711909286, "y": 420.4441943390275 }, + "selected": true, + "data": { + "label": "Logical Operators", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 205, + "height": 49, + "style": { "width": 205, "height": 49 }, + "positionAbsolute": { "x": 127.76444711909286, "y": 420.4441943390275 }, + "selectable": true, + "focusable": true, + "dragging": false + }, + { + "id": "zE4iPSq2KsrDSByQ0sGK_", + "type": "subtopic", + "position": { "x": 127.76444711909286, "y": 473.4441943390275 }, + "selected": true, + "data": { + "label": "Bitwise Operators", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 205, + "height": 49, + "style": { "width": 205, "height": 49 }, + "positionAbsolute": { "x": 127.76444711909286, "y": 473.4441943390275 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "s5Gs4yF9TPh-psYmtPzks", + "type": "topic", + "position": { "x": 518.9836543599333, "y": 461.1708336969881 }, + "selected": true, + "data": { + "label": "Control Flow & Statements", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "MwznA4qfpNlv6sqSNjPZi", + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 251, + "height": 49, + "style": { "width": 251, "height": 49 }, + "positionAbsolute": { "x": 518.9836543599333, "y": 461.1708336969881 }, + "dragging": false, + "selectable": true, + "focusable": true, + "resizing": false + }, + { + "id": "_IP_e1K9LhNHilYTDh7L5", + "type": "subtopic", + "position": { "x": 518.9836543599333, "y": 347.2028070104984 }, + "selected": true, + "data": { + "label": "for / while / do while loops", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "bjpFWxiCKGz28E-ukhZBp", + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 251, + "height": 49, + "style": { "width": 251, "height": 49 }, + "positionAbsolute": { "x": 518.9836543599333, "y": 347.2028070104984 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "bjpFWxiCKGz28E-ukhZBp", + "type": "subtopic", + "position": { "x": 518.9836543599333, "y": 294.7028070104984 }, + "selected": true, + "data": { + "label": "if else / switch / goto", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 251, + "height": 49, + "style": { "width": 251, "height": 49 }, + "positionAbsolute": { "x": 518.9836543599333, "y": 294.7028070104984 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "oYi3YOc1GC2Nfp71VOkJt", + "type": "topic", + "position": { "x": 517.4836543599333, "y": 569.015602149086 }, + "selected": true, + "data": { + "label": "Functions", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "MwznA4qfpNlv6sqSNjPZi", + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 254, + "height": 49, + "style": { "width": 254, "height": 49 }, + "positionAbsolute": { "x": 517.4836543599333, "y": 569.015602149086 }, + "dragging": false, + "selectable": true, + "focusable": true, + "resizing": false + }, + { + "id": "obZIxRp0eMWdG7gplNIBc", + "type": "subtopic", + "position": { "x": 518.4590437918661, "y": 765.6954620911321 }, + "selected": true, + "data": { + "label": "Static Polymorphism", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "colorType": "h" + }, + "oldId": "xjiFBVe-VGqCqWfkPVGKf", + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 254, + "height": 49, + "style": { "width": 254, "height": 49 }, + "positionAbsolute": { "x": 518.4590437918661, "y": 765.6954620911321 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "sgfqb22sdN4VRJYkhAVaf", + "type": "subtopic", + "position": { "x": 518.4590437918661, "y": 809.6954620911321 }, + "selected": true, + "data": { + "label": "Function Overloading", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "colorType": "c" + }, + "oldId": "xjiFBVe-VGqCqWfkPVGKf", + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 254, + "height": 49, + "style": { "width": 254, "height": 49 }, + "positionAbsolute": { "x": 518.4590437918661, "y": 809.6954620911321 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "llCBeut_uc9IAe2oi4KZ9", + "type": "subtopic", + "position": { "x": 518.4590437918661, "y": 658.0698136821208 }, + "selected": true, + "data": { + "label": "Operator Overloading", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "colorType": "c" + }, + "oldId": "xjiFBVe-VGqCqWfkPVGKf", + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 254, + "height": 49, + "style": { "width": 254, "height": 49 }, + "positionAbsolute": { "x": 518.4590437918661, "y": 658.0698136821208 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "xjiFBVe-VGqCqWfkPVGKf", + "type": "subtopic", + "position": { "x": 518.4590437918661, "y": 711.0698136821208 }, + "selected": true, + "data": { + "label": "Lambdas", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "colorType": "c" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 254, + "height": 49, + "style": { "width": 254, "height": 49 }, + "positionAbsolute": { "x": 518.4590437918661, "y": 711.0698136821208 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "MwznA4qfpNlv6sqSNjPZi", + "type": "topic", + "position": { "x": 128.06739090002304, "y": 569.015602149086 }, + "selected": true, + "data": { + "label": "Data Types", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 213, + "height": 49, + "style": { "width": 213, "height": 49 }, + "positionAbsolute": { "x": 128.06739090002304, "y": 569.015602149086 }, + "dragging": false, + "selectable": true, + "focusable": true, + "resizing": false + }, + { + "id": "f1djN0GxoeVPr_0cl6vMq", + "type": "subtopic", + "position": { "x": 128.06739090002304, "y": 656.9515973902295 }, + "selected": true, + "data": { + "label": "Static Typing", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 213, + "height": 49, + "style": { "width": 213, "height": 49 }, + "positionAbsolute": { "x": 128.06739090002304, "y": 656.9515973902295 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "i0EAFEUB-F0wBJWOtrl1A", + "type": "subtopic", + "position": { "x": 128.06739090002304, "y": 709.9515973902295 }, + "selected": true, + "data": { + "label": "Dynamic Typing", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 213, + "height": 49, + "style": { "width": 213, "height": 49 }, + "positionAbsolute": { "x": 128.06739090002304, "y": 709.9515973902295 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "r0yD1gfn03wTpEBi6zNsu", + "type": "subtopic", + "position": { "x": 128.06739090002304, "y": 783.5772457992408 }, + "selected": true, + "data": { + "label": "RTTI", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 213, + "height": 49, + "style": { "width": 213, "height": 49 }, + "positionAbsolute": { "x": 128.06739090002304, "y": 783.5772457992408 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "DWw8NxkLpIpiOSUaZZ1oA", + "type": "topic", + "position": { "x": -281.9671760495324, "y": 569.015602149086 }, + "selected": true, + "data": { + "label": "Pointers and References", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 236, + "height": 49, + "style": {}, + "positionAbsolute": { "x": -281.9671760495324, "y": 569.015602149086 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "uUzRKa9wGzdUwwmAg3FWr", + "type": "subtopic", + "position": { "x": -284.4671760495324, "y": 661.0205568938326 }, + "selected": true, + "data": { + "label": "References", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 241, + "height": 49, + "style": { "width": 241, "height": 49 }, + "positionAbsolute": { "x": -284.4671760495324, "y": 661.0205568938326 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "mSFwsTYvmg-GwG4_DEIEf", + "type": "subtopic", + "position": { "x": -284.4671760495324, "y": 714.0205568938326 }, + "selected": true, + "data": { + "label": "Memory Model", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 241, + "height": 49, + "style": { "width": 241, "height": 49 }, + "positionAbsolute": { "x": -284.4671760495324, "y": 714.0205568938326 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "9aA_-IfQ9WmbPgwic0mFN", + "type": "subtopic", + "position": { "x": -284.4671760495324, "y": 767.0205568938326 }, + "selected": true, + "data": { + "label": "Lifetime of Objects", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 241, + "height": 50, + "style": { "width": 241, "height": 50 }, + "positionAbsolute": { "x": -284.4671760495324, "y": 767.0205568938326 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "ulvwm4rRPgkpgaqGgyH5a", + "type": "subtopic", + "position": { "x": -275.9671760495324, "y": 834.0632184187253 }, + "selected": true, + "data": { + "label": "Smart Pointers", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "colorType": "h" + } + }, + "zIndex": 999, + "width": 224, + "height": 49, + "style": { "width": 224, "height": 49 }, + "positionAbsolute": { "x": -275.9671760495324, "y": 834.0632184187253 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "vUwSS-uX36OWZouO0wOcy", + "type": "subtopic", + "position": { "x": -275.9671760495324, "y": 887.0632184187253 }, + "selected": true, + "data": { + "label": "weak_ptr", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 224, + "height": 49, + "style": { "width": 224, "height": 49 }, + "positionAbsolute": { "x": -275.9671760495324, "y": 887.0632184187253 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "b5jZIZD_U_CPg-_bdndjz", + "type": "subtopic", + "position": { "x": -275.9671760495324, "y": 940.0632184187253 }, + "selected": true, + "data": { + "label": "shared_ptr", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 224, + "height": 49, + "style": { "width": 224, "height": 49 }, + "positionAbsolute": { "x": -275.9671760495324, "y": 940.0632184187253 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "k9c5seRkhgm_yHPpiz2X0", + "type": "subtopic", + "position": { "x": -275.9671760495324, "y": 993.0632184187253 }, + "selected": true, + "data": { + "label": "unique_ptr", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 224, + "height": 49, + "style": { "width": 224, "height": 49 }, + "positionAbsolute": { "x": -275.9671760495324, "y": 993.0632184187253 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "uEGEmbxegATIrvGfobJb9", + "type": "subtopic", + "position": { "x": -275.9671760495324, "y": 1060.9498696738276 }, + "selected": true, + "data": { + "label": "Raw Pointers", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "colorType": "h" + } + }, + "zIndex": 999, + "width": 224, + "height": 49, + "style": { "width": 224, "height": 49 }, + "positionAbsolute": { "x": -275.9671760495324, "y": 1060.9498696738276 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "Gld0nRs0sM8kRe8XmYolu", + "type": "subtopic", + "position": { "x": -275.9671760495324, "y": 1113.9498696738276 }, + "selected": true, + "data": { + "label": "New/Delete Operators", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 224, + "height": 49, + "style": { "width": 224, "height": 49 }, + "positionAbsolute": { "x": -275.9671760495324, "y": 1113.9498696738276 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "6w0WExQ4lGIGgok6Thq0s", + "type": "subtopic", + "position": { "x": -275.9671760495324, "y": 1166.9498696738276 }, + "selected": true, + "data": { + "label": "Memory Leakage", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 224, + "height": 49, + "style": { "width": 224, "height": 49 }, + "positionAbsolute": { "x": -275.9671760495324, "y": 1166.9498696738276 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "Zw2AOTK5uc9BoKEpY7W1C", + "type": "topic", + "position": { "x": 66.99375240505299, "y": 1116.4555450086277 }, + "selected": true, + "data": { + "label": "Structuring Codebase", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 223, + "height": 49, + "style": { "width": 223, "height": 49 }, + "positionAbsolute": { "x": 66.99375240505299, "y": 1116.4555450086277 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "dKCYmxDNZubCVcR5rf8b-", + "type": "subtopic", + "position": { "x": 66.99375240505299, "y": 1025.0759762139076 }, + "selected": true, + "data": { + "label": "Scope", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "colorType": "h" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 223, + "height": 49, + "style": { "width": 223, "height": 49 }, + "positionAbsolute": { "x": 66.99375240505299, "y": 1025.0759762139076 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "iIdC7V8sojwyEqK1xMuHn", + "type": "subtopic", + "position": { "x": 66.99375240505299, "y": 980.0759762139076 }, + "selected": true, + "data": { + "label": "Namespaces", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 223, + "height": 49, + "style": { "width": 223, "height": 49 }, + "positionAbsolute": { "x": 66.99375240505299, "y": 980.0759762139076 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "CK7yf8Bo7kfbV6x2tZTrh", + "type": "subtopic", + "position": { "x": 66.99375240505299, "y": 921.9725710130274 }, + "selected": true, + "data": { + "label": "Headers / CPP Files", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "colorType": "h" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 223, + "height": 49, + "style": { "width": 223, "height": 49 }, + "positionAbsolute": { "x": 66.99375240505299, "y": 921.9725710130274 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "CMlWNQwpywNhO9B6Yj6Me", + "type": "topic", + "position": { "x": 418.86058049826306, "y": 1116.4555450086277 }, + "selected": true, + "data": { + "label": "Structures and Classes", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 236, + "height": 49, + "style": { "width": 236, "height": 49 }, + "positionAbsolute": { "x": 418.86058049826306, "y": 1116.4555450086277 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "7sdEzZCIoarzznwO4XcCv", + "type": "subtopic", + "position": { "x": 486.0885117402935, "y": 1335.826261482708 }, + "selected": true, + "data": { + "label": "Rule of Zero, Five, Three", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "WjHpueZDK-d3oDNMVZi9w", + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 284, + "height": 49, + "style": { "width": 284, "height": 49 }, + "positionAbsolute": { "x": 486.0885117402935, "y": 1335.826261482708 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "WjHpueZDK-d3oDNMVZi9w", + "type": "subtopic", + "position": { "x": 539.0885117402935, "y": 1213.538589268166 }, + "selected": true, + "data": { + "label": "Multiple Inheritance", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "colorType": "h" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 231, + "height": 49, + "style": { "width": 231, "height": 49 }, + "positionAbsolute": { "x": 539.0885117402935, "y": 1213.538589268166 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "b3-QYKNcW3LYCNOza3Olf", + "type": "subtopic", + "position": { "x": 468.86058049826306, "y": 1022.9612203434276 }, + "selected": true, + "data": { + "label": "Object Oriented Programming", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 306, + "height": 49, + "style": { "width": 306, "height": 49 }, + "positionAbsolute": { "x": 468.86058049826306, "y": 1022.9612203434276 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "hNBErGNiegLsUJn_vgcOR", + "type": "subtopic", + "position": { "x": 468.86058049826306, "y": 921.9725710130272 }, + "selected": true, + "data": { + "label": "Virtual Methods", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 166, + "height": 49, + "style": { "width": 166, "height": 49 }, + "positionAbsolute": { "x": 468.86058049826306, "y": 921.9725710130272 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "s99ImazcwCgAESxZd8ksa", + "type": "subtopic", + "position": { "x": 626.8605804982631, "y": 921.9725710130272 }, + "selected": true, + "data": { + "label": "Virtual Tables", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 148, + "height": 49, + "style": {}, + "positionAbsolute": { "x": 626.8605804982631, "y": 921.9725710130272 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "7h1VivjCPDwriL7FirtFv", + "type": "subtopic", + "position": { "x": 468.86058049826306, "y": 968.6623554103876 }, + "selected": true, + "data": { + "label": "Dynamic Polymorphism", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "colorType": "h" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 306, + "height": 49, + "style": { "width": 306, "height": 49 }, + "dragging": false, + "positionAbsolute": { "x": 468.86058049826306, "y": 968.6623554103876 }, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "B2SGBENzUMl0SAjG4j91V", + "type": "topic", + "position": { "x": 178.53282395046762, "y": 1286.826261482708 }, + "selected": true, + "data": { + "label": "Exception Handling", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "-6fwJQOfsorgHkoQGp4T3", + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 198, + "height": 49, + "style": { "width": 198, "height": 49 }, + "positionAbsolute": { "x": 178.53282395046762, "y": 1286.826261482708 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "oWygnpwHq2poXQMTTSCpl", + "type": "subtopic", + "position": { "x": 178.53282395046762, "y": 1384.826261482708 }, + "selected": true, + "data": { + "label": "Exit Codes", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "NJud5SXBAUZ6Sr78kZ7jx", + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 198, + "height": 49, + "style": { "width": 198, "height": 49 }, + "positionAbsolute": { "x": 178.53282395046762, "y": 1384.826261482708 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "NJud5SXBAUZ6Sr78kZ7jx", + "type": "subtopic", + "position": { "x": 180.4684674563091, "y": 1438.7934586483889 }, + "selected": true, + "data": { + "label": "Exceptions", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 198, + "height": 49, + "style": { "width": 198, "height": 49 }, + "positionAbsolute": { "x": 180.4684674563091, "y": 1438.7934586483889 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "y4-P4UNC--rE1vni8HdTn", + "type": "subtopic", + "position": { "x": 180.4684674563091, "y": 1492.7934586483889 }, + "selected": true, + "data": { + "label": "Access Violations", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 198, + "height": 49, + "style": { "width": 198, "height": 49 }, + "positionAbsolute": { "x": 180.4684674563091, "y": 1492.7934586483889 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "-6fwJQOfsorgHkoQGp4T3", + "type": "topic", + "position": { "x": -286.929978402122, "y": 1286.826261482708 }, + "selected": true, + "data": { + "label": "Language Concepts", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 321, + "height": 49, + "style": { "width": 321, "height": 49 }, + "positionAbsolute": { "x": -286.929978402122, "y": 1286.826261482708 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "CG01PTVgHtjfKvsJkJLGl", + "type": "subtopic", + "position": { "x": -286.929978402122, "y": 1389.7934586483889 }, + "selected": true, + "data": { + "label": "auto (Automatic Type Deduction)", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 321, + "height": 49, + "style": { "width": 321, "height": 49 }, + "positionAbsolute": { "x": -286.929978402122, "y": 1389.7934586483889 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "PiMhw1oP9-NZEa6I9u4lX", + "type": "subtopic", + "position": { "x": -286.929978402122, "y": 1444.7147615325937 }, + "selected": true, + "data": { + "label": "Type Casting", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "colorType": "h" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 321, + "height": 49, + "style": { "width": 321, "height": 49 }, + "positionAbsolute": { "x": -286.929978402122, "y": 1444.7147615325937 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "_XB2Imyf23-6AOeoNLhYQ", + "type": "subtopic", + "position": { "x": -278.29496924274974, "y": 1500.2090861977936 }, + "selected": true, + "data": { + "label": "static_cast", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 140, + "height": 49, + "style": { "width": 140, "height": 49 }, + "positionAbsolute": { "x": -278.29496924274974, "y": 1500.2090861977936 }, + "dragging": false, + "resizing": true, + "focusable": true, + "selectable": true + }, + { + "id": "5g22glc97siQOcTkHbwan", + "type": "subtopic", + "position": { "x": -130.52203293340202, "y": 1500.2090861977936 }, + "selected": true, + "data": { + "label": "const_cast", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 155, + "height": 49, + "style": { "width": 155, "height": 49 }, + "positionAbsolute": { "x": -130.52203293340202, "y": 1500.2090861977936 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "4BdFcuQ5KNW94cu2jz-vE", + "type": "subtopic", + "position": { "x": -278.29496924274974, "y": 1553.301140729074 }, + "selected": true, + "data": { + "label": "dynamic_cast", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 140, + "height": 49, + "style": { "width": 140, "height": 49 }, + "positionAbsolute": { "x": -278.29496924274974, "y": 1553.301140729074 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "ZMyFDJrpCauGrY5NZkOwg", + "type": "subtopic", + "position": { "x": -130.52203293340202, "y": 1553.301140729074 }, + "selected": true, + "data": { + "label": "reinterpret_cast", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 155, + "height": 49, + "style": { "width": 155, "height": 49 }, + "positionAbsolute": { "x": -130.52203293340202, "y": 1553.301140729074 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "IDOlquv6jlfecwQoBwkGZ", + "type": "subtopic", + "position": { "x": -286.929978402122, "y": 1618.893819847594 }, + "selected": true, + "data": { + "label": "Undefined Behavior (UB)", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 321, + "height": 49, + "style": { "width": 321, "height": 49 }, + "positionAbsolute": { "x": -286.929978402122, "y": 1618.893819847594 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "YSWN7nS8vA9nMldSUrZRT", + "type": "subtopic", + "position": { "x": -286.929978402122, "y": 1672.893819847594 }, + "selected": true, + "data": { + "label": "Argument Dependent Lookup (ADL)", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 321, + "height": 49, + "style": { "width": 321, "height": 49 }, + "positionAbsolute": { "x": -286.929978402122, "y": 1672.893819847594 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "Lt7ss59KZw9Jwqj234jm2", + "type": "subtopic", + "position": { "x": -286.929978402122, "y": 1726.893819847594 }, + "selected": true, + "data": { + "label": "Name Mangling", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 185, + "height": 49, + "style": { "width": 185, "height": 49 }, + "positionAbsolute": { "x": -286.929978402122, "y": 1726.893819847594 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "zKdlfZTRHwjtmRUGW9z9-", + "type": "subtopic", + "position": { "x": -97.929978402122, "y": 1726.893819847594 }, + "selected": true, + "data": { + "label": "Macros", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "zgW3oGPdbclWTlKJdidiB", + "label": "Advanced Topics / Pick Later", + "color": "#000000", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 132, + "height": 49, + "style": { "width": 132, "height": 49 }, + "positionAbsolute": { "x": -97.929978402122, "y": 1726.893819847594 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "V2SeVMoQJXI2btIHr8e-u", + "type": "vertical", + "position": { "x": 122.76444711909286, "y": 1310.789165472234 }, + "selected": true, + "data": { + "label": "vertical node", + "style": { "stroke": "#2B78E4", "strokeWidth": 3.75 } + }, + "zIndex": 999, + "width": 20, + "height": 365, + "style": { "width": 20, "height": 365 }, + "positionAbsolute": { "x": 122.76444711909286, "y": 1310.789165472234 }, + "dragging": false, + "selectable": true, + "focusable": true, + "resizing": false + }, + { + "id": "DHdNBP7_ixjr6h-dIQ7g6", + "type": "topic", + "position": { "x": 93.99375240505299, "y": 1658.893819847594 }, + "selected": true, + "data": { + "label": "Standard Library + STL", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 296, + "height": 49, + "style": { "width": 296, "height": 49 }, + "positionAbsolute": { "x": 93.99375240505299, "y": 1658.893819847594 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "Ebu8gzbyyXEeJryeE0SpG", + "type": "subtopic", + "position": { "x": 93.99375240505299, "y": 1745.4441943390277 }, + "selected": true, + "data": { + "label": "Iterators", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 152, + "height": 49, + "style": { "width": 152, "height": 49 }, + "positionAbsolute": { "x": 93.99375240505299, "y": 1745.4441943390277 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "VeVxZ230xkesQsIDig8zQ", + "type": "subtopic", + "position": { "x": 250.993752405053, "y": 1746.4441943390277 }, + "selected": true, + "data": { + "label": "iostream", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 139, + "height": 49, + "style": { "width": 139, "height": 49 }, + "positionAbsolute": { "x": 250.993752405053, "y": 1746.4441943390277 }, + "dragging": false, + "resizing": true, + "selectable": true, + "focusable": true + }, + { + "id": "whyj6Z4RXFsVQYRfYYn7B", + "type": "subtopic", + "position": { "x": 93.99375240505299, "y": 1798.4441943390277 }, + "selected": true, + "data": { + "label": "Algorithms", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 152, + "height": 49, + "style": { "width": 152, "height": 49 }, + "positionAbsolute": { "x": 93.99375240505299, "y": 1798.4441943390277 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "yGvE6eHKlPMBB6rde0llR", + "type": "subtopic", + "position": { "x": 250.993752405053, "y": 1799.4441943390277 }, + "selected": true, + "data": { + "label": "Date / Time", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 139, + "height": 49, + "style": { "width": 139, "height": 49 }, + "positionAbsolute": { "x": 250.993752405053, "y": 1799.4441943390277 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "OXQUPqxzs1-giAACwl3X1", + "type": "subtopic", + "position": { "x": 93.99375240505299, "y": 1851.4441943390277 }, + "selected": true, + "data": { + "label": "Multithreading", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 152, + "height": 49, + "style": { "width": 152, "height": 49 }, + "positionAbsolute": { "x": 93.99375240505299, "y": 1851.4441943390277 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "1pydf-SR0QUfVNuBEyvzc", + "type": "subtopic", + "position": { "x": 250.993752405053, "y": 1852.4441943390277 }, + "selected": true, + "data": { + "label": "Containers", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 139, + "height": 49, + "style": { "width": 139, "height": 49 }, + "positionAbsolute": { "x": 250.993752405053, "y": 1852.4441943390277 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "-6AOrbuOE7DJCmxlcgCay", + "type": "topic", + "position": { "x": 526.0040411704451, "y": 1751.4441943390277 }, + "selected": true, + "data": { + "label": "Templates", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 160, + "height": 49, + "style": { "width": 160, "height": 49 }, + "positionAbsolute": { "x": 526.0040411704451, "y": 1751.4441943390277 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "w4EIf58KP-Pq-yc0HlGxc", + "type": "subtopic", + "position": { "x": 466.39833855329164, "y": 1639.7730008603658 }, + "selected": true, + "data": { + "label": "Variadic Templates", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 302, + "height": 49, + "style": { "width": 302, "height": 49 }, + "positionAbsolute": { "x": 466.39833855329164, "y": 1639.7730008603658 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "sObOuccY0PDeGG-9GrFDF", + "type": "subtopic", + "position": { "x": 466.39833855329164, "y": 1470.7730008603658 }, + "selected": true, + "data": { + "label": "Template Specialization", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center", + "colorType": "h" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 302, + "height": 49, + "style": { "width": 302, "height": 49 }, + "positionAbsolute": { "x": 466.39833855329164, "y": 1470.7730008603658 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "WptReUOwVth3C9-AVmMHF", + "type": "subtopic", + "position": { "x": 466.39833855329164, "y": 1417.117522069225 }, + "selected": true, + "data": { + "label": "Type Traits", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "zgW3oGPdbclWTlKJdidiB", + "label": "Advanced Topics / Pick Later", + "color": "#000000", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 171, + "height": 49, + "style": { "width": 171, "height": 49 }, + "positionAbsolute": { "x": 466.39833855329164, "y": 1417.117522069225 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "3C5UfejDX-1Z8ZF6C53xD", + "type": "subtopic", + "position": { "x": 642.3983385532916, "y": 1417.117522069225 }, + "selected": true, + "data": { + "label": "SFINAE", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "zgW3oGPdbclWTlKJdidiB", + "label": "Advanced Topics / Pick Later", + "color": "#000000", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 128, + "height": 49, + "style": { "width": 128, "height": 49 }, + "positionAbsolute": { "x": 642.3983385532916, "y": 1417.117522069225 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "6hTcmJwNnQstbWWzNCfTe", + "type": "subtopic", + "position": { "x": 478.39833855329164, "y": 1529.9677661061605 }, + "selected": true, + "data": { + "label": "Full Template Specialization", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "1NYJtbdcdOB4-vIrnq4yX", + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 278, + "height": 49, + "style": { "width": 278, "height": 49 }, + "positionAbsolute": { "x": 478.39833855329164, "y": 1529.9677661061605 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "1NYJtbdcdOB4-vIrnq4yX", + "type": "subtopic", + "position": { "x": 477.39833855329164, "y": 1582.9677661061605 }, + "selected": true, + "data": { + "label": "Partial Template Specialization", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 280, + "height": 49, + "style": { "width": 280, "height": 49 }, + "positionAbsolute": { "x": 477.39833855329164, "y": 1582.9677661061605 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "fb3bnfKXjSIjPAk4b95lg", + "type": "topic", + "position": { "x": 526.0040411704451, "y": 2041.110352538959 }, + "selected": true, + "data": { + "label": "Idioms", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "qmHs6_BzND_xpMmls5YUH", + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 160, + "height": 49, + "style": { "width": 160, "height": 49 }, + "positionAbsolute": { "x": 526.0040411704451, "y": 2041.110352538959 }, + "dragging": false, + "focusable": true, + "resizing": false, + "selectable": true + }, + { + "id": "xjUaIp8gGxkN-cp8emJ2M", + "type": "subtopic", + "position": { "x": 446.00404117044513, "y": 2138.738988313017 }, + "selected": true, + "data": { + "label": "Non-Copyable / Non-Moveable", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 320, + "height": 49, + "style": { "width": 320, "height": 49 }, + "positionAbsolute": { "x": 446.00404117044513, "y": 2138.738988313017 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "YvmjrZSAOmjhVPo05MJqN", + "type": "subtopic", + "position": { "x": 446.00404117044513, "y": 2191.738988313017 }, + "selected": true, + "data": { + "label": "Erase-Remove", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 320, + "height": 49, + "style": { "width": 320, "height": 49 }, + "resizing": false, + "positionAbsolute": { "x": 446.00404117044513, "y": 2191.738988313017 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "lxAzI42jQdaofzQ5MXebG", + "type": "subtopic", + "position": { "x": 446.00404117044513, "y": 2244.738988313017 }, + "selected": true, + "data": { + "label": "Copy and Swap", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 162, + "height": 49, + "style": { "width": 162, "height": 49 }, + "resizing": false, + "positionAbsolute": { "x": 446.00404117044513, "y": 2244.738988313017 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "O2Du5gHHxFxAI2u5uO8wu", + "type": "subtopic", + "position": { "x": 612.0040411704451, "y": 2244.738988313017 }, + "selected": true, + "data": { + "label": "Copy on Write", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 153, + "height": 49, + "style": { "width": 153, "height": 49 }, + "resizing": false, + "positionAbsolute": { "x": 612.0040411704451, "y": 2244.738988313017 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "OmHDlLxCnH8RDdu5vx9fl", + "type": "subtopic", + "position": { "x": 446.833180361922, "y": 2298.6609277564776 }, + "selected": true, + "data": { + "label": "RAII", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 100, + "height": 49, + "style": { "width": 100, "height": 49 }, + "positionAbsolute": { "x": 446.833180361922, "y": 2298.6609277564776 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "MEoWt8NKjPLVTeGgYf3cR", + "type": "subtopic", + "position": { "x": 550.333180361922, "y": 2298.6609277564776 }, + "selected": true, + "data": { + "label": "Pimpl", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 109, + "height": 49, + "style": { "width": 109, "height": 49 }, + "positionAbsolute": { "x": 550.333180361922, "y": 2298.6609277564776 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "ttt-yeIi4BPWrgvW324W7", + "type": "subtopic", + "position": { "x": 665.0040411704451, "y": 2298.6609277564776 }, + "selected": true, + "data": { + "label": "CRTP", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 100, + "height": 49, + "style": { "width": 100, "height": 49 }, + "positionAbsolute": { "x": 665.0040411704451, "y": 2298.6609277564776 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "vvE1aUsWbF1OFcmMUHbJa", + "type": "topic", + "position": { "x": 227.76444711909286, "y": 2041.110352538959 }, + "selected": true, + "data": { + "label": "Standardds", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "qmHs6_BzND_xpMmls5YUH", + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 155, + "height": 49, + "style": { "width": 155, "height": 49 }, + "positionAbsolute": { "x": 227.76444711909286, "y": 2041.110352538959 }, + "dragging": false, + "focusable": true, + "resizing": false, + "selectable": true + }, + { + "id": "T6rCTv9Dxkm-tEA-l9XEv", + "type": "subtopic", + "position": { "x": 227.76444711909286, "y": 1939.0246296702257 }, + "selected": true, + "data": { + "label": "C++ 11 / 14", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 155, + "height": 49, + "style": { "width": 155, "height": 49 }, + "positionAbsolute": { "x": 227.76444711909286, "y": 1939.0246296702257 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "R2-qWGUxsTOeSHRuUzhd2", + "type": "subtopic", + "position": { "x": 227.76444711909286, "y": 2136.9142315942822 }, + "selected": true, + "data": { + "label": "C++ 17", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 155, + "height": 49, + "style": { "width": 155, "height": 49 }, + "positionAbsolute": { "x": 227.76444711909286, "y": 2136.9142315942822 }, + "selectable": true, + "focusable": true, + "dragging": false + }, + { + "id": "o3no4a5_iMFzEAGs56-BJ", + "type": "subtopic", + "position": { "x": 227.76444711909286, "y": 2189.9142315942822 }, + "selected": true, + "data": { + "label": "C++ 20", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 155, + "height": 49, + "style": { "width": 155, "height": 49 }, + "positionAbsolute": { "x": 227.76444711909286, "y": 2189.9142315942822 }, + "selectable": true, + "focusable": true, + "dragging": false + }, + { + "id": "sxbbKtg7kMNbkx7fXhjR9", + "type": "subtopic", + "position": { "x": 227.76444711909286, "y": 2242.9142315942822 }, + "selected": true, + "data": { + "label": "Newest", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "zgW3oGPdbclWTlKJdidiB", + "label": "Advanced Topics / Pick Later", + "color": "#000000", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 155, + "height": 49, + "style": { "width": 155, "height": 49 }, + "positionAbsolute": { "x": 227.76444711909286, "y": 2242.9142315942822 }, + "selectable": true, + "focusable": true, + "dragging": false + }, + { + "id": "PPg0V5EzGBeJsysg1215V", + "type": "subtopic", + "position": { "x": 227.76444711909286, "y": 2295.9142315942822 }, + "selected": true, + "data": { + "label": "C++ 0x", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 155, + "height": 49, + "style": { "width": 155, "height": 49 }, + "positionAbsolute": { "x": 227.76444711909286, "y": 2295.9142315942822 }, + "selectable": true, + "focusable": true, + "dragging": false + }, + { + "id": "qmHs6_BzND_xpMmls5YUH", + "type": "topic", + "position": { "x": -286.929978402122, "y": 2041.110352538959 }, + "selected": true, + "data": { + "label": "Debuggers", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 153, + "height": 49, + "style": { "width": 153, "height": 49 }, + "positionAbsolute": { "x": -286.929978402122, "y": 2041.110352538959 }, + "dragging": false, + "focusable": true, + "resizing": false, + "selectable": true + }, + { + "id": "Kb2Pbz0Sq7YlO1vCwYxnX", + "type": "paragraph", + "position": { "x": -39.10970787732015, "y": 2041.110352538959 }, + "selected": true, + "data": { + "label": "Language Tools", + "style": { + "fontSize": 17, + "borderColor": "#000000", + "backgroundColor": "#ffffff", + "color": "#000000", + "textAlign": "center", + "justifyContent": "center", + "padding": 16 + } + }, + "zIndex": 999, + "width": 168, + "height": 49, + "style": { "width": 168, "height": 49 }, + "resizing": false, + "dragging": false, + "positionAbsolute": { "x": -39.10970787732015, "y": 2041.110352538959 }, + "selectable": true, + "focusable": true + }, + { + "id": "VtPb8-AJKzhTB0QbMtoU4", + "type": "subtopic", + "position": { "x": -288.0831925975956, "y": 1934.0246296702257 }, + "selected": true, + "data": { + "label": "Understanding Debugger Messages", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 328, + "height": 49, + "style": { "width": 328, "height": 49 }, + "positionAbsolute": { "x": -288.0831925975956, "y": 1934.0246296702257 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "sR_FxGZHoMCV9Iv7z2_SX", + "type": "subtopic", + "position": { "x": -288.0831925975956, "y": 1880.9389202464117 }, + "selected": true, + "data": { + "label": "Debugging Symbols", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 328, + "height": 49, + "style": { "width": 328, "height": 49 }, + "positionAbsolute": { "x": -288.0831925975956, "y": 1880.9389202464117 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "y8VCbGDUco9bzGRfIBD8R", + "type": "subtopic", + "position": { "x": -288.0831925975956, "y": 1826.1637109984486 }, + "selected": true, + "data": { + "label": "WinDBg", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 176, + "height": 49, + "style": { "width": 176, "height": 49 }, + "positionAbsolute": { "x": -288.0831925975956, "y": 1826.1637109984486 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "BmWsoL9c_Aag5nVlMsKm2", + "type": "subtopic", + "position": { "x": -106.91368596678642, "y": 1825.2532448559004 }, + "selected": true, + "data": { + "label": "GDB", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 146, + "height": 49, + "style": { "width": 146, "height": 49 }, + "positionAbsolute": { "x": -106.91368596678642, "y": 1825.2532448559004 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "FTMHsUiE8isD_OVZr62Xc", + "type": "topic", + "position": { "x": -286.929978402122, "y": 2165.7752999047043 }, + "selected": true, + "data": { + "label": "Compilers", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "h29eJG1hWHa7vMhSqtfV2", + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 153, + "height": 49, + "style": { "width": 153, "height": 49 }, + "positionAbsolute": { "x": -286.929978402122, "y": 2165.7752999047043 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "DVckzBUMgk_lWThVkLyAT", + "type": "subtopic", + "position": { "x": -38.85702534893973, "y": 2138.927677033192 }, + "selected": true, + "data": { + "label": "Compiler Stages", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 235, + "height": 49, + "style": { "width": 235, "height": 49 }, + "positionAbsolute": { "x": -38.85702534893973, "y": 2138.927677033192 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "hSG6Aux39X0cXi6ADy2al", + "type": "subtopic", + "position": { "x": -38.85702534893973, "y": 2191.927677033192 }, + "selected": true, + "data": { + "label": "Compilers and Features", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 235, + "height": 49, + "style": { "width": 235, "height": 49 }, + "positionAbsolute": { "x": -38.85702534893973, "y": 2191.927677033192 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "hurj4ktZD6sDbMg7lz3Dn", + "type": "label", + "position": { "x": -15.825412667929704, "y": 2248.415195613617 }, + "selected": true, + "data": { + "label": "C/lang++ / LLVM", + "href": "", + "color": "#000000", + "style": { "fontSize": 17 } + }, + "zIndex": 999, + "width": 151, + "height": 36, + "style": {}, + "positionAbsolute": { "x": -15.825412667929704, "y": 2248.415195613617 }, + "dragging": false, + "focusable": true, + "selectable": true + }, + { + "id": "hVi9vzLaVfcXhhd7m8-ei", + "type": "label", + "position": { "x": -15.825412667929704, "y": 2285.415195613617 }, + "selected": true, + "data": { + "label": "Intel C++", + "href": "", + "color": "#000000", + "style": { "fontSize": 17 } + }, + "zIndex": 999, + "width": 89, + "height": 36, + "style": {}, + "dragging": false, + "positionAbsolute": { "x": -15.825412667929704, "y": 2285.415195613617 }, + "focusable": true, + "selectable": true + }, + { + "id": "7byy5GiTl4SPpVN39UFbC", + "type": "label", + "position": { "x": -15.825412667929704, "y": 2322.415195613617 }, + "selected": true, + "data": { + "label": "MSVS C++", + "href": "", + "color": "#000000", + "style": { "fontSize": 17 } + }, + "zIndex": 999, + "width": 101, + "height": 36, + "style": {}, + "dragging": false, + "positionAbsolute": { "x": -15.825412667929704, "y": 2322.415195613617 }, + "focusable": true, + "selectable": true + }, + { + "id": "2oTFuzQ6j0AmdAc9U_UwQ", + "type": "label", + "position": { "x": -15.825412667929704, "y": 2359.415195613617 }, + "selected": true, + "data": { + "label": "GCC", + "href": "", + "color": "#000000", + "style": { "fontSize": 17 } + }, + "zIndex": 999, + "width": 53, + "height": 36, + "style": {}, + "dragging": false, + "positionAbsolute": { "x": -15.825412667929704, "y": 2359.415195613617 }, + "focusable": true, + "selectable": true + }, + { + "id": "9DDS861RQhuFgpaR2_KeO", + "type": "label", + "position": { "x": -15.825412667929704, "y": 2396.415195613617 }, + "selected": true, + "data": { + "label": "MinGW", + "href": "", + "color": "#000000", + "style": { "fontSize": 17 } + }, + "zIndex": 999, + "width": 72, + "height": 36, + "style": {}, + "dragging": false, + "positionAbsolute": { "x": -15.825412667929704, "y": 2396.415195613617 }, + "focusable": true, + "selectable": true + }, + { + "id": "jVXFCo6puMxJ_ifn_uwim", + "type": "topic", + "position": { "x": -286.929978402122, "y": 2515.5128020469147 }, + "selected": true, + "data": { + "label": "Build Systems", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "h29eJG1hWHa7vMhSqtfV2", + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 153, + "height": 49, + "style": { "width": 153, "height": 49 }, + "positionAbsolute": { "x": -286.929978402122, "y": 2515.5128020469147 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "ysnXvSHGBMMozBJyXpHl5", + "type": "subtopic", + "position": { "x": -286.929978402122, "y": 2614.6661606275225 }, + "selected": true, + "data": { + "label": "CMAKE", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 153, + "height": 49, + "style": { "width": 153, "height": 49 }, + "positionAbsolute": { "x": -286.929978402122, "y": 2614.6661606275225 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "t6rZLH7l8JQm99ax_fEJ9", + "type": "subtopic", + "position": { "x": -286.929978402122, "y": 2667.6661606275225 }, + "selected": true, + "data": { + "label": "Makefile", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 153, + "height": 49, + "style": { "width": 153, "height": 49 }, + "positionAbsolute": { "x": -286.929978402122, "y": 2667.6661606275225 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "HkUCD5A_M9bJxJRElkK0x", + "type": "subtopic", + "position": { "x": -286.929978402122, "y": 2720.6661606275225 }, + "selected": true, + "data": { + "label": "Ninja", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 153, + "height": 49, + "style": { "width": 153, "height": 49 }, + "positionAbsolute": { "x": -286.929978402122, "y": 2720.6661606275225 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "h29eJG1hWHa7vMhSqtfV2", + "type": "topic", + "position": { "x": -30.235552880907136, "y": 2515.5128020469147 }, + "selected": true, + "data": { + "label": "Package Managers", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 210, + "height": 49, + "style": { "width": 210, "height": 49 }, + "positionAbsolute": { "x": -30.235552880907136, "y": 2515.5128020469147 }, + "dragging": false, + "resizing": false, + "focusable": true, + "selectable": true + }, + { + "id": "PKG5pACLfRS2ogfzBX47_", + "type": "subtopic", + "position": { "x": -25.855916380130566, "y": 2608.8378646515134 }, + "selected": true, + "data": { + "label": "vcpkg", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "g0s0F4mLV16eNvMBflN2e", + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 96, + "height": 49, + "style": { "width": 96, "height": 49 }, + "positionAbsolute": { "x": -25.855916380130566, "y": 2608.8378646515134 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "g0s0F4mLV16eNvMBflN2e", + "type": "subtopic", + "position": { "x": 76.76444711909286, "y": 2660.9355066535127 }, + "selected": true, + "data": { + "label": "NuGet", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 103, + "height": 49, + "style": { "width": 103, "height": 49 }, + "positionAbsolute": { "x": 76.76444711909286, "y": 2660.9355066535127 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "ky_UqizToTZHC_b77qFi2", + "type": "subtopic", + "position": { "x": -25.855916380130566, "y": 2661.8378646515134 }, + "selected": true, + "data": { + "label": "Conan", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "PKG5pACLfRS2ogfzBX47_", + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 96, + "height": 49, + "style": { "width": 96, "height": 49 }, + "positionAbsolute": { "x": -25.855916380130566, "y": 2661.8378646515134 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "3ehBc2sKVlPj7dn4RVZCH", + "type": "subtopic", + "position": { "x": 76.76444711909286, "y": 2607.9355066535127 }, + "selected": true, + "data": { + "label": "Spack", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "g0s0F4mLV16eNvMBflN2e", + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 103, + "height": 49, + "style": { "width": 103, "height": 49 }, + "positionAbsolute": { "x": 76.76444711909286, "y": 2607.9355066535127 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "4kkX5g_-plX9zVqr0ZoiR", + "type": "topic", + "position": { "x": 245.31805846187558, "y": 2515.5128020469147 }, + "selected": true, + "data": { + "label": "Working with Libraries", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 221, + "height": 49, + "style": { "width": 221, "height": 49 }, + "positionAbsolute": { "x": 245.31805846187558, "y": 2515.5128020469147 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "5mNqH_AEiLxUmgurNW1Fq", + "type": "subtopic", + "position": { "x": 245.31805846187558, "y": 2432.907835806348 }, + "selected": true, + "data": { + "label": "Library Inclusion", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 221, + "height": 49, + "style": { "width": 221, "height": 49 }, + "positionAbsolute": { "x": 245.31805846187558, "y": 2432.907835806348 }, + "dragging": false, + "resizing": false, + "selectable": true, + "focusable": true + }, + { + "id": "sLVs95EOeHZldoKY0L_dH", + "type": "subtopic", + "position": { "x": 245.31805846187558, "y": 2379.907835806348 }, + "selected": true, + "data": { + "label": "Licensing", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "FURC-X3vopFKhZ0F5BdYH", + "color": "#6d7500", + "label": "Beginner Topics / Start here", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 221, + "height": 49, + "style": { "width": 221, "height": 49 }, + "resizing": false, + "positionAbsolute": { "x": 245.31805846187558, "y": 2379.907835806348 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "1d7h5P1Q0RVHryKPVogQy", + "type": "subtopic", + "position": { "x": 543.5766878818748, "y": 2436.6661606275225 }, + "selected": true, + "data": { + "label": "Boost", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 102, + "height": 49, + "style": { "width": 102, "height": 49 }, + "dragging": false, + "positionAbsolute": { "x": 543.5766878818748, "y": 2436.6661606275225 }, + "selectable": true, + "focusable": true, + "resizing": false + }, + { + "id": "Eq3TKSFJ2F2mrTHAaU2J4", + "type": "subtopic", + "position": { "x": 649.5179751445827, "y": 2437.6661606275225 }, + "selected": true, + "data": { + "label": "OpenCV", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 110, + "height": 49, + "style": { "width": 110, "height": 49 }, + "positionAbsolute": { "x": 649.5179751445827, "y": 2437.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false + }, + { + "id": "nOkniNXfXwPPlOEJHJoGl", + "type": "subtopic", + "position": { "x": 543.5766878818748, "y": 2489.6661606275225 }, + "selected": true, + "data": { + "label": "POCO", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 102, + "height": 49, + "style": { "width": 102, "height": 49 }, + "positionAbsolute": { "x": 543.5766878818748, "y": 2489.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "jpMCIWQko7p3ndezYHL4D", + "type": "subtopic", + "position": { "x": 543.5766878818748, "y": 2542.6661606275225 }, + "selected": true, + "data": { + "label": "protobuf", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 102, + "height": 49, + "style": { "width": 102, "height": 49 }, + "positionAbsolute": { "x": 543.5766878818748, "y": 2542.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "621J9W4xCofumNZGo4TZT", + "type": "subtopic", + "position": { "x": 543.5766878818748, "y": 2595.6661606275225 }, + "selected": true, + "data": { + "label": "gRPC", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 102, + "height": 49, + "style": { "width": 102, "height": 49 }, + "positionAbsolute": { "x": 543.5766878818748, "y": 2595.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "j_eNHhs0J08Dt7HVbo4Q2", + "type": "subtopic", + "position": { "x": 649.5179751445827, "y": 2490.6661606275225 }, + "selected": true, + "data": { + "label": "Tensorflow", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 110, + "height": 49, + "style": { "width": 110, "height": 49 }, + "positionAbsolute": { "x": 649.5179751445827, "y": 2490.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "tEkvlJPAkD5fji-MMODL7", + "type": "subtopic", + "position": { "x": 649.5179751445827, "y": 2596.6661606275225 }, + "selected": true, + "data": { + "label": "pybind11", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 110, + "height": 49, + "style": { "width": 110, "height": 49 }, + "positionAbsolute": { "x": 649.5179751445827, "y": 2596.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "q64qFxoCrR38RPsN2lC8x", + "type": "subtopic", + "position": { "x": 649.5179751445827, "y": 2543.6661606275225 }, + "selected": true, + "data": { + "label": "spdlog", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 110, + "height": 49, + "style": { "width": 110, "height": 49 }, + "positionAbsolute": { "x": 649.5179751445827, "y": 2543.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "GGZJaYpRENaqloJzt0VtY", + "type": "subtopic", + "position": { "x": 649.5179751445827, "y": 2649.6661606275225 }, + "selected": true, + "data": { + "label": "opencl", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 110, + "height": 49, + "style": { "width": 110, "height": 49 }, + "positionAbsolute": { "x": 649.5179751445827, "y": 2649.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false + }, + { + "id": "1CqQgmHDeo1HlPdpUJS7H", + "type": "subtopic", + "position": { "x": 543.5766878818748, "y": 2648.6661606275225 }, + "selected": true, + "data": { + "label": "fmt", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 102, + "height": 49, + "style": { "width": 102, "height": 49 }, + "positionAbsolute": { "x": 543.5766878818748, "y": 2648.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false + }, + { + "id": "et-dXKPYuyVW6eV2K3CM8", + "type": "subtopic", + "position": { "x": 543.5766878818748, "y": 2703.6661606275225 }, + "selected": true, + "data": { + "label": "ranges_v3", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 215, + "height": 49, + "style": { "width": 215, "height": 49 }, + "positionAbsolute": { "x": 543.5766878818748, "y": 2703.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "YkaqIkt2bGBsrRwOFQpV4", + "type": "label", + "position": { "x": 609.5766878818748, "y": 2392.9355066535127 }, + "selected": true, + "data": { + "label": "Libraries", + "href": "", + "color": "#000000", + "style": { "fontSize": 17 } + }, + "zIndex": 999, + "width": 83, + "height": 36, + "style": {}, + "positionAbsolute": { "x": 609.5766878818748, "y": 2392.9355066535127 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "MrAM-viRaF8DSxB6sVdD9", + "type": "subtopic", + "position": { "x": 273.5766878818748, "y": 2700.6661606275225 }, + "selected": true, + "data": { + "label": "gtest / gmock", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "88pr5aN7cctZfDVVo-2ns", + "legend": { + "id": "sRAiZODQQ8xrMiVpCdnI7", + "label": "Intermediate Topics / Pick Next", + "color": "#2b78e4", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 169, + "height": 49, + "style": { "width": 169, "height": 49 }, + "positionAbsolute": { "x": 273.5766878818748, "y": 2700.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "gAZ9Dqgj1_UkaLzVgzx1t", + "type": "subtopic", + "position": { "x": 273.5766878818748, "y": 2753.6661606275225 }, + "selected": true, + "data": { + "label": "Qt", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 63, + "height": 49, + "style": {}, + "positionAbsolute": { "x": 273.5766878818748, "y": 2753.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false + }, + { + "id": "s13jQuaC6gw0Lab3Cbyy6", + "type": "subtopic", + "position": { "x": 342.86058049826306, "y": 2753.6661606275225 }, + "selected": true, + "data": { + "label": "Catch2", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "right-center" + } + }, + "zIndex": 999, + "width": 100, + "height": 49, + "style": {}, + "positionAbsolute": { "x": 342.86058049826306, "y": 2753.6661606275225 }, + "selectable": true, + "focusable": true, + "resizing": false, + "dragging": false + }, + { + "id": "O0lVEMTAV1pq9sYCKQvh_", + "type": "subtopic", + "position": { "x": 273.5766878818748, "y": 2806.6661606275225 }, + "selected": true, + "data": { + "label": "Orbit Profiler", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "oldId": "88pr5aN7cctZfDVVo-2ns", + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 169, + "height": 49, + "style": { "width": 169, "height": 49 }, + "positionAbsolute": { "x": 273.5766878818748, "y": 2806.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "88pr5aN7cctZfDVVo-2ns", + "type": "subtopic", + "position": { "x": 273.5766878818748, "y": 2859.6661606275225 }, + "selected": true, + "data": { + "label": "PyTorch C++", + "style": { + "fontSize": 17, + "justifyContent": "flex-start", + "textAlign": "center" + }, + "legend": { + "id": "WbquXSrbKyKZuwVeLZfnw", + "label": "Optional / Learn if you want", + "color": "#999999", + "position": "left-center" + } + }, + "zIndex": 999, + "width": 169, + "height": 49, + "style": { "width": 169, "height": 49 }, + "positionAbsolute": { "x": 273.5766878818748, "y": 2859.6661606275225 }, + "selectable": true, + "focusable": true, + "dragging": false, + "resizing": false + }, + { + "id": "1Bm9i2IdUeDkWg4ZGEylB", + "type": "label", + "position": { "x": 300.5179751445827, "y": 2919.244194339027 }, + "selected": true, + "data": { + "label": "Frameworks", + "href": "", + "color": "#000000", + "style": { "fontSize": 17 } + }, + "zIndex": 999, + "width": 110, + "height": 36, + "style": {}, + "positionAbsolute": { "x": 300.5179751445827, "y": 2919.244194339027 }, + "dragging": false, + "selectable": true, + "focusable": true + }, + { + "id": "Wm2VPi1Tn_Y7dqPowny69", + "type": "linksgroup", + "position": { "x": -285.20291471146976, "y": 20.444194339027717 }, + "selected": true, + "data": { + "label": "References", + "links": [ + { + "id": "29I4Uf1Z74ihhM4cpfaP7", + "label": "Salmer's C++ Roadmap", + "href": "", + "url": "https://salmer.github.io/CppDeveloperRoadmap/" + } + ] + }, + "zIndex": 999, + "width": 351, + "height": 96, + "positionAbsolute": { "x": -285.20291471146976, "y": 20.444194339027717 }, + "dragging": false, + "selectable": true, + "focusable": true, + "style": { "width": 351, "height": 96 } + } + ], + "edges": [ + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "iogwMmOvub2ZF4zgg6WyF", + "sourceHandle": "x2", + "target": "_hYN0gEi9BL24nptEtXWU", + "targetHandle": "w1", + "data": { "edgeStyle": "solid" }, + "id": "XX0I26JoVMVXIe_7bVMix", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "_hYN0gEi9BL24nptEtXWU", + "sourceHandle": "z2", + "target": "idLHBxhvcIqZTqmh_E8Az", + "targetHandle": "y1", + "data": { "edgeStyle": "dashed" }, + "id": "dFn6kGOoJ-0BzJJEb9DSG", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "_hYN0gEi9BL24nptEtXWU", + "sourceHandle": "z2", + "target": "os3Pa6W9SSNEzgmlBbglQ", + "targetHandle": "y2", + "data": { "edgeStyle": "dashed" }, + "id": "arkF7QJJRbCBYWp0crqa2", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "_hYN0gEi9BL24nptEtXWU", + "sourceHandle": "z2", + "target": "3oInpqvTSSC5_K6i7j8N7", + "targetHandle": "y1", + "data": { "edgeStyle": "dashed" }, + "id": "HNVw8OboycWKLEtEbG2bn", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "_hYN0gEi9BL24nptEtXWU", + "sourceHandle": "z2", + "target": "YKhuRbcUFzo0hTvuTq-Yl", + "targetHandle": "y1", + "data": { "edgeStyle": "dashed" }, + "id": "auB7Png72XjmhcLr3IJA7", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "jZ67HhVRelJaxjsCckSSI", + "sourceHandle": "x2", + "target": "hWA7RtuqltMTmHdcCnmES", + "targetHandle": "y1", + "data": { "edgeStyle": "solid" }, + "id": "2aoDIr80lXSJLW1hIGUkb", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "sourceHandle": "z2", + "target": "NMznG9mo2wzNFnjhg990f", + "targetHandle": "y1", + "data": { "edgeStyle": "dashed" }, + "id": "m-_y7nLeYFkUKGiacxWA0", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "sourceHandle": "z2", + "target": "gc_7cuIO2_joKlQRAPDfX", + "targetHandle": "y1", + "data": { "edgeStyle": "dashed" }, + "id": "G7pXuJfkyt2nWAOHU8yV0", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "rrrvATyhXqRgJGWI3z0WF", + "sourceHandle": "x2", + "target": "AvbMQ5vY3ip1oX_6Yq4ie", + "targetHandle": "w2", + "data": { "edgeStyle": "dashed" }, + "id": "2_6Yz3-Agx9_rEN5xW86c", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "hWA7RtuqltMTmHdcCnmES", + "sourceHandle": "w2", + "target": "1AJv95mTLpR7L8KBoGym8", + "targetHandle": "x1", + "data": { "edgeStyle": "dashed" }, + "id": "kgMI98fg2-mKMgUs0wnjD", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "hWA7RtuqltMTmHdcCnmES", + "sourceHandle": "y2", + "target": "0etAs56EeBfh_0IlAaSra", + "targetHandle": "w1", + "data": { "edgeStyle": "solid" }, + "selected": true, + "id": "ts38Q2ceHs60TJscUBZVE", + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "jZ67HhVRelJaxjsCckSSI", + "sourceHandle": "y2", + "target": "h6ceO0kiBIxNRkPzN3hBY", + "targetHandle": "z1", + "data": { "edgeStyle": "dashed" }, + "id": "ZiMV7umyPdhy3JJDcopR-", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "jZ67HhVRelJaxjsCckSSI", + "sourceHandle": "y2", + "target": "_JlT9oKQ6Yu4UX6l19G8P", + "targetHandle": "z2", + "data": { "edgeStyle": "dashed" }, + "id": "WI-MhbxrehFcVwyGJ5CQJ", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "_hYN0gEi9BL24nptEtXWU", + "sourceHandle": "x2", + "target": "jZ67HhVRelJaxjsCckSSI", + "targetHandle": "w1", + "data": { "edgeStyle": "solid" }, + "id": "qUrLBzvXvJOg53HBfjrOI", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "Ji35JsKgUQXN4DJGEgTAC", + "sourceHandle": "x2", + "target": "t3Op8UcgDKVeMLNMDePrW", + "targetHandle": "w1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-Ji35JsKgUQXN4DJGEgTACx2-t3Op8UcgDKVeMLNMDePrWw1", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "Ji35JsKgUQXN4DJGEgTAC", + "sourceHandle": "x2", + "target": "c2YZ7PPCX1jF_RU7C0AqN", + "targetHandle": "w2", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-Ji35JsKgUQXN4DJGEgTACx2-c2YZ7PPCX1jF_RU7C0AqNw2", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "KMA7NkxFbPoUDtFnGBFnj", + "sourceHandle": "x2", + "target": "0vLaVNJaJSHZ_bHli6Qzs", + "targetHandle": "w1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-KMA7NkxFbPoUDtFnGBFnjx2-0vLaVNJaJSHZ_bHli6Qzsw1", + "selected": true, + "type": "simplebezier", + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "DYkdM_L7T2GcTPAoZNnUR", + "sourceHandle": "x2", + "target": "0vLaVNJaJSHZ_bHli6Qzs", + "targetHandle": "z1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-DYkdM_L7T2GcTPAoZNnURx2-0vLaVNJaJSHZ_bHli6Qzsz1", + "selected": true, + "type": "smoothstep", + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "Z-zHIbLBy7cqcDu_QEJIn", + "sourceHandle": "y2", + "target": "WSrbHa0mKIQs33vEJHp15", + "targetHandle": "x2", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-Z-zHIbLBy7cqcDu_QEJIny2-WSrbHa0mKIQs33vEJHp15x2", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "NvODRFR0DLINB0RlPSsvt", + "sourceHandle": "z2", + "target": "x_28LiDVshqWns_aIBsdx", + "targetHandle": "y1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-NvODRFR0DLINB0RlPSsvtz2-x_28LiDVshqWns_aIBsdxy1", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "NvODRFR0DLINB0RlPSsvt", + "sourceHandle": "z2", + "target": "tl6VCQ5IEGDVyFcgj7jDm", + "targetHandle": "y1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-NvODRFR0DLINB0RlPSsvtz2-tl6VCQ5IEGDVyFcgj7jDmy1", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "NvODRFR0DLINB0RlPSsvt", + "sourceHandle": "z2", + "target": "2Ag0t3LPryTF8khHLRfy-", + "targetHandle": "y2", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-NvODRFR0DLINB0RlPSsvtz2-2Ag0t3LPryTF8khHLRfy-y2", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "NvODRFR0DLINB0RlPSsvt", + "sourceHandle": "y2", + "target": "Zc_TTzmM36yWsu3GvOy9x", + "targetHandle": "w2", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-NvODRFR0DLINB0RlPSsvty2-Zc_TTzmM36yWsu3GvOy9xw2", + "selected": true, + "type": "smoothstep", + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "Zc_TTzmM36yWsu3GvOy9x", + "sourceHandle": "x2", + "target": "0J_ltQEJh2g28OE2ZEYJj", + "targetHandle": "w2", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-Zc_TTzmM36yWsu3GvOy9xx2-0J_ltQEJh2g28OE2ZEYJjw2", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "Zc_TTzmM36yWsu3GvOy9x", + "sourceHandle": "z2", + "target": "kl2JI_Wl47c5r8SYzxvCq", + "targetHandle": "y1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-Zc_TTzmM36yWsu3GvOy9xz2-MwznA4qfpNlv6sqSNjPZiy1", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "kl2JI_Wl47c5r8SYzxvCq", + "sourceHandle": "x2", + "target": "8aOSpZLWwZv_BEYiurhyR", + "targetHandle": "w2", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-MwznA4qfpNlv6sqSNjPZix2-8aOSpZLWwZv_BEYiurhyRw2", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "kl2JI_Wl47c5r8SYzxvCq", + "sourceHandle": "z2", + "target": "s5Gs4yF9TPh-psYmtPzks", + "targetHandle": "y1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-kl2JI_Wl47c5r8SYzxvCqz2-MwznA4qfpNlv6sqSNjPZiy1", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "s5Gs4yF9TPh-psYmtPzks", + "sourceHandle": "w2", + "target": "_IP_e1K9LhNHilYTDh7L5", + "targetHandle": "x1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-MwznA4qfpNlv6sqSNjPZiw2-_IP_e1K9LhNHilYTDh7L5x1", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "s5Gs4yF9TPh-psYmtPzks", + "sourceHandle": "x2", + "target": "oYi3YOc1GC2Nfp71VOkJt", + "targetHandle": "w1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-s5Gs4yF9TPh-psYmtPzksx2-MwznA4qfpNlv6sqSNjPZiw1", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "oYi3YOc1GC2Nfp71VOkJt", + "sourceHandle": "x2", + "target": "llCBeut_uc9IAe2oi4KZ9", + "targetHandle": "w2", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-MwznA4qfpNlv6sqSNjPZix2-llCBeut_uc9IAe2oi4KZ9w2", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "oYi3YOc1GC2Nfp71VOkJt", + "sourceHandle": "y2", + "target": "MwznA4qfpNlv6sqSNjPZi", + "targetHandle": "z1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-oYi3YOc1GC2Nfp71VOkJty2-MwznA4qfpNlv6sqSNjPZiz1", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "i0EAFEUB-F0wBJWOtrl1A", + "sourceHandle": "x2", + "target": "r0yD1gfn03wTpEBi6zNsu", + "targetHandle": "w2", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-i0EAFEUB-F0wBJWOtrl1Ax2-r0yD1gfn03wTpEBi6zNsuw2", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "MwznA4qfpNlv6sqSNjPZi", + "sourceHandle": "y2", + "target": "DWw8NxkLpIpiOSUaZZ1oA", + "targetHandle": "z1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-MwznA4qfpNlv6sqSNjPZiy2-DWw8NxkLpIpiOSUaZZ1oAz1", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "MwznA4qfpNlv6sqSNjPZi", + "sourceHandle": "x2", + "target": "f1djN0GxoeVPr_0cl6vMq", + "targetHandle": "w1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-MwznA4qfpNlv6sqSNjPZix2-f1djN0GxoeVPr_0cl6vMqw1", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "DWw8NxkLpIpiOSUaZZ1oA", + "sourceHandle": "x2", + "target": "uUzRKa9wGzdUwwmAg3FWr", + "targetHandle": "w1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-DWw8NxkLpIpiOSUaZZ1oAx2-uUzRKa9wGzdUwwmAg3FWrw1", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "Zw2AOTK5uc9BoKEpY7W1C", + "sourceHandle": "w2", + "target": "dKCYmxDNZubCVcR5rf8b-", + "targetHandle": "x1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-Zw2AOTK5uc9BoKEpY7W1Cw2-dKCYmxDNZubCVcR5rf8b-x1", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "Zw2AOTK5uc9BoKEpY7W1C", + "sourceHandle": "z2", + "target": "CMlWNQwpywNhO9B6Yj6Me", + "targetHandle": "y2", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-Zw2AOTK5uc9BoKEpY7W1Cz2-CMlWNQwpywNhO9B6Yj6Mey2", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "CMlWNQwpywNhO9B6Yj6Me", + "sourceHandle": "y2", + "target": "B2SGBENzUMl0SAjG4j91V", + "targetHandle": "w2", + "data": { "edgeStyle": "solid" }, + "selected": true, + "id": "reactflow__edge-CMlWNQwpywNhO9B6Yj6Mey2--6fwJQOfsorgHkoQGp4T3w2", + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "B2SGBENzUMl0SAjG4j91V", + "sourceHandle": "x2", + "target": "oWygnpwHq2poXQMTTSCpl", + "targetHandle": "w1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge--6fwJQOfsorgHkoQGp4T3x2-oWygnpwHq2poXQMTTSCplw1", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "B2SGBENzUMl0SAjG4j91V", + "sourceHandle": "y2", + "target": "-6fwJQOfsorgHkoQGp4T3", + "targetHandle": "z1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-B2SGBENzUMl0SAjG4j91Vy2--6fwJQOfsorgHkoQGp4T3z1", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "-6fwJQOfsorgHkoQGp4T3", + "sourceHandle": "x2", + "target": "CG01PTVgHtjfKvsJkJLGl", + "targetHandle": "w1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge--6fwJQOfsorgHkoQGp4T3x2-CG01PTVgHtjfKvsJkJLGlw1", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "DHdNBP7_ixjr6h-dIQ7g6", + "sourceHandle": "z2", + "target": "-6AOrbuOE7DJCmxlcgCay", + "targetHandle": "y2", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-DHdNBP7_ixjr6h-dIQ7g6z2--6AOrbuOE7DJCmxlcgCayy2", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "-6AOrbuOE7DJCmxlcgCay", + "sourceHandle": "x2", + "target": "fb3bnfKXjSIjPAk4b95lg", + "targetHandle": "w2", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge--6AOrbuOE7DJCmxlcgCayx2-qmHs6_BzND_xpMmls5YUHw2", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "fb3bnfKXjSIjPAk4b95lg", + "sourceHandle": "x2", + "target": "xjUaIp8gGxkN-cp8emJ2M", + "targetHandle": "w1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-qmHs6_BzND_xpMmls5YUHx2-xjUaIp8gGxkN-cp8emJ2Mw1", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "fb3bnfKXjSIjPAk4b95lg", + "sourceHandle": "y2", + "target": "vvE1aUsWbF1OFcmMUHbJa", + "targetHandle": "z1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-fb3bnfKXjSIjPAk4b95lgy2-qmHs6_BzND_xpMmls5YUHz1", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "vvE1aUsWbF1OFcmMUHbJa", + "sourceHandle": "y2", + "target": "Kb2Pbz0Sq7YlO1vCwYxnX", + "targetHandle": "z2", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-vvE1aUsWbF1OFcmMUHbJay2-Kb2Pbz0Sq7YlO1vCwYxnXz2", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "Kb2Pbz0Sq7YlO1vCwYxnX", + "sourceHandle": "y2", + "target": "qmHs6_BzND_xpMmls5YUH", + "targetHandle": "z2", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-Kb2Pbz0Sq7YlO1vCwYxnXy2-qmHs6_BzND_xpMmls5YUHz2", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "vvE1aUsWbF1OFcmMUHbJa", + "sourceHandle": "w2", + "target": "T6rCTv9Dxkm-tEA-l9XEv", + "targetHandle": "x1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-vvE1aUsWbF1OFcmMUHbJaw2-T6rCTv9Dxkm-tEA-l9XEvx1", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "vvE1aUsWbF1OFcmMUHbJa", + "sourceHandle": "x2", + "target": "R2-qWGUxsTOeSHRuUzhd2", + "targetHandle": "w1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-vvE1aUsWbF1OFcmMUHbJax2-R2-qWGUxsTOeSHRuUzhd2w1", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "qmHs6_BzND_xpMmls5YUH", + "sourceHandle": "x2", + "target": "FTMHsUiE8isD_OVZr62Xc", + "targetHandle": "w1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-qmHs6_BzND_xpMmls5YUHx2-h29eJG1hWHa7vMhSqtfV2w1", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "FTMHsUiE8isD_OVZr62Xc", + "sourceHandle": "z2", + "target": "DVckzBUMgk_lWThVkLyAT", + "targetHandle": "y1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-h29eJG1hWHa7vMhSqtfV2z2-DVckzBUMgk_lWThVkLyATy1", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "FTMHsUiE8isD_OVZr62Xc", + "sourceHandle": "z2", + "target": "hSG6Aux39X0cXi6ADy2al", + "targetHandle": "y1", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-h29eJG1hWHa7vMhSqtfV2z2-hSG6Aux39X0cXi6ADy2aly1", + "selected": true, + "focusable": true, + "selectable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "FTMHsUiE8isD_OVZr62Xc", + "sourceHandle": "x2", + "target": "jVXFCo6puMxJ_ifn_uwim", + "targetHandle": "w1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-FTMHsUiE8isD_OVZr62Xcx2-h29eJG1hWHa7vMhSqtfV2w1", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "jVXFCo6puMxJ_ifn_uwim", + "sourceHandle": "x2", + "target": "ysnXvSHGBMMozBJyXpHl5", + "targetHandle": "w2", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-h29eJG1hWHa7vMhSqtfV2x2-ysnXvSHGBMMozBJyXpHl5w2", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "jVXFCo6puMxJ_ifn_uwim", + "sourceHandle": "z2", + "target": "h29eJG1hWHa7vMhSqtfV2", + "targetHandle": "y1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-jVXFCo6puMxJ_ifn_uwimz2-h29eJG1hWHa7vMhSqtfV2y1", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "h29eJG1hWHa7vMhSqtfV2", + "sourceHandle": "z2", + "target": "4kkX5g_-plX9zVqr0ZoiR", + "targetHandle": "y2", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-h29eJG1hWHa7vMhSqtfV2z2-4kkX5g_-plX9zVqr0ZoiRy2", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0.8 8", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "4kkX5g_-plX9zVqr0ZoiR", + "sourceHandle": "w2", + "target": "5mNqH_AEiLxUmgurNW1Fq", + "targetHandle": "x2", + "data": { "edgeStyle": "dashed" }, + "id": "reactflow__edge-4kkX5g_-plX9zVqr0ZoiRw2-5mNqH_AEiLxUmgurNW1Fqx2", + "selected": true, + "selectable": true, + "focusable": true + }, + { + "style": { + "strokeDasharray": "0", + "strokeLinecap": "round", + "strokeWidth": 3.5, + "stroke": "#2b78e4" + }, + "source": "4kkX5g_-plX9zVqr0ZoiR", + "sourceHandle": "x2", + "target": "I1aDakZmYpe7pKczou0qC", + "targetHandle": "w1", + "data": { "edgeStyle": "solid" }, + "id": "reactflow__edge-4kkX5g_-plX9zVqr0ZoiRx2-I1aDakZmYpe7pKczou0qCw1", + "selected": true, + "selectable": true, + "focusable": true + } + ] +} diff --git a/src/data/roadmaps/cpp/cpp.md b/src/data/roadmaps/cpp/cpp.md index 4620776fd..69b3f06a9 100644 --- a/src/data/roadmaps/cpp/cpp.md +++ b/src/data/roadmaps/cpp/cpp.md @@ -7,10 +7,11 @@ briefDescription: 'Step by step guide to becoming a C++ Developer in 2025' title: 'C++ Developer Roadmap' description: 'Step by step guide to becoming a C++ developer in 2025' isNew: false +renderer: editor hasTopics: true dimensions: width: 1000 - height: 2639.34 + height: 2975 schema: headline: 'C++ Developer Roadmap' description: 'Learn how to become a C++ Developer with this interactive step by step guide in 2025. We also have resources and short descriptions attached to the roadmap items so you can get everything you want to learn in one place.' diff --git a/src/data/roadmaps/cpp/migration-mapping.json b/src/data/roadmaps/cpp/migration-mapping.json new file mode 100644 index 000000000..72584f07b --- /dev/null +++ b/src/data/roadmaps/cpp/migration-mapping.json @@ -0,0 +1,125 @@ +{ + "introduction": "NvODRFR0DLINB0RlPSsvt", + "introduction:what-is-cpp": "x_28LiDVshqWns_aIBsdx", + "introduction:why-cpp": "tl6VCQ5IEGDVyFcgj7jDm", + "introduction:c-vs-cpp": "2Ag0t3LPryTF8khHLRfy-", + "setting-up": "Zc_TTzmM36yWsu3GvOy9x", + "setting-up:installing": "0J_ltQEJh2g28OE2ZEYJj", + "setting-up:code-editors": "ew0AfyadpXPRO0ZY3Z19k", + "setting-up:first-program": "SEq0D2Zg5WTsIDtd1hW9f", + "basic-operations": "kl2JI_Wl47c5r8SYzxvCq", + "basic-operations:arithmetic-operators": "8aOSpZLWwZv_BEYiurhyR", + "basic-operations:logical-operators": "Y9gq8WkDA_XGe68JkY2UZ", + "basic-operations:bitwise": "zE4iPSq2KsrDSByQ0sGK_", + "functions": "oYi3YOc1GC2Nfp71VOkJt", + "functions:lambda": "xjiFBVe-VGqCqWfkPVGKf", + "functions:operators": "llCBeut_uc9IAe2oi4KZ9", + "data-types": "MwznA4qfpNlv6sqSNjPZi", + "data-types:static-typing": "f1djN0GxoeVPr_0cl6vMq", + "data-types:dynamic-typing": "i0EAFEUB-F0wBJWOtrl1A", + "data-types:dynamic-typing:rtti": "r0yD1gfn03wTpEBi6zNsu", + "basic-operations:loops": "_IP_e1K9LhNHilYTDh7L5", + "pointers-and-references": "DWw8NxkLpIpiOSUaZZ1oA", + "pointers-and-references:references": "uUzRKa9wGzdUwwmAg3FWr", + "pointers-and-references:smart-pointers:weak-ptr": "vUwSS-uX36OWZouO0wOcy", + "pointers-and-references:smart-pointers:shared-ptr": "b5jZIZD_U_CPg-_bdndjz", + "pointers-and-references:smart-pointers:uniqe-ptr": "k9c5seRkhgm_yHPpiz2X0", + "pointers-and-references:raw-pointers:memory-leakage": "6w0WExQ4lGIGgok6Thq0s", + "pointers-and-references:raw-pointers:new-delete-operators": "Gld0nRs0sM8kRe8XmYolu", + "pointers-and-references:memory-model": "mSFwsTYvmg-GwG4_DEIEf", + "pointers-and-references:memory-model:object-lifetime": "9aA_-IfQ9WmbPgwic0mFN", + "structuring-codebase": "Zw2AOTK5uc9BoKEpY7W1C", + "structuring-codebase:code-splitting": "CK7yf8Bo7kfbV6x2tZTrh", + "structuring-codebase:code-splitting:forward-declaration": "ZHjU60uzJTezADRhDTESG", + "structuring-codebase:scope": "dKCYmxDNZubCVcR5rf8b-", + "structuring-codebase:scope:namespaces": "iIdC7V8sojwyEqK1xMuHn", + "structures-and-classes": "CMlWNQwpywNhO9B6Yj6Me", + "structures-and-classes:rule-of-zero-five-three": "7sdEzZCIoarzznwO4XcCv", + "structures-and-classes:oop": "b3-QYKNcW3LYCNOza3Olf", + "structures-and-classes:oop:static-polymorphism:overloading-functions": "sgfqb22sdN4VRJYkhAVaf", + "structures-and-classes:oop:static-polymorphism": "obZIxRp0eMWdG7gplNIBc", + "structures-and-classes:oop:dynamic-polymorphism:virtual-methods": "hNBErGNiegLsUJn_vgcOR", + "structures-and-classes:oop:dynamic-polymorphism:virtual-tables": "s99ImazcwCgAESxZd8ksa", + "structures-and-classes:oop:dynamic-polymorphism": "7h1VivjCPDwriL7FirtFv", + "structures-and-classes:multiple-inheritance": "WjHpueZDK-d3oDNMVZi9w", + "structures-and-classes:multiple-inheritance:diamond-inheritance": "ofwdZm05AUqCIWmfgGHk8", + "exception-handling": "B2SGBENzUMl0SAjG4j91V", + "exception-handling:exit-codes": "oWygnpwHq2poXQMTTSCpl", + "exception-handling:exceptions": "NJud5SXBAUZ6Sr78kZ7jx", + "exception-handling:exceptions:access-violations": "y4-P4UNC--rE1vni8HdTn", + "language-concepts": "-6fwJQOfsorgHkoQGp4T3", + "language-concepts:auto": "CG01PTVgHtjfKvsJkJLGl", + "language-concepts:type-casting": "PiMhw1oP9-NZEa6I9u4lX", + "language-concepts:type-casting:static-cast": "_XB2Imyf23-6AOeoNLhYQ", + "language-concepts:type-casting:const-cast": "5g22glc97siQOcTkHbwan", + "language-concepts:type-casting:dynamic-cast": "4BdFcuQ5KNW94cu2jz-vE", + "language-concepts:type-casting:reinterpret-cast": "ZMyFDJrpCauGrY5NZkOwg", + "language-concepts:undefined-behavior": "IDOlquv6jlfecwQoBwkGZ", + "language-concepts:adl": "YSWN7nS8vA9nMldSUrZRT", + "language-concepts:name-mangling": "Lt7ss59KZw9Jwqj234jm2", + "language-concepts:macros": "zKdlfZTRHwjtmRUGW9z9-", + "stl": "DHdNBP7_ixjr6h-dIQ7g6", + "stl:iterators": "Ebu8gzbyyXEeJryeE0SpG", + "stl:iostream": "VeVxZ230xkesQsIDig8zQ", + "stl:algorithms": "whyj6Z4RXFsVQYRfYYn7B", + "stl:date-time": "yGvE6eHKlPMBB6rde0llR", + "stl:multithreading": "OXQUPqxzs1-giAACwl3X1", + "stl:ccontainers": "1pydf-SR0QUfVNuBEyvzc", + "templates": "-6AOrbuOE7DJCmxlcgCay", + "templates:variadic-templates": "w4EIf58KP-Pq-yc0HlGxc", + "templates:template-specialization": "sObOuccY0PDeGG-9GrFDF", + "templates:template-specialization:full": "6hTcmJwNnQstbWWzNCfTe", + "templates:template-specialization:partial": "1NYJtbdcdOB4-vIrnq4yX", + "templates:type-traits": "WptReUOwVth3C9-AVmMHF", + "templates:finae": "3C5UfejDX-1Z8ZF6C53xD", + "idioms": "fb3bnfKXjSIjPAk4b95lg", + "idioms:raii": "OmHDlLxCnH8RDdu5vx9fl", + "idioms:pimpl": "MEoWt8NKjPLVTeGgYf3cR", + "idioms:crtp": "ttt-yeIi4BPWrgvW324W7", + "idioms:non-copyable": "xjUaIp8gGxkN-cp8emJ2M", + "idioms:erase-remove": "YvmjrZSAOmjhVPo05MJqN", + "idioms:copy-swap": "lxAzI42jQdaofzQ5MXebG", + "idioms:copy-write": "O2Du5gHHxFxAI2u5uO8wu", + "standards": "vvE1aUsWbF1OFcmMUHbJa", + "standards:cpp11-14": "T6rCTv9Dxkm-tEA-l9XEv", + "standards:cpp17": "R2-qWGUxsTOeSHRuUzhd2", + "standards:cpp20": "o3no4a5_iMFzEAGs56-BJ", + "standards:newest": "sxbbKtg7kMNbkx7fXhjR9", + "standards:cpp0x": "PPg0V5EzGBeJsysg1215V", + "debuggers": "qmHs6_BzND_xpMmls5YUH", + "debuggers:debugger-messages": "VtPb8-AJKzhTB0QbMtoU4", + "debuggers:debugger-symbols": "sR_FxGZHoMCV9Iv7z2_SX", + "debuggers:win-dbg": "y8VCbGDUco9bzGRfIBD8R", + "debuggers:gdb": "BmWsoL9c_Aag5nVlMsKm2", + "compilers": "FTMHsUiE8isD_OVZr62Xc", + "compilers:stages": "DVckzBUMgk_lWThVkLyAT", + "compilers:features": "hSG6Aux39X0cXi6ADy2al", + "build-systems": "jVXFCo6puMxJ_ifn_uwim", + "build-systems:cmake": "ysnXvSHGBMMozBJyXpHl5", + "build-systems:makefile": "t6rZLH7l8JQm99ax_fEJ9", + "build-systems:ninja": "HkUCD5A_M9bJxJRElkK0x", + "package-managers": "h29eJG1hWHa7vMhSqtfV2", + "package-managers:vcpkg": "PKG5pACLfRS2ogfzBX47_", + "package-managers:spack": "3ehBc2sKVlPj7dn4RVZCH", + "package-managers:conan": "ky_UqizToTZHC_b77qFi2", + "package-managers:nuget": "g0s0F4mLV16eNvMBflN2e", + "working-with-libs": "4kkX5g_-plX9zVqr0ZoiR", + "working-with-libs:inclusion": "5mNqH_AEiLxUmgurNW1Fq", + "working-with-libs:licensing": "sLVs95EOeHZldoKY0L_dH", + "libraries:boost": "1d7h5P1Q0RVHryKPVogQy", + "libraries:open-cv": "Eq3TKSFJ2F2mrTHAaU2J4", + "libraries:poco": "nOkniNXfXwPPlOEJHJoGl", + "libraries:protobuf": "jpMCIWQko7p3ndezYHL4D", + "libraries:grpc": "621J9W4xCofumNZGo4TZT", + "libraries:tensorflow": "j_eNHhs0J08Dt7HVbo4Q2", + "libraries:pybind11": "tEkvlJPAkD5fji-MMODL7", + "libraries:spdlog": "q64qFxoCrR38RPsN2lC8x", + "libraries:fmt": "1CqQgmHDeo1HlPdpUJS7H", + "libraries:opencl": "GGZJaYpRENaqloJzt0VtY", + "libraries:ranges-v3": "et-dXKPYuyVW6eV2K3CM8", + "frameworks:gtest": "MrAM-viRaF8DSxB6sVdD9", + "frameworks:qt": "gAZ9Dqgj1_UkaLzVgzx1t", + "frameworks:catch2": "s13jQuaC6gw0Lab3Cbyy6", + "frameworks:orbit-profiler": "O0lVEMTAV1pq9sYCKQvh_", + "frameworks:pytorch-cpp": "88pr5aN7cctZfDVVo-2ns" +} \ No newline at end of file diff --git a/src/lib/resource-progress.ts b/src/lib/resource-progress.ts index 6c7066033..ed0f081e6 100644 --- a/src/lib/resource-progress.ts +++ b/src/lib/resource-progress.ts @@ -1,9 +1,9 @@ import Cookies from 'js-cookie'; import { httpGet, httpPost } from './http'; import { TOKEN_COOKIE_NAME, getUser } from './jwt'; +import { roadmapProgress, totalRoadmapNodes } from '../stores/roadmap.ts'; // @ts-ignore import Element = astroHTML.JSX.Element; -import { roadmapProgress, totalRoadmapNodes } from '../stores/roadmap.ts'; export type ResourceType = 'roadmap' | 'best-practice'; export type ResourceProgressType = @@ -114,7 +114,8 @@ export function clearMigratedRoadmapProgress( 'sql', 'system-design', 'aspnet-core', - 'java' + 'java', + 'cpp', ]; if (!migratedRoadmaps.includes(resourceId)) {