Changes in libcfa/src/memory.cfa [fd54fef:85871478]
- File:
-
- 1 edited
-
libcfa/src/memory.cfa (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/memory.cfa
rfd54fef r85871478 10 10 // Created On : Tue Jun 2 16:48:00 2020 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Tue Jun 3 12:30:00 202013 // Update Count : 012 // Last Modified On : Mon Feb 1 16:10:00 2021 13 // Update Count : 1 14 14 // 15 15 … … 56 56 } 57 57 58 forall(T & | sized(T) | { void ^?{}(T &); })58 forall(T & | sized(T)) 59 59 void ?{}(counter_ptr(T) & this, counter_ptr(T) that) { 60 60 // `that` is a copy but it should have neither a constructor 61 61 // nor destructor run on it so it shouldn't need adjustment. 62 internal_decrement(this);63 62 internal_copy(this, that); 64 63 } … … 66 65 forall(T & | sized(T), Args... | { void ?{}(T&, Args); }) 67 66 void ?{}(counter_ptr(T) & this, Args args) { 68 this.data = (counter_data(T)*)new(args); 67 this.data = malloc(); 68 this.data->counter = 1; 69 (this.data->object){args}; 69 70 } 70 71 … … 126 127 forall(T & | sized(T), Args... | { void ?{}(T &, Args); }) 127 128 void ?{}(unique_ptr(T) & this, Args args) { 128 this.data = (T *)new(args); 129 this.data = malloc(); 130 (*this.data){args}; 129 131 } 130 132
Note:
See TracChangeset
for help on using the changeset viewer.