Skip to content

Commit 4ac8d28

Browse files
committed
fix #358: Return by reference in IProjectReader
1 parent aaa64f5 commit 4ac8d28

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

src/internal/iprojectreader.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ class IProjectReader
2323
public:
2424
virtual ~IProjectReader() { }
2525

26-
virtual std::string fileName() const final { return m_fileName; }
26+
virtual const std::string &fileName() const final { return m_fileName; }
2727
virtual void setFileName(const std::string &fileName) final { m_fileName = fileName; }
2828

2929
virtual bool load() = 0;
3030
virtual bool loadData(const std::string &data) = 0;
3131
virtual bool isValid() = 0;
3232
virtual void clear() = 0;
33-
virtual std::vector<std::shared_ptr<Target>> targets() = 0;
34-
virtual std::vector<std::shared_ptr<Broadcast>> broadcasts() = 0;
35-
virtual std::vector<std::string> extensions() = 0;
33+
virtual const std::vector<std::shared_ptr<Target>> &targets() = 0;
34+
virtual const std::vector<std::shared_ptr<Broadcast>> &broadcasts() = 0;
35+
virtual const std::vector<std::string> &extensions() = 0;
3636

3737
protected:
3838
virtual void printErr(const std::string &errStr) final { std::cerr << "Failed to read project: " << errStr << std::endl; }

src/internal/scratch3reader.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -388,17 +388,17 @@ void Scratch3Reader::clear()
388388
m_extensions.clear();
389389
}
390390

391-
std::vector<std::shared_ptr<Target>> Scratch3Reader::targets()
391+
const std::vector<std::shared_ptr<Target>> &Scratch3Reader::targets()
392392
{
393393
return m_targets;
394394
}
395395

396-
std::vector<std::shared_ptr<Broadcast>> Scratch3Reader::broadcasts()
396+
const std::vector<std::shared_ptr<Broadcast>> &Scratch3Reader::broadcasts()
397397
{
398398
return m_broadcasts;
399399
}
400400

401-
std::vector<std::string> Scratch3Reader::extensions()
401+
const std::vector<std::string> &Scratch3Reader::extensions()
402402
{
403403
return m_extensions;
404404
}

src/internal/scratch3reader.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ class Scratch3Reader : public IProjectReader
1717
bool loadData(const std::string &data) override;
1818
bool isValid() override;
1919
void clear() override;
20-
std::vector<std::shared_ptr<Target>> targets() override;
21-
std::vector<std::shared_ptr<Broadcast>> broadcasts() override;
22-
std::vector<std::string> extensions() override;
20+
const std::vector<std::shared_ptr<Target>> &targets() override;
21+
const std::vector<std::shared_ptr<Broadcast>> &broadcasts() override;
22+
const std::vector<std::string> &extensions() override;
2323

2424
private:
2525
void read();

0 commit comments

Comments
 (0)