[uClibc-cvs] CVS uClibc++/src
CVS User gkajmowi
gkajmowi at codepoet.org
Tue Jan 25 19:10:17 UTC 2005
Update of /var/cvs/uClibc++/src
In directory nail:/tmp/cvs-serv23497/src
Modified Files:
iostream.cpp istream.cpp ostream.cpp sstream.cpp string.cpp
vector.cpp
Log Message:
Moved a lot of code from inlining into the library binary. Library is ~20% larger but almost all applications will be smaller. Overall, lots of savings.
--- /var/cvs/uClibc++/src/iostream.cpp 2004/09/01 16:39:31 1.3
+++ /var/cvs/uClibc++/src/iostream.cpp 2005/01/25 19:10:15 1.4
@@ -17,14 +17,20 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#define __UCLIBCXX_COMPILE_IOSTREAM__ 1
+
#include <iostream>
namespace std{
+#ifdef __UCLIBCXX_EXPAND_OSTREAM_CHAR__
+#ifdef __UCLIBCXX_EXPAND_ISTREAM_CHAR__
+ template basic_iostream<char, char_traits<char> >::basic_iostream(basic_streambuf<char, char_traits<char> >* sb);
+ template basic_iostream<char, char_traits<char> >::~basic_iostream();
-
-
+#endif
+#endif
}
--- /var/cvs/uClibc++/src/istream.cpp 2004/12/18 22:00:48 1.5
+++ /var/cvs/uClibc++/src/istream.cpp 2005/01/25 19:10:15 1.6
@@ -27,17 +27,23 @@
#ifdef __UCLIBCXX_EXPAND_ISTREAM_CHAR__
- template basic_istream<char,char_traits<char> > & basic_istream<char, char_traits<char> >::operator>>(bool &n);
- template basic_istream<char,char_traits<char> > & basic_istream<char, char_traits<char> >::operator>>(short &n);
- template basic_istream<char,char_traits<char> > & basic_istream<char, char_traits<char> >::operator>>(unsigned short &n);
- template basic_istream<char,char_traits<char> > & basic_istream<char, char_traits<char> >::operator>>(int &n);
- template basic_istream<char,char_traits<char> > & basic_istream<char, char_traits<char> >::operator>>(unsigned int &n);
- template basic_istream<char,char_traits<char> > & basic_istream<char, char_traits<char> >::operator>>(long unsigned &n);
- template basic_istream<char,char_traits<char> > & basic_istream<char, char_traits<char> >::operator>>(long int &n);
- template basic_istream<char,char_traits<char> > & basic_istream<char, char_traits<char> >::operator>>(float &f);
- template basic_istream<char,char_traits<char> > & basic_istream<char, char_traits<char> >::operator>>(double &f);
- template basic_istream<char,char_traits<char> > & basic_istream<char, char_traits<char> >::operator>>(long double &f);
- template basic_istream<char,char_traits<char> > & basic_istream<char, char_traits<char> >::operator>>(void *& p);
+ typedef basic_istream<char,char_traits<char> > char_istream;
+
+ template char_istream::int_type char_istream::get();
+ template char_istream & char_istream::get(char &c);
+
+
+ template char_istream & char_istream::operator>>(bool &n);
+ template char_istream & char_istream::operator>>(short &n);
+ template char_istream & char_istream::operator>>(unsigned short &n);
+ template char_istream & char_istream::operator>>(int &n);
+ template char_istream & char_istream::operator>>(unsigned int &n);
+ template char_istream & char_istream::operator>>(long unsigned &n);
+ template char_istream & char_istream::operator>>(long int &n);
+ template char_istream & char_istream::operator>>(float &f);
+ template char_istream & char_istream::operator>>(double &f);
+ template char_istream & char_istream::operator>>(long double &f);
+ template char_istream & char_istream::operator>>(void *& p);
#endif
--- /var/cvs/uClibc++/src/ostream.cpp 2004/12/18 22:00:48 1.5
+++ /var/cvs/uClibc++/src/ostream.cpp 2005/01/25 19:10:15 1.6
@@ -25,28 +25,29 @@
#ifdef __UCLIBCXX_EXPAND_OSTREAM_CHAR__
+
+ typedef basic_ostream<char, char_traits<char> > char_ostream;
- template basic_ostream<char, char_traits<char> >::~basic_ostream();
+ template char_ostream::~basic_ostream();
- template basic_ostream<char,char_traits<char> > & basic_ostream<char, char_traits<char> >::operator<<(bool n);
- template basic_ostream<char,char_traits<char> > & basic_ostream<char, char_traits<char> >::operator<<(short int n);
- template basic_ostream<char,char_traits<char> > & basic_ostream<char, char_traits<char> >::
- operator<<(unsigned short int n);
- template basic_ostream<char,char_traits<char> > & basic_ostream<char, char_traits<char> >::operator<<(int n);
- template basic_ostream<char,char_traits<char> > & basic_ostream<char, char_traits<char> >::operator<<(unsigned int n);
- template basic_ostream<char,char_traits<char> > & basic_ostream<char, char_traits<char> >::operator<<(long n);
- template basic_ostream<char,char_traits<char> > & basic_ostream<char, char_traits<char> >::operator<<(unsigned long n);
- template basic_ostream<char,char_traits<char> > & basic_ostream<char, char_traits<char> >::operator<<(float f);
- template basic_ostream<char,char_traits<char> > & basic_ostream<char, char_traits<char> >::operator<<(double f);
- template basic_ostream<char,char_traits<char> > & basic_ostream<char, char_traits<char> >::operator<<(long double f);
- template basic_ostream<char,char_traits<char> > & basic_ostream<char, char_traits<char> >::operator<<(void* p);
- template basic_ostream<char,char_traits<char> > &
- basic_ostream<char, char_traits<char> >::operator<<(basic_streambuf<char, char_traits<char> >* sb);
-
-
- template basic_ostream<char,char_traits<char> >& endl(basic_ostream<char,char_traits<char> >& os);
- template basic_ostream<char,char_traits<char> >& flush(basic_ostream<char,char_traits<char> >& os);
- template basic_ostream<char,char_traits<char> >& operator<<(basic_ostream<char,char_traits<char> >& out, const char* c);
+ template char_ostream & char_ostream::operator<<(bool n);
+ template char_ostream & char_ostream::operator<<(short int n);
+ template char_ostream & char_ostream::operator<<(unsigned short int n);
+ template char_ostream & char_ostream::operator<<(int n);
+ template char_ostream & char_ostream::operator<<(unsigned int n);
+ template char_ostream & char_ostream::operator<<(long n);
+ template char_ostream & char_ostream::operator<<(unsigned long n);
+ template char_ostream & char_ostream::operator<<(float f);
+ template char_ostream & char_ostream::operator<<(double f);
+ template char_ostream & char_ostream::operator<<(long double f);
+ template char_ostream & char_ostream::operator<<(void* p);
+ template char_ostream & char_ostream::operator<<(basic_streambuf<char, char_traits<char> >* sb);
+
+
+ template char_ostream & endl(char_ostream & os);
+ template char_ostream & flush(char_ostream & os);
+ template char_ostream & operator<<(char_ostream & out, char c);
+ template char_ostream & operator<<(char_ostream & out, const char* c);
#endif
--- /var/cvs/uClibc++/src/sstream.cpp 2004/12/18 22:00:49 1.2
+++ /var/cvs/uClibc++/src/sstream.cpp 2005/01/25 19:10:15 1.3
@@ -17,17 +17,33 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#define __UCLIBCXX_COMPILE_SSTREAM__ 1
+
#include <sstream>
namespace std{
+#ifdef __UCLIBCXX_EXPAND_SSTREAM_CHAR__
-#ifdef __UCLIBCXX_EXPAND_STRING_CHAR__
+ typedef char_traits<char> tr_ch;
+ typedef basic_stringbuf<char, tr_ch, allocator<char> > char_stringbuf;
+ template char_stringbuf::basic_stringbuf(ios_base::openmode which);
+ template char_stringbuf::~basic_stringbuf();
+ template basic_string<char, char_traits<char>, allocator<char> > char_stringbuf::str() const;
+ template char_stringbuf::int_type char_stringbuf::pbackfail(char_stringbuf::int_type c);
+ template char_stringbuf::int_type char_stringbuf::overflow(char_stringbuf::int_type c);
+ template char_stringbuf::pos_type char_stringbuf::seekoff(char_stringbuf::off_type, ios_base::seekdir, ios_base::openmode);
+ template char_stringbuf::int_type char_stringbuf::underflow ();
+ template streamsize char_stringbuf::xsputn(const char* s, streamsize n);
+
+ template basic_stringstream<char, tr_ch, allocator<char> >::basic_stringstream(ios_base::openmode which);
+ template basic_istringstream<char, tr_ch, allocator<char> >::~basic_istringstream();
+ template basic_ostringstream<char, tr_ch, allocator<char> >::~basic_ostringstream();
+ template basic_stringstream<char, tr_ch, allocator<char> >::~basic_stringstream();
#endif
-
}
--- /var/cvs/uClibc++/src/string.cpp 2005/01/03 16:28:48 1.6
+++ /var/cvs/uClibc++/src/string.cpp 2005/01/25 19:10:15 1.7
@@ -30,25 +30,23 @@
#ifdef __UCLIBCXX_EXPAND_STRING_CHAR__
- template basic_string<char,char_traits<char>, allocator<char> >::basic_string(const char* s, const allocator<char>& al);
+ typedef basic_string<char, char_traits<char> , allocator<char> > char_string;
- template basic_string<char, char_traits<char>, allocator<char> >
- operator+(const basic_string<char, char_traits<char>, allocator<char> >& lhs, const char* rhs);
-
- template basic_string<char, char_traits<char>, allocator<char> >
- operator+(const char* lhs, const basic_string<char, char_traits<char>, allocator<char> >& rhs);
-
- template basic_string<char, char_traits<char>, allocator<char> >
- operator+(const basic_string<char, char_traits<char> , allocator<char> >& lhs,
- const basic_string<char, char_traits<char>, allocator<char> >& rhs);
+ template char_string::basic_string(const char* s, const allocator<char>& al);
+ template char_string::basic_string(const basic_string& str, size_type pos, size_type n, const allocator<char>& al);
+ template char_string& char_string::operator=(const char_string & str);
+ template char_string char_string::substr(size_type pos, size_type n) const;
+ template char_string::size_type char_string::find(const char_string & str, size_type pos) const;
+ template char_string operator+(const char_string & lhs, const char* rhs);
+ template char_string operator+(const char* lhs, const char_string & rhs);
+ template char_string operator+(const char_string & lhs, const char_string & rhs);
//Functions dependent upon OSTREAM
#ifdef __UCLIBCXX_EXPAND_OSTREAM_CHAR__
template basic_ostream<char, char_traits<char> >&
- operator<<(basic_ostream<char, char_traits<char> >& os,
- const basic_string<char,char_traits<char>, std::allocator<char> >& str);
+ operator<<(basic_ostream<char, char_traits<char> >& os, const char_string & str);
#endif
@@ -57,8 +55,7 @@
#ifdef __UCLIBCXX_EXPAND_ISTREAM_CHAR__
template basic_istream<char, char_traits<char> >& operator>>(
- basic_istream<char,char_traits<char> >& is,
- basic_string<char, char_traits<char>, allocator<char> >& str);
+ basic_istream<char,char_traits<char> >& is, char_string & str);
#endif
--- /var/cvs/uClibc++/src/vector.cpp 2005/01/11 03:57:08 1.6
+++ /var/cvs/uClibc++/src/vector.cpp 2005/01/25 19:10:15 1.7
@@ -27,6 +27,9 @@
#ifdef __UCLIBCXX_EXPAND_VECTOR_BASIC__
+ template vector<char, allocator<char> >::~vector();
+ template vector<unsigned char, allocator<unsigned char> >::~vector();
+
template void vector<char, allocator<char> >::reserve(size_type n);
template void vector<unsigned char, allocator<unsigned char> >::reserve(size_type n);
template void vector<short int, allocator<short int> >::reserve(size_type n);
More information about the uClibc-cvs
mailing list