00001 00004 inline N::size_t max(N::size_t a, N::size_t b) 00005 { 00006 return (a > b) ? a : b; 00007 } 00008 00023 inline void N::reserve(size_t newsize) 00024 { 00025 if(newsize == size) 00026 { 00027 return; 00028 } 00029 else if(size) 00030 { 00031 // newsize > 0 00032 reserve_large(newsize); 00033 } 00034 else 00035 { 00036 reserve_small(newsize); 00037 } 00038 } 00039 00052 inline void N::resize(size_t newsize) 00053 { 00054 if(newsize == size) 00055 { 00056 return; 00057 } 00058 else if(newsize < size) 00059 { 00060 throw can_not_shrink_exception(__FILE__, __LINE__); 00061 } 00062 else if(size) 00063 { 00064 resize_large(newsize); 00065 } 00066 else 00067 { 00068 resize_small(newsize); 00069 } 00070 } 00071 00086 inline void N::truncate(size_t newsize) 00087 { 00088 if(newsize < size) 00089 { 00090 truncate_large(newsize); 00091 } 00092 else if(newsize > size) 00093 { 00094 if(size) 00095 { 00096 resize_large(newsize); 00097 } 00098 else 00099 { 00100 resize_small(newsize); 00101 } 00102 } 00103 } 00104 00117 inline void N::normalize() 00118 { 00119 if(size > 0 && data[size] == 0) 00120 { 00121 normalize_large(); 00122 } 00123 }
Copyright © 2007-2008 Remco Bloemen.
Generated on Tue Jan 22 17:35:31 2008 for symbolism by doxygen 1.5.4