|
Boost Users : |
Subject: [Boost-users] [Fwd: Re: [interprocess] shared_memory_object design]
From: Ion Gaztañaga (igaztanaga_at_[hidden])
Date: 2009-08-27 16:45:35
attached mail follows:
Christian Henning escribió:
> Hi there, a colleague of mine is questioning the design decisions in
> the shared_memory_object class. The assignment operator and copy
> constructor are private. Why?
Because the class own a unique resource just like a file. Is fstream
copyable? No, movable (in c++0x) just like shared_memory_object. What
should the copy constructor do?
Also the constructor takes a type
> instead of a value as the first parameter. In his eyes it makes it
> very inflexible since the creation of or attaching to shared_memory
> area has to known at compile time.
Ok, this is debatable, because with move semantics you can write:
shared_memory_object obj(create?
shared_memory_object(create_only, ...):
shared_memory_object(open_only, ...));
or
shared_memory_object shm;
if(create){
shared_memory_object tmp(create_only);
tmp.swap(shm);
}
else{
shared_memory_object tmp(open_only);
tmp.swap(shm);
}
Best,
Ion
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net