Home | History | Annotate | Download | only in SemaCXX

Lines Matching defs:optional

68 namespace optional {
69 template<typename T> struct optional {
73 optional() : has(false) {}
75 optional(U &&...u) : has(true), value(forward<U>(u)...) {}
77 optional(const optional &o) : has(o.has) {
80 optional(optional &&o) : has(o.has) {
84 optional &operator=(const optional &o) {
95 optional &operator=(optional &&o) {
107 ~optional() {
116 optional<non_trivial> o1;
117 optional<non_trivial> o2{non_trivial()};
118 optional<non_trivial> o3{*o2};
122 o2 = optional<non_trivial>();