How to create an overwriteable struct that is always const?
ag0aep6g
anonymous at example.com
Sat Jun 1 13:00:50 UTC 2019
On 01.06.19 14:51, David Zhang wrote:
> struct S {
> /*const*/ char* pointer;
> ... other members ...
>
> this(/*const*/ char* p, ... others ...) {
> pointer = p;
> ...
> }
> }
>
> What I want, is to be able to use `S` in other data structures with the
> following properties checked by the compiler:
>
> - The variable can be set
> - The variable can be read
> - The variable cannot be modified, only replaced
How is setting/replacing different from modifying?
> Is there a type-safe way to do this? If this were a class, I'd try
> std.typecons.Rebindable.
struct S
{
const(char)* pointer;
/* ... */
}
More information about the Digitalmars-d-learn
mailing list