@@ -368,7 +368,7 @@ namespace {
368368 class StdIStream : public simplecpp ::TokenList::Stream {
369369 public:
370370 // cppcheck-suppress uninitDerivedMemberVar - we call Stream::init() to initialize the private members
371- explicit StdIStream (std::istream &istr)
371+ explicit StdIStream (std::istream &istr SIMPLECPP_LIFETIMEBOUND )
372372 : istr(istr) {
373373 assert (istr.good ());
374374 init ();
@@ -394,7 +394,7 @@ namespace {
394394 class StdCharBufStream : public simplecpp ::TokenList::Stream {
395395 public:
396396 // cppcheck-suppress uninitDerivedMemberVar - we call Stream::init() to initialize the private members
397- StdCharBufStream (const unsigned char * str, std::size_t size)
397+ StdCharBufStream (const unsigned char * str SIMPLECPP_LIFETIMEBOUND , std::size_t size)
398398 : str(str)
399399 , size(size)
400400 {
@@ -1508,12 +1508,12 @@ namespace simplecpp {
15081508
15091509 class Macro {
15101510 public:
1511- explicit Macro (std::vector<std::string> &f) : nameTokDef(nullptr ), valueToken(nullptr ), endToken(nullptr ), files(f), tokenListDefine(f), variadic(false ), variadicOpt(false ), valueDefinedInCode_(false ) {}
1511+ explicit Macro (std::vector<std::string> &f SIMPLECPP_LIFETIMEBOUND ) : nameTokDef(nullptr ), valueToken(nullptr ), endToken(nullptr ), files(f), tokenListDefine(f), variadic(false ), variadicOpt(false ), valueDefinedInCode_(false ) {}
15121512
15131513 /* *
15141514 * @throws std::runtime_error thrown on bad macro syntax
15151515 */
1516- Macro (const Token *tok, std::vector<std::string> &f) : nameTokDef(nullptr ), files(f), tokenListDefine(f), valueDefinedInCode_(true ) {
1516+ Macro (const Token *tok, std::vector<std::string> &f SIMPLECPP_LIFETIMEBOUND ) : nameTokDef(nullptr ), files(f), tokenListDefine(f), valueDefinedInCode_(true ) {
15171517 if (sameline (tok->previousSkipComments (), tok))
15181518 throw std::runtime_error (" bad macro syntax" );
15191519 if (tok->op != ' #' )
@@ -1532,7 +1532,7 @@ namespace simplecpp {
15321532 /* *
15331533 * @throws std::runtime_error thrown on bad macro syntax
15341534 */
1535- Macro (const std::string &name, const std::string &value, std::vector<std::string> &f) : nameTokDef(nullptr ), files(f), tokenListDefine(f), valueDefinedInCode_(false ) {
1535+ Macro (const std::string &name, const std::string &value, std::vector<std::string> &f SIMPLECPP_LIFETIMEBOUND ) : nameTokDef(nullptr ), files(f), tokenListDefine(f), valueDefinedInCode_(false ) {
15361536 const std::string def (name + ' ' + value);
15371537 StdCharBufStream stream (reinterpret_cast <const unsigned char *>(def.data ()), def.size ());
15381538 tokenListDefine.readfile (stream);
0 commit comments