Implementation of a linear congruential generator
Your mask value M is gaining you nothing, since the types for this_seed and M are the same and you have every bit in M set to 1.  Your comment for next is wrong; it can return 264-1 (i.e., all bits set).  The correct range can be stated as either [0, 2 ^ 64 - 1] or [0, 2 ^ 64).  This in turn can cause your get functions to return a value larger than expected (1.0, x, or b).

Where did you get the values for the A and B constants?  I've not looked to see if they are appropriate.