Skip to content
Snippets Groups Projects
Commit 1b101ddf authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Rename CompoundDataVariant -> AggregateDataVariant

parent 5f6cd08d
No related branches found
No related tags found
1 merge request!37Feature/language
......@@ -7,12 +7,12 @@
#include <PugsAssert.hpp>
class CompoundDataVariant;
class AggregateDataVariant;
using ASTNodeDataVariant =
std::variant<std::monostate, bool, uint64_t, int64_t, double, std::string, CompoundDataVariant>;
std::variant<std::monostate, bool, uint64_t, int64_t, double, std::string, AggregateDataVariant>;
class CompoundDataVariant
class AggregateDataVariant
{
private:
std::vector<ASTNodeDataVariant> m_data_vector;
......@@ -48,10 +48,41 @@ class CompoundDataVariant
public:
friend std::ostream&
operator<<(std::ostream& os, const CompoundDataVariant& compound)
operator<<(std::ostream& os, const AggregateDataVariant& compound)
{
return compound._print(os);
}
PUGS_INLINE
size_t
size() const
{
return m_data_vector.size();
}
PUGS_INLINE
ASTNodeDataVariant& operator[](size_t i)
{
Assert(i < m_data_vector.size());
return m_data_vector[i];
}
PUGS_INLINE
const ASTNodeDataVariant& operator[](size_t i) const
{
Assert(i < m_data_vector.size());
return m_data_vector[i];
}
AggregateDataVariant& operator=(const AggregateDataVariant&) = default;
AggregateDataVariant& operator=(AggregateDataVariant&&) = default;
AggregateDataVariant(size_t size) : m_data_vector(size) {}
AggregateDataVariant(const AggregateDataVariant&) = default;
AggregateDataVariant(AggregateDataVariant&&) = default;
AggregateDataVariant() = default;
};
#endif // AST_NODE_DATA_VARIANT_HPP
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment