1 // Copyright (c) 1996 James Clark
2 // See the file COPYING for copying permission.
3 #pragma ident	"%Z%%M%	%I%	%E% SMI"
4 
5 #ifdef __GNUG__
6 #pragma implementation
7 #endif
8 #include "splib.h"
9 #include "StringVectorMessageArg.h"
10 #include "MessageBuilder.h"
11 #include "ParserMessages.h"
12 
13 #ifdef SP_NAMESPACE
14 namespace SP_NAMESPACE {
15 #endif
16 
StringVectorMessageArg(const Vector<StringC> & v)17 StringVectorMessageArg::StringVectorMessageArg(const Vector<StringC> &v)
18 : v_(v)
19 {
20 }
21 
copy() const22 MessageArg *StringVectorMessageArg::copy() const
23 {
24   return new StringVectorMessageArg(*this);
25 }
26 
append(MessageBuilder & builder) const27 void StringVectorMessageArg::append(MessageBuilder &builder) const
28 {
29   for (size_t i = 0; i < v_.size(); i++) {
30     if (i > 0)
31       builder.appendFragment(ParserMessages::listSep);
32     builder.appendChars(v_[i].data(), v_[i].size());
33   }
34 }
35 
36 #ifdef SP_NAMESPACE
37 }
38 #endif
39