How to create an overwriteable struct that is always const?

David Zhang straivers98 at gmail.com
Sat Jun 1 12:51:08 UTC 2019


Say I have a struct `S`:

     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

Is there a type-safe way to do this? If this were a class, I'd 
try std.typecons.Rebindable.

Thanks


More information about the Digitalmars-d-learn mailing list