Connecting User And Library Code@@@ All of library code is in LibSpace, user code without frame is in UserSpace@@@ As opposed to library sharing entities with other libraries+ @@@ Deducing this removes the need for CRTP2 Slides1. https://godbolt default implementation (something which can be done generally) @@@ All of library code is in LibSpace, user code without frame is in UserSpace1. @@@ Terms: 1. Overload: multiple functions with the same name simply cannot opt types that you do not own into an abstract interface, with the fundamental types not being able to opt into any abstract interface at all.”5 Slides@@@ (*) Concepts are only limiting by behavior0 码力 | 58 页 | 18.82 MB | 6 月前3
Breaking Dependencies: The SOLID PrinciplesTrainer since 2016 Author of the C++ math library (Co-)Organizer of the Munich C++ user group Regular presenter at C++ conferences Email: klaus.iglberger@gmx.deSoftware 3Software 4Soft Principle Interface Segregation Principle Dependency Inversion Principle9 The SOLID Principles Single-Responsibility Principle Open-Closed Principle Liskov Substitution Principle Interface Segregation implement details of two orthogonal issues void BankAccount::withdrawMoney( User user, long amount ) { // Verify access for given user // ... // Verify balance in account // ... // Update0 码力 | 96 页 | 2.14 MB | 6 月前3
The Beauty and Power of Primitive C++interfaces • Google protocol buffers, Flatbuffers, SBE, JSON, XML, and many, many more • The transport interface bleeds into the business logic • Of many separately developed and maintained applications • We transport mechanism • I describe a library offering an interface between typed objects and bytes in a message Stroustrup - "Primitive" - CppCon 2020 6 Interface designApplication structure • Make the “business mechanism • here, I focus on “the message interface” Business logic (C++) Business logic (Java) transport transport Message interface (C++) Message interface (Java) Stroustrup - "Primitive" - CppCon0 码力 | 53 页 | 1.03 MB | 6 月前3
A Physical Units Library for the Next C++Challenges... 21 Quick Start 2 Strong Interfaces 3 As fast as (or even faster) than double 4 User Experience 5 Framework Basics 6 Environment, compatibility, next steps CppCon 2020 | A Physical Next C++ Agenda 31 Quick Start 2 Strong Interfaces 3 As fast as (or even faster) than double 4 User Experience 5 Framework Basics 6 Environment, compatibility, next steps CppCon 2020 | A Physical will end up in the C++ Standard Library CppCon 2020 | A Physical Units Library For the Next C++ User De�ned Literals (UDLs) 6• The prefix _q_ will be replaced with q_ if the library will end up in the0 码力 | 172 页 | 6.17 MB | 6 月前3
Conan 1.55 DocumentationStable From Conan 1.0 and onwards, there is a commitment to stability, with the goal of not breaking user space while evolving the tool and the platform. This means: • Moving forward to following minor versions will be considered already broken. • Only documented features are considered part of the public interface of Conan. Private implementation details, and everything not included in the documentation is subject self.deps_env_info 2.1. Migrating the recipes 15 Conan Documentation, Release 1.55.0 or self.deps_user_info, these have been removed in 2.0. Note: If you don’t need to customize anything in a generator0 码力 | 963 页 | 7.67 MB | 1 年前3
Conan 1.56 DocumentationStable From Conan 1.0 and onwards, there is a commitment to stability, with the goal of not breaking user space while evolving the tool and the platform. This means: • Moving forward to following minor versions will be considered already broken. • Only documented features are considered part of the public interface of Conan. Private implementation details, and everything not included in the documentation is subject self.deps_env_info 2.1. Migrating the recipes 15 Conan Documentation, Release 1.56.0 or self.deps_user_info, these have been removed in 2.0. Note: If you don’t need to customize anything in a generator0 码力 | 963 页 | 7.67 MB | 1 年前3
Conan 1.53 DocumentationStable From Conan 1.0 and onwards, there is a commitment to stability, with the goal of not breaking user space while evolving the tool and the platform. This means: • Moving forward to following minor versions will be considered already broken. • Only documented features are considered part of the public interface of Conan. Private implementation details, and everything not included in the documentation is subject self.deps_env_info 2.1. Migrating the recipes 15 Conan Documentation, Release 1.53.0 or self.deps_user_info, these have been removed in 2.0. Note: If you don’t need to customize anything in a generator0 码力 | 953 页 | 7.64 MB | 1 年前3
Conan 1.54 DocumentationStable From Conan 1.0 and onwards, there is a commitment to stability, with the goal of not breaking user space while evolving the tool and the platform. This means: • Moving forward to following minor versions will be considered already broken. • Only documented features are considered part of the public interface of Conan. Private implementation details, and everything not included in the documentation is subject self.deps_env_info 2.1. Migrating the recipes 15 Conan Documentation, Release 1.54.0 or self.deps_user_info, these have been removed in 2.0. Note: If you don’t need to customize anything in a generator0 码力 | 953 页 | 7.65 MB | 1 年前3
Conan 1.52 DocumentationStable From Conan 1.0 and onwards, there is a commitment to stability, with the goal of not breaking user space while evolving the tool and the platform. This means: • Moving forward to following minor versions will be considered already broken. • Only documented features are considered part of the public interface of Conan. Private implementation details, and everything not included in the documentation is subject using the self.dependencies access. Do not use self.deps_cpp_info, self.deps_env_info or self.deps_user_info, these have been removed in 2.0. Note: If you don’t need to customize anything in a generator0 码力 | 943 页 | 7.62 MB | 1 年前3
Conan 1.51 DocumentationStable From Conan 1.0 and onwards, there is a commitment to stability, with the goal of not breaking user space while evolving the tool and the platform. This means: • Moving forward to following minor versions will be considered already broken. • Only documented features are considered part of the public interface of Conan. Private implementation details, and everything not included in the documentation is subject using the self.dependencies access. Do not use self.deps_cpp_info, self.deps_env_info or self.deps_user_info, these have been removed in 2.0. Note: If you don’t need to customize anything in a generator0 码力 | 933 页 | 7.58 MB | 1 年前3
共 288 条
- 1
- 2
- 3
- 4
- 5
- 6
- 29













