]> git.lyx.org Git - features.git/blobdiff - boost/boost/format/alt_sstream_impl.hpp
update boost to 1.44
[features.git] / boost / boost / format / alt_sstream_impl.hpp
index 0ef35c09e6a2f853579d7e6797b8928b4c856797..9975e4f96b0a325b28b7ad65441b1d38deb56fd3 100644 (file)
@@ -37,7 +37,12 @@ namespace boost {
         str (const string_type& s) {
             size_type sz=s.size();
             if(sz != 0 && mode_ & (::std::ios_base::in | ::std::ios_base::out) ) {
+#ifdef _RWSTD_NO_CLASS_PARTIAL_SPEC
+                void *vd_ptr = alloc_.allocate(sz, is_allocated_? eback() : 0);
+                Ch *new_ptr = static_cast<Ch *>(vd_ptr);
+#else
                 Ch *new_ptr = alloc_.allocate(sz, is_allocated_? eback() : 0);
+#endif
                 // if this didnt throw, we're safe, update the buffer
                 dealloc();
                 sz = s.copy(new_ptr, sz);
@@ -140,7 +145,7 @@ namespace boost {
         typename basic_altstringbuf<Ch, Tr, Alloc>::pos_type 
         basic_altstringbuf<Ch, Tr, Alloc>:: 
         seekpos (pos_type pos, ::std::ios_base::openmode which) {
-            off_type off = off_type(pos); // operation guaranteed by ยง27.4.3.2 table 88
+            off_type off = off_type(pos); // operation guaranteed by 27.4.3.2 table 88
             if(pptr() != NULL && putend_ < pptr())
                 putend_ = pptr();
             if(off != off_type(-1)) {
@@ -249,7 +254,12 @@ namespace boost {
                     add_size /= 2;
                 if(0 < add_size) {
                     new_size += add_size;
+#ifdef _RWSTD_NO_CLASS_PARTIAL_SPEC
+                    void *vdptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0);
+                    newptr = static_cast<Ch *>(vdptr);
+#else
                     newptr = alloc_.allocate(new_size, is_allocated_? oldptr : 0);
+#endif
                 }
 
                 if(0 < prev_size)