3 // Copyright (C) 2006 Stefan Bund <g0dil@berlios.de>
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the
17 // Free Software Foundation, Inc.,
18 // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 \brief ReadHelper inline template implementation */
24 #include "ReadHelper.ih"
27 #include "../Utils/Exception.hh"
29 #define prefix_ inline
30 ///////////////////////////////cti.p///////////////////////////////////////
32 template <class Handle>
33 prefix_ typename senf::ReadHelper<Handle>::ptr
34 senf::ReadHelper<Handle>::dispatch(Handle handle, std::string::size_type maxSize,
37 return ptr(new ReadHelper(handle, maxSize, 0, callback));
40 template <class Handle>
41 template <class Predicate>
42 prefix_ typename senf::ReadHelper<Handle>::ptr
43 senf::ReadHelper<Handle>::dispatch(Handle handle, std::string::size_type maxSize,
44 Predicate const & predicate, Callback callback)
46 return ptr(new ReadHelper(handle, maxSize,
47 new typename InternalPredicate::template Dispatcher<Predicate>(predicate),
51 template <class Handle>
52 prefix_ Handle senf::ReadHelper<Handle>::handle()
58 template <class Handle>
59 prefix_ unsigned senf::ReadHelper<Handle>::maxSize()
65 template <class Handle>
66 prefix_ std::string const & senf::ReadHelper<Handle>::data()
72 template <class Handle>
73 prefix_ std::string const & senf::ReadHelper<Handle>::tail()
79 template <class Handle>
80 prefix_ bool senf::ReadHelper<Handle>::complete()
86 template <class Handle>
87 prefix_ bool senf::ReadHelper<Handle>::error()
93 template <class Handle>
94 prefix_ void senf::ReadHelper<Handle>::throw_error()
97 if (errno_ != 0) throw SystemException(errno_ SENF_EXC_DEBUGINFO);
100 ///////////////////////////////cti.e///////////////////////////////////////
107 // c-file-style: "senf"
108 // indent-tabs-mode: nil
109 // ispell-local-dictionary: "american"
110 // compile-command: "scons -u test"
111 // comment-column: 40