mmcfilters
Public API documentation
Loading...
Searching...
No Matches
mmcfilters
trees
ProperPartDomain.hpp
1
#pragma once
2
3
#include <cstddef>
4
#include <limits>
5
#include <stdexcept>
6
#include <string>
7
8
namespace
mmcfilters {
9
17
struct
GridDomain2D
{
19
int
rows
= 0;
21
int
columns
= 0;
22
26
constexpr
GridDomain2D
()
noexcept
=
default
;
27
34
constexpr
GridDomain2D
(
int
numRows,
int
numColumns)
noexcept
:
rows
(numRows),
columns
(numColumns) {}
35
42
[[
nodiscard
]] std::size_t
size
(
const
char
*
context
)
const
{
43
if
(
rows
<= 0 ||
columns
<= 0) {
44
throw
std::invalid_argument(std::string(
context
) +
" requires a non-empty 2D grid."
);
45
}
46
const
std::size_t
gridSize
=
static_cast<
std::size_t
>
(
rows
) *
static_cast<
std::size_t
>
(
columns
);
47
if
(
gridSize
>
static_cast<
std::size_t
>
(std::numeric_limits<int>::max())) {
48
throw
std::invalid_argument(std::string(
context
) +
" exceeds the supported pixel-id range."
);
49
}
50
return
gridSize
;
51
}
52
};
53
54
}
// namespace mmcfilters
mmcfilters::ComputedAttributeData
Owning result for one computed scalar attribute layout and buffer.
Definition
AttributeResultTypes.hpp:32
mmcfilters::GridDomain2D
Shape metadata optionally attached to the pixel domain.
Definition
ProperPartDomain.hpp:17
mmcfilters::GridDomain2D::GridDomain2D
constexpr GridDomain2D() noexcept=default
Creates an empty domain.
mmcfilters::GridDomain2D::columns
int columns
Number of grid columns.
Definition
ProperPartDomain.hpp:21
mmcfilters::GridDomain2D::size
std::size_t size(const char *context) const
Returns the number of grid elements after validating the shape.
Definition
ProperPartDomain.hpp:42
mmcfilters::GridDomain2D::rows
int rows
Number of grid rows.
Definition
ProperPartDomain.hpp:19
Generated by
1.9.8