srecord 1.65.0
 
Loading...
Searching...
No Matches
minimum.h
Go to the documentation of this file.
1//
2// srecord - Manipulate EPROM load files
3// Copyright (C) 2008-2011 Peter Miller
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 published by
7// the Free Software Foundation; either version 3 of the License, or
8// (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 Lesser General Public License for more details.
14//
15// You should have received a copy of the GNU Lesser General Public License
16// along with this program. If not, see
17// <http://www.gnu.org/licenses/>.
18//
19
20#ifndef SRECORD_INPUT_FILTER_INTERVAL_MINIMUM_H
21#define SRECORD_INPUT_FILTER_INTERVAL_MINIMUM_H
22
24
25namespace srecord
26{
27
28/**
29 * The srecord::input_filter_interval_minimum class is used to represent a
30 * filter which injects the minimum address of the data into the data.
31 */
32class input_filter_interval_minimum:
34{
35public:
36 /**
37 * The destructor.
38 */
40
41private:
42 /**
43 * The constructor.
44 *
45 * @param deeper
46 * The input source to be filtered.
47 * @param address
48 * The address at which to place the minimum address.
49 * @param length
50 * The number of bytes of minimum address to be inserted.
51 * @param end
52 * The byte order.
53 * @param inclusive
54 * true if the output location is included in the address
55 * range, false if not
56 */
57 input_filter_interval_minimum(const pointer &deeper, long address,
58 int length, endian_t end, bool inclusive);
59
60public:
61 /**
62 * The constructor.
63 *
64 * @param deeper
65 * The input source to be filtered.
66 * @param address
67 * The address at which to place the minimum address.
68 * @param length
69 * The number of bytes of minimum address to be inserted.
70 * @param end
71 * The byte order.
72 * @param inclusive
73 * true if the output location is included in the address
74 * range, false if not
75 */
76 static pointer create(const pointer &deeper, long address, int length,
77 endian_t end, bool inclusive);
78
79protected:
80 // See base class for documentation.
81 long calculate_result() const;
82
83private:
84 /**
85 * The default constructor. Do not use.
86 */
87 input_filter_interval_minimum();
88
89 /**
90 * The copy constructor. Do not use.
91 */
92 input_filter_interval_minimum(const input_filter_interval_minimum &);
93
94 /**
95 * The assignment operator. Do not use.
96 */
97 input_filter_interval_minimum &operator=(
98 const input_filter_interval_minimum &);
99};
100
101};
102
103// vim: set ts=8 sw=4 et :
104#endif // SRECORD_INPUT_FILTER_INTERVAL_MINIMUM_H
long calculate_result() const
The calculate_result method is used to calculate the final value to be placed into the output.
static pointer create(const pointer &deeper, long address, int length, endian_t end, bool inclusive)
The constructor.
virtual ~input_filter_interval_minimum()
The destructor.
input_filter_interval(const input::pointer &deeper, long address, int length, endian_t end, bool inclusive)
The constructor.
std::shared_ptr< input > pointer
Definition input.h:41
endian_t
Definition endian.h:27