Lines Matching refs:State
15 enum State { CONSTRUCTED, MOVED_FROM, DESTROYED }; enum
16 State state;
18 TrackedValue() : state(State::CONSTRUCTED) {} in TrackedValue()
20 TrackedValue(TrackedValue const& t) : state(State::CONSTRUCTED) { in TrackedValue()
21 assert(t.state != State::MOVED_FROM && "copying a moved-from object"); in TrackedValue()
22 assert(t.state != State::DESTROYED && "copying a destroyed object"); in TrackedValue()
26 TrackedValue(TrackedValue&& t) : state(State::CONSTRUCTED) { in TrackedValue()
27 assert(t.state != State::MOVED_FROM && "double moving from an object"); in TrackedValue()
28 assert(t.state != State::DESTROYED && "moving from a destroyed object"); in TrackedValue()
29 t.state = State::MOVED_FROM; in TrackedValue()
34 assert(state != State::DESTROYED && "copy assigning into destroyed object");
35 assert(t.state != State::MOVED_FROM && "copying a moved-from object");
36 assert(t.state != State::DESTROYED && "copying a destroyed object");
43 assert(state != State::DESTROYED && "move assigning into destroyed object");
44 assert(t.state != State::MOVED_FROM && "double moving from an object");
45 assert(t.state != State::DESTROYED && "moving from a destroyed object");
47 t.state = State::MOVED_FROM;
53 assert(state != State::DESTROYED && "double-destroying an object"); in ~TrackedValue()
54 state = State::DESTROYED; in ~TrackedValue()