osocket_stream.tpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00031
00035 template<typename CharT, typename Traits>
00036 claw::net::basic_osocket_stream<CharT, Traits>::basic_osocket_stream()
00037 : super(&m_buffer)
00038 {
00039
00040 }
00041
00042
00048 template<typename CharT, typename Traits>
00049 claw::net::basic_osocket_stream<CharT, Traits>::basic_osocket_stream
00050 ( const std::string& address, int port )
00051 : super(&m_buffer)
00052 {
00053 open(address, port);
00054 }
00055
00056
00060 template<typename CharT, typename Traits>
00061 claw::net::basic_osocket_stream<CharT, Traits>::~basic_osocket_stream()
00062 {
00063
00064 }
00065
00066
00070 template<typename CharT, typename Traits>
00071 typename claw::net::basic_osocket_stream<CharT, Traits>::buffer_type*
00072 claw::net::basic_osocket_stream<CharT, Traits>::rdbuf() const
00073 {
00074 return const_cast<buffer_type*>(&m_buffer);
00075 }
00076
00077
00081 template<typename CharT, typename Traits>
00082 bool claw::net::basic_osocket_stream<CharT, Traits>::is_open() const
00083 {
00084 return m_buffer.is_open();
00085 }
00086
00087
00093 template<typename CharT, typename Traits>
00094 void claw::net::basic_osocket_stream<CharT, Traits>::open
00095 ( const std::string& address, int port )
00096 {
00097 if ( !m_buffer.open(address, port) )
00098 this->setstate(std::ios_base::failbit);
00099 else
00100 this->clear();
00101 }
00102
00103
00109 template<typename CharT, typename Traits>
00110 void claw::net::basic_osocket_stream<CharT, Traits>::open( int fd )
00111 {
00112 if ( !m_buffer.open(fd) )
00113 this->setstate(std::ios_base::failbit);
00114 else
00115 this->clear();
00116 }
00117
00118
00122 template<typename CharT, typename Traits>
00123 void claw::net::basic_osocket_stream<CharT, Traits>::close()
00124 {
00125 if ( !m_buffer.close() )
00126 this->setstate(std::ios_base::failbit);
00127 }
00128