8 #include "Arp/Plc/Commons/Meta/ArrayDimension.hpp" 11 #include <initializer_list> 13 namespace Arp {
namespace Plc {
namespace Commons {
namespace Meta
22 using Values = std::vector<ArrayDimension>;
56 bool IsEmpty(
void)
const;
61 const Values& GetValues(
void)
const;
71 void EraseFrontDimension(
void);
96 return this->values[index];
99 inline const ArrayDimension& ArrayDimensions::operator[](
size_t index)
const 101 return this->values[index];
104 inline bool ArrayDimensions::IsEmpty()
const 106 return this->values.empty();
111 return this->values.size();
114 inline const ArrayDimensions::Values& ArrayDimensions::GetValues()
const 119 inline void ArrayDimensions::EraseFrontDimension(
void)
121 if (this->values.size() > 0)
123 this->values.erase(this->values.begin());
127 inline void ArrayDimensions::Append(
const ArrayDimension& dimension)
129 this->values.push_back(dimension);
140 std::equal(lhs.GetValues().begin(), lhs.GetValues().end(), rhs.GetValues().begin());
145 return !(lhs == rhs);
157 for (
size_t i = 1; i < rhs.GetCount(); ++i)
Root namespace for the PLCnext API
std::ostream & operator<<(std::ostream &os, Enum< T > value)
Makes the Enum class loggable and streamable.
Definition: Enum.hxx:208
bool operator==(Enum< T > lhs, Enum< T > rhs)
Equality operator for class Enum.
Definition: Enum.hxx:218