 A Primer on InitializationStandard conversion is performed Same Class or Prvalue ⇒ Initialize without creating unnecessary temps. Same or Derived Class ⇒ The most appropriate constructor, excluding explicits. Different Class0 码力 | 14 页 | 118.35 KB | 6 月前3 A Primer on InitializationStandard conversion is performed Same Class or Prvalue ⇒ Initialize without creating unnecessary temps. Same or Derived Class ⇒ The most appropriate constructor, excluding explicits. Different Class0 码力 | 14 页 | 118.35 KB | 6 月前3
 EXPLORATION OF C++20 METAPROCRAMMING• Temporaries are created and returned from an operation. • We can reduce the instantiation of temps, by avoiding their creation. • As a result, we can improve the compile time of our program, by avoiding0 码力 | 50 页 | 2.59 MB | 6 月前3 EXPLORATION OF C++20 METAPROCRAMMING• Temporaries are created and returned from an operation. • We can reduce the instantiation of temps, by avoiding their creation. • As a result, we can improve the compile time of our program, by avoiding0 码力 | 50 页 | 2.59 MB | 6 月前3
 Custom Views for the Rest of Usrespectively, such that [i, s) denotes a range. sentinel_for Custom Views for the Rest of Usrespectively, such that [i, s) denotes a range. sentinel_for- is modeled only if: i == s is well-de�ned. std::assignable_from is either modeled or not satis�ed. If bool(i != s) then i is dereferenceable respectively, such that [i, s) denotes a range. sentinel_for- is modeled only if: i == s is well-de�ned. std::assignable_from is either modeled or not satis�ed. If If bool(i != s) bool(i != is only for end() to use, but nothing actually tells us that. 42Sentinels separate concerns. The de�nition of “end” is in its own class. 43class class inner_sentinel inner_sentinel { { /* ... */ /*0 码力 | 187 页 | 13.25 MB | 6 月前3
 Performance Engineering: Being Friendly to Your Hardwaremovabs r10, 0x123456789abcdef0 49 ba f0 de bc 9a 78 56 34 12Code density uint64_t v = 0x123456789abcdef0; 47 x86 movabs r10, 0x123456789abcdef0 49 ba f0 de bc 9a 78 56 34 12 MIPS li $2, 38141952 8a 42 34 78 14 02 00 af 26 42 64 b8 14 02 00 f0 de 42 34Code density uint64_t v = 0x123456789abcdef0; 48 x86 movabs r10, 0x123456789abcdef0 49 ba f0 de bc 9a 78 56 34 12 RISC-V li a5, 305418240 8a 42 34 78 14 02 00 af 26 42 64 b8 14 02 00 f0 de 42 34Code density uint64_t v = 0x123456789abcdef0; 49 x86 movabs r10, 0x123456789abcdef0 49 ba f0 de bc 9a 78 56 34 12 RISC-V li a5, 3054182400 码力 | 111 页 | 2.23 MB | 6 月前3 Performance Engineering: Being Friendly to Your Hardwaremovabs r10, 0x123456789abcdef0 49 ba f0 de bc 9a 78 56 34 12Code density uint64_t v = 0x123456789abcdef0; 47 x86 movabs r10, 0x123456789abcdef0 49 ba f0 de bc 9a 78 56 34 12 MIPS li $2, 38141952 8a 42 34 78 14 02 00 af 26 42 64 b8 14 02 00 f0 de 42 34Code density uint64_t v = 0x123456789abcdef0; 48 x86 movabs r10, 0x123456789abcdef0 49 ba f0 de bc 9a 78 56 34 12 RISC-V li a5, 305418240 8a 42 34 78 14 02 00 af 26 42 64 b8 14 02 00 f0 de 42 34Code density uint64_t v = 0x123456789abcdef0; 49 x86 movabs r10, 0x123456789abcdef0 49 ba f0 de bc 9a 78 56 34 12 RISC-V li a5, 3054182400 码力 | 111 页 | 2.23 MB | 6 月前3
 Leveraging C++20/23 Features for Low Level Interactionsto implementation Why use this design pattern? Changes to the implementation don’t impact the class de�nition. Hence, no recompile of the callers/users of the class. class my_class { ... private: un unique_ptr Leveraging C++20/23 Features for Low Level Interactionsto implementation Why use this design pattern? Changes to the implementation don’t impact the class de�nition. Hence, no recompile of the callers/users of the class. class my_class { ... private: un unique_ptr- p_regs; } �. See also my talk from cppcon2023 re: HookableRegisterHow to de�ne the struct of the register set We need a struct of the registers in order, including padding of scope changes So we need to tell the language to not delete Where D is a (dangerous!) custom deleter de�ned by: shared_ptr - my_ptr = rhs; unique_ptr - my_uniqueptr = rhs; shared_ptr - my_sharedptr(ref 0 码力 | 56 页 | 5.39 MB | 6 月前3
 A New Dragon in the Den: Fast Conversion From Floating-Point NumbersChéron Oil painting, ca. 1690-1725 Victoria & Albert Museum, London, UK Seven-headed beast. Bicho de sete cabeças.Hercules slaying the Hydra Hercules slaying the Hydra Louis Chéron Oil painting, ca. beast. Bicho de sete cabeças.Hercules slaying the Hydra Hercules slaying the Hydra Louis Chéron Oil painting, ca. 1690-1725 Victoria & Albert Museum, London, UK Seven-headed beast. Bicho de sete cabeças painting, ca. 1690-1725 Victoria & Albert Museum, London, UK Seven-headed beast. Bicho de sete cabeças.Não é um bicho de sete cabeças. Hercules slaying the Hydra Hercules slaying the Hydra Louis Chéron Oil0 码力 | 171 页 | 6.42 MB | 6 月前3 A New Dragon in the Den: Fast Conversion From Floating-Point NumbersChéron Oil painting, ca. 1690-1725 Victoria & Albert Museum, London, UK Seven-headed beast. Bicho de sete cabeças.Hercules slaying the Hydra Hercules slaying the Hydra Louis Chéron Oil painting, ca. beast. Bicho de sete cabeças.Hercules slaying the Hydra Hercules slaying the Hydra Louis Chéron Oil painting, ca. 1690-1725 Victoria & Albert Museum, London, UK Seven-headed beast. Bicho de sete cabeças painting, ca. 1690-1725 Victoria & Albert Museum, London, UK Seven-headed beast. Bicho de sete cabeças.Não é um bicho de sete cabeças. Hercules slaying the Hydra Hercules slaying the Hydra Louis Chéron Oil0 码力 | 171 页 | 6.42 MB | 6 月前3
 Conan 2.1 Documentationcompiler.libcxx: libc++ compiler.version: 14 os: Macos options fPIC: True shared: False d15c4f81b5de757b13ca26b636246edff7bdbf24 info settings: arch: x86_64 build_type: Debug compiler: apple-clang 1#601209640bd378c906638a8de90070f7 - Cache hello/1.0#e6b11fb0cb64e3777f8d62f4543cd6b3 - Cache -------- Computing necessary packages -------- Requirements fmt/8.1.1#601209640bd378c906638a8de90070f7:d1b3f3666 ˓→#50f91e204d09b64b24b29df3b87a2f3a hello/1.0: Package folder /Users/user/.conan2/p/21ec37b931782de8/p 74 Chapter 4. Tutorial Conan Documentation, Release 2.1.0 Check how the include and library files0 码力 | 694 页 | 4.13 MB | 1 年前3 Conan 2.1 Documentationcompiler.libcxx: libc++ compiler.version: 14 os: Macos options fPIC: True shared: False d15c4f81b5de757b13ca26b636246edff7bdbf24 info settings: arch: x86_64 build_type: Debug compiler: apple-clang 1#601209640bd378c906638a8de90070f7 - Cache hello/1.0#e6b11fb0cb64e3777f8d62f4543cd6b3 - Cache -------- Computing necessary packages -------- Requirements fmt/8.1.1#601209640bd378c906638a8de90070f7:d1b3f3666 ˓→#50f91e204d09b64b24b29df3b87a2f3a hello/1.0: Package folder /Users/user/.conan2/p/21ec37b931782de8/p 74 Chapter 4. Tutorial Conan Documentation, Release 2.1.0 Check how the include and library files0 码力 | 694 页 | 4.13 MB | 1 年前3
 Conan 2.0 Documentationpackage that is the latest created $ conan list hello/1.0#:* Local Cache: hello hello/1.0#fa5f6b17d0adc4de6030c9ab71cdbede (2022-12-22 17:32:19 UTC) PID: 6679492451b5d0750f14f9024fdbf84e19d2941b (2022-12-22 Documentation, Release 2.0.17 (continued from previous page) options: fPIC=True shared=False PID: d15c4f81b5de757b13ca26b636246edff7bdbf24 (2022-12-22 17:32:14 UTC) settings: arch=x86_64 build_type=Debug compiler=apple-clang 1#601209640bd378c906638a8de90070f7 - Cache hello/1.0#e6b11fb0cb64e3777f8d62f4543cd6b3 - Cache -------- Computing necessary packages -------- Requirements fmt/8.1.1#601209640bd378c906638a8de90070f7:d1b3f36660 码力 | 652 页 | 4.00 MB | 1 年前3 Conan 2.0 Documentationpackage that is the latest created $ conan list hello/1.0#:* Local Cache: hello hello/1.0#fa5f6b17d0adc4de6030c9ab71cdbede (2022-12-22 17:32:19 UTC) PID: 6679492451b5d0750f14f9024fdbf84e19d2941b (2022-12-22 Documentation, Release 2.0.17 (continued from previous page) options: fPIC=True shared=False PID: d15c4f81b5de757b13ca26b636246edff7bdbf24 (2022-12-22 17:32:14 UTC) settings: arch=x86_64 build_type=Debug compiler=apple-clang 1#601209640bd378c906638a8de90070f7 - Cache hello/1.0#e6b11fb0cb64e3777f8d62f4543cd6b3 - Cache -------- Computing necessary packages -------- Requirements fmt/8.1.1#601209640bd378c906638a8de90070f7:d1b3f36660 码力 | 652 页 | 4.00 MB | 1 年前3
 Conan 2.3 Documentationcompiler.libcxx: libc++ compiler.version: 14 os: Macos options fPIC: True shared: False d15c4f81b5de757b13ca26b636246edff7bdbf24 info settings: arch: x86_64 build_type: Debug compiler: apple-clang 1#601209640bd378c906638a8de90070f7 - Cache hello/1.0#e6b11fb0cb64e3777f8d62f4543cd6b3 - Cache -------- Computing necessary packages -------- Requirements fmt/8.1.1#601209640bd378c906638a8de90070f7:d1b3f3666 ˓→#50f91e204d09b64b24b29df3b87a2f3a hello/1.0: Package folder /Users/user/.conan2/p/21ec37b931782de8/p 74 Chapter 4. Tutorial Conan Documentation, Release 2.3.2 Check how the include and library files0 码力 | 748 页 | 4.65 MB | 1 年前3 Conan 2.3 Documentationcompiler.libcxx: libc++ compiler.version: 14 os: Macos options fPIC: True shared: False d15c4f81b5de757b13ca26b636246edff7bdbf24 info settings: arch: x86_64 build_type: Debug compiler: apple-clang 1#601209640bd378c906638a8de90070f7 - Cache hello/1.0#e6b11fb0cb64e3777f8d62f4543cd6b3 - Cache -------- Computing necessary packages -------- Requirements fmt/8.1.1#601209640bd378c906638a8de90070f7:d1b3f3666 ˓→#50f91e204d09b64b24b29df3b87a2f3a hello/1.0: Package folder /Users/user/.conan2/p/21ec37b931782de8/p 74 Chapter 4. Tutorial Conan Documentation, Release 2.3.2 Check how the include and library files0 码力 | 748 页 | 4.65 MB | 1 年前3
 Conan 2.2 Documentationcompiler.libcxx: libc++ compiler.version: 14 os: Macos options fPIC: True shared: False d15c4f81b5de757b13ca26b636246edff7bdbf24 info settings: arch: x86_64 build_type: Debug compiler: apple-clang 1#601209640bd378c906638a8de90070f7 - Cache hello/1.0#e6b11fb0cb64e3777f8d62f4543cd6b3 - Cache -------- Computing necessary packages -------- Requirements fmt/8.1.1#601209640bd378c906638a8de90070f7:d1b3f3666 ˓→#50f91e204d09b64b24b29df3b87a2f3a hello/1.0: Package folder /Users/user/.conan2/p/21ec37b931782de8/p 74 Chapter 4. Tutorial Conan Documentation, Release 2.2.3 Check how the include and library files0 码力 | 718 页 | 4.46 MB | 1 年前3 Conan 2.2 Documentationcompiler.libcxx: libc++ compiler.version: 14 os: Macos options fPIC: True shared: False d15c4f81b5de757b13ca26b636246edff7bdbf24 info settings: arch: x86_64 build_type: Debug compiler: apple-clang 1#601209640bd378c906638a8de90070f7 - Cache hello/1.0#e6b11fb0cb64e3777f8d62f4543cd6b3 - Cache -------- Computing necessary packages -------- Requirements fmt/8.1.1#601209640bd378c906638a8de90070f7:d1b3f3666 ˓→#50f91e204d09b64b24b29df3b87a2f3a hello/1.0: Package folder /Users/user/.conan2/p/21ec37b931782de8/p 74 Chapter 4. Tutorial Conan Documentation, Release 2.2.3 Check how the include and library files0 码力 | 718 页 | 4.46 MB | 1 年前3
共 143 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15














