libzypp
12.16.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
PoolQueryUtil.tcc
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
14
#ifndef ZYPP_POOLQUERYUTIL_TCC
15
#define ZYPP_POOLQUERYUTIL_TCC
16
17
#include <fstream>
18
19
#include "
zypp/Pathname.h
"
20
#include "
zypp/PoolQuery.h
"
21
#include "
zypp/base/String.h
"
22
23
namespace
zypp
24
{
25
35
template
<
class
OutputIterator>
36
void
readPoolQueriesFromFile
(
const
zypp::filesystem::Pathname
&file,
37
OutputIterator out )
38
{
39
bool
found;
40
std::ifstream fin( file.
c_str
() );
41
42
if
(!fin)
43
ZYPP_THROW
(
Exception
(
str::form
(
"Cannot open file %s"
,file.
c_str
())));
44
45
do
46
{
47
zypp::PoolQuery
q;
48
found = q.
recover
( fin );
49
if
(found)
50
*out++ = q;
51
}
while
( found );
52
53
fin.close();
54
}
55
60
template
<
class
InputIterator>
61
void
writePoolQueriesToFile
(
const
zypp::filesystem::Pathname
&file,
62
InputIterator begin, InputIterator end )
63
{
64
std::ofstream fout( file.
c_str
(), std::ios_base::out | std::ios_base::trunc );
65
66
if
(!fout)
67
ZYPP_THROW
(
Exception
(
str::form
(
"Cannot open file %s"
,file.
c_str
())));
68
69
for_
( it, begin, end )
70
{
71
it->serialize( fout );
72
}
73
74
fout.close();
75
}
76
77
}
78
#endif // ZYPP_POOLQUERYUTIL_H
zypp
PoolQueryUtil.tcc
Generated by
1.8.2