eRPC Generator (erpcgen)  Rev. 1.11.0
NXP Semiconductors
ArrayType.hpp
1 /*
2  * Copyright (c) 2014, Freescale Semiconductor, Inc.
3  * Copyright 2016 NXP
4  * All rights reserved.
5  *
6  *
7  * SPDX-License-Identifier: BSD-3-Clause
8  */
9 
10 #ifndef _EMBEDDED_RPC__ARRAYTYPE_H_
11 #define _EMBEDDED_RPC__ARRAYTYPE_H_
12 
13 #include "DataType.hpp"
14 
15 #include <string>
16 
18 // Classes
20 
21 namespace erpcgen {
22 
26 class ArrayType : public DataType
27 {
28 public:
37  ArrayType(DataType *elementType, uint32_t elementCount)
38  : DataType("(array)", kArrayType)
39  , m_elementType(elementType)
40  , m_elementCount(elementCount)
41  {
42  }
43 
49  DataType *getElementType() const { return m_elementType; }
50 
56  void setElementType(DataType *elementType) { m_elementType = elementType; }
57 
72  virtual std::string getDescription() const override;
73 
79  uint32_t &getElementCount() { return m_elementCount; }
80 
81 protected:
83  uint32_t m_elementCount;
84 };
85 
86 } // namespace erpcgen
87 
88 #endif // _EMBEDDED_RPC__ARRAYTYPE_H_
Fixed length array of any other data type.
Definition: ArrayType.hpp:26
ArrayType(DataType *elementType, uint32_t elementCount)
Constructor.
Definition: ArrayType.hpp:37
void setElementType(DataType *elementType)
This function set element data type.
Definition: ArrayType.hpp:56
virtual std::string getDescription() const override
This function returns description about the array.
Definition: Type.cpp:275
uint32_t & getElementCount()
This function returns size of array.
Definition: ArrayType.hpp:79
DataType * m_elementType
Definition: ArrayType.hpp:82
Base class for data types.
Definition: DataType.hpp:26
uint32_t m_elementCount
Definition: ArrayType.hpp:83
DataType * getElementType() const
This function returns element data type.
Definition: ArrayType.hpp:49
Definition: AstNode.hpp:26