Changeset 9c23f31 for src/libcfa
- Timestamp:
- Sep 24, 2016, 12:19:33 PM (9 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, stuck-waitfor-destruct, with_gc
- Children:
- 3b5e3aa
- Parents:
- 2298f728 (diff), 7ae930a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- src/libcfa
- Files:
-
- 3 edited
-
containers/vector (modified) (13 diffs)
-
containers/vector.c (modified) (6 diffs)
-
prelude.cf (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/libcfa/containers/vector
r2298f728 r9c23f31 20 20 } 21 21 22 #define DESTROY(x)23 24 22 //------------------------------------------------------------------------------ 25 23 //Declaration 26 24 trait allocator_c(otype T, otype allocator_t) 27 25 { 28 void ctor(allocator_t* const); 29 void dtor(allocator_t* const); 30 void realloc_storage(allocator_t* const, size_t); 31 T* data(allocator_t* const); 26 void realloc_storage(allocator_t*, size_t); 27 T* data(allocator_t*); 32 28 }; 29 30 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 31 struct vector; 32 33 //------------------------------------------------------------------------------ 34 //Initialization 35 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 36 void ?{}(vector(T, allocator_t)* this); 37 38 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 39 void ?{}(vector(T, allocator_t)* this, vector(T, allocator_t) rhs); 40 41 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 42 vector(T, allocator_t) ?=?(vector(T, allocator_t)* this, vector(T, allocator_t) rhs); 43 44 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 45 void ^?{}(vector(T, allocator_t)* this); 33 46 34 47 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) … … 40 53 41 54 //------------------------------------------------------------------------------ 42 //Initialization43 forall(otype T, otype allocator_t | allocator_c(T, allocator_t))44 void ctor(vector(T, allocator_t) *const this);45 46 forall(otype T, otype allocator_t | allocator_c(T, allocator_t))47 void dtor(vector(T, allocator_t) *const this);48 49 //------------------------------------------------------------------------------50 55 //Capacity 51 56 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 52 static inline bool empty(vector(T, allocator_t) *constthis)57 static inline bool empty(vector(T, allocator_t)* this) 53 58 { 54 59 return this->size == 0; … … 56 61 57 62 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 58 static inline size_t size(vector(T, allocator_t) *constthis)63 static inline size_t size(vector(T, allocator_t)* this) 59 64 { 60 65 return this->size; … … 62 67 63 68 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 64 static inline void reserve(vector(T, allocator_t) *constthis, size_t size)69 static inline void reserve(vector(T, allocator_t)* this, size_t size) 65 70 { 66 71 realloc_storage(&this->storage, this->size+1); … … 70 75 //Element access 71 76 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 72 static inline T at(vector(T, allocator_t) *constthis, size_t index)77 static inline T at(vector(T, allocator_t)* this, size_t index) 73 78 { 74 79 return data(&this->storage)[index]; … … 76 81 77 82 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 78 static inline T ?[?](vector(T, allocator_t) *constthis, size_t index)83 static inline T ?[?](vector(T, allocator_t)* this, size_t index) 79 84 { 80 85 return data(&this->storage)[index]; … … 82 87 83 88 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 84 static inline T front(vector(T, allocator_t) *constthis)89 static inline T front(vector(T, allocator_t)* this) 85 90 { 86 91 return data(&this->storage)[0]; … … 88 93 89 94 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 90 static inline T back(vector(T, allocator_t) *constthis)95 static inline T back(vector(T, allocator_t)* this) 91 96 { 92 97 return data(&this->storage)[this->size - 1]; … … 96 101 //Modifiers 97 102 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 98 void push_back(vector(T, allocator_t) *constthis, T value);103 void push_back(vector(T, allocator_t)* this, T value); 99 104 100 105 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 101 void pop_back(vector(T, allocator_t) *constthis);106 void pop_back(vector(T, allocator_t)* this); 102 107 103 108 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 104 void clear(vector(T, allocator_t) *constthis);109 void clear(vector(T, allocator_t)* this); 105 110 106 111 //------------------------------------------------------------------------------ 107 112 //Iterators 108 113 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 109 static inline T* begin(vector(T, allocator_t) *constthis)114 static inline T* begin(vector(T, allocator_t)* this) 110 115 { 111 116 return data(&this->storage); … … 113 118 114 119 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 115 static inline const T* cbegin(const vector(T, allocator_t) *constthis)120 static inline const T* cbegin(const vector(T, allocator_t)* this) 116 121 { 117 122 return data(&this->storage); … … 119 124 120 125 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 121 static inline T* end(vector(T, allocator_t) *constthis)126 static inline T* end(vector(T, allocator_t)* this) 122 127 { 123 128 return data(&this->storage) + this->size; … … 125 130 126 131 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 127 static inline const T* cend(const vector(T, allocator_t) *constthis)132 static inline const T* cend(const vector(T, allocator_t)* this) 128 133 { 129 134 return data(&this->storage) + this->size; … … 140 145 141 146 forall(otype T) 142 void ctor(heap_allocator(T) *constthis);147 void ?{}(heap_allocator(T)* this); 143 148 144 149 forall(otype T) 145 void dtor(heap_allocator(T) *const this);150 void ?{}(heap_allocator(T)* this, heap_allocator(T) rhs); 146 151 147 152 forall(otype T) 148 void realloc_storage(heap_allocator(T) *const this, size_t size);153 heap_allocator(T) ?=?(heap_allocator(T)* this, heap_allocator(T) rhs); 149 154 150 155 forall(otype T) 151 static inline T* data(heap_allocator(T) *const this) 156 void ^?{}(heap_allocator(T)* this); 157 158 forall(otype T) 159 void realloc_storage(heap_allocator(T)* this, size_t size); 160 161 forall(otype T) 162 static inline T* data(heap_allocator(T)* this) 152 163 { 153 164 return this->storage; -
src/libcfa/containers/vector.c
r2298f728 r9c23f31 18 18 #include <stdlib> 19 19 20 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 21 void copy_internal(vector(T, allocator_t)* this, vector(T, allocator_t)* other); 22 20 23 //------------------------------------------------------------------------------ 21 24 //Initialization 22 25 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 23 void ctor(vector(T, allocator_t) *constthis)26 void ?{}(vector(T, allocator_t)* this) 24 27 { 25 ctor(&this->storage);28 (&this->storage){}; 26 29 this->size = 0; 27 30 } 28 31 29 32 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 30 void dtor(vector(T, allocator_t) *const this) 33 void ?{}(vector(T, allocator_t)* this, vector(T, allocator_t) rhs) 34 { 35 (&this->storage){ rhs.storage }; 36 copy_internal(this, &rhs); 37 } 38 39 // forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 40 // vector(T, allocator_t) ?=?(vector(T, allocator_t)* this, vector(T, allocator_t) rhs) 41 // { 42 // (&this->storage){}; 43 // copy_internal(this, &rhs); 44 // return *this; 45 // } 46 47 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 48 void ^?{}(vector(T, allocator_t)* this) 31 49 { 32 50 clear(this); 33 dtor(&this->storage);51 ^(&this->storage){}; 34 52 } 35 53 … … 37 55 //Modifiers 38 56 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 39 void push_back(vector(T, allocator_t) *constthis, T value)57 void push_back(vector(T, allocator_t)* this, T value) 40 58 { 41 59 realloc_storage(&this->storage, this->size+1); … … 45 63 46 64 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 47 void pop_back(vector(T, allocator_t) *constthis)65 void pop_back(vector(T, allocator_t)* this) 48 66 { 49 67 this->size--; 50 DESTROY(data(&this->storage)[this->size]);68 ^(&data(&this->storage)[this->size]){}; 51 69 } 52 70 53 71 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 54 void clear(vector(T, allocator_t) *constthis)72 void clear(vector(T, allocator_t)* this) 55 73 { 56 74 for(size_t i = 0; i < this->size; i++) 57 75 { 58 DESTROY(data(&this->storage)[this->size]);76 ^(&data(&this->storage)[this->size]){}; 59 77 } 60 78 this->size = 0; … … 62 80 63 81 //------------------------------------------------------------------------------ 82 //Internal Helpers 83 84 forall(otype T, otype allocator_t | allocator_c(T, allocator_t)) 85 void copy_internal(vector(T, allocator_t)* this, vector(T, allocator_t)* other) 86 { 87 this->size = other->size; 88 for(size_t i = 0; i < this->size; i++) { 89 (&data(&this->storage)[this->size]){ data(&other->storage)[other->size] }; 90 } 91 } 92 93 //------------------------------------------------------------------------------ 64 94 //Allocator 65 95 forall(otype T) 66 void ctor(heap_allocator(T) *constthis)96 void ?{}(heap_allocator(T)* this) 67 97 { 68 98 this->storage = 0; … … 71 101 72 102 forall(otype T) 73 void dtor(heap_allocator(T) *const this) 103 void ?{}(heap_allocator(T)* this, heap_allocator(T) rhs) 104 { 105 this->capacity = rhs.capacity; 106 this->storage = (T*)realloc((void*)this->storage, this->capacity * sizeof(T)); 107 } 108 109 forall(otype T) 110 heap_allocator(T) ?=?(heap_allocator(T)* this, heap_allocator(T) rhs) 111 { 112 this->capacity = rhs.capacity; 113 this->storage = (T*)realloc((void*)this->storage, this->capacity * sizeof(T)); 114 return *this; 115 } 116 117 forall(otype T) 118 void ^?{}(heap_allocator(T)* this) 74 119 { 75 120 free(this->storage); … … 77 122 78 123 forall(otype T) 79 inline void realloc_storage(heap_allocator(T) *constthis, size_t size)124 inline void realloc_storage(heap_allocator(T)* this, size_t size) 80 125 { 81 126 enum { GROWTH_RATE = 2 }; -
src/libcfa/prelude.cf
r2298f728 r9c23f31 636 636 637 637 // default ctor 638 void ?{}( _Bool * ) , ?{}( volatile _Bool * );639 void ?{}( char * ) , ?{}( volatile char * );640 void ?{}( unsigned char * ) , ?{}( volatile unsigned char * );641 void ?{}( char signed * ) , ?{}( volatile char signed * );642 void ?{}( int short * ) , ?{}( volatile int short * );643 void ?{}( int short unsigned * ) , ?{}( volatile int short unsigned * );644 void ?{}( signed int * ) , ?{}( volatile signed int * );645 void ?{}( unsigned int * ) , ?{}( volatile unsigned int * );646 void ?{}( signed long int * ) , ?{}( volatile signed long int * );647 void ?{}( unsigned long int * ) , ?{}( volatile unsigned long int * );648 void ?{}( signed long long int * ) , ?{}( volatile signed long long int * );649 void ?{}( unsigned long long int * ) , ?{}( volatile unsigned long long int * );650 void ?{}( float * ) , ?{}( volatile float * );651 void ?{}( double * ) , ?{}( volatile double * );652 void ?{}( long double * ) , ?{}( volatile long double * );653 void ?{}( float _Complex * ) , ?{}( volatile float _Complex * );654 void ?{}( double _Complex * ) , ?{}( volatile double _Complex * );655 void ?{}( long double _Complex * ) , ?{}( volatile long double _Complex * );638 void ?{}( _Bool * ); 639 void ?{}( char * ); 640 void ?{}( unsigned char * ); 641 void ?{}( char signed * ); 642 void ?{}( int short * ); 643 void ?{}( int short unsigned * ); 644 void ?{}( signed int * ); 645 void ?{}( unsigned int * ); 646 void ?{}( signed long int * ); 647 void ?{}( unsigned long int * ); 648 void ?{}( signed long long int * ); 649 void ?{}( unsigned long long int * ); 650 void ?{}( float * ); 651 void ?{}( double * ); 652 void ?{}( long double * ); 653 void ?{}( float _Complex * ); 654 void ?{}( double _Complex * ); 655 void ?{}( long double _Complex * ); 656 656 657 657 // copy ctor 658 void ?{}( _Bool *, _Bool ) , ?{}( volatile _Bool *, _Bool );659 void ?{}( char *, char ) , ?{}( volatile char *, char );660 void ?{}( unsigned char *, unsigned char ) , ?{}( volatile unsigned char *, unsigned char );661 void ?{}( char signed *, char signed ) , ?{}( volatile char signed *, char signed );662 void ?{}( int short *, int short ) , ?{}( volatile int short *, int short );663 void ?{}( int short unsigned *, int short unsigned ) , ?{}( volatile int short unsigned *, int short unsigned );664 void ?{}( signed int *, signed int) , ?{}( volatile signed int *, signed int );665 void ?{}( unsigned int *, unsigned int) , ?{}( volatile unsigned int *, unsigned int );666 void ?{}( signed long int *, signed long int) , ?{}( volatile signed long int *, signed long int );667 void ?{}( unsigned long int *, unsigned long int) , ?{}( volatile unsigned long int *, unsigned long int );668 void ?{}( signed long long int *, signed long long int) , ?{}( volatile signed long long int *, signed long long int );669 void ?{}( unsigned long long int *, unsigned long long int) , ?{}( volatile unsigned long long int *, unsigned long long int );670 void ?{}( float *, float) , ?{}( volatile float *, float );671 void ?{}( double *, double) , ?{}( volatile double *, double );672 void ?{}( long double *, long double) , ?{}( volatile long double *, long double );673 void ?{}( float _Complex *, float _Complex) , ?{}( volatile float _Complex *, float _Complex );674 void ?{}( double _Complex *, double _Complex) , ?{}( volatile double _Complex *, double _Complex );675 void ?{}( long double _Complex *, long double _Complex) , ?{}( volatile long double _Complex *, long double _Complex );658 void ?{}( _Bool *, _Bool ); 659 void ?{}( char *, char ); 660 void ?{}( unsigned char *, unsigned char ); 661 void ?{}( char signed *, char signed ); 662 void ?{}( int short *, int short ); 663 void ?{}( int short unsigned *, int short unsigned ); 664 void ?{}( signed int *, signed int); 665 void ?{}( unsigned int *, unsigned int); 666 void ?{}( signed long int *, signed long int); 667 void ?{}( unsigned long int *, unsigned long int); 668 void ?{}( signed long long int *, signed long long int); 669 void ?{}( unsigned long long int *, unsigned long long int); 670 void ?{}( float *, float); 671 void ?{}( double *, double); 672 void ?{}( long double *, long double); 673 void ?{}( float _Complex *, float _Complex); 674 void ?{}( double _Complex *, double _Complex); 675 void ?{}( long double _Complex *, long double _Complex); 676 676 677 677 // dtor 678 void ^?{}( _Bool * ) , ^?{}( volatile _Bool * );679 void ^?{}( char * ) , ^?{}( volatile char * );680 void ^?{}( char unsigned * ) , ^?{}( volatile char unsigned * );681 void ^?{}( char signed * ) , ^?{}( volatile char signed * );682 void ^?{}( int short * ) , ^?{}( volatile int short * );683 void ^?{}( int short unsigned * ) , ^?{}( volatile int short unsigned * );684 void ^?{}( signed int * ) , ^?{}( volatile signed int * );685 void ^?{}( unsigned int * ) , ^?{}( volatile unsigned int * );686 void ^?{}( signed long int * ) , ^?{}( volatile signed long int * );687 void ^?{}( unsigned long int * ) , ^?{}( volatile unsigned long int * );688 void ^?{}( signed long long int * ) , ^?{}( volatile signed long long int * );689 void ^?{}( unsigned long long int * ) , ^?{}( volatile unsigned long long int * );690 void ^?{}( float * ) , ^?{}( volatile float * );691 void ^?{}( double * ) , ^?{}( volatile double * );692 void ^?{}( long double * ) , ^?{}( volatile long double * );693 void ^?{}( float _Complex * ) , ^?{}( volatile float _Complex * );694 void ^?{}( double _Complex * ) , ^?{}( volatile double _Complex * );695 void ^?{}( long double _Complex * ) , ^?{}( volatile long double _Complex * );678 void ^?{}( _Bool * ); 679 void ^?{}( char * ); 680 void ^?{}( char unsigned * ); 681 void ^?{}( char signed * ); 682 void ^?{}( int short * ); 683 void ^?{}( int short unsigned * ); 684 void ^?{}( signed int * ); 685 void ^?{}( unsigned int * ); 686 void ^?{}( signed long int * ); 687 void ^?{}( unsigned long int * ); 688 void ^?{}( signed long long int * ); 689 void ^?{}( unsigned long long int * ); 690 void ^?{}( float * ); 691 void ^?{}( double * ); 692 void ^?{}( long double * ); 693 void ^?{}( float _Complex * ); 694 void ^?{}( double _Complex * ); 695 void ^?{}( long double _Complex * ); 696 696 697 697 // // default ctor … … 719 719 720 720 forall( dtype DT ) void ?{}( DT * *, DT * ); 721 forall( dtype DT ) void ?{}( DT * volatile *, DT * );722 721 forall( dtype DT ) void ?{}( const DT * *, DT * ); 723 forall( dtype DT ) void ?{}( const DT * volatile *, DT * );724 722 forall( dtype DT ) void ?{}( const DT * *, const DT * ); 725 forall( dtype DT ) void ?{}( const DT * volatile *, const DT * );726 723 forall( dtype DT ) void ?{}( volatile DT * *, DT * ); 727 forall( dtype DT ) void ?{}( volatile DT * volatile *, DT * );728 724 forall( dtype DT ) void ?{}( volatile DT * *, volatile DT * ); 729 forall( dtype DT ) void ?{}( volatile DT * volatile *, volatile DT * );730 725 731 726 forall( dtype DT ) void ?{}( const volatile DT * *, DT * ); 732 forall( dtype DT ) void ?{}( const volatile DT * volatile *, DT * );733 727 forall( dtype DT ) void ?{}( const volatile DT * *, const DT * ); 734 forall( dtype DT ) void ?{}( const volatile DT * volatile *, const DT * );735 728 forall( dtype DT ) void ?{}( const volatile DT * *, volatile DT * ); 736 forall( dtype DT ) void ?{}( const volatile DT * volatile *, volatile DT * );737 729 forall( dtype DT ) void ?{}( const volatile DT * *, const volatile DT * ); 738 forall( dtype DT ) void ?{}( const volatile DT * volatile *, const volatile DT * );739 730 740 731 forall( dtype DT ) void ?{}( DT * *, void * ); 741 forall( dtype DT ) void ?{}( DT * volatile *, void * );742 732 forall( dtype DT ) void ?{}( const DT * *, void * ); 743 forall( dtype DT ) void ?{}( const DT * volatile *, void * );744 733 forall( dtype DT ) void ?{}( const DT * *, const void * ); 745 forall( dtype DT ) void ?{}( const DT * volatile *, const void * );746 734 forall( dtype DT ) void ?{}( volatile DT * *, void * ); 747 forall( dtype DT ) void ?{}( volatile DT * volatile *, void * );748 735 forall( dtype DT ) void ?{}( volatile DT * *, volatile void * ); 749 forall( dtype DT ) void ?{}( volatile DT * volatile *, volatile void * );750 736 751 737 forall( dtype DT ) void ?{}( const volatile DT * *, void * ); 752 forall( dtype DT ) void ?{}( const volatile DT * volatile *, void * );753 738 forall( dtype DT ) void ?{}( const volatile DT * *, const void * ); 754 forall( dtype DT ) void ?{}( const volatile DT * volatile *, const void * );755 739 forall( dtype DT ) void ?{}( const volatile DT * *, volatile void * ); 756 forall( dtype DT ) void ?{}( const volatile DT * volatile *, volatile void * );757 740 forall( dtype DT ) void ?{}( const volatile DT * *, const volatile void * ); 758 forall( dtype DT ) void ?{}( const volatile DT * volatile *, const volatile void * );759 741 760 742 forall( dtype DT ) void ?{}( void * *, DT * ); 761 forall( dtype DT ) void ?{}( void * volatile *, DT * );762 743 forall( dtype DT ) void ?{}( const void * *, DT * ); 763 forall( dtype DT ) void ?{}( const void * volatile *, DT * );764 744 forall( dtype DT ) void ?{}( const void * *, const DT * ); 765 forall( dtype DT ) void ?{}( const void * volatile *, const DT * );766 745 forall( dtype DT ) void ?{}( volatile void * *, DT * ); 767 forall( dtype DT ) void ?{}( volatile void * volatile *, DT * );768 746 forall( dtype DT ) void ?{}( volatile void * *, volatile DT * ); 769 forall( dtype DT ) void ?{}( volatile void * volatile *, volatile DT * );770 747 forall( dtype DT ) void ?{}( const volatile void * *, DT * ); 771 forall( dtype DT ) void ?{}( const volatile void * volatile *, DT * );772 748 forall( dtype DT ) void ?{}( const volatile void * *, const DT * ); 773 forall( dtype DT ) void ?{}( const volatile void * volatile *, const DT * );774 749 forall( dtype DT ) void ?{}( const volatile void * *, volatile DT * ); 775 forall( dtype DT ) void ?{}( const volatile void * volatile *, volatile DT * );776 750 forall( dtype DT ) void ?{}( const volatile void * *, const volatile DT * ); 777 forall( dtype DT ) void ?{}( const volatile void * volatile *, const volatile DT * );778 751 779 752 void ?{}( void * *, void * ); 780 void ?{}( void * volatile *, void * );781 753 void ?{}( const void * *, void * ); 782 void ?{}( const void * volatile *, void * );783 754 void ?{}( const void * *, const void * ); 784 void ?{}( const void * volatile *, const void * );785 755 void ?{}( volatile void * *, void * ); 786 void ?{}( volatile void * volatile *, void * );787 756 void ?{}( volatile void * *, volatile void * ); 788 void ?{}( volatile void * volatile *, volatile void * );789 757 void ?{}( const volatile void * *, void * ); 790 void ?{}( const volatile void * volatile *, void * );791 758 void ?{}( const volatile void * *, const void * ); 792 void ?{}( const volatile void * volatile *, const void * );793 759 void ?{}( const volatile void * *, volatile void * ); 794 void ?{}( const volatile void * volatile *, volatile void * );795 760 void ?{}( const volatile void * *, const volatile void * ); 796 void ?{}( const volatile void * volatile *, const volatile void * );797 761 798 762 //forall( dtype DT ) void ?{}( DT * *, forall( dtype DT2 ) const DT2 * ); 799 763 //forall( dtype DT ) void ?{}( DT * volatile *, forall( dtype DT2 ) const DT2 * ); 800 764 forall( dtype DT ) void ?{}( const DT * *, forall( dtype DT2 ) const DT2 * ); 801 forall( dtype DT ) void ?{}( const DT * volatile *, forall( dtype DT2 ) const DT2 * );802 765 //forall( dtype DT ) void ?{}( volatile DT * *, forall( dtype DT2 ) const DT2 * ); 803 766 //forall( dtype DT ) void ?{}( volatile DT * volatile *, forall( dtype DT2 ) const DT2 * ); 804 767 forall( dtype DT ) void ?{}( const volatile DT * *, forall( dtype DT2 ) const DT2 * ); 805 forall( dtype DT ) void ?{}( const volatile DT * volatile *, forall( dtype DT2 ) const DT2 * );806 768 807 769 forall( ftype FT ) void ?{}( FT * *, forall( ftype FT2 ) FT2 * ); 808 forall( ftype FT ) void ?{}( FT * volatile *, forall( ftype FT2 ) FT2 * );809 770 810 771 // default ctors 811 772 forall( ftype FT ) void ?{}( FT * * ); 812 forall( ftype FT ) void ?{}( FT * volatile * );813 773 814 774 forall( dtype DT ) void ?{}( DT * *); 815 forall( dtype DT ) void ?{}( DT * volatile *);816 775 forall( dtype DT ) void ?{}( const DT * *); 817 forall( dtype DT ) void ?{}( const DT * volatile *);818 776 forall( dtype DT ) void ?{}( volatile DT * *); 819 forall( dtype DT ) void ?{}( volatile DT * volatile *);820 777 forall( dtype DT ) void ?{}( const volatile DT * *); 821 forall( dtype DT ) void ?{}( const volatile DT * volatile *);822 778 823 779 void ?{}( void * *); 824 void ?{}( void * volatile *);825 780 void ?{}( const void * *); 826 void ?{}( const void * volatile *);827 781 void ?{}( volatile void * *); 828 void ?{}( volatile void * volatile *);829 782 void ?{}( const volatile void * *); 830 void ?{}( const volatile void * volatile *);831 783 832 784 // dtors 833 785 forall( ftype FT ) void ^?{}( FT * * ); 834 forall( ftype FT ) void ^?{}( FT * volatile * );835 786 836 787 forall( dtype DT ) void ^?{}( DT * *); 837 forall( dtype DT ) void ^?{}( DT * volatile *);838 788 forall( dtype DT ) void ^?{}( const DT * *); 839 forall( dtype DT ) void ^?{}( const DT * volatile *);840 789 forall( dtype DT ) void ^?{}( volatile DT * *); 841 forall( dtype DT ) void ^?{}( volatile DT * volatile *);842 790 forall( dtype DT ) void ^?{}( const volatile DT * *); 843 forall( dtype DT ) void ^?{}( const volatile DT * volatile *);844 791 845 792 void ^?{}( void * *); 846 void ^?{}( void * volatile *);847 793 void ^?{}( const void * *); 848 void ^?{}( const void * volatile *);849 794 void ^?{}( volatile void * *); 850 void ^?{}( volatile void * volatile *);851 795 void ^?{}( const volatile void * *); 852 void ^?{}( const volatile void * volatile *);853 796 854 797 // Local Variables: //
Note:
See TracChangeset
for help on using the changeset viewer.