Change constants methods to static constexpr
This commit is contained in:
parent
0b72b7efdc
commit
0f60b23b33
|
@ -26,11 +26,11 @@ class GuardGallivant
|
||||||
virtual void processDataLine(const std::string& line) override;
|
virtual void processDataLine(const std::string& line) override;
|
||||||
virtual void finish() override;
|
virtual void finish() override;
|
||||||
private:
|
private:
|
||||||
|
static constexpr size_t getStartDirectionIndex();
|
||||||
|
static constexpr char getStartChar();
|
||||||
|
static constexpr char getVisitedChar();
|
||||||
|
static constexpr char getObstructionChar();
|
||||||
Point2 start_{};
|
Point2 start_{};
|
||||||
const size_t getStartDirectionIndex() const;
|
|
||||||
const char getStartChar() const;
|
|
||||||
const char getVisitedChar() const;
|
|
||||||
const char getObstructionChar() const;
|
|
||||||
void visitPosition(const Point2& current);
|
void visitPosition(const Point2& current);
|
||||||
size_t turnDirection(const size_t current) const;
|
size_t turnDirection(const size_t current) const;
|
||||||
};
|
};
|
||||||
|
|
|
@ -28,7 +28,7 @@ class HoofIt
|
||||||
virtual const std::string getInputFileName() const override;
|
virtual const std::string getInputFileName() const override;
|
||||||
virtual void finish() override;
|
virtual void finish() override;
|
||||||
private:
|
private:
|
||||||
const char getTrailheadChar() const;
|
static constexpr char getTrailheadChar();
|
||||||
const char getTrailTopChar() const;
|
static constexpr char getTrailTopChar();
|
||||||
void addUnique(const std::vector<Point2>& source, std::vector<Point2>& destination);
|
void addUnique(const std::vector<Point2>& source, std::vector<Point2>& destination);
|
||||||
};
|
};
|
||||||
|
|
|
@ -30,8 +30,8 @@ class PrintQueue
|
||||||
virtual void processDataLine(const std::string& line) override;
|
virtual void processDataLine(const std::string& line) override;
|
||||||
virtual void finish() override;
|
virtual void finish() override;
|
||||||
private:
|
private:
|
||||||
static const int nPages_{ 49 };
|
static constexpr int getNPages();
|
||||||
static const int maxPageNo_{ 99 };
|
static constexpr int getMaxPageNo();
|
||||||
bool isProcessingOrderingRules_;
|
bool isProcessingOrderingRules_;
|
||||||
int pageNoMapIndex_;
|
int pageNoMapIndex_;
|
||||||
std::vector<int> pageNoMap_;
|
std::vector<int> pageNoMap_;
|
||||||
|
|
|
@ -56,22 +56,22 @@ void GuardGallivant::finish()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const size_t GuardGallivant::getStartDirectionIndex() const
|
constexpr size_t GuardGallivant::getStartDirectionIndex()
|
||||||
{
|
{
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char GuardGallivant::getStartChar() const
|
constexpr char GuardGallivant::getStartChar()
|
||||||
{
|
{
|
||||||
return '^';
|
return '^';
|
||||||
}
|
}
|
||||||
|
|
||||||
const char GuardGallivant::getVisitedChar() const
|
constexpr char GuardGallivant::getVisitedChar()
|
||||||
{
|
{
|
||||||
return 'X';
|
return 'X';
|
||||||
}
|
}
|
||||||
|
|
||||||
const char GuardGallivant::getObstructionChar() const
|
constexpr char GuardGallivant::getObstructionChar()
|
||||||
{
|
{
|
||||||
return '#';
|
return '#';
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,12 +81,12 @@ void HoofIt::finish()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const char HoofIt::getTrailheadChar() const
|
constexpr char HoofIt::getTrailheadChar()
|
||||||
{
|
{
|
||||||
return '0';
|
return '0';
|
||||||
}
|
}
|
||||||
|
|
||||||
const char HoofIt::getTrailTopChar() const
|
constexpr char HoofIt::getTrailTopChar()
|
||||||
{
|
{
|
||||||
return '9';
|
return '9';
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,8 +20,8 @@
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
PrintQueue::PrintQueue()
|
PrintQueue::PrintQueue()
|
||||||
: Solver{}, isProcessingOrderingRules_{ true }, pageNoMapIndex_{ 0 }, pageNoMap_(maxPageNo_ + 1, -1),
|
: Solver{}, isProcessingOrderingRules_{ true }, pageNoMapIndex_{ 0 }, pageNoMap_(getMaxPageNo() + 1, -1),
|
||||||
orderingRules_(nPages_, nPages_)
|
orderingRules_(getNPages(), getNPages())
|
||||||
{
|
{
|
||||||
orderingRules_.fill(false);
|
orderingRules_.fill(false);
|
||||||
}
|
}
|
||||||
|
@ -59,6 +59,16 @@ void PrintQueue::finish()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
constexpr int PrintQueue::getNPages()
|
||||||
|
{
|
||||||
|
return 49;
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr int PrintQueue::getMaxPageNo()
|
||||||
|
{
|
||||||
|
return 99;
|
||||||
|
}
|
||||||
|
|
||||||
size_t PrintQueue::getMapped(const int pageNo)
|
size_t PrintQueue::getMapped(const int pageNo)
|
||||||
{
|
{
|
||||||
if (pageNoMap_[pageNo] < 0)
|
if (pageNoMap_[pageNo] < 0)
|
||||||
|
|
Loading…
Reference in New Issue