Comments (3)
@spectre-ns The motivation is valid, but semantics of Self
looks a bit weird. If Self
is not intended to transfer the ownership of the value to the other proxy
(e.g., no asynchronous operation required), maybe it would be more reasonable to return &self
rather than pro::make_proxy<AreaFacade>(std::move(self))
.
from proxy.
@mingxwa yes you are correct the ownership model here is weird. If I were going to implement this in the wild I would likely make the facade copyable to eliminate the move and prevent transfering ownership. The implicit move could be a gotcha when dispatching self then trying to continue to use that same proxy after the move.
from proxy.
I was mainly targeting the use case where I'm passing proxies around and I have an interface that is more abstract than my current proxy. In that case I would want to 'translate' to the more abstract version.
from proxy.
Related Issues (20)
- MacOS g++-12 compile default linker error and mold linker with bus error HOT 6
- const version of proxy::invoke() HOT 1
- Storing pro::proxy<T> in container and iteration HOT 12
- Question: Can Facades be composed to allow for construction of more generic facades from more specified ones? HOT 7
- Add pipelines for AppleClang
- Add support for modules
- Create Nuget package and publish it during release runs. HOT 1
- Add links to executable sample code in README
- Test targets compile failed for the [-Werror=uninitialized] compile option for non MSVC compiler(gcc11.2) HOT 5
- Differentiate interface abstraction from const member function HOT 3
- destructor call twice HOT 1
- C++ version support HOT 1
- how about memory usage when compare to default virtual-table implementation ? HOT 1
- Question: reducing boilerplate? Avoiding multiple pro::dispatch? HOT 5
- How to create a proxy object that is composed of another proxy object of the same type? HOT 2
- Function pointer can't be used to create a proxy
- Time to revise the name of constraints
- Lack support of overload resolution among multiple existing abstractions
- Compilation error on MSVC 19.36 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from proxy.