ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkIndent.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18/*=========================================================================
19 *
20 * Portions of this file are subject to the VTK Toolkit Version 3 copyright.
21 *
22 * Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
23 *
24 * For complete copyright, license and disclaimer of warranty information
25 * please refer to the NOTICE file at the top of the ITK source tree.
26 *
27 *=========================================================================*/
28#ifndef itkIndent_h
29#define itkIndent_h
30
31// itkMacro.h includes itkPrintHelper.h, which includes this header: never include itkMacro.h here.
32#include "ITKCommonExport.h"
33#include "itkConfigure.h" // ITK_LEGACY_REMOVE
34
35#include <iostream>
36
37namespace itk
38{
51
52class ITKCommon_EXPORT Indent
53{
54public:
56 using Self = Indent;
57
58#ifndef ITK_LEGACY_REMOVE
59 // [[deprecated]] rather than itkLegacyMacro, which would require itkMacro.h.
63 [[deprecated]] static Self *
64 New();
65
69 [[deprecated]] void
70 Delete()
71 {
72 delete this;
73 }
74#endif
75
77 Indent(int ind = 0)
78 : m_Indent(ind)
79 {}
80
82 static const char *
84 {
85 return "Indent";
86 }
87
90 [[nodiscard]] Indent
92
94 friend ITKCommon_EXPORT std::ostream &
95 operator<<(std::ostream & os, const Indent & ind);
96
97private:
99};
100} // end namespace itk
101
102// Tested by itkPrintHelper.h to detect the include cycle described above.
103#define itkIndent_h_complete
104
105#endif
Control indentation during Print() invocation.
Definition itkIndent.h:53
Indent(int ind=0)
Definition itkIndent.h:77
Indent Self
Definition itkIndent.h:56
Indent GetNextIndent() const
static const char * GetNameOfClass()
Definition itkIndent.h:83
std::ostream & operator<<(std::ostream &os, const itk::DOMNode &object)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....