On 08.12.16 23.53, bitrex wrote:
> I know I can define a conversion operator which will allow me to use
> this type as say, the argument to a function which is expecting type T.
> I also know that I can overload the * and -> operators to work with the
> underlying pointer.
>
> Am I correct in understanding that there's no way to treat this
> pool-allocated wrapper type as if it were a "regular" object
> instantiated on the stack?
Exactly. You cannot override the "operator.".
> obj.x = 7; //not okay, pool_object_t<MyPODStruct> has no member named "x"
>
> Maybe I should just make the pool_object_t more like a smart pointer,
Exactly too. You can virtualize only reference types.
In fact your type /is/ a reference type.
Marcel