@@ -103,66 +103,66 @@ concept Fallback =
103103
104104template <typename T>
105105 requires concepts::Streamable<T> && (!concepts::SmartPointer<T>)
106- inline void printElement (std::ostream &os, const T &value);
106+ void printElement (std::ostream &os, const T &value);
107107
108108template <typename T, typename U>
109- inline void printElement (std::ostream &os, const std::pair<T, U> &p);
109+ void printElement (std::ostream &os, const std::pair<T, U> &p);
110110
111111template <std::size_t N>
112- inline void printElement (std::ostream &os, const char (&array)[N]);
112+ void printElement (std::ostream &os, const char (&array)[N]);
113113
114114template <typename T, std::size_t N>
115- inline void printElement (std::ostream &os, T (&array)[N]);
115+ void printElement (std::ostream &os, T (&array)[N]);
116116
117117template <typename T>
118118 requires concepts::Iterable<T> && (!concepts::Streamable<T>)
119- inline void printElement(std::ostream &os, const T &container);
119+ void printElement(std::ostream &os, const T &container);
120120
121121template <typename T> void printSequencable (std::ostream &os, T &&container);
122122
123123template <typename T>
124124 requires concepts::ReadOnlySequencable<T>
125- inline void printElement (std::ostream &os, const T &container);
125+ void printElement (std::ostream &os, const T &container);
126126
127127template <typename T>
128128 requires concepts::MutableSequencable<T>
129- inline void printElement (std::ostream &os, T &&container);
129+ void printElement (std::ostream &os, T &&container);
130130
131131template <typename ... Args>
132- inline void printElement (std::ostream &os, const std::tuple<Args...> &tpl);
132+ void printElement (std::ostream &os, const std::tuple<Args...> &tpl);
133133
134134template <concepts::SmartPointer SP>
135- inline void printElement (std::ostream &os, const SP &ptr);
135+ void printElement (std::ostream &os, const SP &ptr);
136136
137137template <concepts::WeakPointer WP>
138- inline void printElement (std::ostream &os, const WP &ptr);
138+ void printElement (std::ostream &os, const WP &ptr);
139139
140140template <typename T>
141- inline void printElement (std::ostream &os, const std::optional<T> &opt);
141+ void printElement (std::ostream &os, const std::optional<T> &opt);
142142
143143template <typename ... Ts>
144- inline void printElement (std::ostream &os, const std::variant<Ts...> &var);
144+ void printElement (std::ostream &os, const std::variant<Ts...> &var);
145145
146- inline void printElement (std::ostream &os, const std::exception_ptr &exPtr);
146+ void printElement (std::ostream &os, const std::exception_ptr &exPtr);
147147
148- inline void printElement (std::ostream &os, const std::filesystem::path &path);
148+ void printElement (std::ostream &os, const std::filesystem::path &path);
149149
150- inline void printElement (std::ostream &os,
151- const std::filesystem::directory_iterator &dir_it);
150+ void printElement (std::ostream &os,
151+ const std::filesystem::directory_iterator &dir_it);
152152
153153template <concepts::Fallback UnsupportedArg>
154- inline void printElement (std::ostream &os, const UnsupportedArg &value);
154+ void printElement (std::ostream &os, const UnsupportedArg &value);
155155
156- inline void printElement (std::ostream &os, const std::error_code &ec);
156+ void printElement (std::ostream &os, const std::error_code &ec);
157157
158158template <typename T>
159159 requires concepts::Streamable<T> && (!concepts::SmartPointer<T>)
160- inline void printElement (std::ostream &os, const T &value) {
160+ void printElement (std::ostream &os, const T &value) {
161161 os << value;
162162}
163163
164164template <typename T, typename U>
165- inline void printElement (std::ostream &os, const std::pair<T, U> &p) {
165+ void printElement (std::ostream &os, const std::pair<T, U> &p) {
166166 os << " (" ;
167167 printElement (os, p.first );
168168 os << " , " ;
@@ -171,7 +171,7 @@ inline void printElement(std::ostream &os, const std::pair<T, U> &p) {
171171}
172172
173173template <std::size_t N>
174- inline void printElement (std::ostream &os, const char (&array)[N]) {
174+ void printElement (std::ostream &os, const char (&array)[N]) {
175175 // Treats the input as a string up to length N, drop null termination
176176 if (N > 1 ) {
177177 os << std::string_view (array, N - 1 );
@@ -180,7 +180,7 @@ inline void printElement(std::ostream &os, const char (&array)[N]) {
180180
181181// A special function for C-style arrays deducing size via template
182182template <typename T, std::size_t N>
183- inline void printElement (std::ostream &os, T (&array)[N]) {
183+ void printElement (std::ostream &os, T (&array)[N]) {
184184 os << " [" ;
185185 for (std::size_t i = 0 ; i < N; ++i) {
186186 if (i > 0 ) {
@@ -193,7 +193,7 @@ inline void printElement(std::ostream &os, T (&array)[N]) {
193193
194194template <typename T>
195195 requires concepts::Iterable<T> && (!concepts::Streamable<T>)
196- inline void printElement(std::ostream &os, const T &container) {
196+ void printElement(std::ostream &os, const T &container) {
197197 os << " [" ;
198198 auto it = std::begin (container);
199199 if (it != std::end (container)) {
@@ -206,8 +206,7 @@ inline void printElement(std::ostream &os, const T &container) {
206206 os << " ]" ;
207207}
208208
209- template <typename T>
210- inline void printSequencable (std::ostream &os, T &&container) {
209+ template <typename T> void printSequencable (std::ostream &os, T &&container) {
211210 os << " [" ;
212211 bool isFirst = true ;
213212
@@ -234,7 +233,7 @@ inline void printSequencable(std::ostream &os, T &&container) {
234233
235234template <typename T>
236235 requires concepts::ReadOnlySequencable<T>
237- inline void printElement (std::ostream &os, const T &container) {
236+ void printElement (std::ostream &os, const T &container) {
238237 T tempContainer = container; // Make a copy to preserve original container
239238 printSequencable (
240239 os, std::move (tempContainer)); // Use std::move since tempContainer won't
@@ -243,12 +242,12 @@ inline void printElement(std::ostream &os, const T &container) {
243242
244243template <typename T>
245244 requires concepts::MutableSequencable<T>
246- inline void printElement (std::ostream &os, T &&container) {
245+ void printElement (std::ostream &os, T &&container) {
247246 printSequencable (os, std::forward<T>(container));
248247}
249248
250249template <typename ... Args>
251- inline void printElement (std::ostream &os, const std::tuple<Args...> &tpl) {
250+ void printElement (std::ostream &os, const std::tuple<Args...> &tpl) {
252251 os << " <" ;
253252 std::apply (
254253 [&os](const auto &...args ) {
@@ -270,7 +269,7 @@ inline void printElement(std::ostream &os, const std::tuple<Args...> &tpl) {
270269}
271270
272271template <concepts::SmartPointer SP>
273- inline void printElement (std::ostream &os, const SP &ptr) {
272+ void printElement (std::ostream &os, const SP &ptr) {
274273 if (ptr) {
275274 printElement (os, *ptr);
276275 } else {
@@ -279,7 +278,7 @@ inline void printElement(std::ostream &os, const SP &ptr) {
279278}
280279
281280template <concepts::WeakPointer WP>
282- inline void printElement (std::ostream &os, const WP &ptr) {
281+ void printElement (std::ostream &os, const WP &ptr) {
283282 auto sp = ptr.lock ();
284283 if (sp) {
285284 printElement (os, *sp);
@@ -289,7 +288,7 @@ inline void printElement(std::ostream &os, const WP &ptr) {
289288}
290289
291290template <typename T>
292- inline void printElement (std::ostream &os, const std::optional<T> &opt) {
291+ void printElement (std::ostream &os, const std::optional<T> &opt) {
293292 if (opt) {
294293 os << " Optional(" ;
295294 printElement (os, *opt);
@@ -300,7 +299,7 @@ inline void printElement(std::ostream &os, const std::optional<T> &opt) {
300299}
301300
302301template <typename ... Ts>
303- inline void printElement (std::ostream &os, const std::variant<Ts...> &var) {
302+ void printElement (std::ostream &os, const std::variant<Ts...> &var) {
304303 std::visit (
305304 [&os](const auto &value) {
306305 os << " Variant(" ;
@@ -349,7 +348,7 @@ printElement(std::ostream &os,
349348
350349// Fallback
351350template <concepts::Fallback UnsupportedArg>
352- inline void printElement (std::ostream &os, const UnsupportedArg &value) {
351+ void printElement (std::ostream &os, const UnsupportedArg &value) {
353352 const auto *typeName = typeid (UnsupportedArg).name ();
354353 throw std::runtime_error (
355354 " Type " s + std::string (typeName) +
0 commit comments