SvnCpp
targets.hpp
Go to the documentation of this file.
1/*
2 * ====================================================================
3 * Copyright (c) 2002-2018 The RapidSVN Group. All rights reserved.
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as
7 * published by the Free Software Foundation, either version 3 of the
8 * License, or (at your option) any later version.
9 *
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.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this program (in the file LGPL.txt).
17 * If not, see <http://www.gnu.org/licenses/>.
18 *
19 * This software consists of voluntary contributions made by many
20 * individuals. For exact contribution history, see the revision
21 * history and logs, available at http://rapidsvn.tigris.org/.
22 * ====================================================================
23 */
24
25#ifndef _SVNCPP_TARGETS_HPP_
26#define _SVNCPP_TARGETS_HPP_
27
28// apr api
29#include "apr_tables.h"
30
31// svncpp
32#include "svncpp/path.hpp"
33
34namespace svn
35{
36 // forward declarations
37 class Pool;
38
39
43 class Targets
44 {
45 public:
52
59 Targets(const apr_array_header_t * targets);
60
67 Targets(const char * target = 0);
68
75
79 virtual ~Targets();
80
87 const apr_array_header_t *
88 array(const Pool & pool) const;
89
95 const PathVector &
96 targets() const;
97
101 size_t size() const;
102
108 operator const PathVector & () const
109 {
110 return m_targets;
111 }
112
121 const Path
122 target() const;
123
130 void
131 push_back(const Path & path);
132
133
137 void
139
144 void
145 reserve(size_t size);
146
147 private:
148 PathVector m_targets;
149 };
150}
151
152#endif
153/* -----------------------------------------------------------------
154 * local variables:
155 * eval: (load-file "../../rapidsvn-dev.el")
156 * end:
157 */
Definition path.hpp:38
Definition pool.hpp:37
Definition targets.hpp:44
const Path target() const
const PathVector & targets() const
Targets(const PathVector &targets)
void reserve(size_t size)
Targets(const Targets &targets)
const apr_array_header_t * array(const Pool &pool) const
size_t size() const
void push_back(const Path &path)
virtual ~Targets()
Targets(const char *target=0)
Targets(const apr_array_header_t *targets)
Definition annotate_line.hpp:32
std::vector< Path > PathVector
Definition path.hpp:205