Skip to content

Commit 8f5dee2

Browse files
committed
Added ostream serialization support for vsg::CommandLine.
1 parent 717f7a8 commit 8f5dee2

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

include/vsg/utils/CommandLine.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,13 @@ namespace vsg
4646
CommandLine(int* argc, char** argv);
4747

4848
int& argc() { return *_argc; }
49+
const int& argc() const { return *_argc; }
50+
4951
char** argv() { return _argv; }
52+
const char* const* argv() const { return _argv; }
5053

5154
char* operator[](int i) { return _argv[i]; }
55+
const char* operator[](int i) const { return _argv[i]; }
5256

5357
template<typename T>
5458
bool read(int& i, T& v)
@@ -267,4 +271,15 @@ namespace vsg
267271
return false;
268272
}
269273

274+
inline std::ostream& operator<<(std::ostream& output, const CommandLine& arguments)
275+
{
276+
for(int i=0; i < arguments.argc(); ++i)
277+
{
278+
if (i>0) output << ' ';
279+
output << arguments[i];
280+
}
281+
return output;
282+
}
283+
284+
270285
} // namespace vsg

0 commit comments

Comments
 (0)